5 GO TO 1150 10 PRI " THIS IS A PROGRAM TO TEACH INPUT/OUTPUT FUNCTIONS ON THE PDP8" 20 INPUT "DO YOU WISH TO CONTINUE ??? (YES OR NO)";A$ 30 IF A$="YES" THEN 45 40 GO TO 1150 45 PRINT 46 PRINT 50 PRI " THROUGHOUT THIS PROGRAM YOU WILL BE GIVEN THE OPPROTUNITY" 55 PRI "TO STOP THE PRINTING TO READ,TO DO THIS PRESS ANY" 60 PRI "KEY EXCEPT X, THIS KEY WILL ALLOW YOU TO EXIT COMPLETELY." 65 PRINT 66 PRINT 70 PRI " WE SHALL BEGIN BY CREATING A DATA FILE. TO PREPARE" 80 PRI "FOR THIS, MAKE SURE THAT THERE IS A MAGNETIC TAPE " 90 PRI "ON EACH OF THE TAPE TRANSPORTS AND THAT BOTH ARE ACTIVATED." 95 PRINT 100 PRI " WE ARE GOING TO STORE SOME DATA ON ONE OF THE TAPES." 110 PRI "THIS DATA MAY BE A CHARACTER STRING OF LETTERS OR NUMBERS." 120 PRI "WE SHALL CALL THIS FILE DATA. LET'S USE YOUR NAME FOR" 130 PRI "THE DATA. TO DO THIS WE WILL ASSIGN X$ TO YOUR FIRST" 140 PRI "NAME, Y$ TO YOUR MIDDLE NAME AND Z$ TO YOUR LAST NAME." 150 PRI "WE USE THE $ TO MEAN THAT THE VARIABLE IS A LETTER." 160 PRI "NOW TYPE YOUR NAME AS ASSIGNED ABOVE..." 170 PRINT 180 PRINT 190 INPUT TAB(10) "X$=";X$ 200 INPUT TAB(10) "Y$=";Y$ 210 INPUT TAB(10) "Z$=";Z$ 215 PRINT 220 INPUT "READY???";Q$ 230 IF Q$="X" THEN 1000 240 PRI 250 PRI " WE HAVE A NAME FOR THE FILE (DATA) AND SOME DATA TO PUT" 260 PRI "IN IT, ALL WE NEED NOW IS SOME WHERE TO PUT IT." 270 PRI "TO CREATE THE FILE ON THE TAPE, WE MUST WRITE IT'S NAME" 280 PRI "ON THE DIRECTORY. THIS IS LIKE A TABLE OF CONTENTS" 290 PRI "OF A BOOK. IT IS A LIST AT THE BEGINNING OF THE TAPE " 300 PRI "THAT CONTAINS A LIST OF EVERY THING ON THE TAPE. " 310 PRI " WE WANT TO ADD THE NAME OF OUR FILE TO THAT LIST." 320 PRI "TO DO SO WE USE AN INSTRUCTION THAT 'OPENS' A FILE." 330 PRI "THE INSTRUCTIONS LOOKS LIKE THIS......" 335 PRINT 340 PRI TAB(15) "10 P$='DATA'" 345 PRI TAB(15) "20 OPEN P$ FOR OUTPUT,12" 350 PRINT 360 PRI "LINE 10 ASSIGNS P$ THE NAME OF THE FILE AND LINE 20" 370 PRI "OPENS OR CREATES THE FILE AND CAUSES THE COMPUTER TO " 380 PRI "WRITE THE NAME OF THE FILE ON THE DIRECTORY. NOTE THAT" 390 PRI "THE WORD OUTPUT IN LINE 20 REFERS TO OUTPUT FROM THE " 400 PRI "C.P.U. TO THE TAPE I.E. IT IS WITH REFERENCE TO THE CPU." 405 PRINT 410 INPUT "READY ???";Q 420 IF Q="X" THEN 1000 430 PRINT 440 PRI " THE 12 IS THE NUMBER OF BLOCKS ALLOWED FOR THE FILE." 450 PRI "WHILE WE EXECUTE THESE TWO INSTRUCTIONS, WATCH THE TAPE" 460 PRI "TRANSPORT NO. 1. HERE WE GO....." 470 P$="DATA" 480 OPEN P$ FOR OUTPUT,3 485 PRINT 490 PRI " YOU SHOULD HAVE SEEN THE TAPE REWIND THEN MOVE FORWARD" 500 PRI "WHILE IT LOOKED THRU THE DIRECTORY FOR ENOUGH ROOM ON" 510 PRI "THE TAPE FOR OUR FILE. IF IT FOUND SPACE, IT WROTE" 520 PRI "IN THE NAME OF OUR FILE ON THE DIRECTORY AND STOPPRD." 530 PRINT 540 PRINT 550 INPUT "READY ???";Q$ 560 IF Q$="X" THEN 1000 570 PRINT 580 PRINT 590 PRI " WE NOW HAVE THE NAME OF THE FILE WRITTEN IN THE " 600 PRI "DIRECTORY, SIMILAR TO WRITTING A CHAPTER NAME IN THE " 610 PRI "TABLE OF CONTENTS OF A BOOK. NOW WE MUST WRITE THE " 620 PRI "INFORMATIONS THAT WE WANT INTO THIS 'CHAPTER'." 630 PRI " WE USE A PRINT STATEMENT MODIFIED BY THE '#' SIGN" 640 PRI "WHICH TELLS THE COMPUTER THAT WE WANT TO WRITE ON THE " 650 PRI "TAPE. THE INSTRUCTION LOOKS LIKE THIS......" 655 PRINT 660 PRI TAB(15) "30 PRINT #,X$,Y$,Z$" 670 PRINT 680 PRI "THIS INSTRUCTION WILL WRITE WHAT YOU ENTERED FOR THESE" 690 PRI "VARIABLES (YOUR NAME) ONTO THE TAPE IN THE SPACE" 700 PRI "RESERVED FOR OUR FILE ON THE DIRECTORY." 710 PRI "WATCH TAPE NO. 1 AS THIS INSTRUCTION IS EXECUTED...." 720 PRINT #,X$,Y$,Z$ 730 CLOSE 740 PRINT 750 PRI " THE TAPE SHOULD HAVE REWOUND TO READ THE DIRECTORY" 760 PRI "TO FIND OUT WHERE ON THE TAPE THE SPACE FOR THIS FILE" 770 PRI "HAS BEEN ASSIGNED. IT THEN MOVED FORWARD TO THIS " 780 PRI "SPOT ON THE TAPE AND WROTE IN YOUR NAME AND STOPPED." 790 PRI " AFTER THIS INSTRUCTION WE MUST CLOSE THE FILE FOR " 800 PRI "OUTPUT SINCE THE COMPUTER CANNOT HAVE MORE THAN ONE " 810 PRI "FILE OPEN AT A TIME." 820 PRI " NOW LET'S RETRIEVE THIS DATA. WE MUST FIRST" 830 PRI "OPEN THE FILE FOR INPUT. REMEMBER THAT THE INPUT " 840 PRI "REFERS TO INPUT FROM THE TAPE TO THE CPU. THE INSTRUCTION" 850 PRI "LOOKS LIKE THIS....." 860 PRINT 870 PRI TAB(15) "40 OPEN P$ FOR INPUT" 880 PRINT 890 PRI " WE NEED TO ADD TO THIS SOME INSTRUCTIONS THAT WILL" 900 PRI "ALSO READ THE DATA FROM THE FILE AND PRINT IT OUT FOR" 910 PRI "USE. THIS IS DONE WITH THESE INSTRUCTIONS..." 915 PRINT 920 PRI TAB(15) "50 INPUT #,X$,Y$,Z$" 930 PRI TAB(15) "60 PRINT X,Y,Z" 940 PRINT 950 PRI " WATCH THE TAPE AS THESE ARE EXECUTED...." 955 PRINT 960 OPEN P$ FOR INPUT 970 INPUT #,X$,Y$,Z$ 980 PRINT X$,Y$,Z$ 990 PRINT 1000 PRI " THE DATA PRINTED CAME FROM THE STORED DATA ON THE TAPE" 1010 PRI "IN THE FILE THAT YOU CREATED. IT WILL ALWAYS BE THERE." 1020 PRI 1030 PRI " TO SUMMARIZE, HERE ARE THE INSTRUCTIONS THAT ARE NEEDED" 1040 PRI "TO CREATE,WRITE AND READ A FILE ON MAGNETIC TAPE...." 1050 PRI TAB(15) "10 P$='DATA'" 1060 PRI TAB(15) "20 OPEN P$ FOR OUTPUT,12" 1070 PRI TAB(15) "30 PRINT #,X$,Y$,Z$" 1080 PRI TAB(15) "40 CLOSE" 1090 PRI TAB(15) "50 OPEN P$ FOR INPUT" 1100 PRI TAB(15) "60 INPUT #,X$,Y$,Z$" 1110 PRI TAB(15) "70 PRINT X$,Y$,Z$" 1120 PRI " LET'S REASSIGN THE VARIABLES AND RUN THE WHOLE THING" 1130 PRI "AT ONE TIME, O.K.?" 1140 PRI 1150 INPUT "X$=";X$ 1160 INPUT "Y$=";Y$ 1170 INPUT "Z$=";Z$ 1180 PRI 1190 PRI " NOW LET 'S RUN EVERYTHING ALL AT ONCE, WATCH THE TAPES!" 1195 P$="DATA" 1200 OPEN P$ FOR OUTPUT 1210 PRINT #,X$,Y$,Z$ 1220 CLOSE 1230 OPEN P$ FOR INPUT 1240 INPUT #,X$,Y$,Z$ 1250 PRINT X$,Y$,Z$ 1260 PRI 1270 PRI " DID THE TAPE MOVE AS BEFORE? DID YOU KNOW WHAT IT" 1280 PRI "WAS DOING? WOULD YOU LIKE TO REPEAT ANY OF THIS AGAIN?" 1290 INPUT "(YES OR NO)";W$" 1300 IF W="YES" THEN 10 1310 PRI " YOU NOW KNOW ALL THERE IS TO KNOW ABOUT THE INPUT" 1320 PRI "OUTPUT OF THE PDP8 COMPUTER. FOR MORE INFORMATION" 1330 PRI "CALL UP FROM THE $CATALOG THE PROGRAMS LISTED HERE..." 1340 PRI 1350 PRI TAB(15) "FILPUT" 1360 PRI TAB(15) "XXXXXXX" 1370 PRI 1380 PRI " YOU MIGHT ALSO TRY LISTING THE PROGRAMS AND DOING " 1390 PRI "A LITTLE EXPERIMENTING BY YOURSELF. TRY IT YOU'LL" 1400 PRI "LIKE IT !!!!!" 1410 END