`L i=L\Ʃx ? N'i  ͭЅ?0ȱ Ѕ?iȱi lԠԠ͠ԠϠŠͮŠ SYSTEM.APPLE   L$JLјJ 8彐.mĿ"Š>?( X֮ˍL հ˩($8` Ґh Hǹxbhx Nb`8Ύa߽0|ϩHhHh ӈ ө ө ӘVYԦΝYԮaߝꪽԦ ө  Ͱ()I يJJJ(jǩF؅G(  ֈ k( F G  Wjee0 Ю $Ӱb4 xbdfbH dߩ`Ǚx kh k@(LYҭH͍h (ͥpi)ͥˤ˹HH(x h(`~Ȍ``,hhh )hJ¥jJJhhihhhJi֍hhhh b\8ſƅhx Щ&'H(f'ꮭ'eƍ8ƅб ĘHH`fߠ d߮STANCES THEY WALK.@ ڭSYSTEM.STARTUPfT SYSTEND.CODEVfCLASMTH 7& SYSTEM.APPLE&Q SYSTEM.PASCALQRSYSTEM.MISCINFORTSYSTEM.CHARSETTV PET.CHARSETVfVWINTROraWm LESSON.TEXTz{wm SYSTEM.CODEꭃSYSTEM.LIBRARY&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xH&x'8*7Ixix&&  ') + &п x) ++`FG8`0($ p,&") (jJJ>L+ "?I>  N `  ` x V Nx .x- z `V0^*^*>` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`& ө ө ө ӽ`Hh`Q꽌ɪɖν*Ͻ%ϙEΈ 꽌ɪ`8` Hh݌`  $(,048<@DHLPTX\`dhlptx|Հ؈䤨谴~X~YiTiUR콥S8\ȥ]\]VWlX ƎRSL~ȱȱŎRRLdҠX LdҠX PQȑLdҠXX XY 0 L_X~~8傅~8~~~78Ƈ8񆅚ȥ񆅛\[HZHl\0 LdN8Ƈ8񆅈񆅉@:8񆅈(8 8Z[ 8Z[LѠP i tiuLht i~i8~8`hh ߦ~ h0 L3 L3lvLRLX/ L 8L ߦ~ hI=+ L ߤ~襈I= ƈ LȄHHLLhh ~LhhV~W\]XiXY~8傅 !THEN TO TYPE UNTIL USES 1UNIT 2VAR WHILE WITH WNTO END ELSE EXTERNAL5FOR FUNCTION FILE .FORWARD "GOTO IF IN )IMPLEMEN4INTERFAC3LABEL MOD 'NOT &OF OR (PROCEDURPACKED +PROGRAM !REPEAT RECORD -SET *SEGMENT ܅܅ȱՈƐ2i ȱȱȩȥȩȑȑH~H`'Pޱ[ޱݱ݄ޏޚޥ޺ޱ"AL߱ݱݱ@#AND 'ARRAY ,BEGIN CASE CONST DO DIV 'DO` ۑȑآL ّ 0 ;ܩJ;* ۠؈ȩؠ#в   :>BGڇښڢکڬh~hhhhhqq a{8 ȱ{a0:A[_ ؕԈqȱi`H$)A[hIH80(hI`i(8(hI`J) )i i`HH8(iPH D۠'(hH ۩ hhehLDۍ۠'O`J>L80 %,M8$LgLhhhhhhhhץHH` )`,10 )?ILڢY` l܅k܅lм`|H D۠ D۠'È B h`@ ֠ ֭0`+` ڥHH B MڥhhLDۦ ڐ`,10` ` ` ` ۤO`) 2 ֭0` ֹ)` ( `) $ HЄ ֹJ` MȽ`H ؠ H h`@`   ٢` َ` ֭`38 0P`8 0 DۥHH)> `0* x)` EHh`LL٠(MC3 `H ؠ h ~؍,,`lQ`) ũ Ȣ`JJJJ ϱ` $p0*O# =ؤ =آ`H ؠLf ֊H h ɢ)L ,10U0I ,109,c$0 A[ $P0Ji)jj%UIЂ )?LI@a Hb c0  hH ׎h$L hhh 靱`hhh(`hhhhhhϐ8 (ֹH ֥ +ֹP b)*Ȫ`FG8`0($ p,&"VU>)Q>jj``P@J I*I `8Hh` 7HHH*L^F0 ِ9 aLgץ")j> 8`Ί aՍxՍՍՍե>?Ռ8T8ՌWuՌvՠ ýI꽌ɪ꽌ɭ蠪ϮәVE]ӾV]H)]ӾV]ԙ)]ӾT]ԙ)]ӦΨ 8$hU>`ȅbSϭb߅83IbߐibŅ QHPH PȱPP꽥QLdҠ RhPhQLH RR8~S~\ȱ~]X i RHLiR~ȱRV~ ~VWRTȱRURXȱRYRRR콆SLdҠ8񚅆񚅇`ȱL8~ȥ~e~ȱ~e~8ƇƎ`3[[`3[[`\Z][ 8\Z][`Lх~ e~ HHH> ]>HBC\8倅\]偅]  " ]H\HHHAH@H > ޽ Insert boot disk with SYSTEM.PASCAL on it, then press RETURN# SYSTEM.PASCAL is not version 1.2#lhLhx hmDŽ ) W 9LK " W 8ƛ 58Ƈ8\񆅖ȥ]񆅗8񆅖Ɨ8 ƗLPQ L楆8Ƈ8񆅔ȥ񆅕8Ƈ iiL奖 㥘 㥔 㭭ххІ 51-l l Ɗgƈд** 6`V QRTWHHlRHHlT Эhh a0+&00 1حB/C0@A "!歪筫䭬)aVV#$6 </\z FLLIEHJh**F`F$Lө ޽޾ HHHH`HHHHHH  < `) ,1P `*0 򭋍8TU 8X再Y凍TVlLXiXYXiXY HHXYX olhh)X0 eXXYLLeT~eU~8~X~YLdҩHHL^ҠXHXHL?飨RHRHL^Ҡ UѥRehnSeio nHnHLLҠ UѥRehnSeioni n%D[abHT%LXiXYX h&i` hi`RlSml~ȱlm~l``Z罅[潩`޽~@<8潍罅Z\]b[      ཀྵlN{`j5ۓ{Wv*ܞמ]َPqҜـٯU]l7{ӳBVݿӧݙy1ڇ 8R-zLDүH@P 8^L^һһһһһһһһһһһһһһһһ****************|yyyyyyy ҹHH`=`LLLLL)LHL&L)LLKLLLXLLXLLL\v]w]|\ v\w] RPRRSQRR @RȭAR)[ [Zqʊ qŐ`8H<8H\Ni iIHHAH@H GH#FF) l GGԬهП8ƋȱHHHH`HHHHHH  < @>~?aƁ)ɠG#ooHnHLLҠ UѥRehnSeio hnhnLLèPHPHL^Ҡ UѥPehnQeio nHnHLLҠ UѥPehnQeioni nooHnHLLҠ UѥPehnQeio hnhnLLҠX qѠ Uѥhelniemo nHnHL?ҠX qѠ Uѥhelniemoni nooHnHL?ҠX qѠ Uѥhelniemo hnhnL?ҠX Uѽeh~ei~H~HL?ҠX Uѽeh~eih~h~L?ҠX UѽeheiHHL?h~hȱ~H~HL^h~hhh~ȥL^ҠXȘ ~X)XYXHXHXe~XYLdҠX~ 8倐~hrhsrHrHƁƂ6&06ˡ6áƁ8:9" &8(2ȡ3'*3 ?3 2-bi ö A(7ȡ &ǀǏȡ &6!0ACOPYRIGHT 1979,1980,1983 APPLE COMPUTER, INC. ALL RIGHTS RESERVED4 8(TB &" PASCALSYUSERPROGFIOPRIMSPRINTERRINITIALIGETCMD FILEPROC 0~E~~~Ղ0LސLh)~hh)h~Lީ vhhh~hE0Ł~ŀ/1'0+!h~hh~hHHL^hHHL^ҩ%vHHL^hhh h膀e ň8内e~l8吨Lߤ 0 vXLLyL+L<   UFifhL8ޠ Uhhh~hXYhLdޱ~р~iLްLLވhhuޅvޅh~h~wޅ~xޅ~р ȱ~р~р %v HHLLҩHHLLҢh~E内凅Lݥ) fj~) fj8~݅݅HHHH9݅9݅HH~ HHHiHL^ҩHHL^ҩHHL?? hh&ŎLL0eeƎLLҥ8包Ŏ 8吪8吪ƌLLhh&eȹȹp)1)fjjj)?~Ōe~9 pHHL^ҦpHHL^ @hhHHHHhhhhLݥ)L8ȥL^hhh heȄ Ȅ~l ۦ8e h9 0 ʚL^ ۦņ hI9ʚL^ ņ0 hʚL^҅~Ƃ~eʥƂFHHL^ҠX hh &heheHHHHeHHL?hhhhhhȱ80 iff =݅=HHL^h~hhhhh ݅%~~݅%80~~i ~&&hhȱI%~I%YHXHXXYeXXYLdhrhshthuXs&trȑtLLҠrrtLUٱrtLLLѺ~~LL^Ҡ UhehheiHHLLҠ UhehheiHHLLhh Uѥi h&L٥hi 0ץheheHHLLҠXX` of"f fofn8no8&&`ffofn&&`hhhh ץIiIiHHL^hhhh ץHHL^h~hhhE0Ń)ŀ!0E0~łL^LXYXXYYHXHLXYHHL^hIihIiHHL^h~hhh8~HHL^ҩonff nenoeofofnff`hh0 hhLhh"IiIiIiIi 0ץHHL^ҺHHLWנnoLѥIiIi攥IiIiƔ8吥呰 X&XeYei无8XYLdҥXiXYLd h~hhh~&Zȥ[Ze~Z[e[8\Z][LLL h~hZ~ȥ[~LLh~h~Zȱ~[潩LLҩlLhh0HHL^ҨIiIiHHL^h~hhhe~eLLLѠX~e~e~tu~L1hththhLLh~hhe~~heH~HL^hhh~hhe~~he~L^hrhshthu ULh~hhh%H%~HL^h~hhhH~HL^hhIHIHL^ҩXXhhQX0XŗiX`0\XE0XLXŖC?8X(צPress CONTROL-RESETGb Íáɡ 럚肚X  šš ë  q7 "ˡ,8 )á á áWˡ á Dš 4áÄ 4w4]ץ11á4\1šV42233z 3042221é42é1Ä2*á444ń55P.TEXTׯ]צ.CODEJ.BACKׯ7צ.INFO$.GRAFׯצ.23aĩ3zȄ 23aA22š*á?%áצ:22ȡá;2á!2ȡ5252š[ץ22š2222ȡ2š5252á~ éÍ~  , Ą쓡"á  :"ë á 쓡ת$Pצצ22ȡ5233 ȡ 11"2COMPDEBU2162LINKANDGr21J2LINKDEBU31^2 ASSOCPRO~K21r2 SYSFILE xD23ASSMBLER@G2COMPILER22EDITOR LN22FILER B4^422LINKER *=<22DATEREC 43MONTH r3N3D3N3:l :.hzpL d | :\0T1 IBADFORM\0h1ISTRGOVFJ0\0|1CMDSTATE4x71\2HALTINIT<1DEBUGCALL311UPROGNOU1x411UPROGUOK311SYSPROG NL211COMPONLY6212COMPANDGJ2˄ `1 b (   d˯7 H ġ  *@#@,A$BBBZCC"DrDDEFtFGdGGG.InIIIfJJ0JKzxM20 ńȄ!~Í`~W ˡ!  ,ȫ$* "ë넡,~ *Í2~ š š K6"á61 ɚ V %ɡšɡš  PꟚšw#ńE z @šQȡ2 š:X f Ą ɡ 낫š ꓡ1š땫Ě@6"á1ꓡ삫Ú ȡ*ńȄ4šáRתPńȄ ,ń.áš蕿1á5   Q lȡ>š 쾿  / Zá " *0ˡ oɡa   áá0š  %4á-ë0zY 000á'5á 0z00 rT\  ɡ'áצ-32768 ^ 逫-ġ>o00ń vJ& "ˡ  J    00áQP 0á0 é000+-ÍFOTO /T! ȡ   צ0H"4$$$&ˡ 4 46%ˡ 4Jˡ 45ˡ+&ȡ 4& t&$&F'Type to continue) & ,Í ˫T \(&:0:azȄaA:!۞ۂۂەߓh  ! "ˡ ɡ!  ! "ˡ ߡ š  ńá4 á,á"  ܢۚ>ب"́$ʁ$ ʁ$ ʁ$ ʁ$ʁ$!"ʁ$ʁ$ʁ$ʁ$FZ   ނ ń1 áނ š   šš$    ġނš  šš!۞ۂۂەߓS  ! "ˡ.! "ˡ ߡ á( ::87CONSOLE1:7SYSTERM2:7GRAPHIC3:7PR P:NEWC/C.CODE:6REMOUT8PSb.:=b4/#b:a@:%aF:`L!I`R[/`X)`2 4j P:NEWC/C.CODEDEDEKYKK.2 4k/P/NEWC/C.CODE.CODE8FNo user programתP8F0ERM2:7GRAPHIC3:7PRINTER6:5REMIN7:6REMOUT8E/KY Kh Pt.PE87CONSOLE187CONSOLE1:7SYSTERM2:7GRAPHIC3:7PRINTER6:5REMIN7:6REMOUT8P IYIL: P/.P> Eá.0::8SWAPFIB OJ8NL7SYVID 3?DKVID $Z3zL;THEDATE 3CDEBUGINF[LD STATE 1EPL :FIPOT Mo$M  FILLER DMEHצE#  9 *,.02468:E&*E$ á"ˡ"& E ##&Eá 9'89:߂ɡ F b6} š.ö}Ä-D76!~?\FצPut in :P?FP'then press RETURN *o# ~8W8Eˡ.$  š t@4,á/š ġ 4,+á"š ġ Z |5?š?ˡ?ء "ˡ6ߕނˡ   d쓡  1צS# أ , P# أ צ, I# أ \2צ Exec err #   á, J3 l/E8:Eá *0  šˡ 퓄 Ä퓡w š   ɍL  "ˡ./~6\-}ˡ2Error reading exec file-, } .}ˡ2Error writing exec file-}ë 쓡ת!!9 D*驁&F+}迶Ŷ} / š/áá-`,3# , , ,/)~áë  ÄÄȄĄMȄtiȡF ōɍ ō ȍ  dč "쓡r D ́$ʁ$ ʁ$ ʁ$ ʁ$ʁ$!"ʁ$ʁ$ʁ$ʁ$FZ   ނ ń1 áނ š   šš$ צUnknown run-time error-צValue range error-צNo proc in seg-table-Exit from uncalled procת-Stack overflowת-צInteger overflow-Divide by zeroת-צNIL pointer reference-צProgram interrupted by user-MayתצJunJulתצAug Sepת צOct Novת צDec ???תצ??????ת6!צ  HצTתP%%@99ˡ  7 :9CONSOLE:ת(:9צSYSTERM:(8:98 6øצ???JanתצFebMarתצApr1٦׷)צ: ܢܢH d    0&תת.ת??? *SYSTEM.WRK.TEXTײ& צ*SYSTEM.WRK.CODE ,CONSOLEצSYSTERMGRAPHICצPRINTERREMINצREMOUT{B77::9988:9  6 ۪*ʁd ضá0?ʁd*SYSTEM.STARTUPת(߫7́%́eʁ%ʁeȡlضʁ%ʁbQ́fƁfʁdƁfƁ&ʁ% Ɓf(ߡʁ% ʁbʁ%́bʁ%́%;??ٟá'C "á ~٤  :SYSTEM.ASSMBLERת :SYSTEM.COMPILERת :SYSTEM.EDITORת :SYSTEM.FILERת צ:SYSTEM.LINKERƁ&<́b́cʁcȡ~ؤ́dʁdתʁdس0ʁdʁd؞&"áޢʁޢʁʁޢʁޢʁޢʁޢ88ʁ  תʁޢʁʁޢ́Ɓ߲Ɓ߲ Ɓߪʁޢˡdتٞ&ʀ=ʀ* ʀ́ʁݢGʁݢHʁݢIʁݢ%O tƀ&́ʁݢʁʁݢʁݢ%́޲8ʁޢʁޢʁޢʁޢʁޢ ʁޢʁޢ ʁޢ ʁޢ ʁޣ  ʁޢʁݢ́ʁޢʁ٢ š٢ ٢٢ 4$88ؗ(/88ؗ(tDoo odoo'z*SYSTEM.MISCINFOתPƀƀnown ProFile errorת-/(hT?+sKצ IO error: -צUnimplemented instruction-צFloating point error-String overflowת-yProgrammed HALTת-aProgrammed break-pointת-BצCodespace overflow-' oZ>s]@;-.Le not open-צbad input format-disk write protectedת-צillegal block #-צillegal buffer address-w!must read a multiple of 512 bytesת-Munknown ProFile errorת-/(hT?+sKצ IO error: -צUnimplemented instruction-צFloating point error-String overflowת-yProgrammed HALTת-aProgrammed break-pointת-BצCodespace overfloת-file not foundת-צ dup dir entry-צfile already open-צ file not open-צbad input format-disk write protectedת-צillegal block #-צillegal buffer address-w!must read a multiple of 512 bytesת-MunkצSystem IO error-צ unknown cause- parity (CRC)ת-צillegal unit #-illegal IO requestת-צdata-com timeout-vol went off-lineת-file lost in dirת-צ bad file name-צno room on vol- vol not found'Version 1.2 of SYSTEM.PASCAL cannot runצ)with a non-1.2 version of the interpreter@9988(The 64K version of SYSTEM.PASCAL cannot )run with the 128K version of SYSTEM.APPLE7:::% š tWelcome ?, to Apple II Pascal 1.2Based on UCSD Pascal II.1צCurrent date is C -C_ 7 š, š%צSYSTEM.WRK.CODEsSYSTEM.WRK.CODE׷Fš5צ.CODE.  "*SYSTEM.WRK.CODE[*]To what codefile? (׷O,á<$88š8(8X+,,"ˡ צ Can't open ,   áث 7(צ&,á(+(.TEXT888Ä8 "ˡ$ Can't find ::9 ƀ:ײ9 ƀ:צSYSTEM.SWAPDISK&:(7,צR   88(áצ Assemblingצ Compiling...á999':::צ::&:(áAssembleCompileצ what text?  Ɓ]&/ , ۤ  áۤ  !~!!f!צ*V! ""!"צ:" "ۤ  ۤ    áۤ  ink firstƁ2ƀ¼:.Conflict between intrinsic and user segment(s)ƀ¼*SYSTEM.LIBRARY , Can't load required intrinsic(s)Yƀ¼/#Required intrinsic(s) not available2 0ڡ;ƀ ˡ.  is not version 1.2ړ22H"áצIllegal file nameNo file  ́ṕqʁq́rʁrˡ  צ not codeʁq2ʁr"ˡצ Bad block #ݢ`ڤá Zx ȡ2ݤˡ"ޢ`ݤۼ: T ڪƁ Ɓ "á9̂.ʁ ʁ"ˡ  Ɓ Ɓ Vj  ߪPˍ? P ˡآڤ á Cá>آآ*Í k vޢ ȡSڤ ˡ@۳-ܢ0ۤ ڳ@@YyÍ, 4ۢڤ ɡš2ڪP-19:!1ׯ)Illegal filenamenTȡۤˡ áڢڢ-C ;;ȡצPascal system size is 64K;;ȡצ'Copyright Apple Computer 1979,1980,1983Copyright U.C. Regents 1979%צSystem re-initializedV 59 v"pv">   F  tWelcome ?, to Apple II Pascal 1.2Based on UCSD Pascal II.1צCurrent date is C -C-C ;;ȡצPascal system size is 64K;;ȡצ'Copyright Apple Computer 1979,1980,1983Copyright U.C. Regents 1979%צSystem re-initializedá.צNested exec commands illegal"צError opening execd 6~}6 "ء HPKצExecuteצ what fileצ? Pšš+00.0.0ȡ#+.//a/zȄ +./ ..+EXEC/ׯjVP+"á(.}P+ ! Jf%צ:ݓۤ  dÄÍ"ߢ ˄"ɡۤ  dáߢ  dá ߢ C#ޣC˄ ߢ C ߢ ۤ ߢޣ ޣߢ ޣޢ ޢۤ ޢ áޢá ~תޢޢޢ0ˡ) ! 767䚹 :V\28˄ޢߢšáޢ ޣ ߢ  dޣޢޣޣߢ  dÍÍޢˡ ݓۤ ۤ Ä˄~ݤ ת   ١  n ١ á9 ٓ/! !!١á ~ݤݚ ˄ܟń ١á  ޤ wš  iá Ä,ޤ  ɡ"áޤ lܟġMáš7 ܂ۻݪ d #(   !š Í 7ÄU ǐɄ:6ń~66! šá٢.ٕ۶š ڸ۸۶ š۸ ڸ:   ȡQ  ȡ   ȡ? ȡ  ġ  á ڢڢڢڣ ڣ ١ڢ ڣ ڣ١ ڢڣڣ ڣ áڣڣġ ڢڣڣ hڢ ڢ١ڢ!ڣڣ ڢ!ڣڣ ڢÄڣ &ڢ ڣ ڢ! ڢ!ڣڣ ڢڢ ڣڢÄڢ  ϶ U not allowedup-Há6OK7AX0NP3 "gC(,. C ^(Pv 2 Z *')%?áSFצ=Command: U(ser restart, I(nitialize, H(alt, S(wap, M(ake execP')% 6!,j3쓡 צ Linking...ˡ& Restarting...á(צ*SYSTEM.STARTUP %áá 6   HˡFצCCommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, ? [1.2]P')%?áSFצ=Command: U(ser restart,צ , change it?)צNew terminator:} ȡ/,-Z N:98:9á/)*SYSTEM.ATTACH   áning, programs using GET or PUT to disk will be very slow New exec name:(šR.%+(]ˡ([8]+("á%צ Terminator=lose and disk get and put procedures swappedצOld swapping level is  צ%New swapping level (ESCAPE to exit): ض,0Í1Í2Íسs2ø1öRצ Z`X\X áޢá ~תޢޢޢ0N^uwS8 , """,2"2, >"< ,22,"""    ****"""&""""" ,22," $,2""""""6**"""" ,2"">>((*|*>`@`0  0`@@@@@@@>>>>>6`Ac66cA6666**>>    ((*|@`px|~*U*U*U*U````````U*U*U?````````xxxxxxxxxxpppppppp@@@@@@xxxxxxxx6>60HH06>>*>**"*6">""> $88>>>>>>*? ><>{:>.#!#.1!1. ?!$ .11.!!!#    ****"""""""## .11.# >$.1!!! !!!6**""! ! .1!!? ? <5)"!!!?! """"!!"""""???!!9!!!!?!!!8!  !?!!!--3!!!1)%#!!!!!!!!.)!!!! !!! !>!!!!!! !!!!3--!!!!! !!"""?  ? "??( <12#.) *>*> ?  !#-1!> ? !!  !? ?!!!?!!!! >!!   !6>60HH06>>*>**"*6">""> $88>>>>>>*? ><>{:>.ת&תת(%Ɓ.񄓡9&   P ? ءצ*SYSTEM.WRK.TEXTצ*SYSTEM.WRK.CODEצ*SYSTEM.LST.TEX24<& צ š š۾.ˡצ([šܕ!!(š۾:ˡ١.TEXTת .CODEת!!ȡ(ܾܾ š!!DAD. ANYTIME WE COMPARE NUMBERS, WE|U~# {#######}|U~# ARE FINDING THE DIFFERENCE.@ 1 |D~ 45|DLLL~-38|DLL~{CC}|DL~7 YEARS DIFFERENCE@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ ED FISHED A DOZEN GOLF BALLS OUT OF# THE P 2. REMAINDER# |D~ 3. SUM@ 7 NOW KEY YOUR ANSWER.# # |D~ THE FIRST ANSWER IS RIGHT.# WE WERE ASKED TO FIND THE DIFFERENCE|U~# {##########}|U~# BETWEEN THE AGES OF SANDY'S MOM AND# OND ANSWER IS RIGHT.# THIS IS A SUBTRACTION PROBLEM THAT# COMPARES TWO NUMBERS. BOTH SANDY'S|U~# {########}|U~# MOM AND DAD HAD 'YEARS.' NO YEARS# WERE 'TAKEN AWAY.'@ 2 WHAT KIND OF AN ANSWER WILL THERE BE?# 1. DIFFERENCE# |D~ LD.# HER MOM IS THIRTY-EIGHT. HOW MUCH# OLDER IS SANDY'S DAD THAN HER MOM?@ 8 |D~ WHAT KIND OF SUBTRACTION PROBLEM IS# THIS?# 1. TAKE AWAY# |D~ 2. COMPARE# |D~ 3. NEITHER@ 7 |D~NOW KEY YOUR ANSWER.# # THE SEC WHEN THE QUESTION ASKS, 'HOW MUCH# MORE,' THE ANSWER IS THE DIFFERENCE.|U~# {##########}@ 7 $20|DLLL~- 5|DLL~{CC}|DLLL~$15 DIFFERENCE@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ SANDY'S DAD IS FORTY-FIVE YEARS OC}|DLLL~$15 REMAINDER@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ IN THE SECOND PROBLEM, BOTH RICK AND# HIS SISTER HAD SOME MONEY. NO MONEY# WAS TAKEN AWAY. WE WERE JUST ASKED TO# COMPARE RICK'S MONEY WITH HIS SISTER'S.|U~# {#######}@ 8 E OF HIS|U~# {####}|U~# MONEY AWAY TO GIVE TO HER.|U~# {####}|U~@ 8 |D~ WHEN THE QUESTION ASKS, 'HOW MUCH# WAS LEFT,' THE ANSWER IS A REMAINDER.|U~# {#########}@ 7 $20|DLLL~- 5|DLL~{C {##########}|U~# WHEN TWO NUMBERS ARE# COMPARED WITH EACH# OTHER.@ 7 PRESS BUTTON 1 TO CONTINUE.# # |CD~ IN THE FIRST PROBLEM, RICK HAD# MONEY, BUT HIS SISTER DIDN'T HAVE# ANY, UNTIL RICK TOOK SOM ANSWER TO BOTH QUESTIONS.|U~# {####}@ 3 SUBTRACTION HAS TWO USES:# 1. TO FIND THE REMAINDER|U~# {#########}|U~# WHEN SOME IS TAKEN AWAY.# |DD~ 2. TO FIND THE DIFFERENCE|U~# {'} DID RICK HAVE|U~# {'} |U~# RICK HAVE LEFT? {'} THAN HIS SISTER?@ 8 FOR WHICH PROBLEM WOULD YOU SUBTRACT?# 1.THE FIRST 2.THE SECOND 3. BOTH@ 7 |D~NOW KEY YOUR ANSWER.# # |D~ YOU WOULD SUBTRACT TO FIND THE# {'} |U~# FIVE DOLLARS TO {'} SISTER HAD FIVE|U~# {'} |U~# HIS SISTER ON HER {'} DOLLARS. HOW|U~# {'} |U~# BIRTHDAY. HOW {'} MUCH MORE MONEY|U~# {'} |U~# MUCH MONEY DID RRRRRRR~PROBLEM SOLVING._ |D~PRESS BUTTON 1 TO CONTINUE.# # |C~ READ THESE TWO PROBLEMS:# 1 {'} 2|U~# RICK HAD TWENTY {'} RICK HAD TWENTY|U~# {'} |U~# DOLLARS. HE GAVE {'} DOLLARS. HIS|U~#  ! S_% #@  |hddddddddrrrrrrrrr~PRESCRIPTION LEARNING_  |ddrrrrrrrrrrrrrrr~SUBTRACTION_  |ddRrrrrrrrrrrrrrrr~LESSON 8_  |ddddddrr~COPYRIGHT 1980 REVISED 1984%  |cDDDDDDRRRRRR~THIS LESSON WILL EXPLAIN_  |DRRRRRRRRRRrr~SUBTRACTION_  |dRRROND ON THE GOLF COURSE. HE GAVE# THREE OF THEM TO A BUDDY. HOW MANY# DID HE KEEP FOR HIMSELF?@ 8 |D~ WHAT KIND OF SUBTRACTION PROBLEM IS# THIS?# |U~ 1. TAKE-AWAY# |D~ 2. COMPARE# |D~ 3. NEITHER@ 7 |D~NOW KEY YOUR ANSWER.# # THE FIRST ANSWER IS RIGHT.# ONLY ED HAD GOLF BALLS. HIS# BUDDY DIDN'T HAVE ANY UNTIL ED TOOK|U~# {####}|U~# SOME OF HIS AND GAVE THEM AWAY. SO|U~# {####}|U~# THIS KIN THER DOES KAY HOUSE, HOW# HAVE TO WALK FAR HAS SHE# THAN JIM? ALREADY GONE?@ 8 |U~ ^ ^|U~# DIFFERENCE MISSING ADDEND@ 7 |U~PRESS BUTTON 1 TO CONTINUE.# # |CD~ IN THE FIRS# JIM LIVES 8 JIM LIVES 8|U~# 11|U~# BLOCKS FROM - 8 BLOCKS FROM|U~# {@@}|U~# THE LIBRARY. ? IT. WHEN KAY# HOW MUCH FAR- BLOCKS GETS TO JIM'S# THE BIKE $150@ 7 $150 {@} $90 = $60 MISSING ADDEND@ 7 PRESS BUTTON 1 TO CONTINUE.# # |C~ (1) (2)|U~# KAY LIVES 11 KAY LIVES 11# BLOCKS FROM BLOCKS FROM# THE LIBRARY. THE LIBRARY.####}|U~# ING THE MISSING ADDEND.|U~# {#######} {######}@ 1 THE MONEY JAKE ALREADY HAS $90@ 7 PLUS +# THE MONEY HE STILL HAS TO EARN ( ?)@ 7 EQUALS {CCCC}# THE TOTAL COST OF |D~ 2. FINDING THE DIFFERENCE (COMPARE)# |D~ 3. FINDING THE REMAINDER (TAKE-AWAY)@ 7 |D~NOW KEY YOUR ANSWER.# # THE FIRST ANSWER IS RIGHT.# WE WERE ASKED TO FIND OUT HOW MUCH# MONEY JAKE IS MISSING, SO WE ARE FIND-|U~# {###|C~ JAKE WANTS TO BUY A TEN-SPEED BIKE# THAT COSTS $150. HE HAS $90 IN THE# BANK. HOW MUCH MORE DOES JAKE HAVE TO# EARN?@ 8 WHAT KIND OF SUBTRACTION PROBLEM IS# THIS?# 1. FINDING THE MISSING ADDEND# OF SUBTRACTION PROBLEM IS# REALLY AN ADDITION PROBLEM WITH ONE OF# THE ADDENDS MISSING.@ 7 25 {@} 19 = ? MEANS 19 + ? = 25# THE ANSWER IS REALLY A MISSING ADDEND.|U~# {#######} {######}@ 7 PRESS BUTTON 1 TO CONTINUE.# # 9)|U~# {####}@ 8 |U~ PLUS +# THE PEOPLE WHO DIDN'T COME TO IT ( ?)|U~# {######} {####}|U~# EQUALS {CCCC}# THE TOTAL NUMBER WHO WERE INVITED(25).@ 7 |D~ THIS KINDTHAT COMPARES, EXCEPT THAT THE DIFFER-|U~# {######}|U~# ENCE IS NOT WHAT WE CARE ABOUT. THE|U~# {####}|U~# NUMBER 'MISSING' IS WHAT'S IMPORTANT.@ 7 PRESS BUTTON 1 TO CONTINUE.# # |C~ THE PEOPLE WHO CAME TO THE PARTY (1SSING FROM THE PARTY.|U~# {#######}@ 3 THIS IS NOT A TAKE-AWAY SUBTRACTION,# BECAUSE NOBODY LEFT THE PARTY, SO WE# DON'T WANT TO KNOW HOW MANY REMAINED.|U~# {########}@ 7 THIS SEEMS ALMOST LIKE A SUBTRACTION# @ 7 WHICH OF THESE QUESTIONS WAS ASKED?# 1. HOW MANY ARE LEFT?# 2. HOW MANY MORE ARE THERE?# 3. HOW MANY ARE MISSING?@ 7 |D~NOW KEY YOUR ANSWER.# # THE THIRD ANSWER IS RIGHT.# THE QUESTION ASKS HOW MANY PEOPLE# ARE MIBALLS(REMAINDER)@ 2 |D~PRESS BUTTON 1 TO CONTINUE.# # |C~ THERE IS STILL ONE MORE USE FOR# SUBTRACTION.@ 8 |D~ CARLA INVITED TWENTY-FIVE KIDS TO A# GRADUATION PARTY. NINETEEN OF THEM# SHOWED UP. HOW MANY PEOPLE DECIDED# NOT TO COME? WE WERE ASKED TO FIND OUT HOW MANY|U~# {########}|U~# GOLF BALLS ED HAD LEFT. THAT IS|U~# {####}|U~# CALLED THE REMAINDER.|U~# {#########}# |DD~ 12|DLLL~- 3|DLL~{CC}|DL~9 GOLF D OF PROBLEM IS TAKE-AWAY.@ 1 WHAT KIND OF AN ANSWER WILL WE GET?# |D~ 1. SUM# |D~ 2. REMAINDER# |D~ 3. DIFFERENCE@ 7 |D~NOW KEY YOUR ANSWER.# # |D~ THE SECOND ANSWER IS RIGHT.# T PROBLEM, BOTH KAY AND# JIM HAVE TO WALK TO THE LIBRARY. WE# ARE COMPARING THE DISTANCES THEY WALK.@ 8 |D~ IN THE SECOND PROBLEM, ONLY KAY HAS# TO WALK TO THE LIBRARY. WE ARE ASKED# TO FIND OUT HOW MUCH OF HER TRIP IS# GONE BY THE TIME SHE GETS TO JIM'S# HOUSE.@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ AL AND MIKE DROVE AL'S CAR TO LAKE# ERIE. AL DROVE 135 MILES AND MIKE# DROVE 162. HOW MUCH FARTHER DID MIKE# DRIVE THAN AL?# |DDD~ 1. 33 MI. 2. 27 MI. 3. 37 MI.@ 8 |D~NOW KEY YOURȡٛٛ,@@ @\  ǿ  ȡ & 0    0- ټ00-/0-á -..///.ټZڪP-0- -Z8ڳ aA,ڪP""ˡ0R6ڪ̀ʀšʀʀ ʀ 6ُǿ ('ǿ ڪP.-//p0 QV  N v@NEWMATH PETSTUFFPROCESSMMTHUNIT INITMATHFINDRESTQUITMATHENDSCREEGOSUB900QUERY PARSE E AWAY SOME OF THEIR MONEY# TO PAY FOR GASOLINE, SO THE MONEY THAT# WAS LEFT ($86) IS THE REMAINDER.|DLLLLLLLLLL~{#########}|R~@ 1 |D~PRESS BUTTON 1 TO CONTINUE.# # @ 8  T# GASOLINE BECAUSE $100 - $14 = $86.@ 3 |DD~ WHAT KIND OF ANSWER IS $86?# 1. REMAINDER# |D~ 2. DIFFERENCE# |D~ 3. MISSING ADDEND@ 7 |D~NOW KEY YOUR ANSWER.# # THE FIRST ANSWER IS RIGHT. THE BOYS# HAD TO TAKAD $100 TO# SPEND. THEY SPENT $14 ON GASOLINE.# HOW MUCH DID THEY HAVE LEFT TO SPEND# ON FOOD AND FUN?# |DDD~ 1. $94 2. $96 3. $86@ 8 |D~NOW KEY YOUR ANSWER.# # |D~ THE THIRD ANSWER IS RIGHT. AL AND# MIKE HAD $86 LEFT AFTER THEY BOUGHTHE DISTANCE DRIVEN AFTER LUNCH ( ? )@ 7 EQUALS {CCCCC}# THE TOTAL DISTANCE TO LAKE ERIE. (297)@ 7 WE SUBTRACTED TO FIND THE MISSING# ADDEND: 297 - 238 = 59@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ AL AND MIKE TOGETHER HFFERENCE# 3. MISSING ADDEND@ 1 |D~NOW KEY YOUR ANSWER.# # |D~ THE THIRD ANSWER IS RIGHT. THE# ANSWER (59 MILES) IS A MISSING ADDEND.# THE DISTANCE DRIVEN BEFORE LUNCH (238)@ 3 PLUS# 9 MI.@ 8 |D~NOW KEY YOUR ANSWER.# # |D~ THE FIRST ANSWER IS RIGHT. AL AND# MIKE STILL HAD 59 MILES TO GO WHEN# THEY STOPPED FOR LUNCH, BECAUSE 297 -# 238 = 59.# WHAT KIND OF AN ANSWER IS 59 MILES?# |D~ 1. REMAINDER# 2. DI~PRESS BUTTON 1 TO CONTINUE.# # |CD~ THE DISTANCE FROM AL'S HOUSE TO LAKE# ERIE IS 297 MILES. WHEN THEY STOPPED# TO EAT LUNCH, THEY HAD COME 238 MILES.# HOW MUCH FARTHER DID THEY HAVE TO GO# TO GET TO THE LAKE?# |DDD~ 1. 59 MI. 2. 61 MI. 3. 6|D~ 3. MISSING ADDEND@ 7 |D~NOW KEY YOUR ANSWER.# # |D~ THE FIRST ANSWER IS RIGHT. THE# ANSWER (27 MILES) IS A DIFFERENCE|DLLLLLLLLLL~{##########}|U~# BECAUSE WE USED SUBTRACTION TO COMPARE# THE DISTANCES THAT AL AND MIKE DROVE.@ 1 |D ANSWER.# # |D~ THE SECOND ANSWER IS RIGHT. MIKE# DROVE 27 MILES FARTHER THAN AL BECAUSE# 162 - 135 = 27.@ 2 |D~ WHAT KIND OF AN ANSWER IS 27 MILES?# |D~ 1. DIFFERENCE# |D~ 2. REMAINDER# 6 تP+,+,ȡ+ ++V 0 ث ٹ  ؏  ؏ ؏  ؏   ǿǿǿ  ȡ ȡ bȡ Bȡ 2 {^@$Bd.'ȡ ȡǿ؏'ġ؏ġǿ؏wȡ𩐣w؛pǿH(C&۳?d ˡ d d ġ čáš ȡ6צ$ #Y tw08ׯ!:תPצ(Pšw.`R twyP̀ẁʀʀȡ.ʀ(Cƀƀʀ̀ǖ @ \  ȡ5ȡ# צGREAT!!&  XO r'SORRY, YOU ARE INCORRECT.4w8?&wá !See Your Instructor."Press Ctrl-Reset To ReStart Again!!DP  (KR  תPPf0VJ\ 1ë Pإ Pإ Pإ Pإ Pإ P1Ú(THIS Program Cannot Be Run At This Time!See Your Instructor."Press Ctrl-Reset To ReStart Again!!DP 5342 6 7(KR   תPᥑ Pf0VJ:؛1ë8 Pإ: P᥅3إ: P᥅4إ: P᥅xإ: P᥅1إ: P᥅043291Ú9(THIS Program Cannot Be Run At This TimePީ5Pޛ6Pޛ7Pۡޛ1ޛ0P8ޛ1ޛ0 Pީ3Pީ4PPPP Pإ: P᥅5:؛6P:؛7PPȡ$ ˡۛ+B D   51ȡ ȡڛ6 bD   53 ȡ PܓޛNޛP9ޛFȡۛ( P dá%..P. Ǡ.Pk š1..צ .Q. ǡ.P5ġ0..צ .R. Ǣ.P..ȡۛ ڥ Pšȡ .٪P --á--š/,-.,.ȡ,0-,,,)X ^P ..P. Ǡ.P..ȡۛ `ܞ }-ń!-- -á K-P-á    -š-PF 0>`zR<`&d|6(تš$|á{á/ <تت'*6ڪPVVPVǠV-תP 2"Ah ٛ0WQKE?93-CU& 3 +=/C"$[ٛ~á~צ} ( H ` ȡ %8 L^ .`R tP̀̀ʀʀȡ.ʀ(Cƀƀʀ̀ǖ @ \ڦ ת 9,108  ::wv10x6vwצ intro.textˡUצintroˡ3צCan't find introductionצ :lesson.textˡp šӭ'צ-|I~ DO YOU WISH TO TERMINATE NOW? (Y/N) |N~&@@DDDDDDRRRRRRRRRR~REMOVE THE DISKETTEתP|)צ6|HDDDDDDDDDDDDDDRRRRR~AND TURN OFF THE APPLE COMPUTER.PvB́́ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ[́́ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ|)צ |) [jbrx )PƁצ Lesson-YƁƥšdKš8RRRRRR~PROGRAM TERMINATED BY USER.P|)צ.|HDDDDDDDDDDRRRRRRRR~PLEASE RECORD YOUR SCORE.P|),|HDDDDDDDDDDDDRRRRRRRRRR~REMOVE THE DISKETTEתP|)צ6|HDDDDDDDDDDDDDDRRRRR~AND TURN OFF THE APPLE COMPUTER.PvB́́ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ[́́ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ|)צ |) [jbrx )PƁצ Lesson-YƁƥ]ƁƪP<|)צ-|HDDDDDDDDRRRRRRR~PROGRAM TERMINATED BY USER.P|)צ.|HDDDDDDDDDDRRRRRRRR~PLEASE RECORD YOUR SCORE.P|),|HDDDDDDDDDDDDRRRRRRRRRR~REMOVE THE DISKETTEתP|)צ6|HDDDDDDDDDDDDDDRRRRR~AP |)|HDDDDDDRRRRRRRRRRRRRRR~h % MASTERYqPxd́́ʁʁȡ|ʁ)תPʁ́Ĺ́ǿ |)צ|HRRRRRR~CLAS II MATHP|)́Ɓ|)PƁצ Lesson-YƁƥ334434SP |)'|HDDRRRRRR~TOTAL NUMBER OF QUESTIONS : 'SwP*P |)|HDDDDRRRRRR~TOTAL CORRECT : *mPš ũ4š34 5(CyHF@^>:  "$&(*,.02468:<F@%^ҩxčҫѭ!y צ"Call Prescription Learning Serviceө9]vX w,x69x:wv10x:צ systend.coden ҩxɄ@áyҥyy֥yyyy2#@_(CyHF@^>:  "$&(*,.02468:<F@%^ҩxčҫѭ!y צ"Call Prescription Learning Service,wvԓ ѫҥyҥ֥yyyyy% צ|C~ xˡҩxɄ@áyҥyy֥yyyy2#@_# Having trouble reading lesson fileצ"Call Prescription Learning Serviceצ :pet.charsetˡhHaving trouble reading fontצ"Call Prescription Learning Service**צ *Q*P,M{ F v10x6vwצ intro.textˡUצintroˡ3צCan't find introductionצ :lesson.textˡp# Having trouble reading lesson fileצ"Call Prescription Learning Serviceצ :pet.charsetˡhHaving trouble reading fontצ"Call Prescription Learning ServiceND TURN OFF THE APPLE COMPUTER.PvB́́ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ[́́ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ|)צ |) [jbrx )PƁצ Lesson-YƁƥwwԄ>yyեyyyy쩐צ+Data file error -- blank used as terminator &áӝš&Z   :    ( tV8z <|hvhwhhxylxNj+Nvwlv")@ LY-09Ȅ0ݡߑ ع      z  &  * عteVG8  )   uh[NA4'á +-ÍNTEGER[36]) /END; ' " "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION X E EDURE DECOPS; "EXTERNAL; " "PROCEDURE FWRITEDEC(*VAR F: FIB; D: DECMAX; RLEN12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:INTEGER[36]) /END; ' " "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION L N E @d $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:I n 4ZLONGINTIPASCALIOCHAINSTUTURTLEGRTURTLEGRQUICKSTUQUICKSTU   `"A"G (CyЩwwԄ(CywХwš&w7ǖ w7w9 I á  ȡ(C ,y wȡ%pǿH(C& - B0.   wwԄyyšԝӍӓ9͞áӝ G G (CyЩwwԄ(CywХwš&w7ǖ w7w9 I á  á$ӝ,š ,Е,Y%ǿǿ %ǿ ǿ / * %GD;%S+((terminator not found*.Uӝš&áӝ G G (CyЩwwԄ(CywХwš&w7ǖ w7w9 I á  8刅剅<8ȱ` 5l 5 l 5lhzh{hƁhhhƁ}eʆƀƀ|ʊe~8偅z{lzhhhhhh8冐 0 h HHHL,LwIL,h hrsʈ .ł( Ł|} ŀ}|ƀL~HHL,~HH~HHHHHHL,~ʈƅFHHHH恥HL,0~}ʈƅ0I愊iʈؚH恥LŁ|} ƅL ~݂ġ ݂$ $ $ȡ%  0 ފ$čV   .ˡ:  Eɡ  -ݑ š 0 0 ߿`ġ(   ݂. ݕ ؂݂3  >ۓɡ ؼ݀$ ؼݞ$ۡܡ ؼ" Bɍ -   $ $ ݞ$' ݑ$ $݂ō $   "á +-Í-09Ȅؼ 0.á@09Ȅؼ0ݞ$09ȄjeEÍɍEáޢݣޢÄá ޣ Ą.1 ޣ Ąݣ ˡRݣ &ݢ ݢݢ!ݣ "ˡRݣ ˄ݢ!ۂ"ˡ+ݢݢݢˡݢݢ ۚݢ    ݂܂F      ޏݏ@܏ޏ@ݏ܏ޏݏ܏܏ ݏ ܏  ݢPROCEDURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER); "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "FUNCTION SUPER_MOD(A,B : INTEGER) : INTEGER; "FUNCTION SUPER_DIV(A,B : INTEGER) : INTEGER; "  IMPLEMENTATION L N E @dNTEGER[36]) /END; ' " "PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); "PROCEDURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER); "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWR $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:Ihhƀhh-ȑhhƀ 0ȑƀ0hJJJJ 0ȑ) 0ȑƀĆLL,tq1+%ZTNlb3 `\[TOG@;:3(  T[Fc>8 ND Z1> HHHHHL,} ei|ʽ 8襁i}ƅ|L,hƀhhh8hohlhXhhhFffff80)ƅܥ#FfII懥HHL,Lwhhh8倅偪ʈƅ})H揥>ʈƅ ~擥  抦|ɥ8包~ƅLII懩&&u`hh&~ʈƅFyʈƅ}ʈƍƎƋƊЌإL2d|e~28ʈƅyʈƅƉ` LŁ|}ƅLE||怦}ʚH恺~8ʈƅ  ILL, LLL,E0LL1 L ILL,ELL1 LEe8刅刪ʈʈ ݕ 0 . ݑ0 ݕݕ ؂ ɡ  |,  &  * عteVG8  )   uh[NA4'á +-Í-09Ȅ0ݡߑ ع    ǯ?Ǭ?ǰ?Ǯ?ǩ?áǫ?Ǭ?0 ٢ؚڢؚڢٚ ۚܢښܢٚܢؚɡšܢɡܢǿšܢǿɡܢɡܢ; $PROCEDURE CHARTYPE(MODE: INTEGER); " "IMPLEMENTATION $endc}  " SETC SHORT := FALSE}  X E CHAR); $PROCEDURE WSTRING(S: STRING); $PROCEDURE CHARTYPE(MODE: INTEGER); " "IMPLEMENTATION $endc}  " SETC SHORT := FALSE}  URTLEY: INTEGER; $FUNCTION TURTLEANG: INTEGER; $FUNCTION SCREENBIT(X,Y: INTEGER): BOOLEAN; $PROCEDURE DRAWBLOCK(VAR SOURCE; ROWSIZE,XSKIP,YSKIP,WIDTH,HEIGHT, 8XSCREEN,YSCREEN,MODE: INTEGER); $PROCEDURE WCHAR(CH: CHAR); $PROCEDURE WSTRING(S: STRING) MOVETO(X,Y: INTEGER); $PROCEDURE PENCOLOR(PENMODE: SCREENCOLOR); $PROCEDURE TEXTMODE; $PROCEDURE GRAFMODE; $PROCEDURE FILLSCREEN(FILLCOLOR: SCREENCOLOR); $PROCEDURE VIEWPORT(LEFT,RIGHT,BOTTOM,TOP: INTEGER); $FUNCTION TURTLEX: INTEGER; $FUNCTION T $TYPE $ SCREENCOLOR=(none,white,black,reverse,radar, 3black1,green,violet,white1,black2,orange,blue,white2); $ $PROCEDURE INITTURTLE; $PROCEDURE TURN(ANGLE: INTEGER); $PROCEDURE TURNTO(ANGLE: INTEGER); $PROCEDURE MOVE(DIST: INTEGER); $PROCEDURE0TRšزTRPزTPR, *BZC.CODEDEDEKYKK.2 4k/P/NEWC/C.CODE.CODE@ˡצ)Version 1.2 of the Chainstuff unit cannot+run with a non-1.2 version of SYSTEM.PASCAL تPšH++H0تPRšT+R+PTPC/C.CODEDEDEKYKK.2 4k/P/NEWC/C.CODE.CODE "PROCEDURE SETCHAIN(TYTLE:STRING); "PROCEDURE SETCVAL(VAL:STRING); "PROCEDURE GETCVAL(VAR VAL:STRING); "PROCEDURE SWAPON; "PROCEDURE SWAPOFF; "PROCEDURE SWAPGPON; "  IMPLEMENTATION X E   z Z   :    ( tV8z <| [NA4'á +-Í-09Ȅ0ݡߑ ع      z Z   :    ( tV8z <|l    ڪP."ˡ[̄$ʄ$N.ʄ$M ń.ʄ$M  ʄ$̄$.ʄ$M .ʄ$M Y@'  4تP+,+,ȡ+++V 0 Z Z^ Z ><0 Z 0&!"   #"  ` ` `SN-(' . hhhhhhHH `  y HH8H8  hhhL .+ rhh hehehehe8`)    L)ˢ   â LE % %  )  `8`&e epɀj f f&e e pɀjff %) % )`% L=`0(%$ $ @' &   cY}zeNEDh0h1hhhhh.h/h,h-h*h+h(h)(ȱ(*ȱ*,ȱ,.ȱ. HH1H0H(ȹ(*ȹ*,ȹ,.ȹ.`   ""##  )`%) E J j 8  e e  `(J 8 e  ` Z Z< $ %$PQ $  ߩ $ Li`t^L` T$Q%P)Q I L`#JI`'  I` I0ݩ(0/,",i8i#Hiihifi`i,i,3iPII4ifH8H hIiH h hL8Iif áSYSTEM.CHARSET  @! @4` - G`` 8`*UH)JJh & & f)4#i J  h 2  ɡh h  h . آآآǿآآǿآآD ǻٚ SYSTEM.CHARSET!ٹا ZZا Zا Zا ZZfا ZZا Z:ا Zا ZZb8  ؂  ɡh h QZ|?ٽ RZ}?4 SZ~? TZ~? UZ? VZ?[` WZ?& XZ?ؽ YZ?  ZZ?2  Z Zá.ٹ#ؑi?޽ CZk?7 DZm?[ EZn? FZp? GZr?  HZs?yx IZt?hн JZv?D KZw?F LZx?Re MZy?Pp NZz?g OZ{?K PZ|?aI? 5ZL?Xs 6ZO? 7ZQ? 8ZT?; 9ZV?% :ZY? ;Z[?Lo <Z]?г =Z_? >Zb? ?Zd?  @Zf?] AZh? BZ 'Z!? (Z$? )Z'?| *Z+?+L +Z.?l ,Z1?ս -Z5?D .Z8?& /Z;?: 0Z>?> 1ZA?4 2ZD?v 3ZF?  4Z>? Z>ca Z>*r Z>aq Z>^ Z>9 Z? Z?ٽ Z?ƨ !Z ?vm "Z?F' #Z?ս $Z?y %Z? &Z?1>н ZC>oc ZT> Zf>Y Zw>g Z>탽 Z>K  Z>ȱ Z>z7 Z>ٰ Z>? Z>| Z>}̽ Z>  ZHHL<  y B  ""##8&$iT8&UU !  U"# UT`+%$Y)!p h hhhhhhhhhhH8 )%HHH`5>hhh)hh h h h hhhhhhhhhhhhHH h )# " `' & 8 ! 0%ee8` !  e e8"#088$ % 0%ee8`$ %  e e8&'08D  کɩ  HGGDˍǨ LABNET ERROR!!!צ$Place the Red Disk in the disk driveצand press CONTROL-RESET.HGG,+,ȡ%HGG++++HGGHGGGGG HGG˫V  ٩ɩ  0HGGGGG HGG˫OGGGGG8 FGG HGGHGGGGG HGG˫  تP+BGB B BQ x^STARTUP CONTROLLPROCESSMINIT GETINFO -+*ġڏ+ ,+ ,+ˡMۿš,+۞á, , ,۞ۂB,+ ܂š š,+܂+ۂ++*ħ  ,,% x0 ؑ, *+dȡ.ٛ ٛٛaA6 FڪP.TEXT-""š-RH-+*ġڏ+ ,+ ,+ˡMۿš,+۞á, , ,۞ۂB,+ ܂š š,+܂+ۂ++*ħ -,.ُؑ, *+dȡ.ٛ ٛٛaA6 FڪP.TEXT-""š-RHithin buffer *) &Buffer: PACKED ARRAY [ 0..BufLen ] of CHAR;(* block buffer *)  (* MM *) readlncnt : INTEGER; $ $  procedure readline (var inline: longstring);  function openfile (filename: string): integer;   implementation E  "const BufSize = 1024; (BufLen = 1023; ( "type longstring = string[255]; " "var &empty: boolean; &infile: file;  NotNulls: 0..BufSize; (* Num of non-null chars *) &BufIndex: 0..BufSize; (* Index wSETPORT @=P l=7MAKEPORT|=P 7 ==L1TURTLEGR)RTCHEA=GA440 BS|== zjZ QH?\V n x x(,np< $8L. ~  L  DRIVE <<<FNAM =SETSINE1<<SETSINE2SETDEFAU=e*e+)*)fjfjfj+*fjfjfj8 8)eeL )` (J(F ((Lee L  )LT I1LT )QLT       HGGPšPȡ!ڛHGGڂ)diCTצ  ȡ'GG܊Gܛۿ48Ä8Äس@GGŚ^ xhhhhhhhhHHHH`(hhhhhhHH`$hhhh HH`$^4 \6$ צ$Place the Red Disk in the disk driveצand press CONTROL-RESET.HGG TENDIT CONTROLLPROCESSMSENDINFO STAND ALONE.듡K 01' V *,, STARTUP.CODEAPDISKSTARTUP.TEXT STARTUP.CODECODE[*]TE:SYSTEM.SWAPDISK0dd( (dצ( PdP8$ ת$  צ system.code !RUN STAND ALONE.듡K 01' V *,, STARTUP.CODEAPDISKSTARTUP.TEXT STARTUP.CODECODE[*]TE:SYSTEM.SWAPDISKKK듡צ PROGRAM ID: [SENDING ID TO LABNET.צ PLEASE WAIT.8[8צLABNET IS NOT ACTIVE!!PRESS ANY KEY TO RUN MNOV02A STARTUP.CODEz6 ʪz|z6 NOb6 *,, STARTUP.CODEAPDISKSTARTUP.TEXT STARTUP.CODECODE[*]TE:SYSTEM.SWAPDISKצintroá PintroתbNbXb[ ת [CM-X p ԍ֍br r b^br MNO`b6 6 ^``Pb6 r  !DP    (KR  תPPLhX0T$ ؾؾ1ë إ إ إ إ إ  1Ú(THIS Program Cannot Be Run At This Time!See Your Instructor."Press Ctrl-Reset To ReStart Again!ۡ10 10 ީީ  إ  ؾ ؾ ؾ1ë  إ إ  إ Mإȡ! ˡ) @ D   51ȡ  ȡھ2 XD   53 ȡ  ܓNPFީ ީ ީ & P dá%..P.Ǡ.Pk š1..צ .Q.ǡ.P5ġ0..צ .R.Ǣ.P..ȡ۾ ڥPšȡ .٪P --á--š.,-.,.ȡ,0-,,,'X\P ..P.Ǡ.P..ȡ۾ ^ȡHGGPšPȡ!ڛHGGڂ)diCTצ  ȡ'GG܊Gܛۿ48Ä8Äس@GGŚ^ x`<GGB BPOGGGGG8 GGGG BHGGHGGGGG HGG˫ȡ 018Dצ$Place the RED DISK in the disk driveצand press any key. lease record your scores:צ Percent correct  % Number correct  צ Total questions  Fá +<<<< Partial Score >>>>듡BPȡ  إ!1áSending scores to Labnet.צPlease wait ... Labnet is not active.צPlease record your scores:צ !DP    (KR w תPNwPLhX0T$ ؾؾ1ë إ إ إ إ NNإ N 1Ú(THIS Program Cannot Be Run At This Time!See Your Instructor."Press Ctrl-Reset To ReStart Again!ۡ10 10 ީީ  Nإ N ؾ ؾ ؾ1ë  Nإ NNإ N Nإ NMNإȡ! ˡ) @ D   51ȡ  ȡھ2 XD   53 ȡ  ܓNPFީ ީ ީ & P dá%..P.wǠ.Pk š1..צ .Q.wǡ.P5ġ0..צ .R.wǢ.P..ȡ۾ ڥwPšȡ .٪P --á--š.,-.,.ȡ,0-,,,'X\P ..P.wǠ.P..ȡ۾ ^ȡss CONTROL-RESET.HGGHGGȡ!ڛHGGڂ)\aEVצ  ȡ'GG܊Gܛۿ48Ä8Äس@GGŚ^ xhhhhhhhhHHHH`(hhhhhhHH`$hhhh HH`$`^ \6& צ$Place the Red Disk in the disk driveצand press CONTROL-RESET.HGGHGGȡ!ڛHGGڂ)\aEVצ  ȡ'GG܊Gܛۿ48Ä8Äس@GGŚ^GGG HGG˫D  کɩ  HGGDˍǨ  LABNET ERROR!!!צ$Place the Red Disk in the disk driveצand pre  تP+,+,ȡ%HGG++++HGGHGGGGG HGG˫V  ٩ɩ  0HGG Percent correct  % Number correct  צ Total questions  Fá +<<<< Partial Score >>>>듡BPȡ  ع(  0::l`  DISK in the disk driveצand press any key. lease record your scores:צ "const BufSize = 1024; (BufLen = 1023; ( "type longstring = string[255]; " "var empty: boolean; &infile: file;  NotNulls: 0..BufSize; (* Num of non-null chars *) &BufIndex: 0..BufSize; (* Index withn(j LEAN; $FUNCTION RANDOM: INTEGER; $PROCEDURE RANDOMIZE; $PROCEDURE NOTE(PITCH,DURATION: INTEGER); $FUNCTION RemStatus (channel : RSChannel) : RStatType; $ "IMPLEMENTATION X E EDURE TTLOUT(* SELECT: INTEGER; DATA: BOOLEAN *); $EXT$hhhhhh9.:.;.<0(0(099JH;HHH`Z310/$ T?@AB ?UB`2hhhhhhhhH)HHH`)J) D* کHH  ),`#d`L+L10`LELK뭕 JF8ȹe8ИL`Lø{{ttmnghab\\WWRRMNIIEEAA=>::673401..+,))&'$%"# !hhhhhhh)hpdHHHH`4hhhhhhhi)hH`HHH`0hhhJhh)*XhHH`"hhhhhhH! \L HHH`<hhhhhhHHLM0ON KEYPRESS: BOOLEAN; $FUNCTION RANDOM: INTEGER; $PROCEDURE RANDOMIZE; $PROCEDURE NOTE(PITCH,DURATION: INTEGER); $FUNCTION RemStatus (channel : RSChannel) : RStatType; $ "IMPLEMENTATION X E EDURE TTLOUT(* SELECT: INTEGER; DATA: BOOLEAN *); $EXTUNCTION BUTTON(SELECT: INTEGER): BOOLEAN; $PROCEDURE TTLOUT(SELECT: INTEGER; DATA: BOOLEAN); $FUNCTION KEYPRESS: BOOLEAN; $FUNCTION RANDOM: INTEGER; $PROCEDURE RANDOMIZE; $PROCEDURE NOTE(PITCH,DURATION: INTEGER); $FUNCTION RemStatus (channel : RSChannel) : RStatType; $ "IMPLEMENTATION N E $ $TYPE &RStatType = (RStatBusy, RStatReady, RStatOffline); " RSChannel = (RSOutput, RSInput); " $FUNCTION PADDLE(SELECT: INTEGER): INTEGER; $FUNCTION BUTTON(SELECT: INTEGER): BOOLEAN; $PROCEDURE TTLOUT(SELECT: INTEGER; DATA: BOOLEAN); $FUNCTI Number correct  צ Total questions  Fá +צ<<<< Partial Score >>>>צ( Insert the RED DISK into the drive."& ,:6 H צ LABNET is down!Record your scores:צ Percent correct  % Number correct  צ Total questions  Fá +צ<<<< Partial Score >>>>צ( Insert the RED DISK into the drive.צ Press CONTROL-RESET. H צ LABNET is down!Record your scores:צ Percent correct  % Percent correct  % Number correct  צ Total questions  Fá +<<<< Partial Score >>>>듡BPȡ  in buffer *) &Buffer: PACKED ARRAY [ 0..BufLen ] of CHAR;(* block buffer *) $  procedure readline (var inline: longstring);  function openfile (filename: string): integer;   implementation E Í k vޢ̝,,.ُؑ, *+dȡ.ٛ ٛٛaA6 FڪP.TEXT,""š,RHצ :lesson.textˡp# Having trouble reading lesson fileצ"Call Prescription Learning Serviceצ :pet.charsetˡhHaving trouble reading fontצ"Call Prescription Learning Service |-ń!-- -á J-P-á    -š-PF 2@b|T>b(f~6تš$|á{á/ <تت'*6ڪPVVPVǠV-תP& 2"Ah ٛ0WQKE?93-CU& 3 +=/C"$[ٛ~á~צ} ( bȡ Bȡ 2 {^@$Bd.'ȡ ȡǿ؏'ġ؏ġǿ؏6 تP+,+,ȡ+ ++V 0 ث ٹ  ؏  ؏ ؏  ؏   ǿǿǿ  ȡ ȡȡٛٛ,@@ @\  ǿ  ȡ & 0    0- ټ00-/0-á -..///.ټZڪP-0- -Z8ڳ aA,ڪP""ˡ0R6ڪ̀ʀšʀʀ ʀ 6ُǿ ('ǿ ڪP.-//p0 A ^ fINTERP PETSTUFFINIT ENDSCREEQUERY PARSE ,+*ġڏ+ ,+ ,+ˡMۿš,+۞á, , ,۞ۂB,+ ܂š š,+܂+ۂ++*ħ  l$ .ُؑ, *+dȡ.ٛ ٛٛaA6 FڪP.TEXT,""š,RH,+*ġڏ+ ,+ ,+ˡMۿš,+۞á, , ,۞ۂB,+ ܂š š,+܂+ۂ++*ħ ^^**צ *^Q*PX[\]ZG V ˡآڤ á Cá>آآ*Í k vޢ̩\SP |)'|HDDRRRRRR~TOTAL NUMBER OF QUESTIONS : 'SwP[*P |)|HDDDDRRRRRR~TOTAL CORRECT : *mP\š[\ ŶP |)צ|HDDDDDDRRRRRRRRRRRRRRR~\\Zšd]ZKš[[Z]8z0.00š0  Do!A  G G sX(CXXsX(C..š&.7ǖ .7.9X-Y áá  XXX%ǿǿ %ǿ ǿ . * &F  R*((terminator not found*.VflFx &á  Zš&á   G G sX(CXXsX(C..š&.7ǖ .7.9X-Y áá  XXX%ǿǿ %ǿ ǿ . * &F  YY쩐Yצ+Data file error -- blank used as terminator &á  Zš&á     .ȡ%pǿHs(C& ,@ ȡ0צ 8 P  ȡ %8 تFF^sʀ(Cƀƀʀ̀ǖ @ \.ȡZZ.؛pǿHs(C&۳?d ˡ d d ġ čá]]šZZ.á #Y t.08ׯ!:\\תPצ(Pš..`R t.P̀.̀ʀʀȡ.Ͷ  ȡ5ȡ# צGREAT!![[&  XO r'SORRY, YOU ARE INCORRECT.4ȡs(C ,.8?\\& hצ % MASTERYqPx*́́ʁʁȡ|ʁ)תPʁ́Ĺ́ǿ |)צ|HRRRRRRRRRRRRRRR~CLAS II MATHP<|)צ-|HDDDDDDDDRRRRRRR~PROGRAM TERMINATED BY USER.P|)צ.|Y Zš'צ-|I~ DO YOU WISH TO TERMINATE NOW? (Y/N) |N~&@@D ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ7  hצ % MASTERYqPx*́́ʁʁȡ|ʁ)תPʁ́Ĺ́ǿ |)צ|HRRRRRRRRRRRRRRR~CLAS II MATHP<|)צ-|HDDDDDDDDRRRRRRR~PROGRAM TERMINATED BY USER.P|)צ.|HDDDDDDDDDDRRRRRRRR~PLEASE RECORD YOUR SCORE.P|),|HDDDDDDDDDDDDRRRRRRRRRR~REMOVE THE DISKETTEתP|)צ6|HDDDDDDDDDDDDDDRRRRR~AND TURN OFF THE APPLE COMPUTER.Ṕ́ʁʁȡ,|ʁ)צ|ʁ)ʁ́Ĺ7 hצ % MASTERYqPx*́́ʁʁȡ|ʁ)תPʁ́Ĺ́ǿ |)צ|HRRRRRRRRRRRRRRR~CLAS II MATHP<|)צ-|HDDDDDDDDRRRRRRR~PROGRAM TERMINATED BY USER.P|)צ.|G G sX(CXXsX(C..š&.7ǖ .7.9X-Y áá  XXX%ǿǿ %ǿ ǿ . * &F  N^uwOND ANSWER IS RIGHT.# THIS IS A SUBTRACTION PROBLEM THAT# COMPARES TWO NUMBERS. BOTH SANDY'S|U~# {########}|U~# MOM AND DAD HAD 'YEARS.' NO YEARS# WERE 'TAKEN AWAY.'@ 2 WHAT KIND OF AN ANSWER WILL THERE BE?# 1. DIFFERENCE# |D~ LD.# HER MOM IS THIRTY-EIGHT. HOW MUCH# OLDER IS SANDY'S DAD THAN HER MOM?@ 8 |D~ WHAT KIND OF SUBTRACTION PROBLEM IS# THIS?# 1. TAKE AWAY# |D~ 2. COMPARE# |D~ 3. NEITHER@ 7 |D~NOW KEY YOUR ANSWER.# # THE SEC WHEN THE QUESTION ASKS, 'HOW MUCH# MORE,' THE ANSWER IS THE DIFFERENCE.|U~# {##########}@ 7 $20|DLLL~- 5|DLL~{CC}|DLLL~$15 DIFFERENCE@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ SANDY'S DAD IS FORTY-FIVE YEARS OC}|DLLL~$15 REMAINDER@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ IN THE SECOND PROBLEM, BOTH RICK AND# HIS SISTER HAD SOME MONEY. NO MONEY# WAS TAKEN AWAY. WE WERE JUST ASKED TO# COMPARE RICK'S MONEY WITH HIS SISTER'S.|U~# {#######}@ 8 E OF HIS|U~# {####}|U~# MONEY AWAY TO GIVE TO HER.|U~# {####}|U~@ 8 |D~ WHEN THE QUESTION ASKS, 'HOW MUCH# WAS LEFT,' THE ANSWER IS A REMAINDER.|U~# {#########}@ 7 $20|DLLL~- 5|DLL~{C {##########}|U~# WHEN TWO NUMBERS ARE# COMPARED WITH EACH# OTHER.@ 7 PRESS BUTTON 1 TO CONTINUE.# # |CD~ IN THE FIRST PROBLEM, RICK HAD# MONEY, BUT HIS SISTER DIDN'T HAVE# ANY, UNTIL RICK TOOK SOM ANSWER TO BOTH QUESTIONS.|U~# {####}@ 3 SUBTRACTION HAS TWO USES:# 1. TO FIND THE REMAINDER|U~# {#########}|U~# WHEN SOME IS TAKEN AWAY.# |DD~ 2. TO FIND THE DIFFERENCE|U~# {'} DID RICK HAVE|U~# {'} |U~# RICK HAVE LEFT? {'} THAN HIS SISTER?@ 8 FOR WHICH PROBLEM WOULD YOU SUBTRACT?# 1.THE FIRST 2.THE SECOND 3. BOTH@ 7 |D~NOW KEY YOUR ANSWER.# # |D~ YOU WOULD SUBTRACT TO FIND THE# {'} |U~# FIVE DOLLARS TO {'} SISTER HAD FIVE|U~# {'} |U~# HIS SISTER ON HER {'} DOLLARS. HOW|U~# {'} |U~# BIRTHDAY. HOW {'} MUCH MORE MONEY|U~# {'} |U~# MUCH MONEY DID RRRRRRR~PROBLEM SOLVING._ |D~PRESS BUTTON 1 TO CONTINUE.# # |C~ READ THESE TWO PROBLEMS:# 1 {'} 2|U~# RICK HAD TWENTY {'} RICK HAD TWENTY|U~# {'} |U~# DOLLARS. HE GAVE {'} DOLLARS. HIS|U~#  ! S_% #@  |hddddddddrrrrrrrrr~PRESCRIPTION LEARNING_  |ddrrrrrrrrrrrrrrr~SUBTRACTION_  |ddRrrrrrrrrrrrrrrr~LESSON 8_  |ddddddrr~COPYRIGHT 1980 REVISED 1984%  |cDDDDDDRRRRRR~THIS LESSON WILL EXPLAIN_  |DRRRRRRRRRRrr~SUBTRACTION_  |dRRR 2. REMAINDER# |D~ 3. SUM@ 7 NOW KEY YOUR ANSWER.# # |D~ THE FIRST ANSWER IS RIGHT.# WE WERE ASKED TO FIND THE DIFFERENCE|U~# {##########}|U~# BETWEEN THE AGES OF SANDY'S MOM AND# DAD. ANYTIME WE COMPARE NUMBERS, WE|U~# {#######}|U~# ARE FINDING THE DIFFERENCE.@ 1 |D~ 45|DLLL~-38|DLL~{CC}|DL~7 YEARS DIFFERENCE@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ ED FISHED A DOZEN GOLF BALLS OUT OF# THE PTHE BIKE $150@ 7 $150 {@} $90 = $60 MISSING ADDEND@ 7 PRESS BUTTON 1 TO CONTINUE.# # |C~ (1) (2)|U~# KAY LIVES 11 KAY LIVES 11# BLOCKS FROM BLOCKS FROM# THE LIBRARY. THE LIBRARY.####}|U~# ING THE MISSING ADDEND.|U~# {#######} {######}@ 1 THE MONEY JAKE ALREADY HAS $90@ 7 PLUS +# THE MONEY HE STILL HAS TO EARN ( ?)@ 7 EQUALS {CCCC}# THE TOTAL COST OF |D~ 2. FINDING THE DIFFERENCE (COMPARE)# |D~ 3. FINDING THE REMAINDER (TAKE-AWAY)@ 7 |D~NOW KEY YOUR ANSWER.# # THE FIRST ANSWER IS RIGHT.# WE WERE ASKED TO FIND OUT HOW MUCH# MONEY JAKE IS MISSING, SO WE ARE FIND-|U~# {###|C~ JAKE WANTS TO BUY A TEN-SPEED BIKE# THAT COSTS $150. HE HAS $90 IN THE# BANK. HOW MUCH MORE DOES JAKE HAVE TO# EARN?@ 8 WHAT KIND OF SUBTRACTION PROBLEM IS# THIS?# 1. FINDING THE MISSING ADDEND# OF SUBTRACTION PROBLEM IS# REALLY AN ADDITION PROBLEM WITH ONE OF# THE ADDENDS MISSING.@ 7 25 {@} 19 = ? MEANS 19 + ? = 25# THE ANSWER IS REALLY A MISSING ADDEND.|U~# {#######} {######}@ 7 PRESS BUTTON 1 TO CONTINUE.# # 9)|U~# {####}@ 8 |U~ PLUS +# THE PEOPLE WHO DIDN'T COME TO IT ( ?)|U~# {######} {####}|U~# EQUALS {CCCC}# THE TOTAL NUMBER WHO WERE INVITED(25).@ 7 |D~ THIS KINDTHAT COMPARES, EXCEPT THAT THE DIFFER-|U~# {######}|U~# ENCE IS NOT WHAT WE CARE ABOUT. THE|U~# {####}|U~# NUMBER 'MISSING' IS WHAT'S IMPORTANT.@ 7 PRESS BUTTON 1 TO CONTINUE.# # |C~ THE PEOPLE WHO CAME TO THE PARTY (1SSING FROM THE PARTY.|U~# {#######}@ 3 THIS IS NOT A TAKE-AWAY SUBTRACTION,# BECAUSE NOBODY LEFT THE PARTY, SO WE# DON'T WANT TO KNOW HOW MANY REMAINED.|U~# {########}@ 7 THIS SEEMS ALMOST LIKE A SUBTRACTION# @ 7 WHICH OF THESE QUESTIONS WAS ASKED?# 1. HOW MANY ARE LEFT?# 2. HOW MANY MORE ARE THERE?# 3. HOW MANY ARE MISSING?@ 7 |D~NOW KEY YOUR ANSWER.# # THE THIRD ANSWER IS RIGHT.# THE QUESTION ASKS HOW MANY PEOPLE# ARE MIBALLS(REMAINDER)@ 2 |D~PRESS BUTTON 1 TO CONTINUE.# # |C~ THERE IS STILL ONE MORE USE FOR# SUBTRACTION.@ 8 |D~ CARLA INVITED TWENTY-FIVE KIDS TO A# GRADUATION PARTY. NINETEEN OF THEM# SHOWED UP. HOW MANY PEOPLE DECIDED# NOT TO COME? WE WERE ASKED TO FIND OUT HOW MANY|U~# {########}|U~# GOLF BALLS ED HAD LEFT. THAT IS|U~# {####}|U~# CALLED THE REMAINDER.|U~# {#########}# |DD~ 12|DLLL~- 3|DLL~{CC}|DL~9 GOLF D OF PROBLEM IS TAKE-AWAY.@ 1 WHAT KIND OF AN ANSWER WILL WE GET?# |D~ 1. SUM# |D~ 2. REMAINDER# |D~ 3. DIFFERENCE@ 7 |D~NOW KEY YOUR ANSWER.# # |D~ THE SECOND ANSWER IS RIGHT.# UR ANSWER.# # THE FIRST ANSWER IS RIGHT.# ONLY ED HAD GOLF BALLS. HIS# BUDDY DIDN'T HAVE ANY UNTIL ED TOOK|U~# {####}|U~# SOME OF HIS AND GAVE THEM AWAY. SO|U~# {####}|U~# THIS KINOND ON THE GOLF COURSE. HE GAVE# THREE OF THEM TO A BUDDY. HOW MANY# DID HE KEEP FOR HIMSELF?@ 8 |D~ WHAT KIND OF SUBTRACTION PROBLEM IS# THIS?# |U~ 1. TAKE-AWAY# |D~ 2. COMPARE# |D~ 3. NEITHER@ 7 |D~NOW KEY YO# JIM LIVES 8 JIM LIVES 8|U~# 11|U~# BLOCKS FROM - 8 BLOCKS FROM|U~# {@@}|U~# THE LIBRARY. ? IT. WHEN KAY# HOW MUCH FAR- BLOCKS GETS TO JIM'S# THER DOES KAY HOUSE, HOW# HAVE TO WALK FAR HAS SHE# THAN JIM? ALREADY GONE?@ 8 |U~ ^ ^|U~# DIFFERENCE MISSING ADDEND@ 7 |U~PRESS BUTTON 1 TO CONTINUE.# # |CD~ IN THE FIRS {Unit with shortened Pet routines, provision for charset graphics}  {$setc apple := 2}  {$s+,v-} {turn swapping on, var checking off} unit petstuff;  { intrinsic code 26; }  {$c copyright Prescription Learning 1983}   interface "uses turtlegraphiE AWAY SOME OF THEIR MONEY# TO PAY FOR GASOLINE, SO THE MONEY THAT# WAS LEFT ($86) IS THE REMAINDER.|DLLLLLLLLLL~{#########}|R~@ 1 |D~PRESS BUTTON 1 TO CONTINUE.# # @ 8  T# GASOLINE BECAUSE $100 - $14 = $86.@ 3 |DD~ WHAT KIND OF ANSWER IS $86?# 1. REMAINDER# |D~ 2. DIFFERENCE# |D~ 3. MISSING ADDEND@ 7 |D~NOW KEY YOUR ANSWER.# # THE FIRST ANSWER IS RIGHT. THE BOYS# HAD TO TAKAD $100 TO# SPEND. THEY SPENT $14 ON GASOLINE.# HOW MUCH DID THEY HAVE LEFT TO SPEND# ON FOOD AND FUN?# |DDD~ 1. $94 2. $96 3. $86@ 8 |D~NOW KEY YOUR ANSWER.# # |D~ THE THIRD ANSWER IS RIGHT. AL AND# MIKE HAD $86 LEFT AFTER THEY BOUGHTHE DISTANCE DRIVEN AFTER LUNCH ( ? )@ 7 EQUALS {CCCCC}# THE TOTAL DISTANCE TO LAKE ERIE. (297)@ 7 WE SUBTRACTED TO FIND THE MISSING# ADDEND: 297 - 238 = 59@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ AL AND MIKE TOGETHER HFFERENCE# 3. MISSING ADDEND@ 1 |D~NOW KEY YOUR ANSWER.# # |D~ THE THIRD ANSWER IS RIGHT. THE# ANSWER (59 MILES) IS A MISSING ADDEND.# THE DISTANCE DRIVEN BEFORE LUNCH (238)@ 3 PLUS# 9 MI.@ 8 |D~NOW KEY YOUR ANSWER.# # |D~ THE FIRST ANSWER IS RIGHT. AL AND# MIKE STILL HAD 59 MILES TO GO WHEN# THEY STOPPED FOR LUNCH, BECAUSE 297 -# 238 = 59.# WHAT KIND OF AN ANSWER IS 59 MILES?# |D~ 1. REMAINDER# 2. DI~PRESS BUTTON 1 TO CONTINUE.# # |CD~ THE DISTANCE FROM AL'S HOUSE TO LAKE# ERIE IS 297 MILES. WHEN THEY STOPPED# TO EAT LUNCH, THEY HAD COME 238 MILES.# HOW MUCH FARTHER DID THEY HAVE TO GO# TO GET TO THE LAKE?# |DDD~ 1. 59 MI. 2. 61 MI. 3. 6|D~ 3. MISSING ADDEND@ 7 |D~NOW KEY YOUR ANSWER.# # |D~ THE FIRST ANSWER IS RIGHT. THE# ANSWER (27 MILES) IS A DIFFERENCE|DLLLLLLLLLL~{##########}|U~# BECAUSE WE USED SUBTRACTION TO COMPARE# THE DISTANCES THAT AL AND MIKE DROVE.@ 1 |D ANSWER.# # |D~ THE SECOND ANSWER IS RIGHT. MIKE# DROVE 27 MILES FARTHER THAN AL BECAUSE# 162 - 135 = 27.@ 2 |D~ WHAT KIND OF AN ANSWER IS 27 MILES?# |D~ 1. DIFFERENCE# |D~ 2. REMAINDER# O JIM'S# HOUSE.@ 7 |D~PRESS BUTTON 1 TO CONTINUE.# # |CD~ AL AND MIKE DROVE AL'S CAR TO LAKE# ERIE. AL DROVE 135 MILES AND MIKE# DROVE 162. HOW MUCH FARTHER DID MIKE# DRIVE THAN AL?# |DDD~ 1. 33 MI. 2. 27 MI. 3. 37 MI.@ 8 |D~NOW KEY YOURT PROBLEM, BOTH KAY AND# JIM HAVE TO WALK TO THE LIBRARY. WE# ARE COMPARING THE DISTANCES THEY WALK.@ 8 |D~ IN THE SECOND PROBLEM, ONLY KAY HAS# TO WALK TO THE LIBRARY. WE ARE ASKED# TO FIND OUT HOW MUCH OF HER TRIP IS# GONE BY THE TIME SHE GETS Tcs; "const max_x = 279; (max_y = 191; (longestlength = 255; ( "type long = integer [8]; 'longeststring = string [longestlength]; " stringlength = 0..80; 'charset = set of char; 'contrl = (up, down, left, right, clear, home, normal, inverse, 1complement, flash, rubout, bell); 'xcord = 0..39; 'ycord = 0..24; 'bit = 0..7; 'byte = set of bit; 'charimage = packed array [0..7] of byte; " font = packed array [0..127] of charimage; "var mode: integer; $ charfile: file of font; 'curren"var n: integer; "begin $for n := 1 to len (st) do &st [n] := cap (st[n]) "end; {caps} "  function keypress {:boolean};   { from June 1983 Call -A.P.P.L.E., pg. 65, by Joel Buckley & Ron DeGroat}  type { bit = 0..7; %byte = set of bit; } %wor &then val := trunc (temp) &else val := 0 "end; {val} "  function cap {ch: char}{:char}; "begin $if ch in ['a'..'z'] &then cap := chr ( ord (ch) - (ord ('a') - ord ('A'))) &else cap := ch "end; {cap} "  procedure caps {var st:string}; ENGTH(STRG)); .END; (* IF *) (END; (* WHILE *) %IF NEGATIVE THEN (VALUE:= -VALUE; "END; (* OF EVALUATE *) &  function val {(line: string): integer}; "var temp: long; &tempint: integer; "begin " evaluate (line, temp, tempint); $if temp < maxintOT A DIGIT *) .BEGIN 1DONE:= TRUE; 1IF TMPCHR= '-' THEN 4IF NODIGITS THEN 7(* LEADING MINUS SIGN *) 7BEGIN :NEGATIVE:= NOT NEGATIVE; :DONE:= FALSE; 7END; (* IF *) .END; (* IF *) +IF NOT DONE THEN .BEGIN 1CURPOS:= CURPOS+ 1; 1DONE:= (CURPOS> L%NODIGITS:= TRUE; %VALUE:= 0; %DONE:= (LENGTH(STRG)= 0); %CURPOS:= 1; %WHILE NOT DONE DO (BEGIN +TMPCHR:= STRG[CURPOS]; +IF TMPCHR IN ['0'..'9'] THEN .BEGIN 1VALUE:= 10* VALUE+ ORD(TMPCHR)- 48; 1NODIGITS:= FALSE; .END +ELSE .(* CHARACTER IS N THE FIRST NON-NUMERIC #* CHARACTER IN STRG AS CURPOS. # from Apple Pascal Utility Library 'by Charles D. Eckhaus (c) 1981 #* #*) "VAR %DONE, %NEGATIVE, %NODIGITS (: BOOLEAN; %TMPCHR (: CHAR; "BEGIN (* EVALUATE *) %NEGATIVE:= FALSE; {:ycord}; "begin $cursory := (max_y - 7 - turtley) div 8 mod 24 "end; {cursory} " PROCEDURE EVALUATE(*STRG: STRING; VAR VALUE: LONG; VAR CURPOS: INTEGER*); "(* #* EVALUATE THE LEADING NUMERIC CHARACTERS OF STRG. #* RETURN VALUE AND THE POSITION OF}  procedure cursorxy {column: xcord; row: ycord}; "begin $moveto (7 * column mod max_x, max_y - 7 - 8 *( row mod 24) ) "end; {cursorxy} "  function cursorx {:xcord}; "begin $cursorx := turtlex div 7 mod 40 "end; {cursorx} "  function cursory $currentset := charfile^; $close (charfile); ${$i+} "end; {fontread}   function len {(line: longeststring): integer};  var L: integer; "begin $L := length (line); $if L > 0 &then len := L + scan (-L, <>' ', line[L]) &else len := 0 "end; {lenow: ycord); "function cursorx: xcord; "function cursory: ycord; "  implementation   function fontread {(name:string):integer};  begin ${$i-} $reset (charfile, name); $fontread := ioresult; $if ioresult <> 0 %then exit (fontread); string (line: longeststring); "procedure printstring (line: longeststring); "procedure printat (x: xcord; y: ycord; line: longeststring); "procedure input (prompt: string; var line: string; maxlen: stringlength);  procedure cursorxy (column: xcord; r); "procedure cursor (direction: contrl; count: integer); "procedure border; "procedure crlf; "procedure control (var line: longeststring); "procedure graphics (var line: longeststring); "procedure printit (var line: longeststring); "procedure write"procedure caps (var st:string); "function keypress: boolean; "procedure fill (l, r, b, t : integer; color : screencolor); "procedure wait (count: integer); "procedure wfchar (ch:char); "procedure wfstring (s: string); "procedure fontype (m: integertset: font; ' "function fontread (name: string):integer; "function len (line: longeststring): integer; "procedure evaluate (strg: string; var value: long; var curpos: integer); "function val (line: string): integer; "function cap (ch: char):char; d = packed array [0..1] of byte;   var memref: record case boolean of -true: (addr: integer); -false: (byte: ^word); +end; $rptr, wptr, conflags: byte; $  begin {keypress}  with memref do begin &addr := -16619; {console flags} &conflags := byte^[0]; {save flags} &byte^[0] := [6]; {set flush flag} &write (' '); {check console} &byte^[0] := conflags; {restore flags} & &addr := -16616; {buffer counters} &rptr := byte^[0]; {input} &wptr := byte^[1];  procedure printstring {line: longeststring}; "begin $writestring (line); $crlf "end; {printstring} "  procedure printat {x:xcord; y: ycord; line: longeststring}; "begin {printat} " cursorxy (x, y); $printstring (line) "end; {printat} " proceocedure writestring {line: string}; "begin " while length (line) > 0 do &begin (if line [1] = '|' then control(line) *else (if line [1] = '{' then graphics(line) *else (printit(line) &end; {do} "end; {writestring}  oint := pos ('}', line); &wfstring (copy (line, 2, point - 2)); &delete (line, 1, point) &{leave sirius graphics mode} $end; {graphics} " "procedure printit {var line: string}; $begin $ wchar (line[1]); &delete (line, 1, 1) $end; {printit}  pr 'C': cursor (clear, 0); *end; {case} & index := index + 1 &until line [index] = '~'; &delete (line, 1, pos ('~', line)) $end; {control} $ "procedure graphics {var line: string}; "var point: integer; $begin $ {enter sirius graphics mode} &p$begin &index := 2; &repeat (case cap(line [index]) of *'U': cursor (up, 1); 'D': cursor (down, 1); *'L': cursor (left, 1); 'R': cursor (right, 1); *'I': cursor (inverse, 0); 'N': cursor (normal, 0); *'H': cursor (home, 0); 0, max_y - 8 * n); (wchar (chr (127)) &end; $cursor (home, 0) "end; {border} "  procedure crlf; "begin $moveto (0, turtley - 8); $cursor (normal, 0) "end; {crlf}   procedure control {var line: string}; "var index: integer; &ch: char; n := 0 to 39 do wchar (chr (127)); $for n := 1 to 23 do &begin (moveto (max_x - 7, max_y - 8 * n); (wchar (chr (127)) &end; $for n := 39 downto 0 do &begin (moveto (7 * n, 0); (wchar (chr (127)) &end; $for n := 23 downto 1 do &begin (moveto (); 2wchar (' '); 2cursor (left, 1) 0end; {rubout} &bell: for n := 1 to count do begin 2write (chr (7)); 2cursor (flash, 50) 0end; {bell do} &end {case} "end; {cursor} "  procedure border; "var n: integer; "begin $cursor (clear, 0); $for2for n := 1 to count do wchar (chr (20)); 2cursor (normal, 1) 0end; {complement} &flash: for n := 1 to 2 do begin 4cursor (complement, 1); 4cursor (left, 1); 4wait (count); 2end; {flash} &rubout: for n := 1 to count do begin 2cursor (left, 1oveto (turtlex + 7 * count, turtley); &normal: fontype (10); &inverse: fontype (5); &home: moveto (0, max_y - 8); &clear: begin 2moveto (0, max_y - 8); 2fill (0, max_x, 0, max_y, black) 0end; {clear} &complement: 0begin 2fontype (3); ection: contrl; count: integer};  var n: integer; "begin {cursor} " case direction of &up: moveto (turtlex, turtley + 8 * count); &down: moveto (turtlex, turtley - 8 * count); &left: moveto (turtlex - 7 * count, turtley); &right: mstring {(s: string)}; "var n: integer; "begin {wfstring} $for n := 1 to length (s) do %wfchar (s [n]); "end; {wfstring} "  procedure fontype {(m: integer)}; "begin {fontype} $mode := m; $chartype (mode) "end; {fontype}   procedure cursor {dir$for n := 1 to count do &if keypress then exit (wait) "end;   procedure wfchar {(ch: char)}; "begin {wfchar} $drawblock (currentset [ord(ch)], 1, 0, 0, 7, 8, turtlex, turtley, mode); $moveto (turtlex + 7, turtley) "end; {wfchar} "  procedure wf {output} $end; {with} $ "keypress := (rptr <> wptr)  end; {keypress}   procedure fill ; "begin $viewport (l, r, b, t); $fillscreen (color); " viewport (0, max_x, 0, max_y) "end; {fill} "  procedure wait ;  var n: integer; "begin dure input {(prompt: string; var line: string; maxlen: stringlength)};  const ordBS = 8; &ordCR = 13; &  var temp: string; " "function append (var line: longeststring; ch: char; 8maxlen: stringlength; validchar: charset): boolean; $begin {append} &{$r-} &if (length (line) < maxlen) and (ch in validchar) (then begin *line [0] := chr (ord (line[0]) + 1); *line [length(line)] := ch; *append := true *end {if} (else append := false &{$r+} $end; {append} " "begin $writestring (concat (prom"procedure caps (var st:string); "function keypress: boolean; "procedure fill (l, r, b, t : integer; color : screencolor); "procedure wait (count: integer); "procedure wfchar (ch:char); "procedure wfstring (s: string); "procedure fontype (m: integertset: font; ' "function fontread (name: string):integer; "function len (line: longeststring): integer; "procedure evaluate (strg: string; var value: long; var curpos: integer); "function val (line: string): integer; "function cap (ch: char):char; 1complement, flash, rubout, bell); 'xcord = 0..39; 'ycord = 0..24; 'bit = 0..7; 'byte = set of bit; 'charimage = packed array [0..7] of byte; " font = packed array [0..127] of charimage; "var mode: integer; $ charfile: file of font; 'currencs; "const max_x = 279; (max_y = 191; (longestlength = 255; ( "type long = integer [8]; 'longeststring = string [longestlength]; " stringlength = 0..80; 'charset = set of char; 'contrl = (up, down, left, right, clear, home, normal, inverse,  {Unit with shortened Pet routines, provision for charset graphics}  {$setc apple := 2}  {$s+,v-} {turn swapping on, var checking off} unit petstuff;  { intrinsic code 26; }  {$c copyright Prescription Learning 1983}   interface "uses turtlegraphiKEYPRESSFILL 'N^  begin {initialization}  end.  p) = 1 4then begin 6cursor (right, length (line)); 6cursor (rubout, length (line)); 6end; {if} 2wchar (keyboard^) 2end {if} 0else cursor (bell, 1); $ end; {if} $until eoln (keyboard); $if length (temp) > 0 &then line := temp "end; {input} .delete (temp, length (temp), 1); .cursor (rubout, 1); .if length (temp) = 0 0then begin 2writestring (line); 2cursor (left, length (line)) 2end; {if} /end {if} ,else .if append (temp, keyboard^, maxlen, [' '..'~']) 0then begin 2if length (tempt, line)); $cursor (left, length (line)); $temp := ''; $unitclear (1); $repeat &repeat cursor (flash, 50) (until keypress; &get (keyboard); &if not eoln (keyboard) (then begin *if (ord (keyboard^) = ordBS) and (length (temp) > 0) ,then begin ); "procedure cursor (direction: contrl; count: integer); "procedure border; "procedure crlf; "procedure control (var line: longeststring); "procedure graphics (var line: longeststring); "procedure printit (var line: longeststring); "procedure writestring (line: longeststring); "procedure printstring (line: longeststring); "procedure printat (x: xcord; y: ycord; line: longeststring); "procedure input (prompt: string; var line: string; maxlen: stringlength);  procedure cursorxy (column: xcord; r$for n := 1 to count do &if keypress then exit (wait) "end;   procedure wfchar {(ch: char)}; "begin {wfchar} $drawblock (currentset [ord(ch)], 1, 0, 0, 7, 8, turtlex, turtley, mode); $moveto (turtlex + 7, turtley) "end; {wfchar} "  procedure wf {output} $end; {with} $ "keypress := (rptr <> wptr)  end; {keypress}   procedure fill ; "begin $viewport (l, r, b, t); $fillscreen (color); " viewport (0, max_x, 0, max_y) "end; {fill} "  procedure wait ;  var n: integer; "begin gs := byte^[0]; {save flags} &byte^[0] := [6]; {set flush flag} &write (' '); {check console} &byte^[0] := conflags; {restore flags} & &addr := -16616; {buffer counters} &rptr := byte^[0]; {input} &wptr := byte^[1]; d = packed array [0..1] of byte;   var memref: record case boolean of -true: (addr: integer); -false: (byte: ^word); +end; $rptr, wptr, conflags: byte; $  begin {keypress}  with memref do begin &addr := -16619; {console flags} &confla"var n: integer; "begin $for n := 1 to len (st) do &st [n] := cap (st[n]) "end; {caps} "  function keypress {:boolean};   { from June 1983 Call -A.P.P.L.E., pg. 65, by Joel Buckley & Ron DeGroat}  type { bit = 0..7; %byte = set of bit; } %wor &then val := trunc (temp) &else val := 0 "end; {val} "  function cap {ch: char}{:char}; "begin $if ch in ['a'..'z'] &then cap := chr ( ord (ch) - (ord ('a') - ord ('A'))) &else cap := ch "end; {cap} "  procedure caps {var st:string}; ENGTH(STRG)); .END; (* IF *) (END; (* WHILE *) %IF NEGATIVE THEN (VALUE:= -VALUE; "END; (* OF EVALUATE *) &  function val {(line: string): integer}; "var temp: long; &tempint: integer; "begin " evaluate (line, temp, tempint); $if temp < maxintOT A DIGIT *) .BEGIN 1DONE:= TRUE; 1IF TMPCHR= '-' THEN 4IF NODIGITS THEN 7(* LEADING MINUS SIGN *) 7BEGIN :NEGATIVE:= NOT NEGATIVE; :DONE:= FALSE; 7END; (* IF *) .END; (* IF *) +IF NOT DONE THEN .BEGIN 1CURPOS:= CURPOS+ 1; 1DONE:= (CURPOS> L%NODIGITS:= TRUE; %VALUE:= 0; %DONE:= (LENGTH(STRG)= 0); %CURPOS:= 1; %WHILE NOT DONE DO (BEGIN +TMPCHR:= STRG[CURPOS]; +IF TMPCHR IN ['0'..'9'] THEN .BEGIN 1VALUE:= 10* VALUE+ ORD(TMPCHR)- 48; 1NODIGITS:= FALSE; .END +ELSE .(* CHARACTER IS N THE FIRST NON-NUMERIC #* CHARACTER IN STRG AS CURPOS. # from Apple Pascal Utility Library 'by Charles D. Eckhaus (c) 1981 #* #*) "VAR %DONE, %NEGATIVE, %NODIGITS (: BOOLEAN; %TMPCHR (: CHAR; "BEGIN (* EVALUATE *) %NEGATIVE:= FALSE; {:ycord}; "begin $cursory := (max_y - 7 - turtley) div 8 mod 24 "end; {cursory} " PROCEDURE EVALUATE(*STRG: STRING; VAR VALUE: LONG; VAR CURPOS: INTEGER*); "(* #* EVALUATE THE LEADING NUMERIC CHARACTERS OF STRG. #* RETURN VALUE AND THE POSITION OF}  procedure cursorxy {column: xcord; row: ycord}; "begin $moveto (7 * column mod max_x, max_y - 7 - 8 *( row mod 24) ) "end; {cursorxy} "  function cursorx {:xcord}; "begin $cursorx := turtlex div 7 mod 40 "end; {cursorx} "  function cursory $currentset := charfile^; $close (charfile); ${$i+} "end; {fontread}   function len {(line: longeststring): integer};  var L: integer; "begin $L := length (line); $if L > 0 &then len := L + scan (-L, <>' ', line[L]) &else len := 0 "end; {lenow: ycord); "function cursorx: xcord; "function cursory: ycord; "  implementation   function fontread {(name:string):integer};  begin ${$i-} $reset (charfile, name); $fontread := ioresult; $if ioresult <> 0 %then exit (fontread); string {(s: string)}; "var n: integer; "begin {wfstring} $for n := 1 to length (s) do %wfchar (s [n]); "end; {wfstring} "  procedure fontype {(m: integer)}; "begin {fontype} $mode := m; $chartype (mode) "end; {fontype}   procedure cursor {direction: contrl; count: integer};  var n: integer; "begin {cursor} " case direction of &up: moveto (turtlex, turtley + 8 * count); &down: moveto (turtlex, turtley - 8 * count); &left: moveto (turtlex - 7 * count, turtley); &right: m.delete (temp, length (temp), 1); .cursor (rubout, 1); .if length (temp) = 0 0then begin 2writestring (line); 2cursor (left, length (line)) 2end; {if} /end {if} ,else .if append (temp, keyboard^, maxlen, [' '..'~']) 0then begin 2if length (tempt, line)); $cursor (left, length (line)); $temp := ''; $unitclear (1); $repeat &repeat cursor (flash, 50) (until keypress; &get (keyboard); &if not eoln (keyboard) (then begin *if (ord (keyboard^) = ordBS) and (length (temp) > 0) ,then begin &{$r-} &if (length (line) < maxlen) and (ch in validchar) (then begin *line [0] := chr (ord (line[0]) + 1); *line [length(line)] := ch; *append := true *end {if} (else append := false &{$r+} $end; {append} " "begin $writestring (concat (promdure input {(prompt: string; var line: string; maxlen: stringlength)};  const ordBS = 8; &ordCR = 13; &  var temp: string; " "function append (var line: longeststring; ch: char; 8maxlen: stringlength; validchar: charset): boolean; $begin {append} procedure printstring {line: longeststring}; "begin $writestring (line); $crlf "end; {printstring} "  procedure printat {x:xcord; y: ycord; line: longeststring}; "begin {printat} " cursorxy (x, y); $printstring (line) "end; {printat} " proceocedure writestring {line: string}; "begin " while length (line) > 0 do &begin (if line [1] = '|' then control(line) *else (if line [1] = '{' then graphics(line) *else (printit(line) &end; {do} "end; {writestring}  oint := pos ('}', line); &wfstring (copy (line, 2, point - 2)); &delete (line, 1, point) &{leave sirius graphics mode} $end; {graphics} " "procedure printit {var line: string}; $begin $ wchar (line[1]); &delete (line, 1, 1) $end; {printit}  pr 'C': cursor (clear, 0); *end; {case} & index := index + 1 &until line [index] = '~'; &delete (line, 1, pos ('~', line)) $end; {control} $ "procedure graphics {var line: string}; "var point: integer; $begin $ {enter sirius graphics mode} &p$begin &index := 2; &repeat (case cap(line [index]) of *'U': cursor (up, 1); 'D': cursor (down, 1); *'L': cursor (left, 1); 'R': cursor (right, 1); *'I': cursor (inverse, 0); 'N': cursor (normal, 0); *'H': cursor (home, 0); 0, max_y - 8 * n); (wchar (chr (127)) &end; $cursor (home, 0) "end; {border} "  procedure crlf; "begin $moveto (0, turtley - 8); $cursor (normal, 0) "end; {crlf}   procedure control {var line: string}; "var index: integer; &ch: char; n := 0 to 39 do wchar (chr (127)); $for n := 1 to 23 do &begin (moveto (max_x - 7, max_y - 8 * n); (wchar (chr (127)) &end; $for n := 39 downto 0 do &begin (moveto (7 * n, 0); (wchar (chr (127)) &end; $for n := 23 downto 1 do &begin (moveto (); 2wchar (' '); 2cursor (left, 1) 0end; {rubout} &bell: for n := 1 to count do begin 2write (chr (7)); 2cursor (flash, 50) 0end; {bell do} &end {case} "end; {cursor} "  procedure border; "var n: integer; "begin $cursor (clear, 0); $for2for n := 1 to count do wchar (chr (20)); 2cursor (normal, 1) 0end; {complement} &flash: for n := 1 to 2 do begin 4cursor (complement, 1); 4cursor (left, 1); 4wait (count); 2end; {flash} &rubout: for n := 1 to count do begin 2cursor (left, 1oveto (turtlex + 7 * count, turtley); &normal: fontype (10); &inverse: fontyxm((5); &home: moveto (0, max_y - 8); &clear: begin 2moveto (0, max_y - 8); 2fill (0, max_x, 0, max_y, black) 0end; {clear} &complement: 0begin 2fontype (3); p) = 1 4then begin 6cursor (right, length (line)); 6cursor (rubout, length (line)); 6end; {if} 2wchar (keyboard^) 2end {if} 0else cursor (bell, 1); $ end; {if} $until eoln (keyboard); $if length (temp) > 0 &then line := temp "end; {input}   begin {initialization}  end.   begin {initialization}  end.  p) = 1 4then begin 6cursor (right, length (line)); 6cursor (rubout, length (line)); 6end; {if} 2wchar (keyboard^) 2end {if} 0else cursor (bell, 1); $ end; {if} $until eoln (keyboard); $if length (temp) > 0 &then line := temp "end; {input} .delete (temp, length (temp), 1); .cursor (rubout, 1); .if length (temp) = 0 0then begin 2writestring (line); 2cursor (left, length (line)) 2end; {if} /end {if} ,else .if append (temp, keyboard^, maxlen, [' '..'~']) 0then begin 2if length (tem