Breaking News
Comments
Newest First | Oldest First | Threaded View
<<   <   Page 5 / 8   >   >>
Chesler
User Rank
Rookie
Re: PROGRAM
Chesler   1/9/2014 4:22:31 PM
NO RATINGS
The horse isn't complaining...

40  PRINT N;"!=";

50  F=N

60  N=N-1

Is semicolon a delimeter to PRINT that says don't do a carriage return?

So the output would be like

6!=120

(Note the lack of spaces, and several years before I'd learned Pascal or C I never thought to read != as "Not Equal To" instead of "Factorial Equals")

David Ashton
User Rank
Blogger
Re: PROGRAM
David Ashton   1/9/2014 4:07:04 PM
NO RATINGS
@Chesler - "So the missing lines are...."  That explains a lot......

Dead horse....yeah software has moved on a bit since then I think.  But as I said, it's been a lot of fun.

Chesler
User Rank
Rookie
Re: PROGRAM
Chesler   1/9/2014 4:02:48 PM
NO RATINGS
You're right, not that hard to hand translate, with the table on page B-4.
Human error in splicing together the photocopies.

So the missing lines are, as we figured:

50  F = N

60  N = N-1

 

I made little pencil marks on the tape so I can take more photocopies and splice them together and post it to Flicker, but I think this dead horse is sufficiently beaten now (until I get stuck on real work and need to divert for few minutes...)

betajet
User Rank
CEO
Re: Uninitialized variables
betajet   1/8/2014 6:41:31 PM
NO RATINGS
LOL!

David Ashton
User Rank
Blogger
Re: Uninitialized variables
David Ashton   1/8/2014 6:17:32 PM
NO RATINGS
@betajet that reminds me of a prank I once played on a mate:

http://www.eetimes.com/author.asp?section_id=36&doc_id=1284862

And being as it concerns teleprinters it's even related to this thread :-)

betajet
User Rank
CEO
Uninitialized variables
betajet   1/8/2014 5:57:26 PM
NO RATINGS
In every Basic I've ever used the interpreter would tell you if you had an uninitialized variable.  In fact, one of my favorite computer pranks was when I was at the remote end of a software demo.  Two very clever guys from a different high school had created a program in Basic that allowed separate time-shared teletype sessions to chat, using shared files as storage.


OK, so they're in the other room and the program is working fine.  We're sending back and forth the usual "HELLO", "HOW ARE YOU?", "FINE THANKS", and other unimaginative messages you can expect from teen-agers who did math instead of literature.  I got a diabolical inspiration and sent the message "UNDEFINED VARIABLE IN LINE 1320".  They panicked, and started giving commands like "LIST" and "RUN", not realizing that the program was still running perfectly.  I dashed into the next room and asked "what happened?" and let them sputter a bit before confessing.

Chesler
User Rank
Rookie
Re: PROGRAM
Chesler   1/8/2014 5:32:09 PM
NO RATINGS
Wirth's Law: "Software is getting slower faster than hardware is getting faster."

 

I did take a Tic-Tac-Toe (on a cylinder or something funky) I'd written for Data Structures and it was an amazing example of Moore's Law. In 1982 each move took the computer about three hours. In 2005 the same code was running in interactive time (and I learned it was a very boring game, guaranteed win for the first mover.)

 

I don't recall pre-initialized variables, certainly not to 1, so I suspect there are lines missing, given there are no lines 50 or 60, and the GOTO 60.

David Ashton
User Rank
Blogger
Re: PROGRAM
David Ashton   1/8/2014 4:32:21 PM
NO RATINGS
@Chesler....you could initialise F by saying F=1 or F=N, but unless the machine defaults to initialising variables to 1 your initial program would not work.  But I don't know how that machine behaved....

> "What am I doing debugging/reverse engineering this?"

Well you can see how far you have come since those early days,,,,and a bit of nostalgia is always a good thing I find.

I loved playing with GWBASIC again but I was forever trying to position the cursor with the mouse, or cut and paste....NOT!  But as I remarked above, the power of that little program in 60K is awesome compared to todays's bloated code.  But then would I want to go back to Wordstar or MS-Word DOS versions without WYSIWYG?   I don't think so.....  Then again GWBASIC appears on the screen ready to work about 0.4 second after clicking it.  You never gain anything without also gaining a disadvantage.....

 

Chesler
User Rank
Rookie
Re: PROGRAM
Chesler   1/8/2014 3:50:08 PM
NO RATINGS
What am I doing debugging/reverse engineering this?
Since N is set to N-1 before the loop, I'm thinking F was initialized to N, not to 1.

I remember being amazed at how quickly the answer came back (relative to 110 baud -- but a state-of-the-art TI-30 of the same vintage has noticable lag coming back with a trig value) so maybe I was trying to be clever and save a multiplication.

 

David Ashton
User Rank
Blogger
Re: Working!
David Ashton   1/8/2014 2:40:41 PM
NO RATINGS
@Chesler....no problem, I had lots of fun with it.  (If MS had not updated everything I'd still be quite happy with DOS and BASIC and Wordstar :-)

In your original program, if Nwas input as 1, it would have got 1 subtracted from it first, and you would have got an endless loop.  Mine can cope with 1 but not 0 or negative Ns.  

I remember being taught that unconditional jumps like GOTO 60 were a no-no, and to use DO WHILE  or FOR N = x TO y instead.  Good point.

I did a FORTRAN course once and put and endless loop in a program, I got presented with a 2 inch high stack of paper and a very stern talking-to from the computer centre manager when I went to collect my printout.  We all have to start somewhere.....

<<   <   Page 5 / 8   >   >>


Flash Poll
EE Life
Frankenstein's Fix, Teardowns, Sideshows, Design Contests, Reader Content & More
Engineering Pop Culture!
Chuck Maggi, Engineering Manager

Two Cocky Techs Get Their Comeuppance
Chuck Maggi, Engineering Manager
Post a comment
Two swaggering technicians are dramatically humbled when they flip the power switch on a high-voltage simulator.

The Engineering Life - Around the Web
Dwight Bues, Systems Engineer

The Case of the Nonexistent Component
Dwight Bues, Systems Engineer
Post a comment
Every engineer has likely had the unfortunate experience of verifying a part's availability with a vendor, only to have the part ultimately wind up either not getting produced or ...

Engineer's Bookshelf
Caleb Kraft

The Martian: A Delightful Exploration of Math, Mars & Feces
Caleb Kraft
6 comments
To say that Andy Weir's The Martian is an exploration of math, Mars, and feces is a slight simplification. I doubt that the author would have any complaints, though.

Design Contests & Competitions
Caleb Kraft

Join The Balancing Act With April's Caption Contest
Caleb Kraft
58 comments
Sometimes it can feel like you're really performing in the big tent when presenting your hardware. This month's caption contest exemplifies this wonderfully.

Top Comments of the Week
Like Us on Facebook
EE Times on Twitter
EE Times Twitter Feed

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)