Survey Calculation Program SVY113IN.DOC Document Introduction @@ Those Survey Calculation Programs are opened to the public as Shareware. @ A right of copyright is reserved. @ Copyrighter is never responsible for any damage using those programs. @@ Copyrighter will fix if there are some bugs in these programs, but copyrighter will not make those programs as version up easily. However there are some important fault in these programs, copyrighter will fix them. If there are some advices or suggestions or impressions, please send some comments to copyrighter. @And please explain if you fixed some bugs. @@ This Document includes Soft Ware. @@Version is Ver. 1.11 . @@ Others are in accordance with another Share Soft Ware rules. @@@@2005.03.25 @@Toshio Kawaguchi khf00050s@yahoo.co.jp khf00050sg@yahoo.com.sg File name SVY111IN.DOC @ . . . . .. .. @@This File is named from Survey Version 1.11 International . History @ Those programs were made on 1982-1984 at Saguling Dam Project in Indonesia at first using CASIO FX-702P,fx-3600P,CASIO FX-502P and FX-602P. Then those programs were transplanted for SHARP PC-1500 and SHARP PC-1401. @@ After that those programs were transplanted for SHARP PC-E500 and CASIO FX-603P. Japanese version is named SVY323JP and opened to the public for Free Soft Ware. These programs SVY109IN were made from SVY323JP. @@@@1998.01.09 Toshio khf00050s@yahoo.co.jp How to use. @@ It is very easy to use programs of CASIO FX-603P in the field work usually. @ There is a few case in field work using programs of SHARP PC-E500 ( PC-E550 , PC-E650 ), for example an official trip etc. @ SHARP is more easy to coding than CASIO. Print out version @@ There is no print out version in those programs because of using personal computer in case you want real calculation. @ Because there are some problem in Soft Ware softly and hardly in the field work. @@ Please send some informations to copyrighter, if someone will make Print out version. How to use specially on singular these Soft As those programs control on coordinates X=0.000 Y=0.000 and elevation EL=0.000 GH=0.000 , when you use those program carefully at those singular points. I explain special using which are not explained on document. @@ Radiation Traverse@E@Open Traverse Calculation @@@ @@@ We need calculation of coordinates in the field , because of setting an instrument ( Transit ) by Azimuth instead of Angle. In this case please calculate as the following. @@@ @@@@Instrument point coordinates X1,Y1 are inputed datum usually. @@@@Back point coordinates X2,Y2 are inputed X2=0.000 Y2=0.000. @@@@And please input survey angle ( Azimuth instead of inner Angle )HA. @@@@Radiation Traverse coordinates are outputed. Above method is application for making soft ware as the following. @@@@Instrument point coordinates X1,Y1 must be inputed datum as usually. @@@@Back point coordinate X2 must be inputed Outer Azimuth and Y2 must be inputed Y2=0.000. @@@@And then please input survey angle ( Angle instead of Azimuth )HA. @@@@Radiation Traverse coordinates are outputed. @@@@This thinking is effective another programs using to input instrument coordinates and back point coordinates. @@Please use carefully when input length L, instrument high IH, target high MH,vertical V, stadia datum S1,S2 , and horizontal angle HA, there are special using in those datum, in + ( Plus ) and - ( Minus ) using. @@And there are two kind of using in BS FS EL L HA R IP points, 0 ( Zero ) and - ( Minus ) . @ As they have special meanning, please read document carefully. Apologize @@ These programs of SHARP PC-E500 can be used on PC-E550 and PC-E650 from introduction manual etc. @ But these programs are not confirmed yet on PC-E550 and PC-E650. Salutation @ @As SHARP PC-E500 needs Communication Program, I confirmed this Communication Program on the explanatory note to SHARP Electric Company for opening to the public. They recognized to open to the public this Communication Program on the explanatory note of level converter in SHARP CE-140T RS-232C pleasantly. I confirmed above things on October 14th in 1993 by telephone. @@ These Survey programs were made using another Free Soft Ware . @@@@ LHA@@@Archive @ @ WTERM@@Communication Soft Ware @ @ NEED@@ Editor JW_CAD CAD @ Thank you very much to writers. @@@@1998.01.09 Toshio khf00050s@yahoo.co.jp uHow to down load toward personal computer ---> pocket computer .v @1. CASIO FX-603P Necessary object @@@@@1. CASIO FX-603P 2. CASIO FA-6 ( RS-232C ) 3. REVERSE CABLE ( Connection for personal computer and CASIO FA-6 ) 4. MS-DOS system disk and soft file name 603P601I.101 FX-603P side needs receiving condition MODE X (SHIFT) RSLOAD SHIFT EXE. @@@ Personal computer side needs COPY A:603P601I.101 AUX[RETERN]. We use MS-DOS Command COPY on Command line . @@@ If you can't down load well, please use MS-DOS Command COPYA . However you can't down load please push ALL RESET key of FX-603P . @@@ Communication conditions of FX-603P are SPEED RS232C-0 1200 B8 PE S2 XON. @@@ Please set SPEED RS232C-0 1200 B8 PE S2 XON of personal computer . 2. SHARP PC-E500 Necessary object @@@@@1. SHARP PC-E500 ( PC-E550 , PC-E650 ) 2. SHARP CE-140T ( RS-232C cable ) 3. MS-DOS system disk and Survey program softs . @@ 1. Input Communication Program Please input Communication Program for PC-E500 in SHARP PC-E500 by manual . @@2. Down Load Survey Programs PC-E500 side : First let's run Communication Program of PC E500 for DOWN LOAD . @@@ Personal computer side : COPY/B A:FILE NAME AUX[RTERN] We use MS-DOS Command COPY on Command line . @@@ If you can't down load well, please use MS-DOS Command COPYA . However you can't down load please check Communication Program of PC-E500. @@@ Communication conditions of PC-E500 are SPEED RS232C-0 1200 B8 PN S1 XON. @@@ Please set SPEED RS232C-0 1200 B8 PN S1 XON of personal computer. After Down Load there is a program named " PROG. " in PC-E500, @@@ as program File is named " PROG. " you may name this program and save this program in RAM FILE 'F' and continue down load another programs. 3. SHARP PC-E500 Communication Program List 10 ' Sample Communication Program 20 CLS :POKE &HBFD35,0,255,0,80 30 PRINT "***** Communication Program *****" 40 PRINT "Please set 16KB in RAM(E:) by INIT command !":BEEP 1 50 INPUT "OK(Y)?";I$:IF I$<>"Y"THEN 50 60 CLS :PRINT "Up Load (Transmit) =[U]" 70 PRINT "Down Load (Reception)=[D]":BEEP 1 80 INPUT I$ 90 IF (I$<>"U")AND (I$<>"D")THEN 60 100 IF I$="U"THEN "U" 110 GOTO "D" 120 "U":OPEN "COM:1200,N,8,1,A,L,&1A,X,S" 130 OPEN "E:PROG."FOR INPUT AS #2 140 PRINT "Please set personal computer or word processor Down Load condition !" 150 INPUT "OK(Y)?";I$:IF I$<>"Y"THEN 150 160 PRINT "--- Now transmitting ---":BEEP 1 170 A$=INPUT $(1,2) 180 IF EOF (2)THEN PRINT #1,CHR$ &H1A:CLEAR :PRINT :PRINT "*** Complete ***":GOTO "END" 190 PRINT A$; 200 PRINT #1,A$; 210 GOTO 170 220 "D":OPEN "COM:1200,N,8,1,A,L,&1A,X,S" 230 OPEN "E:PROG."FOR OUTPUT AS #2 240 PRINT "Please transmit from personal computer or word processor !" 250 A$=INPUT $(1,1):PRINT "--- Receiving ---":BEEP 1:GOTO 270 260 A$=INPUT $(1,1) 270 IF (A$=CHR$ &H1A)OR (A$=CHR$ &H0C)THEN PRINT #1,CHR$ &H11:CLEAR :PRINT :PRINT "*** Complete ***":GOTO "LD" 280 PRINT A$; 290 PRINT #2,A$; 300 GOTO 260 310 "LD" 320 PRINT "Do you want to load a receiving program ?" 330 BEEP 2:INPUT "OK(Y)?";I$:IF I$<>"Y"THEN "END" 340 PRINT "Now loading !!!" 350 POKE &HBFD35,2,223,4,80 360 KEY 0,"LOAD"+CHR$ 34+"E:PROG."+CHR$ 34+CHR$ 13 370 "END":BEEP 2:POKE &HBFD35,2,223,4,80:END @@@@1998.01.09 Toshio khf00050s@yahoo.co.jp How to use an Editor for programming of CASIO FX-603P @Programming of CASIO FX-603P on an Editor @There is a function in CASIO FX-603P through RS-232C filing a Text file on MS-DOS system. @@Using this function we can control program on floppy disk by Editor. @@Necessary object 1. Personal computer @@@@@2. Editor 3. CASIO FX-603P 4. CASIO FA-6 ( RS-232C ) 5. REVERSE CABLE ( Connection for personal computer and CASIO FA-6 ) 6. MS-DOS system disk 7. Floppy disk How to operation Let's save a program which making on an Editor for Text file filename ********.TXT for example on MS-DOS. Conditions of personal computer are SPEED RS232C-0 1200 B8 PE S2 XON on MS-DOS system disk using SWITCH Command or SPEED Command. Please coincide conditions of personal computer and CASIO FX-603P for communicating. Personal computer ---> CASIO FX-603P @@@@FX-603P side : MODE X (SHIFT) RSLOAD P0 EXE ( Receiving mode ) @@@@Personal computer side : COPY A:FILE NAME AUX [RETERN] On this case progrm is loaded in P0 of FX-603P. Instead of P0 useing P1 ~ P19 program is loaded optionally. @@@ In case all programs and memory datum @@@@FX-603P side : MODE X (SHIFT) RSLOAD SHIFT EXE ( Receiving mode ) @@@@Personal computer side : COPY A:FILE NAME AUX [RETERN] CASIO FX-603P@---> Personal computer @@@@Personal computer side : COPY AUX A:FILE NAME [RETERN] @@@@FX-603P side : MODE X (SHIFT) RSSAVE P0 EXE ( Transmitting mode ) There must be SWITCH.EXE or RSDRV.SYS and SPEED.EXE on MS-DOS system disk. @ When you execution SPEED Command, there must be DEVICE=RSDRV.SYS in CONFIG.SYS on MS-DOS system disk. @ And when you set SPEED RS232C-0 1200 B8 PE S2 XON conditions in AUTOEXEC.BAT MS-DOS system disk will set SPEED RS232C-0 1200 B8 PE S2 XON conditions automatically. @You can edit CONFIG.SYS and AUTOEXEC.BAT on the Editor. Because CONFIG.SYS and AUTOEXEC.BAT are TEXT File of MS-DOS. How to use an Editor for programming of SHARP PC-E500 @Programming of SHARP PC-E500 on an Editor @There is a function in SHARP PC-E500 through RS-232C filing a Text file on MS-DOS system. @@Using this function we can control program on floppy disk by Editor. @@Necessary object 1. Personal computer @@@@@2. Editor 3. SHARP PC-E500 ( PC-E550 ) 4. SHARP CE-140T ( RS-232C cable ) 5. MS-DOS system disk 6. Floppy disk How to operation Let's save a program which making on an Editor for Text file filename ********.TXT for example on MS-DOS. Conditions of personal computer are SPEED RS232C-0 1200 B8 PN S1 XON on MS-DOS system disk using SWITCH Command or SPEED Command. Please coincide conditions of personal computer and SHARP PC-E500 for communicating. Personal computer ---> CASIO FX-603P @@@@PC-E500 side : DOWN LOAD by Communication Program ( Receiving mode ) @@@@Personal computer side : COPY/B A:FILE NAME AUX [RETERN] On this case progrm is loaded in E: of PC-E500. Instead of E: useing F: or X: program is loaded optionally. SHARP PC-E500@---> Personal computer @@@@Personal computer side : COPY AUX A:FILE NAME/A [RETERN] @@@@PC-E500 side : Up load by Communication Program ( Transmitting mode ) There must be SWITCH.EXE or RSDRV.SYS and SPEED.EXE on MS-DOS system disk. @ When you execution SPEED Command, there must be DEVICE=RSDRV.SYS in CONFIG.SYS on MS-DOS system disk. @ And when you set SPEED RS232C-0 1200 B8 PN S1 XON conditions in AUTOEXEC.BAT MS-DOS system disk will set SPEED RS232C-0 1200 B8 PN S1 XON conditions automatically. @You can edit CONFIG.SYS and AUTOEXEC.BAT on the Editor. Because CONFIG.SYS and AUTOEXEC.BAT are TEXT File of MS-DOS. @@@@1998.01.09 Toshio khf00050s@yahoo.co.jp ---------------------------------------------------------------------------- @@@@@@This Document contains 172 pages including Soft Ware. MS-DOS TEXT FILE 251109 bytes ---------------------------------------------------------------------------- CASIO FX-603P Survey Calculation Program SHARP PC-E500 Survey Calculation Program ( PC-E550 ) ( PC-E650 ) SHARP PC-E500 Water Element Program ( PC-E550 ) ( PC-E650 ) @@@@1998.01.09 Toshio khf00050s@yahoo.co.jp - 1- @@CASIO FX-603P ( International DEGREE ) @ @P 0 :@Reverse Calculation@m@Radiaton Reverse@n @@ P 1 :@Radiation Traverse@E@Open Traverse Calculation @@ P 2 :@Intermidiam Point@E@Width Point Calculation @@ P 3 :@4 Points Intersection Calculation @@ P 4 :@Slope Length ---> Distance @@ P 5 :@Angle Calculation @@ P 6 :@Indirect Level Calculation 1 ( S,V ) m Elevation , Coordinates n @@ P 7 :@Simple curve Intermidiam Calculation @ @P 8 :@2 Angles Intersection Calculation @ P 9 :@2 Lengths Intersection Calculation @@ P10 :@Perpendicular Calculation P11 :@Vertical Calculation P12 :@WILD Atmospher Distance Correction P13 :@Distance Calculation P14 :@Stadia Calculation 1 m Elevetion n P15 :@Stadia Calculation 2 m Elevation , Coordinates n P16 :@Stadia Calculation 3 m Reverse n @@ P17 :@Indirect Level Calculation 2 ( h,l ) m Elevation , Coordinates n @@ P18 :@Indirect Level Calculation 3 ( S,V ) m Reverse n @@ P19 :@Indirect Level Calculation 4 ( dh ) m Reverse n - 2- @@SHARP PC-E500 ( International DEGREE ) @@@0. Reverse Calculation@m@Radiaton Reverse@n @@@1. Radiation Traverse@E@Open Traverse Calculation 2. Intermidiam Point@E@Width Point Calculation @@@3. 4 Points Intersection Calculation @@@4. Slope Length ---> Distance @@@5. Angle Calculation @@@6. Indirect Level Calculation 1 ( S,V ) m Elevation , Coordinates n 7. Indirect Level Calculation 2 ( h,l ) m Elevation , Coordinates n @@@8. Triangle Calculation @@@9. Perpendicular Calculation @@ 10. Vertical Calculation @@11. WILD Atmosphere Distance Correction @Basic elevation@ 0 m Basic temperature@10ßC 12.@Distance Calculation @ @13. Fixed or Closed Traverse Calculation 100 Points @ @14. Level Calculation ( Fixed , Closed , Open , Radiation ) 200 Points @ @15. Simple curve Element Calculation 16. Simple curve Intermidiam Calculation 17. Simple curve Figure Calculation @@ 18. Circle Element Calculation @@ 19. Indirect Level Calculation 3 ( S,V ) m Reverse n @@ 20. Indirect Level Calculation 4 ( dh ) m Reverse n @ @21. Stadia Calculation 1 m Elevetion , Distanse n @ @22. Stadia Calculation 2 m Elevation , Coordinates n @ @23. Stadia Calculation 3 m Reverse n @ @24. Area Calculation ( Coordinates )@200 Points @ @25. Area Calculation ( Triangles )@200 Points @ @26. Volume Calculation@( Method of average ) 100 Sections 27. Corner Calculation 28. Parallel 4 Points Intersection 29. Continuous Parallel Intersection 30. Continuous Reverse Calculation @@ 31. Continuous Angle Calculation 32. Line and circle Intersection 33. Center Calculation - 3- @@SHARP PC-E500 ( For Indonesia ) DEGREE Please start those programs by RUN command . @@@ Please select key A,S,D,F,G,H,J,K,L,Z,X,C,Comma,Space. @@@@@A: TR1 Radiation Traverse @@@@@S: TR2 Radiation Traverse ( Indirect Level ) @@@@@D: TR3 Open Traverse Calculation @@@@@F: CR1 Indirect Level Calculation G: CR2 Indirect Level Calculation m Reverse n H: V.LEN Perpendicular Calculation @@@@@J: VER Vertical Calculation @@@@@K: W.A WILD Atmosphere Distance Correction L: D.CAL Distance Calculation @@@@ Z: STA 1 Stadia Calculation 1 m Elevetion , Distance n @@@@ X: STA 2 Stadia Calculation 2 m Elevation , Coordinates n @@@@ C: STA 3 Stadia Calculation 3 m Reverse n ,: INT Intermidiam Point@E@Width Point Calculation @@@@@ : REV Reverse Calculation GRAD Please start those programs by RUN command . @@@ Please select key A,S,D,F,G,H,J,K,L,Z,X,C,Comma,Space. @@@@@A: TR1 Radiation Traverse @@@@@S: TR2 Radiation Traverse ( Indirect Level ) @@@@@D: TR3 Open Traverse Calculation @@@@@F: CR1 Indirect Level Calculation G: CR2 Indirect Level Calculation m Reverse n H: V.LEN Perpendicular Calculation @@@@@J: VER Vertical Calculation @@@@@K: W.A WILD Atmosphere Distance Correction L: D.CAL Distance Calculation @@@@ Z: STA 1 Stadia Calculation 1 m Elevetion , Distance n @@@@ X: STA 2 Stadia Calculation 2 m Elevation , Coordinates n @@@@ C: STA 3 Stadia Calculation 3 m Reverse n ,: INT Intermidiam Point@E@Width Point Calculation @@@@@ : REV Reverse Calculation - 4- @@SHARP PC-E500 Design for sewage program 1. ‰º…“¹ŒvŽZ @@@2. ‰º…“¹„iH–@‚Ì„i‰„’·‚ÌŒvŽZ @@@3. ‰º…“¹„iH–@‚ÌŽxˆ³•Ç‚̈À’èŒvŽZ @@@4. ‰º…“¹„iH–@‚Ì–ò‰tH–@‚Ì–ò‰t’“ü—Ê‚ÌŒvŽZ @@@5. Water supply calculation by a Kutter formula @@@6. Water supply calculation by a Manning formula @@@7. Water supply calculation by a Hezen¥Wiliam formula 8. Water supply calculation by a Manning formula PART 2 1. I ( Incline ) Calculation 2. V ( Velocity ) Calculation 3. Q ( Flow Quantity ) Calculation @@@@1998.01.09 Toshio khf00050s@yahoo.co.jp - 5- Reverse Calculation@m@Radiation Reverse@n @Calculation for 2 point's Distance and Azimuth @@Input @@@@X1,Y1 Instrument coordinates @@@@X2,Y2 Back point coordinates @Output @@@@AZ Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@L Length - 6- Radiation Traverse@E@Open Traverse Calculation @@Input @@@@X1,Y1 Instrument coordinates @@@@X2,Y2 Back point coordinates Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). @@@@HA Horizontal Angle + ( Plus ) --- Radiation Traverse @@@@@@@@@@- ( Minus ) @--- Open Traverse @@@@L Length @@@@@@@@@@In case Slope Length input L is - ( Minus ) . @@@@V Vertical @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @Output @@@@AZ Azimuth ( Instrument ---> Back point ) Outer Azimuth L Length ( Instrument point --- Back point ) X Object X coordinate Y Object Y coordinate - 7- Intermidiam Point@E@Width Point Calculation @@Input @@@@X1,Y1 Instrument coordinates @@@@X2,Y2 Back point coordinates Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). L Length of intermidiam point ( Instrument --- Back point ) -+ Width from intermidiam point @@@@@@@@@@+ Right side@( Instrument point --- Back point ) @@@@@@@@@@- Left side@( Instrument point --- Back point ) @Output @@@@AZ Azimuth ( Instrument ---> Back point ) Outer Azimuth L Length ( Instrument ---> Back point ) X3 X Coordinate of intermidiam point Y3 Y Coordinate of intermidiam point X4 X Coordinate of width point Y4 Y Coordinate of width point - 8- 4 Points Intersection Calculation @@Input @@@@X1,Y1 Known coordinates @@@@X2,Y2 Known coordinates @@@@X3,Y3 Known coordinates @@@@X4,Y4 Known coordinates @Output X Object X coordinate Y Object Y coordinate - 9- Slope Length ---> Distance @@Input L0 Given plane Length @@@@S Slope length @@@@V Vertical @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @Output L Survey plane Length d Rest distance + Over side @@@@@@@@@@- Inside - 10- Angle Calculation @@Input @@@@X1,Y1 Instrument coordinates @@@@X2,Y2 Back point coordinates Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). X3,Y3 Object cordinates @Output AN Angle L Length - 11- Indirect Level Calculation 1 ( S,V ) m Elevation , Coordinates n @@Input EL Elevation of instrument point @@@@IH Instrument High @@@@@@@@@@In case input - ( Minus ) , output coordinates . @@@@FH Fore High @@@@L Slope Length @@@@V Vertical @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @@@@X1,Y1 Coordinates of Instrument point @@@@X2,Y2 Coordinates of Back point Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). @@@@HA Horizontal Angle @Output L Length GH Object Grand High @@@@X Object X coordinate @@@@Y Object Y coordinate - 12- Indirect Level Calculation 2 ( dh,dl ) m Elevation , Coordinates n @@Input EL Elevation of instrument point @@@@IH Instrument High @@@@@@@@@@In case input - ( Minus ) , output coordinates . @@@@FH Fore High @@@@dL Survey plane Length @@@@dH Survey High @@@@X1,Y1 Coordinates of Instrument point @@@@X2,Y2 Coordinates of Back point Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). @@@@HA Horizontal Angle @Output GH Object Grand High @@@@X Object X coordinate @@@@Y Object Y coordinate - 13- Triangle Calculation @@@@ We can get object coodinates when we have 2 points coordinates, in Triangle. @@@@In other wards , we already have 1,2 points coordinates , we just only get remainders of 2 terms in triangle within the base a,b or the angle A,B,C or the high h,d,e or the area S . @@@@Object point must be created right hand side of the base line (1 -- 2). @@@@ Please push RETERN key , when we don't have data A,B,C,a,b,h,d,e,S . Inner angle ( outer angle , Azimuth ) of known point 1 is A , the base is a , the high d . Inner angle ( outer angle , Azimuth ) of known point 2 is B , the base is b , the high e . Inner angle ( outer angle ) of object point 3 is C , the high h . @@Input @@@@X1,Y1 Known coodinates 1 @@@@X2,Y2 Known coodinates 2 a The base a b The base b A Angle A [ Inner , Outer ] ( Input - minus 1 --> 3 Azimuth ) B Angle B [ Inner , Outer ] ( Input - minus 1 --> 3 Azimuth ) C Angle C [ Inner , Outer ] h High h d High d e High e S Area S @Output @@@@X Object coordinate X @@@@Y Object coordinate Y - 14- Perpendicular Calculation @@Input @@@@X1,Y1 Coordinates of known point 1 @@@@X2,Y2 Coordinates of known point 2 @@@@X3,Y3 Coordinates of known point 3 @Output @@@@AZ,L Azimuth and Length ( 1 ---> 2 ) @@@@L Length @@@@@@@@@@+ Order ( 1 ---> 2 ) @@@@@@@@@@- Opposite ( 1 ---> 2 ) H Perpendicular Length @@@@@@@@@@+ Order ( 1 ---> 2 ) @@@@@@@@@@- Opposite ( 1 ---> 2 ) - 15- Vertical Calculation @@Input @@@@r Vertical ( Right hand side ) @@@@l Vertical ( Left hand side ) @Output @@@@r Vertical ( Right hand side ) @@@@l Vertical ( Left hand side ) TOTAL r + l e error @@@@2Z r - l Z 2Z / 2 V 90 - Z - 16- WILD Atmosphere Distance Correction @Basic Elevation@ 0 m Basic Temperature@10ßC @@Input GH Grand High of instrument point @@@@IH Instrument High @@@@FH Fore sight High @ Tem@@@ Temperature @@@@V Vertical + - Vertical @@@@@@@@@@@@Vertical result of " Vertical Calculation " @@@@L 1 Survey Length 1 @@@@L 2 Survey Length 2 @@@@L 3 Survey Length 3 @Output @@@@TOTAL L 1 + L 2 + L 3 TOTAL/3 Average Length @@@@Atm+Tem @Coefficient of Atmospheric pressure and Temperature @@@@D Correction of Atmospheric pressure and Temperature D0 Slope Length - 17- Distance Calculation @@Input @@@@D0 Slope Length VER 1 Vertical of right VER 2 Vertical of opposite + - Vertical @@@@@@@@@@@@Vertical result of " Vertical Calculation " @@@@@@@@@@@@In case one side another side is 0 ( Zero ) . GH Grand High of instrument point @@@@IH Instrument High @@@@FH Fore sight High @Output @@@@VER Average Vertical @@@@dH Difference of High @@@@AH Average High @@@@EL@@@@Elevation of Object @@@@D D0 * COS V d Correction of projection @@@@S @ Length of Spherical surface @@@@K Coefficient of a scale @@@@k Correction of a scale @@@@L Plane Length - 18- Fixed or Closed or Open Traverse Calculation 100 Points @@Input @@@@X1 Start Point coordinate X @@@@Y1 Start Point coordinate Y @@@@X2 Back point coordinate X @@@@Y2 Back point coordinate Y Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). @@@@X3 Last point coordinate X @@@@Y3 Last point coordinate Y In case Open X3 = 0 Y3 = 0 @@@@X4 Fore point coordinate X @@@@Y4 Fore point coordinate Y Azimuth ( Instrument ---> Fore point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). In case Open X4 = 0 Y4 = 0 NAME Name of measurement point @@@@HA Horizontal Angle @@@@L Plane Length @@@@@@@@@@- ( Minus ) Input Vertical mode @@@@@@@@@@@ Vertical @@@@@@@@@@ In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@ In case Horizontal is 0K, Input@- ( Minus ) . @@@@@@@@@@In case Fixed last length is L = 0 . @@@@@@@@@@In case Closed next last datum are HA = 0 L = 0 . @Output @@@@dAZ Error of Azimuth @@@@eAZ Correction Azimuth of one point @@@@dX X Coordinate of correction for Fixed or Closed @@@@dY Y Coordinate of correction for Fixed or Closed X X Coordinate Y Y Coordinate - 19- Level Calculation ( Fixed , Closed , Open , Radiation ) 200 Points @@Input @@@@EL Elevation of start point @@@@EL Elevation of last point @@@@@@@@@@@In case last point is 0 ( Zero ), Open Traverse In case last point = start point, Closed Traverse @@@@BS Back Sight @@@@FS Fore Sight @@@@@@@@@@@+ ( Plus ) Radiation point @@@@@@@@@@@- ( Minus ) Turnning point Last point Input FS = - ( Minus ) and Input BS = 0 ( Zero ) @Output @@@@SEL Elevation of start point EEL Elevation of last point H Difference of High @@@@BS Total Back Sight FS Total Fore Sight DH Fixed or Closed Difference of High e Fixed or Closed Error of High - 20- Simple curve Element Calculation @@Input @@@@IA Inter Angle @@@@R Radius of curve CL Curve Length TL Tangent Length L Length @Output @@@@IA Inter Angle @@@@R Radius of curve CL Curve Length TL Tangent Length SL Secant Length L Length - 21- Simple curve Intermidiam Calculation @@Input @@@@X1 X Coordinate on the simple curve @@@@Y1 Y Coordinate on the simple curve @@@@X2 X Coordinate on the simple curve ( Back point ) @@@@Y2 Y Coordinate on the simple curve ( Back point ) -R+ Radius of simple curve + Right hand side center point 1 ---> 2 - Left hand side center point 1 ---> 2 CL Curve Length @Output @@@@AZ Azimuth 1 ---> 2 @@@@L Length 1 ---- 2 @@@@RX X Coordinate of center point in the simple curve @@@@RY Y Coordinate of center point in the simple curve @@@@X X Coordinate on the simple curve @@@@Y Y Coordinate on the simple curve - 22- Simple curve Figure Calculation @@Input @@@@IP 0 X Start X Coordinate of simple curve @@@@@@ Y Start Y Coordinate of simple curve L Total Length of simple curve start point ( 0 ( Zero )) @@@@IP n X X Coordinate of IP point of simple curve @@@@Y Y Coordinate of IP point of simple curve R n Radius of curve Last point's radius is@ R=0 and Next last point's IP point datum are X=0 Y=0 . @Output @@@@IP n X X Coordinate of IP point of simple curve @@@@Y Y Coordinate of IP point of simple curve @@@@@@ R Radius of curve @@@@ CL Curve Length @@@@ TL Tangent Length @@@@ IA Inter Angle @@@@ RX X Coordinate of center point in the simple curve @@@@@@RY Y Coordinate of center point in the simple curve BC n X X Coordinate of begining curve Y Y Coordinate of begining curve L Total Length SP n X X Coordinate of middle curve Y Y Coordinate of middle curve L Total Length EC n X X Coordinate of ending curve Y Y Coordinate of ending curve L Total Length @@@@TOTAL DISTANCE @@@@ Total Distance - 23- Circle Element Calculation @@Input @@@@R Radius of curve @@@@AN Angle CL Curve Length L Length @@@@t @Output @@@@R Radius of curve @@@@AN Angle CL Curve Length L Length S Full Area r t s Fan Area - 24- Indirect Level Calculation 3 ( S,V ) m Reverse n We can get a unknown elevation from known elevation. @@Input @@@@*GH Given Elevation @@@@*FH Fore sight High @@@@*IH Instrument High @@@@V Vertical @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @@@@L Slope Length @Output @@@@L Plane Length @@@@DH Different High @@@@EL Elevation - 25- Indirect Level Calculation 4 ( dh ) m Reverse n We can get a unknown elevation from known elevation. @@Input @@@@*GH Given Elevation @@@@*IH Instrument High @@@@*FH Fore sight High @@@@ dh Survey different High @Output @@@@DH Different High @@@@EL Elevation - 26- Stadia Calculation 1 m Elevetion , Distanse n @@Input @@@@GH Given Elevation @@@@IH Instrument High @@@@FH Fore sight High S1 Under Stadia data ( Upper Stadia data ) @@@@@@@@@@@In case direct stadia width Input - ( Minus ) S2 Upper Stadia data ( Under Stadia data ) @@@@V Vertical @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @Output @@@@L Plane Length @@@@dH Different High @@@@EL Elevation - 27- Stadia Calculation 2 m Elevation , Coordinates n @@Input @@@@X1,Y1 Known coodinates 1 ( Instrument point ) @@@@X2,Y2 Known coodinates 2 ( Back point ) Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). @@@@GH Given Elevation @@@@IH Instrument High HA Horizontal Angle @@@@FH Fore sight High S1 Under Stadia data ( Upper Stadia data ) @@@@@@@@@@@In case direct stadia width Input - ( Minus ) S2 Upper Stadia data ( Under Stadia data ) @@@@V Vertical @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @Output @@@@AZ Azimuth ( 1 ---> 2 ) @@@@HA Horizontal Angle @@@@L Plane Length @@@@DH Different High @@@@EL Elevation X Object X Coordinate Y Object Y Coordinate - 28- Stadia Calculation 3 m Reverse n We can get a unknown elevation from known elevation. @@Input @@@@*GH Given Elevation @@@@*IH Instrument High @@@@FH Fore sight High S1 Under Stadia data ( Upper Stadia data ) @@@@@@@@@@@In case direct stadia width Input - ( Minus ) S2 Upper Stadia data ( Under Stadia data ) @@@@V Vertical @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @Output @@@@L Plane Length @@@@dH Different High @@@@EL Elevation - 29- Area Calculation ( Coordinates )@200 Points @@Input @@@@X@@ X Coordinate @@@@Y@@ Y Coordinate @Output @@@@2A 2*Area @@@@A Area @@@@ÂÎÞÒݾ·@ ’Ø–ÊÏ - 30- Area Calculation ( Triangles )@200 Points @@Input @@@@a@@ The base of triangle @@@@h@@ The high of triangle @Output @@@@2A 2*Area @@@@A Area @@@@ÂÎÞÒݾ·@ ’Ø–ÊÏ - 31- Volume Calculation@( Method of average ) 100 Sections @@Input @@@@L@@ Short distance @@@@Area Section Area @@@@Average Average area of section area @@@@Volume Volume @Output @@@@L Total distance @@@@Volume Total Volume - 32- @@SHARP PC-E500 Design for sewage program 1. ‰º…“¹ŒvŽZ @@@2. ‰º…“¹„iH–@‚Ì„i‰„’·‚ÌŒvŽZ @@@3. ‰º…“¹„iH–@‚ÌŽxˆ³•Ç‚̈À’èŒvŽZ @@@4. ‰º…“¹„iH–@‚Ì–ò‰tH–@‚Ì–ò‰t’“ü—Ê‚ÌŒvŽZ @@@5. Water supply calculation by a Kutter formula @@@6. Water supply calculation by a Manning formula @@@7. Water supply calculation by a Hezen¥Wiliam formula @@@@Please follow indication. - 33- Water supply calculation by a Manning formula PART 2 1. I ( Incline ) Calculation 2. V ( Velocity ) Calculation 3. Q ( Flow Quantity ) Calculation @@Input @@@@WA@@ Water flow Area @@@@WP Water flow Length @@@@n ‘e“x Coefficient @@@@I Incline @@@@@@@@@@@@@If unknown please input 0 ( Zero ). @@@@V Velocity @@@@@@@@@@@@@If unknown please input 0 ( Zero ). @@@@Q Flow Quantity @@@@@@@@@@@@@If unknown please input 0 ( Zero ). @Output @@@@I Incline @@@@n ‘e“x coefficient @@@@R Water Radius @@@@V Velocity @@@@Q Flow Quantity - 34- @@@@@@@@@@@@‚b‚`‚r‚h‚n@‚e‚w|‚U‚O‚R‚o @@@@@@@Survey Program@601 (@Ver. 1.01@) CASIO FX-603P ( International DEGREE ) - 35- @@@@@@@@@@@@ @m Contents n@@ @Outline @ @EEEEEEEEEEEEE 37 @Program Outline @ EEEEEEEEEEEEE 37 @Program Contents@E@Instruction @@P 0 :@Reverse Calculation@m@Radiaton Reverse@n EEEEEE38 @@P 1 :@Radiation Traverse@E@Open Traverse Calculation EEE39 @@P 2 :@Intermidiam Point@E@Width Point Calculation EEEEE40 @@P 3 :@4 Points Intersection Calculation EEEEEE41 @@P 4 :@Slope Length ---> Distance EEEEEE42 @@P 5 :@Angle Calculation EEEEEE43 @@P 6 :@Indirect Level Calculation 1 ( S,V ) EEEEEE44 @@P 7 :@Simple curve Intermidiam Calculation EEEEEE45 @@P 8 :@2 Angles Intersection Calculation EEEEEE46 @P 9 :@2 Lengths Intersection Calculation EEEEEE47 @@P10 :@Perpendicular Calculation EEEEEE48 P11 :@Vertical Calculation EEEEEE49 P12 :@WILD Atmospher Distance Correction EEEEEE50 P13 :@Distance Calculation EEEEEE51 P14 :@Stadia Calculation 1 m Elevetion n EEEEEE52 P15 :@Stadia Calculation 2 m Elevation , Coordinates n EEE53 P16 :@Stadia Calculation 3 m Reverse n EEEEEE54 @@P17 :@Indirect Level Calculation 2 ( h,l ) EEEEEE55 @@P18 :@Indirect Level Calculation 3 ( S,V ) m Reverse n EEE56 @@P19 :@Indirect Level Calculation 4 ( dh ) m Reverse n EEE57 - 36- @@@@@@@@@@@‚b‚`‚r‚h‚n@‚e‚w|‚U‚O‚R‚o @@@@@@Survey Program@601 (@Ver. 1.01@) m@Outline@n @Recentry in the office we can calculate elevation and coordinates simply by personal computers. Therefore in the field we can calculate elevation and coordinates simply by pocket computeres , I think that programmable calculator is resonable computer for example CASIO FX-603P . @The above mentioned CASIO FX-603P is suited for field calculation. m@Program Outline@n @Those programs were made of simple calculation check for main object in the field. If you can get the result of calculation by personal computers simply , you had better used personal computer instead of pocket computers in the office. Those programs include +- 1 mm error but this error is ignored. - 37- m@Program Contents@E@Instruction@n @ @P 0 :@Reverse Calculation@m@Radiaton Reverse@n Object length and azimuth can be calculated from 2 points coordinates. @@@@@@@@@@@@@@@Bi‚Q|‚Pj @@@@@@@@@@@@@@@@@@@@Bi‚Q|‚Qj @@@@@@i‚Pj@B @@@@@EEEEEE@Memory table EEEEEE @@@@@‚l 81F‚w‚P Coordinate @‚l 83F‚w‚Q Coordinate @@@@@‚l 82F‚x‚P Coordinate @‚l 84F‚x‚Q Coordinate @@@@@‚l 00FPlane Length ‚l FFAzimuth @@@@@EEEEEE@@Example@EEEEEE @@@@@‚w‚P‚P‚O‚OD‚O‚O‚O@‚x‚P‚P‚O‚OD‚O‚O‚O @@@@@‚w‚Q‚R‚T‚OD‚O‚O‚O@‚x‚Q‚Q‚T‚OD‚O‚O‚O@i‚Q|‚Pj @@@@@‚w‚Q‚Q‚Q‚UD‚W‚Q‚S@‚x‚Q‚S‚O‚XD‚R‚R‚Q@i‚Q|‚Qj EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚O @@‚Q@Reverse @@@@@@ ‚d‚w‚d Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@i‚Q|‚Pj@‚R‚T‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@i‚Q|‚Pj@‚Q‚T‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y 59K02f10.48h ‚d‚w‚d@@@@@Indicate Azimuth @@‚W@‚k@‚Q‚X‚PD‚T‚S‚W@@‚d‚w‚d@@@@@@@@@Indicate Plane Length @@‚X@‚w‚Q@@@i‚Q|‚Qj@‚Q‚Q‚UD‚W‚Q‚S@‚d‚w‚d@Input ‚w‚Q Coordinate @‚P‚O@‚x‚Q@@@i‚Q|‚Qj@‚S‚O‚XD‚R‚R‚Q@‚d‚w‚d@Input ‚x‚Q Coordinate @‚P‚P@‚`‚y 22K17f35.85h ‚d‚w‚d@@@@@Indicate Azimuth @‚P‚Q@‚k@‚R‚R‚SD‚R‚Q‚P@@‚d‚w‚d@@@@@@@@@Indicate Plane Length @‚P‚R@‚w‚Q@@@@@@@@@@@@@@@@@@@@@Input ‚w‚Q Coordinate - 38- @@ P 1 :@Radiation Traverse@E@Open Traverse Calculation Object coodinates can be calculated from horizontal angle and length. @@@@@@ In case Radiation Traverse is HA , Input@+ ( Plus ) . @@@@@@ In case Open Traverse is HA , Input@- ( Minus ) . + ( Plus ) --- Radiation Traverse @@@@@@@@@@ - ( Minus ) @--- Open Traverse @@@@@ @@In case Slope Length input L is - ( Minus ) . @@@@ Vertical input mode @@@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @@@@EEEEE@Memory table@EEEEE@@EEE@Memory name@EEE @@@‚l 81F‚w‚P Coordinate ‚l FFAzimuth @@@@ ‚g‚`@@Horizontal Angle @@@‚l 82F‚x‚P Coordinate ‚l 97FHorizontal Angle ‚k@@@Length @@@‚l 83F‚w‚Q Coordinate ‚l 8FF‚w Coordinate @ ‚u@@@Vertical @@@‚l 84F‚x‚Q Coordinate ‚l 9FF‚x Coordinate @@@EEEEEEE@@Example@@EEEEEEE @@@‚w‚P‚P‚O‚OD‚O‚O‚O@@@‚x‚P‚P‚O‚OD‚O‚O‚O @@@‚w‚Q‚R‚T‚OD‚O‚O‚O@@@‚x‚Q‚Q‚T‚OD‚O‚O‚O @@@‚g‚` 53K15f25h @‚k@‚R‚R‚SD‚R‚Q‚Q EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P @@‚Q@Traverse @@ @‚d‚w‚d@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@‚R‚T‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚Q‚T‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y 59K02f10.48" @@@‚d‚w‚d@@ @@ Indicate Basic Azimuth @@‚W@‚k@‚Q‚X‚PD‚T‚S‚W@@‚d‚w‚d@@@@@@@@@Indicate Basic Length @@‚X@‚g‚`@@@@@@@@@53.1525 ‚d‚w‚d@ Input Horizontal Angle @‚P‚O@‚k@@@@@@@@@@‚R‚R‚SD‚R‚Q‚Q@‚d‚w‚d@Input Length @‚P‚P@‚`‚y 112K17f35.4h @‚d‚w‚d@@@@@Indicate Azimuth @ 12 @X @ 409.333 @@‚d‚w‚d@@@@@@@@@Indicate X Coordinate @ 13 @Y @ - 26.824 @@‚d‚w‚d@@@@@@@@@Indicate Y Coordinate @‚P‚S@‚g‚`@@@@@@@@@@@@@@@@@@@@@Input Horizontal Angle - 39- @@ P 2 :@Intermidiam Point@E@Width Point Calculation @@@@We can get intermidiam coordinates of straight line and width point. @@@@@i|j@EEE@Left side@i{j@EEE@Right side @@@@EEEEE@Memory table@EEEEE@@EEE@Memory name@EEE @@@‚l@81F‚w‚P Coordinate ‚l@95FAzimuth @@@@‚k @Intermidiam Length @@@‚l@82F‚x‚P Coordinate ‚l@@F @@@@|F{ Width Length @@@‚l@83F‚w‚Q Coordinate ‚l@8FF‚w Coordinate @@@‚l@84F‚x‚Q Coordinate ‚l@9FF‚x Coordinate @@@EEEEEEE@@Example@@EEEEEEE @@@‚w‚P‚P‚O‚OD‚O‚O‚O@@@‚x‚P‚P‚O‚OD‚O‚O‚O @@@‚w‚Q‚R‚T‚OD‚O‚O‚O@@@‚x‚Q‚Q‚T‚OD‚O‚O‚O @@@‚k@‚P‚U‚VD‚P‚U‚O@@|F{@‚P‚OD‚O‚O‚O EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚Q @@‚Q@Inter Point @@@@‚d‚w‚d@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@‚R‚T‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚Q‚T‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y 59K02f10.48h ‚d‚w‚d@@@@@Indicate Basic Azimuth @@‚W@‚k@‚Q‚X‚PD‚T‚S‚W@@‚d‚w‚d@@@@@@@@@Indicate Basic Length @@‚X@‚k@@@@@@@@@@‚P‚U‚VD‚P‚U‚O@‚d‚w‚d@Input Intermidiam Length @‚P‚O@‚`‚y 59K02f10.48h ‚d‚w‚d@@@@@Indicate Azimuth of Int. @ 11 @X @ 243.339 ‚d‚w‚d@@@@@@@@@Indicate INT.X Coordinate @ 12 @Y @ 186.003 @@‚d‚w‚d@@@@@@@@@Indicate INT.Y Coordinate @‚P‚R@|F{@@@@@@@@‚P‚O@@‚d‚w‚d@@@@@Input Width Length @‚P‚S@‚`‚y 149K02f10.48h ‚d‚w‚d@@@@@Indicate Azimuth of Wid. @ 15 @X @ 248.483 @@‚d‚w‚d@@@@@@@@@Indicate Wid.X Coordinate @ 16 @Y @ 177.428 @@‚d‚w‚d@@@@@@@@@Indicate Wid.Y Coordinate @‚P‚V@|F{@@@@@@@@@@@@@@@@@@@@Input Width Length - 40- @@ P 3 :@4 Points Intersection Calculation We can get 4 points intersection coordinates. @@@@@@@@@@@@@@@@@@@@@Bi‚Qj @@@@@@@i‚Rj@B @@@@@@@@i‚Pj@B@@@@@@@@Bi‚Sj @@@@@EEEEEE@Memory table@EEEEEE @@@@@‚l@81F‚w‚P Coordinate @‚l@85F‚w‚R Coordinate @@@@@‚l@82F‚x‚P Coordinate @‚l@86F‚x‚R Coordinate @@@@@‚l@83F‚w‚Q Coordinate @‚l@87F‚w‚S Coordinate @@@@@‚l@84F‚x‚Q Coordinate @‚l@88F‚x‚S Coordinate @@@@@‚l@8FF‚w@ Coordinate @‚l@9FF‚x@ Coordinate @@@@@EEEEEE@@Example@@EEEEEE @@@@@‚w‚P@@‚SD‚O‚O‚O@‚x‚P@@‚TD‚O‚O‚O @@@@@‚w‚Q@‚P‚PD‚O‚O‚O@‚x‚Q@‚P‚QD‚O‚O‚O @@@@@‚w‚R@@‚VD‚O‚O‚O@‚x‚R@@‚SD‚O‚O‚O @@@@@‚w‚S@@‚UD‚O‚O‚O@‚x‚S@‚P‚QD‚O‚O‚O EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚R @@‚Q@‚S‚w@@@@@@@@@‚d‚w‚d@@@@@@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@ @‚S@@‚d‚w‚d@@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@ ‚T@@‚d‚w‚d@@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@‚P‚P@@‚d‚w‚d@@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚P‚Q@@‚d‚w‚d@@@@@@Input ‚x‚Q Coordinate @@‚V@‚w‚R@@@@@@@@@ ‚V@@‚d‚w‚d@@@@@@Input ‚w‚R Coordinate @@‚W@‚x‚R@@@@@@@@@ ‚S@@‚d‚w‚d@@@@@@Input ‚x‚R Coordinate @@‚X@‚w‚S@@@@@@@@@ ‚U@@‚d‚w‚d@@@@@@Input ‚w‚S Coordinate @‚P‚O@‚x‚S@@@@@@@@@‚P‚Q@@‚d‚w‚d@@@@@@Input ‚x‚S Coordinate @ 11 @X @‚UD‚T‚T‚U@@@@‚d‚w‚d@@@@@@@@@@Indicate X Coordinate @ 12 @Y@ ‚VD‚T‚T‚U@@@@‚d‚w‚d@@@@@@@@@@Indicate Y Coordinate @‚P‚R@‚w‚P@@@@@@@@@@@@@@@@@@@@@@Input ‚w‚P Coordinate - 41- @@ P 4 :@Slope Length ---> Distance @@@@ We can get a rest distance when we want set a point by setting temporary point. @@@ Result@‚„{i Plus j F@‚„@Far away from temporary point @@@@@Result@‚„|i Minus jF@‚„@Neer from temporary point @@@ Vertical input mode @@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @@@@@@@@@@@@@@@@@@@@@@@@@@@@ B @@@@@@@@@@@@@@@@@‚k @@@@@Instrument@B@@@@@@@@@@@B@@@@@@BTemporary @@@@@@ @point@@@@@@‚k‚O@@@@True @-‚„ point point @@@EEEEEEEEE@Memory table@EEEEEEEEE @@@‚l@00FBasic Lengthm‚k‚On@‚l@90FSlope Length@m‚r@n @@@‚l@94FPlane Length@@@@@‚l@5FFVertical @m‚u@n @@@@@@@@EEEE@@Example@@EEEE @@@@@@@@‚k‚O‚P‚O‚OD‚O‚O‚O@@@Basic Length @@@@@@@@‚u@‚W‚WK‚S‚Xf‚T‚Th@Vertical @@@@@@@@‚r@‚P‚O‚OD‚P‚P‚P@@@Slope Length EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚S @@‚Q@‚r|„‚k@@@@@@@‚d‚w‚d@@@@@@@@@Indicate Title @@‚R@‚k‚O@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input Basic Plane Length @@‚T@‚u@@@@@@@@@@‚W‚WD‚S‚X‚T‚T@‚d‚w‚d@Input Vertical @@‚S@‚r@@@@@@@@@@‚P‚O‚OD‚P‚P‚P@‚d‚w‚d@Input Slope Length @@‚U@‚k@‚P‚O‚OD‚O‚X‚O@@‚d‚w‚d@@@@@@@@@Indicate Plane Length @@‚V@‚„@|‚OD‚O‚X‚O@@@‚d‚w‚d@@@@@@@@@Indicate rest Length @@‚W@‚u@@@@@@@@@@@@@@@@@@@@@@Input Vertical - 42- @@ P 5 :@Angle Calculation We can get a inter angle and length from 3 known points. @@@@@@@@@@@@@@@Bi‚Qj @@@@@@@@@@@@@@@@@@@@Bi‚Rj @@@@@@i‚Pj@B @@@@EEEEEE@Memory table@EEEEEE@ @@@ ‚l@81F‚w‚P Coordinate @‚l@85F‚w‚R Coordinate @@ @‚l@82F‚x‚P Coordinate @‚l@86F‚x‚R Coordinate @@ @‚l@83F‚w‚Q Coordinate @‚l@ FFHorizontal Angle @@ @‚l@84F‚x‚Q Coordinate ‚l@00FPlane Length @@ @EEEEEE@@Example@@EEEEEE @@@ ‚w‚P‚P‚O‚OD‚O‚O‚O@‚x‚P‚P‚O‚OD‚O‚O‚O @@@ ‚w‚Q‚R‚T‚OD‚O‚O‚O@‚x‚Q‚Q‚T‚OD‚O‚O‚O @@ @‚w‚R‚Q‚Q‚UD‚W‚Q‚S@‚x‚R‚S‚O‚XD‚R‚R‚Q EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@ @SHIFT ‚o‚T @@‚Q@Angle @@@@@@‚d‚w‚d@@@@@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@‚R‚T‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚Q‚T‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y@ 59K02f10.48h ‚d‚w‚d@@@@@Indicate Basic Azimuth @@‚W@‚k@‚Q‚X‚PD‚T‚S‚W@@‚d‚w‚d@@@@@@@@@Indicate Basic Length @@‚X@‚w‚R@@@@@@@@@‚Q‚Q‚UD‚W‚Q‚S@‚d‚w‚d@Input ‚w‚R Coordinate @‚P‚O@‚x‚R@@@@@@@@@‚S‚O‚XD‚R‚R‚Q@‚d‚w‚d@Input ‚x‚R Coordinate @‚P‚P@‚`‚m‚f 323K15f25.3h @@@‚d‚w‚d@Indicate Horizont. Angle @‚P‚Q@‚k@‚R‚R‚SD‚R‚Q‚P@@‚d‚w‚d@@@@@@@@@Indicate Plane Length @‚P‚R@‚w‚R@@@@@@@@@@@@@@@@@@@@@Input ‚w‚R Coordinate - 43- @@ P 6 :@Indirect Level Calculation 1 ( S,V ) m Elevation , Coordinates n @@@@ We can get elevation and coordinates from survey length and vertical angle. @@@ In case input ‚l‚gi Target High j |i Minus jthat point turnning point. @@@ In case input ‚h‚gi Instrument High j |i Minus joutput coordinates. @@@ Vertical input mode @@@@@@@@@In case Horizontal is 90K, Input@+ ( Plus ) . @@@@@@@@@In case Horizontal is 0K, Input@- ( Minus ) . @@@EEEEEEEEE@Memory table@EEEEEEEEE @@@‚l@91FBasic Elevationm‚d‚kn@‚l@96FGrand High m‚f‚gn @@@‚l@94FPlane Length@@@@@ ‚l@92FInstrument High m‚h‚gn @@@‚l@5FFVertical m‚u@n ‚l@93FTarget High @m‚l‚gn @@@‚l@90FSlope Length @m‚k@n @@@@@@EEEEEE@@Example@@EEEEEE @@@@@@‚d‚k‚T‚O‚OD‚O‚O‚O@‚r@‚P‚O‚OD‚O‚O‚O @@@@@@‚h‚g@@‚PD‚T‚O‚O@‚u@‚W‚VK‚R‚Xf‚S‚Th @@@@@@‚l‚g@@‚OD‚Q‚T‚O@ EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@SHIFT ‚o‚U @@‚Q@High 1 ( S,V ) ‚d‚w‚d@@@@@Indicate Title @@‚R@‚d‚k@@@@@@@‚T‚O‚O @‚d‚w‚d@@@@@Input Basic Elevation @@‚S@‚h‚g@@@@@@@@@‚PD‚T‚O‚O@‚d‚w‚d@@@Input Instrument High @@‚T@‚l‚g@@@@@@@@@‚OD‚Q‚T‚O@‚d‚w‚d@@@Input Target High @@‚U@‚r@@@@@@@@‚P‚O‚O@ ‚d‚w‚d@@@@@Input Slope Length @@‚V@‚u@@@@@@@@@‚W‚VD‚R‚X‚S‚T@ ‚d‚w‚d@Input Vertical @@‚W@‚k@ ‚X‚XD‚X‚P‚V@‚d‚w‚d@@@@@@@@@Indicate Plane Length @@‚X@‚f‚g@‚T‚O‚TD‚R‚Q‚X@‚d‚w‚d@@@@@@@@@Indicate Grand High @‚P‚O@‚l‚g@@@@@@@@@@@@@@@@@@@@@Input Target High - 44- @@ P 7 :@Simple curve Intermidiam Calculation @@@ We can get intermidiam coordinates from a simple curve on the known 2 points. After input known 2 points please input radius then output center coordinates of simple curve. @@@ In this case Radius is i‚qj @@@@ @i|j@EEE@Left side@@@@i{j@EEE@Right side @@@and curve length is i‚b‚kj @@@@@ @@@@@+ Order ( 1 ---> 2 ) @@@@@@@@@@ - Opposite ( 1 ---> 2 ) @@@@@EEEEE@Memory table@EEEEEEEE@ @@@@@‚l@81F‚w‚P Coordinate@‚l@97FRadius@ m‚q@n@ @@@@@‚l@82F‚x‚P Coordinate@‚l@98FCurve Lengthm‚b‚kn@@ @@@@@‚l@83F‚w‚Q Coordinate@‚l@8FF‚w Coordinate @@@@@‚l@84F‚x‚Q Coordinate@‚l@9FF‚x Coordinate @@@EEEEEEE@@Example@@EEEEEEE @@@‚w‚P‚P‚O‚OD‚O‚O‚O@@@‚x‚P@@‚OD‚O‚O‚O @@@‚w‚Q@@‚OD‚O‚O‚O@@@‚x‚Q‚P‚O‚OD‚O‚O‚O @@|‚q{‚P‚O‚OD‚O‚O‚O@@@‚b‚k@‚P‚OD‚O‚O‚O EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@SHIFT ‚o‚V @@‚Q@‚rimple Curve @@@‚d‚w‚d@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@@@‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@@@‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y 315K0f0h @@@@‚d‚w‚d@@@@@Indicate Basic Azimuth @@‚W@‚k@‚P‚S‚PD‚S‚Q‚P@@‚d‚w‚d@@@@@@@@@Indicate Basic Length @@‚X@|‚q{@@@@@@@@‚P‚O‚OD‚O‚O‚O@‚d‚w‚d@Input Radius @ 10 @X @ 100.000 @@@@‚d‚w‚d@@@@@@@@@Indicate CE. X Coordinate @ 11 @Y @ 100.000 @@@‚d‚w‚d@@@@@@@@@Indicate CE. Y Coordinate @‚P‚Q@‚b‚k@@@@@@@@@‚P‚O@@‚d‚w‚d@@@@@Input Curve Length @ 13 @X @ 90.017 @@@‚d‚w‚d@@@@@@@@@Indicate INT.X Coordinate @ 14 @Y 0.500 @@ @‚d‚w‚d@@@@@@@@@Indicate INT.Y Coordinate @‚P‚T@‚b‚k@@@@@@@@@@@@@@@@@@@@@Input Curve Length - 45- @ @P 8 :@2 Angles Intersection Calculation @@@@ We can get coordinates from 2 known anglesi‚`C‚aj. @@@Basic point 1 --- Angle ‚` @@Basic point 1 --- Angle ‚a @ @@ Object point is made right hand side of basic points 1 ---> 2. @@@@@@@@@@@@@@@i‚QjB @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@‚a@@@BObject point @@@@@@@@@@@@@@@@@@@‚`@@ @@@@@@@@@@@@@@@i‚PjB @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@81F‚w‚P Coordinate@‚l@96FAngle m‚`n@ @@@@@@@@‚l@82F‚x‚P Coordinate@‚l@97FAngle m‚an@@ @@@@@@@@‚l@83F‚w‚Q Coordinate@‚l@8FF‚w Coordinate @@@@@@@@‚l@84F‚x‚Q Coordinate@‚l@9FF‚x Coordinate @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@‚w‚P‚P‚O‚OD‚O‚O‚O@@@‚x‚P‚P‚O‚OD‚O‚O‚O @@@@@@‚w‚Q‚R‚T‚OD‚O‚O‚O@@@‚x‚Q‚Q‚T‚OD‚O‚O‚O @@@@@@‚`@‚R‚UK‚S‚Sf‚R‚Th@‚a@‚W‚RK‚P‚Tf‚Q‚Th EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@SHIFT ‚o‚W @@‚Q@2 Angles @@@@‚d‚w‚d@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@‚R‚T‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚Q‚T‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y@ 59K02f10.48h ‚d‚w‚d@@@@@Indicate Basic Azimuth @@‚W@‚k@‚Q‚X‚PD‚T‚S‚W@@‚d‚w‚d@@@@@@@@@Indicate Basic Length @@‚X@‚`@@@@@@@@@@‚R‚UD‚S‚S‚R‚T@‚d‚w‚d@Input Anglei‚`j @‚P‚O@‚a@@@@@@@@@@‚W‚RD‚P‚T‚Q‚T@‚d‚w‚d@Input Anglei‚aj @‚P‚P@‚`‚y@ 95K46f45.48h ‚d‚w‚d@@@@@Indicate Azimuth @ 12 @X @ 432.622 @@‚d‚w‚d@@@@@@@@@Indicate X Coordinate @ 13 @Y @ 66.335 @@‚d‚w‚d@@@@@@@@@Indicate Y Coordinate @‚P‚S@‚`@@@@@@@@@@@@@@@@@@@@@ Input Angle(‚`) - 46- @ P 9 :@2 Lengths Intersection Calculation @@@@ We can get coordinates from 2 known radiusi‚C‚‚j. @@@Basic point 1 --- Radius ‚ @@Basic point 1 --- Radius ‚‚ @ @@ Object point is made right hand side of basic points 1 ---> 2. @@@@@@@@@@@@@@@i‚QjB @@@@@@@@@@@@@@@@@@@@‚‚ @@@@@@@@@@@@@@@@@@@@@@BObject point @@@@@@@@@@@@@@@@@@@@@‚ @@@@@@@@@@@@@@@i‚PjB @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@81F‚w‚P Coordinate@‚l@98FRadiusm‚n @@@@@@@@‚l@82F‚x‚P Coordinate@‚l@99FRadiusm‚‚n @@@@@@@@‚l@83F‚w‚Q Coordinate@‚l@8FF‚w Coordinate @@@@@@@@‚l@84F‚x‚Q Coordinate@‚l@9FF‚x Coordinate @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@‚w‚P‚P‚O‚OD‚O‚O‚O@@@‚x‚P‚P‚O‚OD‚O‚O‚O @@@@@@‚w‚Q‚R‚T‚OD‚O‚O‚O@@@‚x‚Q‚Q‚T‚OD‚O‚O‚O @@@@@@@‚‚R‚R‚SD‚R‚Q‚Q@@@@‚‚‚Q‚O‚PD‚R‚X‚R EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@SHIFT ‚o‚X @@‚Q@2 Lengths @@@‚d‚w‚d@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@‚R‚T‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚Q‚T‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y@ 59K02f10.48h ‚d‚w‚d@@@@@Indicate Basic Azimuth @@‚W@‚k@‚Q‚X‚PD‚T‚S‚W@@‚d‚w‚d@@@@@@@@@Indicate Basic Length @@‚X@‚@@@@@@@@@@‚R‚R‚SD‚R‚Q‚Q@‚d‚w‚d@Input Radiusi‚j @‚P‚O@‚‚@@@@@@@@@@‚Q‚O‚PD‚R‚X‚R@‚d‚w‚d@Input Radiusi‚‚j @‚P‚P@‚`‚y@ 95K46f45.01h @@@@‚d‚w‚d@Indicate Azimuth @ 12 @X @ 432.623 @@‚d‚w‚d@@@@@@@@@Indicate X Coordinate @ 13 @Y@ 66.336 @@‚d‚w‚d@@@@@@@@@Indicate Y Coordinate @‚P‚S@‚@@@@@@@@@@@@@@@@@@@@@ Input Radius(‚) - 47- @@ P10 :@Perpendicular Calculation @@@@ We can get the perpendicular length from 3 known points. @@@[‚ˆ{F@Right High is + ( plus ) of basic line. Left High is - ( minus ) of basic line. @@ @@‚k@F@+ Order ( 1 ---> 2 ) @@@@@@@@@@ - Opposite ( 1 ---> 2 ) @@@@@@@@@@@@@@@i‚QjB @@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@Bi‚Rj @@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@i‚PjB @@@@@@@@EEEEE@Memory table@EEEEEEE @@@@@@@@‚l@81F‚w‚P Coordinate@‚l@85F‚w‚R Coordinate @@@@@@@@‚l@82F‚x‚P Coordinate ‚l@86F‚x‚R Coordinate @@@@@@@@‚l@83F‚w‚Q Coordinate@‚l@3FF[‚ˆ{ @@@@@@@@‚l@84F‚x‚Q Coordinate@‚l@4FF‚k @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@@‚w‚P‚P‚O‚OD‚O‚O‚O@‚x‚P‚P‚O‚OD‚O‚O‚O @@@@@@@‚w‚Q‚R‚T‚OD‚O‚O‚O@‚x‚Q‚Q‚T‚OD‚O‚O‚O @@@@@@@‚w‚R‚Q‚Q‚UD‚W‚Q‚S@‚x‚R‚S‚O‚XD‚R‚R‚Q EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚O @@‚Q@Perpendicular @@‚d‚w‚d@@@@@Indicate Title @@‚R@‚w‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚w‚P Coordinate @@‚S@‚x‚P@@@@@@@@@‚P‚O‚O@‚d‚w‚d@@@@@Input ‚x‚P Coordinate @@‚T@‚w‚Q@@@@@@@@@‚R‚T‚O@‚d‚w‚d@@@@@Input ‚w‚Q Coordinate @@‚U@‚x‚Q@@@@@@@@@‚Q‚T‚O@‚d‚w‚d@@@@@Input ‚x‚Q Coordinate @@‚V@‚`‚y@ 59K02f10.48h ‚d‚w‚d@@@@@Indicate Basic Azimuth @@‚W@‚k@‚Q‚X‚PD‚T‚S‚W@@‚d‚w‚d@@@@@@@@@Indicate Basic Length @@‚X@‚w‚R@@@@@@@@@‚Q‚Q‚UD‚W‚Q‚S@‚d‚w‚d@Input ‚w‚R Coordinate @‚P‚O@‚x‚R@@@@@@@@@‚S‚O‚XD‚R‚R‚Q@‚d‚w‚d@Input ‚x‚R Coordinate @‚P‚P@[‚ˆ{@@@@@@@@ -200.000 ‚d‚w‚d@Indicate High @‚P‚Q@‚k@@@@@@@@@@‚Q‚U‚VD‚X‚O‚P@‚d‚w‚d@Indicate Plane Length @‚P‚S@‚w‚R@@@@@@@@@@@@@@@@@@@@@Input ‚w‚R Coordinate - 48- P11 :@Vertical Calculation @@@@ We can get correct vertical from right vertical and left vertical. @@@@@@@@@@@EE@Memory table@EE@ @@@@@@@@@@@‚l@96FVertical Rightm‚u‚’n@@ @@@@@@@@@@@‚l@97FVertical Left m‚u‚Œn@@ @@@@@@@@@@@EE@@Example@@EE @@@@@@@@@@@‚u‚’@‚X‚SK‚P‚Rf‚T‚Rh@ @@@@@@@@@@@‚u‚Œ‚Q‚U‚TK‚S‚Uf‚S‚Xh@ EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚P @@‚Q@Vertical @@@‚d‚w‚d@@@@@@@@@Indicate Title @@‚R@‚u‚’@@@@@@@@@‚X‚SD‚P‚R‚T‚R@‚d‚w‚d@Input Vertical Right @@‚S@‚u‚Œ@@@@@@@@‚Q‚U‚TD‚S‚U‚S‚X@‚d‚w‚d@Input Vertical Left @@‚T@‚R‚U‚OK‚Of‚S‚Qh@@‚d‚w‚d@@@@@@@@@Indicate Total Vertical @@‚U@@@‚OK‚Of‚S‚Qh@@‚d‚w‚d@@@@@@@@@Indicate Error @@‚V@‚P‚W‚WK‚Q‚Vf‚Sh@@‚d‚w‚d@@@@@@@@@Indicate ‚u‚’|‚u‚Œ @@‚W@@‚X‚SK‚P‚Rf‚R‚Qh@‚d‚w‚d@@@@@@@@@Indicate ‚y @@‚X@@|‚SK‚P‚Rf‚R‚Qh@‚d‚w‚d@@@@@@@@@Indicate ƒ¿ @‚P‚O@‚u‚’@@@@@@@@@@@@@@@@@@@@@Input Vertical Right - 49- P12 :@WILD Atmospher Distance Correction @@@@ We can get a correct distance. Basic Elevation ----- 0 m Basic Temperature ----- 10ßC @@@@@@@EEEEE@Memory table EEEEEEE@ @@@@@@@@‚l@91FGH Grand High @ ‚l@5FFV Vertical @@@@@@@@‚l@92FIH Instrument High ‚l@81FL 1 Slope Length @@@@@@@@‚l@93FFH Target High @@‚l@82FL 2 Slope Length @@@@@@@@‚l@94FTemperature ‚l@83FL 3 Slope Length @@@@@@EEEEEEE@@Example@@EEEEEEE @@ @GH = 500.000 Tem= 20ßC @@@ FH = 0.250 L 1= 1000.001 @@@ V = + 1ß14'25" L 2= 1000.002 IH = 1.500 L 3= 1000.003 EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚Q @@‚Q@WILD Atmospher ‚d‚w‚d@@@@Indicate Title @@‚R@GH @@@@@@@@@500 ‚d‚w‚d@@@@Input Grand High @@‚S@IH @@@@@@@@ 1.5 ‚d‚w‚d@@@@Input Instrument High @@‚T@FH @@@@@@@@@0.25 @ ‚d‚w‚d@@@@Input Target High @@‚U@Tem @@@@@@@@@20 @ ‚d‚w‚d@@@@Input Temperature @@‚V@V 1.1425 ‚d‚w‚d @@@Input Vertical @@‚W@L 1 1000.001 ‚d‚w‚d@@@@Input Slope Length 1 @@‚X@L 2 1000.002 ‚d‚w‚d@@@@Input Slope Length 2 ‚P‚O L 3 1000.003 ‚d‚w‚d@@@@Input Slope Length 3 @‚P‚P@ƒ°@@@@@@@@@@3000.006 ‚d‚w‚d Indicate Total Length @‚P‚Q@AL 1000.0020 ‚d‚w‚d Indicate Average Length @‚P‚R@* 2.39 ‚d‚w‚d Indicate a coefficient @‚P‚S@d @ 0.0239 ‚d‚w‚d Indicate Correct @‚P‚T@D0 1000.0259 ‚d‚w‚d@@@@Indicate Correct Length ‚P‚U@GH@@@@@@@@@@@@@@@@@@@@@@Input Grand High - 50- P13 :@Distance Calculation @@@@ We can get a correct distance. Radius of the earth --- 6,377,397.155 m Scale coefficient --- 0.9999 @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@90FD0 Slope Length @‚l@91FGH Grand High @@@@@@@@‚l@87FV1 Vertical @ ‚l@92FIH Instrument High @@@@@@@@‚l@88FV2 Vertical @‚l@93FFH Target High @@@@@@@@‚l@5FFV Vertical ‚l@98FRadius of the earth @@@@@@@@ ‚l@99FScale coefficient @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@@@@D0 = 1000.0259 IH = 1.500 V1 = + 4ß13'30" FH = 0.250 @@ @V2 = - 4ß13'34" K = 0.9999 GH = 500.000 EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚R @@‚Q@Distance ‚d‚w‚d@@@@@Indicate Title @@‚R@D0 @@@@@@@@@1000.0259 ‚d‚w‚d@@@@Input Slope Length @@‚S@V1 @@@@@@@@ 4.1330 ‚d‚w‚d@@@@@Input Vertical @@‚T@V2 @@@@@@@@ -4.1334@‚d‚w‚d@@@@@Input Vertical @@‚U@V @@@@@@@@@4ß13'32" ‚d‚w‚d @@@@Indicate Ave. Vertical @@‚V@GH @@@@@@@ @500 ‚d‚w‚d@@@@@Input Grand High @@‚W@IH @@@@@@@ @ 1.5 ‚d‚w‚d@@@@@Input Instrument High @@‚X@FH @@@@@@@@@ 0.25@‚d‚w‚d@@@@@Input Target High @‚P‚O@dH @@@@@@@@ @73.685 ‚d‚w‚d@@@@@Indicate Different High @‚P‚P@EL 574.935 ‚d‚w‚d@@@@@Indicate Elevation @‚P‚Q@AH 537.468 ‚d‚w‚d@@@@@Indicate Ave. Elevation @‚P‚R@D 997.3075 ‚d‚w‚d @@@@Indicate L * COS V ‚P‚S d -0.0841 ‚d‚w‚d@@@@ Indicate projec. correct @‚P‚T@S @@@@@@@@@@997.2234 ‚d‚w‚d Indicate Spher. Length @‚P‚U@K 0.9999 ‚d‚w‚d@ Input Scale coefficient @‚P‚V@dK -0.0997 ‚d‚w‚d Indicate Scale correct @‚P‚W@L 997.1237 ‚d‚w‚d Indicate Plane Length ‚P‚X@D0@@@@@@@@@@@@@@@@@@@@@@Input Slope Length - 51- P14 :@Stadia Calculation 1 m Elevetion , Distance n Stadia a coefficient K ---- 100 Stadia a coefficient C ---- 0 @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@91FEL Elevation@ ‚l@87FS1 Under(Upper) Stadia @@@@@@@@‚l@92FIH Instrument High ‚l@88FS2 Upper(Under) Stadia @@@@@@@@‚l@93FFH Target High @@ ‚l@94FL Plane Length @@@@@@@@‚l@5FFV Vertical ‚l@3FFdH Different High @@@@@@@@‚l@@F ‚l@96FGH Grand High ‚l@98FStadia a coefficient K ‚l@99FStadia a coefficient C @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@@@@EL = 500.000 V = 89ß14'25" IH = 1.500 S1 = 1.230 @@ @FH = 2.895 S2 = 4.560 EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚S @@‚Q@Stadia 1 ‚d‚w‚d@@@@@Indicate Title @@‚R@EL @@@@@@@@@500.000 ‚d‚w‚d @@@@Input Elevation @@‚S@IH @@@@@@@ @ 1.5 ‚d‚w‚d@@@@@Input Instrument High @@‚T@FH @@@@@@@@@ 2.895 ‚d‚w‚d@@@@@Input Target High @@‚U@V @@@@@@@@@89.1425 ‚d‚w‚d @@@@Input Vertical @@‚V@S1 @@@@@@@ @ 1.230 ‚d‚w‚d@@@@@Input Under(Upper) Stadia @@‚W@S2 @@@@@@@ @ 4.560 ‚d‚w‚d@@@@@Input Upper(Under) Stadia @@‚X@L @@@@@@@@@332.94@‚d‚w‚d@@@@@Indicate Plane Length @‚P‚O@dH @@@@@@@@ @ 3.02 ‚d‚w‚d@@@@@Indicate Different High @‚P‚P@GH 503.02 ‚d‚w‚d@@@@@Indicate Grand High ‚P‚Q@FH@@@@@@@@@@@@@@@@@@@@@@Input Target High - 52- P15 :@Stadia Calculation 2 m Elevation , Coordinates n Stadia a coefficient K ---- 100 Stadia a coefficient C ---- 0 @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@91FEL Elevation@ ‚l@93FFH Target High @@@@@@@@‚l@92FIH Instrument High ‚l@5FFV Vertical @@@@@@@@‚l@81FX1 Coordinate ‚l@87FS1 Under(Upper) Stadia @@@@@@@@‚l@82FY1 Coordinate ‚l@88FS2 Upper(Under) Stadia @@@@@@@@‚l@83FX2 Coordinate ‚l@94FL Plane Length @@@@@@@@‚l@84FY2 Coordinate ‚l@3FFdH Different High @@@@@@@@‚l@@F @@ ‚l@96FGH Grand High ‚l@98FStadia a coefficient K ‚l@99FStadia a coefficient C @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@@@@EL = 500.000 FH = 2.895 IH = 1.500 V = 89ß14'25" X1 = 0.000 S1 = 1.230 @@ @Y1 = 0.000 S2 = 4.560 X2 = 100.000 HA = 90ß0'0" Y2 = 100.000 EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚T @@‚Q@Stadia 2 ‚d‚w‚d@@@@@Indicate Title @@‚R@EL @@@@@@@@@500.000 ‚d‚w‚d @@@@Input Elevation @@‚S@IH @@@@@@@ @ 1.5 ‚d‚w‚d@@@@@Input Instrument High @@‚T@X1 @@@@@@@@@ 0.000 ‚d‚w‚d@@@@@Input X1 Coordinate @@‚U@Y1 @@@@@@@@@ 0.000 ‚d‚w‚d@@@@@Input Y1 Coordinate @@‚V@X2 @@@@@@@@@100.000 ‚d‚w‚d@@@@@Input X2 Coordinate @@‚W@Y2 @@@@@@@@@100.000 ‚d‚w‚d@@@@@Input Y2 Coordinate @@‚X@AZ @@@@@@@@@45ß0'0" ‚d‚w‚d@@@@@Indicate Azimuth @‚P‚O@L @@@@@@@@@141.421 ‚d‚w‚d@@@@@Indicate Plane Length @‚P‚P@FH @@@@@@@@@ 2.895 ‚d‚w‚d@@@@@Input Target High @‚P‚Q@V @@@@@@@@@89.1425 ‚d‚w‚d @@@@Input Vertical @‚P‚R@S1 @@@@@@@ @ 1.230 ‚d‚w‚d@@@@@Input Under(Upper) Stadia @‚P‚S@S2 @@@@@@@ @ 4.560 ‚d‚w‚d@@@@@Input Upper(Under) Stadia @‚P‚T@L @@@@@@@@@332.94@‚d‚w‚d@@@@@Indicate Plane Length @‚P‚U@dH @@@@@@@@ @ 3.02 ‚d‚w‚d@@@@@Indicate Different High @‚P‚V@GH 503.02 ‚d‚w‚d@@@@@Indicate Grand High @‚P‚W@HA 90.0000 ‚d‚w‚d@@@@@Input Horizontal Angle @‚P‚X@AZ @@@@@@@@ 135ß0'0" ‚d‚w‚d@@@@@Indicate Azimuth @ 20 @Y @@@@@@@@@ 235.43 ‚d‚w‚d@@@@@Indicate X Coordinate @ 21 @X @@@@@@@@ -235.43 ‚d‚w‚d@@@@@Indicate Y Coordinate ‚Q‚Q@FH@@@@@@@@@@@@@@@@@@@@@@Input Target High - 53- P16 :@Stadia Calculation 3 m Reverse n Stadia a coefficient K ---- 100 Stadia a coefficient C ---- 0 @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@91F*EL Elevation ‚l@87FS1 Under(Upper) Stadia @@@@@@@@‚l@92F*IH Instrument High ‚l@88FS2 Upper(Under) Stadia @@@@@@@@‚l@93F*FH Target High @‚l@94FL Plane Length @@@@@@@@‚l@5FFV Vertical ‚l@3FFdH Different High @@@@@@@@‚l@@F ‚l@96FGH Grand High ‚l@98FStadia a coefficient K ‚l@99FStadia a coefficient C @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@@@ *EL = 503.020 V = 89ß14'25" *IH = 1.500 S1 = 1.230 @@ *FH = 2.895 S2 = 4.560 EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚U @@‚Q@Stadia 3 ‚d‚w‚d@@@@@Indicate Title @@‚R@*EL @@@@@@@@@503.020 ‚d‚w‚d @@@@Input Elevation @@‚S@*IH @@@@@@@ @ 1.5 ‚d‚w‚d@@@@@Input Instrument High @@‚T@*FH @@@@@@@@@ 2.895 ‚d‚w‚d@@@@@Input Target High @@‚U@V @@@@@@@@@89.1425 ‚d‚w‚d @@@@Input Vertical @@‚V@S1 @@@@@@@ @ 1.230 ‚d‚w‚d@@@@@Input Under(Upper) Stadia @@‚W@S2 @@@@@@@ @ 4.560 ‚d‚w‚d@@@@@Input Upper(Under) Stadia @@‚X@L @@@@@@@@@332.94@‚d‚w‚d@@@@@Indicate Plane Length @‚P‚O@dH @@@@@@@@ @-3.02 ‚d‚w‚d@@@@@Indicate Different High @‚P‚P@GH 500.00 ‚d‚w‚d@@@@@Indicate Grand High @‚P‚Q@STADIA 3 ‚d‚w‚d@@@@@Indicate Title - 54- @@ P17 :@Indirect Level Calculation 2 ( h,l ) m Elevation , Coordinates n @@@@ We can get radiation elevation and coordinates from survey high and plane length. @@@ In case input ‚l‚gi Target High j |i Minus jthat point turnning point. @@@ In case input ‚h‚gi Instrument High j |i Minus joutput coordinates. @@@EEEEEEEEE@Memory table@EEEEEEEEE @@@‚l@91FEL Basic Elevation@@‚l@96FGH Grand High @@@‚l@92FIH Instrument High @‚l@81FX1 Coordinate @@@‚l@93FMH Target High @@@‚l@82FY1 Coordinate @@@‚l@1FFdh Survey High @@ ‚l@83FX2 Coordinate ‚l@2FFdL Plane Length ‚l@84FY2 Coordinate @@@@@@EEEEEE@@Example@@EEEEEE @@@@@@@@@EL = 500.000 X1 = 0.000 IH = 1.500 Y1 = 0.000 MH = 0.250@@@@@@X2 = 100.000 @@ @dh = 50.000 @@@@@Y2 = 100.000 dL = 100.000 @@@@ HA = 90ß0'0" EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@ ‚o‚P‚V @@‚Q@High 2 ( h,l )@@@@‚d‚w‚d@@@@@@@@@Indicate Title @@‚R@EL @@@@@@@@@500.000 @‚d‚w‚d@@@Input Basic Elevation @@‚S@IH@@@@@@@@@ 1.500 @‚d‚w‚d@@@Input Instrument High @@‚T@MH@@@@@@@@@ 0.250 @‚d‚w‚d@@@Input Target High @@‚U@dh@@@@@@@@@@ 50.000 @‚d‚w‚d@@@Input Survey High @@‚V@GH @ 551.250@ ‚d‚w‚d@@@Indicate Grand High @‚P‚O@MH @@@@@@@@@@@@@@@@@@@@@Input Target High - 55- @@ P18 :@Indirect Level Calculation 3 ( S,V ) m Reverse n We can get a unknown elevation from known elevation. @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@91F*EL Elevation ‚l@5FFV Vertical @@@@@@@@‚l@92F IH Instrument High ‚l@94FL Plane Length @@@@@@@@‚l@93F MH Target High @‚l@1FFDH Different High @@@@@@@@‚l@90F S Slope Length ‚l@96FGH Grand High @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@@@ *EL = 505.329 S = 100.000 IH = 1.500 V = 87ß39'45" @@ MH = 0.250 EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚W @@‚Q@High 3 ( S,V ) ‚d‚w‚d@@@@@Indicate Title @@‚R@*EL @@@@@@@@@505.329 ‚d‚w‚d @@@@Input Elevation @@‚S@IH @@@@@@@ @ 1.5 ‚d‚w‚d@@@@@Input Instrument High @@‚T@MH @@@@@@@@@ 0.25@‚d‚w‚d@@@@@Input Target High @@‚U@S @@@@@@@ @ 100.000 ‚d‚w‚d@@@@@Input Slope Length @@‚V@V @@@@@@@@@87.3945 ‚d‚w‚d @@@@Input Vertical @@‚W@L @@@@@@@ @ 99.917 ‚d‚w‚d@@@@@Indicate Plane Length @@‚X@DH @@@@@@@@@-5.329@‚d‚w‚d@@@@@Indicate Different High @‚P‚O@GH 500.000 ‚d‚w‚d@@@@@Indicate Grand High @‚P‚Q@HIGH 3 ( S,V ) ‚d‚w‚d@@@@@Indicate Title - 56- @@ P19 :@Indirect Level Calculation 4 ( dh ) m Reverse n We can get a unknown elevation from known elevation. @@@@@@@@EEEEE@Memory table@EEEEEEE@ @@@@@@@@‚l@91F*EL Elevation ‚l@1FFdh Survey High @@@@@@@@‚l@92F IH Instrument High ‚l@2FFDH Different High @@@@@@@@‚l@93F MH Target High @‚l@96FGH Grand High @@@@@@EEEEEEE@@Example@@EEEEEEE @@@@@@@@ *EL = 451.250 MH = 0.250 IH = 1.500 dh = -50.000 EEEEEEEEEEEEE@Operaion Process@EEEEEEEEEEEEEE Step Indication Key Remarks @@‚P@@@@@@@@@@@@‚o‚P‚X @@‚Q@High 4 ( dh ) ‚d‚w‚d@@@@@Indicate Title @@‚R@*EL @@@@@@@@@451.250 ‚d‚w‚d @@@@Input Elevation @@‚S@IH @@@@@@@ @ 1.5 ‚d‚w‚d@@@@@Input Instrument High @@‚T@MH @@@@@@@@@ 0.25@‚d‚w‚d@@@@@Input Target High @@‚U@dh @@@@@@@ @-50.000 ‚d‚w‚d@@@@@Input Survey High @@‚V@DH @@@@@@@@@ 48.750 ‚d‚w‚d@@@@@Indicate Different High @@‚W@GH 500.000 ‚d‚w‚d@@@@@Indicate Grand High @@‚X@HIGH 4 ( dh ) ‚d‚w‚d@@@@@Indicate Title - 57- @Main attentions for using programs. @@E@Usualy Instrument point must be thought mainly. @@@@@@@@‚w‚PC‚x‚P@EEEE@Instrument point Coordinates @@@@@@@@‚w‚QC‚x‚Q@EEEE@Back point Coordinates @@@@@@@@Azimuth @@EEEE@Azimuth toward Instrument to back point @@@E@ In case input 2 known points coordinates( ‚w‚P,‚x‚PE‚w‚Q,‚x‚Q ), first those programs calculate Reverse Calculation and indicate Length and Azimuth after that calculate for the Program. @@@@@ In case input ‚w‚Q = Azimuth ( Outer Azimuth ), we can calculate Azimuth is used input ‚x‚Q = ‚O(Zero). @@@@@ If ‚x‚Q is ‚OiZeroj, we must input a dummy i‚OD‚O‚O‚O‚O‚Pj in the ‚x‚Q. @@@E @As vertical correspnd to two kindsiHorizontal ‚OKC‚X‚OKj, we can't use +- vertical instrument. @@@E@Input AngleiInnerEVerticalj‚n‚n‚nD‚n‚n‚n‚n‚d‚w‚d @@@@@@@@@@@@@@@@@@@i@@ D@@ M@ S@j - 58- m@Example@n @@@@@@@@@ @@Bi‚Rj@@@Bi‚Qj @@@@@@@@i‚Pj@B @‚w‚P‚P‚O‚OD‚O‚O‚O@‚x‚P‚P‚O‚OD‚O‚O‚O@Angle 1 ‚R‚UK‚S‚Sf‚R‚Th @‚w‚Q‚R‚T‚OD‚O‚O‚O@‚x‚Q‚Q‚T‚OD‚O‚O‚O@Angle 2 ‚W‚RK‚P‚Tf‚Q‚Th @‚w‚R‚Q‚Q‚UD‚W‚Q‚S@‚x‚R‚S‚O‚XD‚R‚R‚Q@Angle 3 ‚U‚OK‚O‚Of‚O‚Oh @‚ki‚P|‚Qj‚Q‚X‚PD‚T‚S‚W@@Azimuthi‚P|‚Qj @59K02f10h @‚ki‚Q|‚Rj‚Q‚O‚PD‚R‚X‚R@@Azimuthi‚Q|‚Rj 322K17f36h @‚ki‚R|‚Pj‚R‚R‚SD‚R‚Q1 @@Azimuthi‚R|‚Pj 202K17f36h - 59- @@@@CASIO FX-603P Survey Program ( Internatinal DEGREE ) 601 Ver. 1.01 ( 603P601I ) @@@@@@@@@@@ 991 STEPS FREE 14850 bytes Coded by Toshio KAWAGUCHI NIFTY-Serve ID:KHF00050 All Program List P0 AC DEG "Reverse" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 LBL1 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO2 + 360 = LBL2 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO1 - 60- P1 AC DEG "Traverse" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR97 "HA" HLT Min97 ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min00 MR94 "L" HLT Min94 X>=0 GOTO5 ABS Min90 90 Min89 "V" HLT Min5F ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min95 COS * MR90 = Min3F MR95 SIN * MR90 = Min4F Min94 MR5F X>=0 GOTO4 MR3F Min94 LBL4 MR94 FIX3 "L" HLT LBL5 MR00 + MRF - 360 Min95 = LBL6 X>=0 GOTO7 + MR95 = GOTO6 LBL7 Min95 "AZ" SDMS HLT MR95 SIN * MR94 = Min3F MR95 COS * MR94 = Min4F + MR82 = Min9F MR3F + MR81 = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT MR97 X>=0 GOTO3 MR8F Min81 MR9F Min82 MR95 - 180 = MinF GOTO3 - 61- P2 AC DEG "Inter Point" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR81 Min1F MR82 Min2F MR7F MinF AC "L" HLT Min94 MRF - 360 Min95 = LBL4 X>=0 GOTO5 + MR95 = GOTO4 LBL5 Min95 "AZ" SDMS HLT MR95 SIN * MR94 = Min3F MR95 COS * MR94 = Min4F + MR2F = Min9F MR3F + MR1F = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT MR8F Min1F MR9F Min2F MRF + 90 = MinF LBL6 AC "-:+" HLT Min94 X=0 GOTO3 MRF - 360 Min95 = LBL7 X>=0 GOTO8 + MR95 = GOTO7 LBL8 Min95 "AZ" SDMS HLT MR95 SIN * MR94 = Min3F MR95 COS * MR94 = Min4F + MR2F = Min9F MR3F + MR1F = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT GOTO6 - 62- P3 AC DEG "4[MUL]" HLT LBL1 MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 MR84 "Y2" HLT Min84 MR85 "X3" HLT Min85 MR86 "Y3" HLT Min86 MR87 "X4" HLT Min87 MR88 "Y4" HLT Min88 MR84 - MR82 ) / ( MR83 - MR81 = Min3F MR88 - MR86 ) / ( MR87 - MR85 = Min4F * MR85 - MR3F * MR81 + MR82 - MR86 = / ( MR4F - MR3F = Min8F - MR81 ) * MR3F + MR82 = Min9F MR8F FIX3 "X" HLT MR9F FIX3 "Y" HLT GOTO1 P4 AC DEG "S[RTA]L" HLT MR00 "L0" HLT Min00 LBL1 MR5F "V" HLT Min5F ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min95 MR90 "S" HLT ABS Min90 MR95 COS * MR90 = Min3F MR95 SIN * MR90 = Min4F Min94 MR5F X>=0 GOTO2 MR3F Min94 LBL2 MR94 FIX3 "L" HLT MR00 X=0 GOTO1 - MR94 = FIX3 "d" HLT GOTO1 - 63- P5 AC DEG "Angle" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR85 "X3" HLT Min85 MR86 "Y3" HLT Min86 MR86 - MR82 ) R>P ( MR85 - MR81 = Min00 X<>Y - MR7F = LBL4 X>=0 GOTO5 + 360 = GOTO4 LBL5 MinF "ANG" SDMS HLT MR00 FIX3 "L" HLT GOTO3 - 64- P6 AC DEG "High 1 ( S,V )" HLT MR91 "EL" HLT Min91 MR92 "IH" HLT Min92 X>=0 GOTO3 MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR93 "MH" HLT Min93 MR90 "S" HLT ABS Min90 MR5F "V" HLT Min5F ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min95 COS * MR90 = Min3F MR95 SIN * MR90 = Min4F Min94 MR5F X>=0 GOTO4 MR3F Min94 LBL4 MR94 FIX3 "L" HLT MR5F X>=0 GOTO5 MR4F Min3F LBL5 MR3F + MR92 ABS - MR93 ABS + MR91 = Min96 FIX3 "GH" HLT MR92 X>=0 GOTO8 MR97 "HA" HLT Min97 ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = + MRF - 360 Min95 = LBL6 X>=0 GOTO7 + MR95 = GOTO6 LBL7 Min95 "AZ" SDMS HLT MR95 SIN * MR94 = Min3F MR95 COS * MR94 = Min4F + MR82 = Min9F MR3F + MR81 = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT MR93 X>=0 GOTO3 MR8F Min81 MR9F Min82 MR95 - 180 = MinF LBL8 MR93 X>=0 GOTO3 MR96 Min91 MR92 "IH" HLT Min92 GOTO3 - 65- P7 AC DEG "Simple Curve" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR97 "-R+" HLT Min97 MR6F / 2 / MR97 ) ACS + MR7F = Min5F SIN * MR97 = Min3F MR5F COS * MR97 = Min4F + MR82 = Min2F Min9F MR3F + MR81 = Min1F Min8F FIX3 "RX" HLT MR9F FIX3 "RY" HLT LBL4 MR98 "CL" HLT Min98 X=0 GOTO3 * 180 / PI / MR97 = Min00 + MR5F - 180 = MinF SIN * MR97 = Min3F MRF COS * MR97 = Min4F + MR2F = Min9F MR3F + MR1F = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT GOTO4 - 66- P8 AC DEG "2 Angles" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR96 "A" HLT Min96 Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min98 + MR7F = MinF MR97 "B" HLT Min97 Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min99 +/- + 180 = X>=0 GOTO4 + 180 = Min99 LBL4 MR99 +/- + 180 - MR98 = Min5F MR6F * MR99 SIN / MR5F SIN = Min94 MRF - 360 Min95 = LBL5 X>=0 GOTO6 + MR95 = GOTO5 LBL6 Min95 "AZ" SDMS HLT MR95 SIN * MR94 = Min3F MR95 COS * MR94 = Min4F + MR82 = Min9F MR3F + MR81 = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT GOTO3 - 67- P9 AC DEG "2 Lengths" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR98 "a" HLT Min94 Min98 MR99 "b" HLT Min99 ( ( MR98 X^2 + MR6F X^2 - MR99 X^2 ) / ( 2 * MR98 * MR6F ) ) ACS Min5F + MR7F = MinF - 360 Min95 = LBL4 X>=0 GOTO5 + MR95 = GOTO4 LBL5 Min95 "AZ" SDMS HLT MR95 SIN * MR94 = Min3F MR95 COS * MR94 = Min4F + MR82 = Min9F MR3F + MR81 = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT GOTO3 - 68- P10 AC DEG "Perpendicular" HLT MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR85 "X3" HLT Min85 MR86 "Y3" HLT Min86 MR86 - MR82 ) R>P ( MR85 - MR81 = Min00 X<>Y - MR7F = LBL4 X>=0 GOTO5 + 360 = GOTO4 LBL5 MinF SIN * MR00 = Min3F MRF COS * MR00 = Min4F MR3F FIX3 "-h+" HLT MR4F FIX3 "L" HLT GOTO3 P11 AC DEG "Vertical" HLT LBL1 MR96 "Vr" HLT Min96 Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min98 MR97 "Vl" HLT Min97 Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min99 - MR98 = X>=0 GOTO2 MR98 Min95 MR99 Min98 MR95 Min99 LBL2 MR98 + MR99 ) "T" SDMS HLT - 360 = "e" SDMS HLT MR98 - MR99 = Min5F X>=0 GOTO3 + 360 = Min5F LBL3 "Vr-Vl" SDMS HLT / 2 = "Z" SDMS HLT +/- + 90 = Min5F "V" SDMS HLT GOTO1 - 69- P12 AC DEG "Wild Atmospher" HLT LBL1 MR91 "GH" HLT Min91 MR92 "IH" HLT Min92 MR93 "FH" HLT Min93 MR94 "Tem" HLT Min94 - 30 = Min95 MR5F "V" HLT Min5F INT + ( MR5F FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MR81 "L1" HLT Min81 MR82 "L2" HLT Min82 MR83 "L3" HLT Min83 MR81 + MR82 + MR83 = Min84 FIX3 "[SGM]" HLT / 3 = Min90 FIX4 "AL" HLT * MR7F SIN / 2 + MR91 + MR92 - MR93 = * 0.003 + 1.7 + MR95 * 0.085 = Min85 * MR90 / 5 10^X = Min96 MR85 FIX2 "*" HLT MR96 FIX4 "d" HLT MR90 + MR96 = Min90 FIX4 "D0" HLT GOTO1 - 70- P13 AC DEG "Distance" HLT 6377397.155 Min98 0.9999 Min99 LBL0 MR90 "D0" HLT Min90 1 Min87 0 "V1" HLT Min94 Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min85 MR94 X>=0 GOTO1 1 +/- Min87 LBL1 1 Min88 0 "V2" HLT Min95 Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min86 MR95 X>=0 GOTO2 1 +/- Min88 LBL2 MR94 X=0 GOTO3 MR95 X=0 GOTO4 GOTO5 LBL3 MR86 Min5F GOTO6 LBL4 MR85 Min5F GOTO6 LBL5 ( MR85 ABS + MR86 ABS ) / 2 * MR87 = Min5F SDMS "V" HLT LBL6 MR91 "GH" HLT Min91 MR92 "IH" HLT Min92 MR93 "FH" HLT Min93 MR90 P>R MR5F = Min83 X<>Y Min84 MR94 X=0 GOTO7 MR84 FIX3 "dH" HLT + MR92 - MR93 + MR91 = Min96 FIX3 "EL" HLT + MR91 ) / 2 = Min97 MR95 X=0 GOTO8 MR97 FIX3 "AH" HLT MR94 X=0 GOTO7 MR95 X=0 GOTO8 MR97 +/- * MR83 = Min82 GOTO9 LBL7 MR91 +/- * MR83 = Min82 GOTO9 LBL8 MR96 +/- * MR83 = Min82 LBL9 MR83 FIX4 "D" HLT MR82 / MR98 = FIX4 "d" HLT + MR83 = Min81 FIX4 "S" HLT MR99 "K" HLT Min99 - 1 ) * MR81 = FIX4 "dK" HLT + MR81 = Min00 FIX4 "L" HLT GOTO0 - 71- P14 AC DEG "Stadia 1" HLT 100 Min98 0 Min99 MR91 "EL" HLT Min91 MR92 "IH" HLT Min92 LBL1 MR93 "FH" HLT Min93 MR5F "V" HLT Min5F MR87 "S1" HLT Min87 X>=0 GOTO2 MR87 ABS Min90 GOTO3 LBL2 MR88 "S2" HLT Min88 - MR87 = ABS Min90 LBL3 MR5F ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min85 MR5F X>=0 GOTO4 GOTO6 LBL4 180 - MR89 = X>=0 GOTO5 MR85 - 270 = Min85 GOTO6 LBL5 90 - MR85 = Min85 LBL6 MR98 * MR90 * MR85 COS X^2 + MR99 * MR85 COS = Min94 MR98 * MR90 * MR85 SIN * MR85 COS + MR99 * MR85 SIN + MR92 - MR93 = Min3F + MR91 = Min96 MR94 FIX2 "L" HLT MR3F FIX2 "dH" HLT MR96 FIX2 "GH" HLT GOTO1 - 72- P15 AC DEG "Stadia 2" HLT 100 Min98 0 Min99 MR91 "EL" HLT Min91 MR92 "IH" HLT Min92 MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR93 "FH" HLT Min93 MR5F "V" HLT Min5F MR87 "S1" HLT Min87 X>=0 GOTO4 MR87 ABS Min90 GOTO5 LBL4 MR88 "S2" HLT Min88 - MR87 = ABS Min90 LBL5 MR5F ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min85 MR5F X>=0 GOTO6 GOTO8 LBL6 180 - MR89 = X>=0 GOTO7 MR85 - 270 = Min85 GOTO8 LBL7 90 - MR85 = Min85 LBL8 MR98 * MR90 * MR85 COS X^2 + MR99 * MR85 COS = Min94 MR98 * MR90 * MR85 SIN * MR85 COS + MR99 * MR85 SIN + MR92 - MR93 = Min3F + MR91 = Min96 MR94 FIX2 "L" HLT MR3F FIX2 "dH" HLT MR96 FIX2 "GH" HLT MR97 "HA" HLT Min97 ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = + MRF - 360 Min95 = LBL9 X>=0 GOTO0 + MR95 = GOTO9 LBL0 Min95 "AZ" SDMS HLT MR95 SIN * MR94 = Min3F MR95 COS * MR94 = Min4F + MR82 = Min9F MR3F + MR81 = Min8F FIX2 "X" HLT MR9F FIX2 "Y" HLT GOTO3 - 73- P16 LBL1 AC DEG "Stadia 3" HLT 100 Min98 0 Min99 MR91 "*EL" HLT Min91 MR92 "*IH" HLT Min92 MR93 "*FH" HLT Min93 MR5F "V" HLT Min5F MR87 "S1" HLT Min87 X>=0 GOTO2 MR87 ABS Min90 GOTO3 LBL2 MR88 "S2" HLT Min88 - MR87 = ABS Min90 LBL3 MR5F ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min85 MR5F X>=0 GOTO4 GOTO6 LBL4 180 - MR89 = X>=0 GOTO5 MR85 - 270 = Min85 GOTO6 LBL5 90 - MR85 = Min85 LBL6 MR98 * MR90 * MR85 COS X^2 + MR99 * MR85 COS = Min94 MR98 * MR90 * MR85 SIN * MR85 COS + MR99 * MR85 SIN + MR92 - MR93 = Min3F +/- + MR91 = Min96 MR94 FIX2 "L" HLT MR3F +/- FIX2 "dH" HLT MR96 FIX2 "GH" HLT GOTO1 - 74- P17 AC DEG "High 2 ( h,l )" HLT MR91 "EL" HLT Min91 MR92 "IH" HLT Min92 X>=0 GOTO3 MR81 "X1" HLT Min81 MR82 "Y1" HLT Min82 MR83 "X2" HLT Min83 Min89 MR84 "Y2" HLT Min84 X=0 GOTO2 MR84 - MR82 ) R>P ( MR83 - MR81 = Min6F Min00 X<>Y X>=0 GOTO1 + 360 = LBL1 Min7F MinF "AZ" SDMS HLT MR6F FIX3 "L" HLT GOTO3 LBL2 MR89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min7F MinF LBL3 MR93 "MH" HLT Min93 MR1F "dh" HLT Min1F MR92 X>=0 GOTO4 MR2F "dL" HLT Min2F LBL4 MR1F + MR92 ABS - MR93 ABS + MR91 = Min96 FIX3 "GH" HLT MR92 X>=0 GOTO7 MR97 "HA" HLT Min97 ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = + MRF - 360 Min95 = LBL5 X>=0 GOTO6 + MR95 = GOTO5 LBL6 Min95 "AZ" SDMS HLT MR95 SIN * MR2F = Min3F MR95 COS * MR2F = Min4F + MR82 = Min9F MR3F + MR81 = Min8F FIX3 "X" HLT MR9F FIX3 "Y" HLT MR93 X>=0 GOTO3 MR8F Min81 MR9F Min82 MR95 - 180 = MinF LBL7 MR93 X>=0 GOTO3 MR96 Min91 MR92 "IH" HLT Min92 GOTO3 - 75- P18 LBL1 AC DEG "High 3 ( S,V )" HLT MR91 "*EL" HLT Min91 MR92 "IH" HLT Min92 MR93 "MH" HLT Min93 MR90 "S" HLT ABS Min90 MR5F "V" HLT Min5F ABS Min89 INT + ( MR89 FRAC * 2 10^X ) Min4F INT / 60 + MR4F FRAC / 36 = Min95 COS * MR90 = Min3F MR95 SIN * MR90 = Min4F Min94 MR5F X>=0 GOTO2 MR3F Min94 LBL2 MR94 FIX3 "L" HLT MR5F X>=0 GOTO3 MR4F Min3F LBL3 MR3F + MR92 ABS - MR93 ABS = Min1F +/- FIX3 "DH" HLT + MR91 = Min96 FIX3 "GH" HLT GOTO1 P19 LBL1 AC DEG "High 4 ( dh )" HLT MR91 "*EL" HLT Min91 MR92 "IH" HLT Min92 MR93 "MH" HLT Min93 MR1F "dh" HLT Min1F + MR92 ABS - MR93 ABS = Min2F +/- FIX3 "DH" HLT + MR91 = Min96 FIX3 "GH" HLT GOTO1 "Coded by Toshio KAWAGUCHI NIFTY-Serve ID:KHF00050" END Memory List - 76- @@SHARP PC-E500 ( International DEGREE ) Reverse Calculation@m@Radiaton Reverse@n 10 ' Radiation Reverse Calculation 20 CLS :DEGREE :DEFDBL :USING "#######,###.###" 30 WAIT 0:PRINT "Radiation Reverse Calculation" 40 LOCATE 0,1:INPUT "X1=";X1 50 LOCATE 0,1:PRINT "X1=";X1 60 LOCATE 20,1:INPUT "Y1=";Y1 70 LOCATE 20,1:PRINT "Y1=";Y1 80 K=2:GOSUB 300 90 K=3:GOSUB 300 100 LOCATE 0,2:INPUT "X2=";X2 110 LOCATE 0,2:PRINT "X2=";X2 120 LOCATE 20,2:INPUT "Y2=";Y2 130 LOCATE 20,2:PRINT "Y2=";Y2 140 X0=X1:Y0=Y1 150 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 160 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 170 GOSUB 240 180 Z0=AZ:Z=DMS AZ 190 BEEP 1 200 K=3:GOSUB 300:GOSUB 270:PRINT "AZ=";Z$ 210 LOCATE 20,3:WAIT :PRINT "L =";MDF L0 220 GOTO 80 230 END 240 IF AZ>=360LET AZ=AZ-360:GOTO 240 250 IF AZ<0LET AZ=AZ+360:GOTO 250 260 RETURN 270 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 280 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 290 RETURN 300 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 310 RETURN - 77- @@Radiation Traverse@E@Open Traverse Calculation 10 ' Radiation Traverse Calculation 20 CLS :DEGREE :DEFDBL :WAIT 0:USING "#######,###.###" 30 PRINT "Radiation Traverse Calculation" 40 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 50 LOCATE 20,0:INPUT "Y1=";Y1 60 LOCATE 20,0:PRINT "Y1=";Y1 70 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 80 LOCATE 20,1:INPUT "Y2=";Y2 90 IF Y2=0LET K=1:GOSUB 460:GOTO 110 100 LOCATE 20,1:PRINT "Y2=";Y2 110 X0=X1:Y0=Y1 120 IF Y2=0LET AZ=DEG X2:GOTO 150 130 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 140 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 150 GOSUB 400 160 Z0=AZ:Z=DMS AZ 170 K=2:GOSUB 460:GOSUB 430:PRINT "AZ=";Z$ 180 IF Y2=0THEN 200 190 LOCATE 20,2:PRINT "L =";MDF L0 200 K=3:GOSUB 460:INPUT "HA=";HA:Z=ABS HA:GOSUB 430:LOCATE 0,3:PRINT "HA=";Z$ 210 AZ=AZ+DEG (ABS HA) 220 GOSUB 400 230 LOCATE 20,3:INPUT "L =";L 240 IF L<0GOSUB 480 250 DX=(ABS L)*SIN AZ:DY=(ABS L)*COS AZ 260 X=X1+DX:Y=Y1+DY 270 BEEP 1 280 Z=DMS AZ:GOSUB 430 290 K=2:GOSUB 460 300 LOCATE 0,2:PRINT "AZ=";Z$ 310 LOCATE 20,2:PRINT "L =";MDF L 320 LOCATE 0,3:PRINT "X =";MDF X 330 WAIT :LOCATE 20,3:PRINT "Y =";MDF Y:K=3:GOSUB 460 340 IF HA<0THEN 360 350 AZ=Z0:GOTO 200 360 X1=X:Y1=Y 370 AZ=AZ-180:Z0=AZ:GOSUB 400 380 GOTO 200 390 END 400 IF AZ>=360LET AZ=AZ-360:GOTO 400 410 IF AZ<0LET AZ=AZ+360:GOTO 410 420 RETURN 430 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 440 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 450 RETURN 460 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 470 RETURN 480 K=3:GOSUB 460 490 LOCATE 0,3:PRINT " L=";ABS L 500 LOCATE 20,3:INPUT " V=";V:Z=ABS V:GOSUB 430:LOCATE 20,3:PAUSE "V =";Z$ 510 IF V<0THEN 540 520 Z=450+Z 530 IF Z>=360LET Z=Z-360:GOTO 530 540 L=ABS (L*COS DEG Z) 550 RETURN - 78- Intermidiam Point@E@Width Point Calculation 10 ' Intermidiam and width point Calculation 20 CLS :DEGREE :DEFDBL :WAIT 0:USING "#######,###.###" 30 PRINT "Intermidiam and width point Calculation [ L:Inter -+:Width ]" 40 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 50 LOCATE 20,0:INPUT "Y1=";Y1 60 LOCATE 20,0:PRINT "Y1=";Y1 70 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 80 LOCATE 20,1:INPUT "Y2=";Y2 90 IF Y2=0LET K=1:GOSUB *DSPLY:GOTO 110 100 LOCATE 20,1:PRINT "Y2=";Y2 110 X0=X1:Y0=Y1 120 IF Y2=0LET AZ=DEG X2:GOTO 150 130 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 140 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 150 GOSUB *AZ 160 Z0=AZ:Z=DMS AZ 170 K=2:GOSUB *DSPLY:GOSUB *DEGREE:PRINT "AZ=";Z$ 180 IF Y2=0THEN 200 190 LOCATE 20,2:PRINT "L =";MDF L0 200 K=3:GOSUB *DSPLY:INPUT " L=";L:LOCATE 0,3:BEEP 1 210 DX=L*SIN AZ:DY=L*COS AZ 220 X3=X1+DX:Y3=Y1+DY 230 K=2:GOSUB *DSPLY 240 LOCATE 0,2:PRINT "X3=";MDF X3 250 LOCATE 20,2:PRINT "Y3=";MDF Y3:K=3:GOSUB *DSPLY 260 K=3:GOSUB *DSPLY:INPUT "-+=";L1 270 IF L1=0THEN 200 280 BEEP 1 290 DX=L1*SIN (AZ+90):DY=L1*COS (AZ+90) 300 X4=X3+DX:Y4=Y3+DY 310 K=3:GOSUB *DSPLY 320 LOCATE 0,3:PRINT "X4=";MDF X4 330 WAIT 340 LOCATE 20,3:PRINT "Y4=";MDF Y4:K=3:GOSUB *DSPLY 350 GOTO 260 360 REM 370 REM 380 REM 390 REM 400 *AZ:' ¥¥¥¥¥¥¥¥¥ AZIMUTH ¥¥¥¥¥¥¥¥¥¥¥ 410 IF AZ>=360LET AZ=AZ-360:GOTO 410 420 IF AZ<0LET AZ=AZ+360:GOTO 420 430 RETURN 440 REM 450 *DEGREE:' ¥¥¥¥¥¥¥¥ DEGREE ¥¥¥¥¥¥¥¥¥ 460 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 470 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 480 RETURN 490 REM 500 *DSPLY:' ¥¥¥¥¥¥¥¥ DISPLAY ¥¥¥¥¥¥¥¥¥ 510 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 520 RETURN - 79- @@4 Points Intersection Calculation 10 ' 4 Points Intersection Calculation 20 DEFDBL :DEGREE 30 CLS :USING "#######,###.###" 40 K=0:GOSUB 300 50 K=1:GOSUB 300 60 K=2:GOSUB 300 70 LOCATE 0,0 80 PRINT "4 Points Intersection Calculation" 90 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 100 LOCATE 20,0:INPUT "Y1=";Y1 110 LOCATE 20,0:PRINT "Y1=";Y1 120 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 130 LOCATE 20,1:INPUT "Y2=";Y2 140 LOCATE 20,1:PRINT "Y2=";Y2 150 INPUT "X3=";X3:LOCATE 0,2:PRINT "X3=";X3 160 LOCATE 20,2:INPUT "Y3=";Y3 170 LOCATE 20,2:PRINT "Y3=";Y3 180 INPUT "X4=";X4:LOCATE 0,3:PRINT "X4=";X4 190 LOCATE 20,3:INPUT "Y4=";Y4 200 LOCATE 20,3:PAUSE "Y4=";Y4 210 M1=(Y2-Y1)/(X2-X1) 220 M2=(Y4-Y3)/(X4-X3) 230 X=(M2*X3-M1*X1+Y1-Y3)/(M2-M1) 240 Y=M1*(X-X1)+Y1 250 BEEP 1 260 LOCATE 0,3:PRINT "X =";MDF X 270 LOCATE 20,3:PRINT "Y =";MDF Y 280 GOTO 40 290 END 300 LOCATE 0,K:PRINT " " 310 RETURN - 80- @@Slope Length ---> Distanse 10 ' Slope Length -> Length 20 *MAIN:DEFDBL :' --- Main Routin --- 30 CLS :DEGREE :WAIT 0 40 LOCATE 0,0:PRINT "Slope -> Length [ -d Inside +d Outside ]" 50 REM 60 REM 70 REM 80 REM 90 REM 100 *INPUT1:' --------- Input 1 ------ 110 WAIT 0 120 USING "#,###.###" 130 LOCATE 0,1:PRINT " L0=";MDF L0;" Basic Distanse" 140 LOCATE 14,1:INPUT L0 150 K=1:GOSUB *SUB4 160 LOCATE 0,1:PRINT " L0=";MDF L0 170 *INPUT2:' --------- Input 2 ------ 180 LOCATE 0,2:PRINT " S=";MDF S;" Slope Length" 190 LOCATE 14,2:INPUT S 200 K=2:GOSUB *SUB4 210 LOCATE 0,2:PRINT " S=";MDF S 220 LOCATE 16,2:PRINT "V=";Z$ 230 LOCATE 31,2:INPUT V 240 Z=ABS V 250 IF V>0LET I=1 260 IF V<=0LET I=-1 270 GOSUB *SUB2 280 K=2:GOSUB *SUB4 290 LOCATE 0,2:PRINT " S=";MDF S 300 LOCATE 16,2:PRINT "V=";Z$ 310 REM 320 REM 330 REM 340 REM 350 REM 360 REM 370 REM 380 REM 390 REM 400 *CAL:' --------- Calculation --------- 410 IF I=1LET L=S*SIN DEG (ABS V) 420 IF I=-1LET L=S*COS DEG (ABS V) 430 LOCATE 0,3:PRINT " L =";MDF L 440 D=L0-L 450 USING "+#,###.###":BEEP 1 460 LOCATE 15,3:PRINT " d=";MDF D 470 GOTO *INPUT1 480 REM 490 REM 500 *SUB:' -------- Subroutine ---------- 510 *SUB2:' -------- Vertical ---------- 520 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 530 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 540 RETURN 550 *SUB4:' -------- Display ----- 560 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 570 RETURN - 81- @@Angle Calculation 10 ' Angle Calculation 20 CLS :DEGREE :DEFDBL :WAIT 0:USING "#######,###.###" 30 PRINT "Angle Calculation" 40 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 50 LOCATE 20,0:INPUT "Y1=";Y1 60 LOCATE 20,0:PRINT "Y1=";Y1 70 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 80 LOCATE 20,1:INPUT "Y2=";Y2 90 LOCATE 20,1:PRINT "Y2=";Y2 100 X0=X1:Y0=Y1 110 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 120 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 130 GOSUB 330 140 Z0=AZ:Z=DMS AZ 150 K=2:GOSUB 390:GOSUB 360:PRINT "AZ=";Z$:LOCATE 20,2:PRINT "L =";MDF L0 160 K=3:GOSUB 390:INPUT "X3=";X3:LOCATE 0,3:PRINT "X3=";X3 170 LOCATE 20,3:INPUT "Y3=";Y3 180 LOCATE 20,3:PRINT "Y3=";Y3 190 DX3=X3-X1:DY3=Y3-Y1:L3=SQR (DX3^2+DY3^2):AZ3=ASN (DX3/(L3+ABS (L3=0))) 200 AZ3=(360+AZ3)*ABS (DY3>=0)+(180-AZ3)*ABS (DY3<0) 210 AN=AZ3-AZ+360 220 IF AN>=360LET AN=AN-360:GOTO 220 230 Z=DMS AN:GOSUB 360 240 BEEP 1 250 K=2:GOSUB 390 260 LOCATE 0,2:PRINT "X3=";X3 270 LOCATE 20,2:PRINT "Y3=";Y3 280 K=3:GOSUB 390 290 LOCATE 0,3:PRINT "AN=";Z$ 300 WAIT :LOCATE 20,3:PRINT "L =";MDF (L3):K=3:GOSUB 390 310 GOTO 110 320 END 330 IF AZ>=360LET AZ=AZ-360:GOTO 330 340 IF AZ<0LET AZ=AZ+360:GOTO 340 350 RETURN 360 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 370 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 380 RETURN 390 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 400 RETURN 410 K=3:GOSUB 390 420 RETURN - 82- @@Indirect Level Calculation 1 ( S,V ) m Elevation , Coordinates n 10 ' Indirect Level 1 ( Slope , Vertical ) 20 CLS :DEGREE :DEFDBL :WAIT 0:USING "#######,###.###" 30 PRINT "Indirect Level 1 ( Slope , Vertical )" 40 INPUT "EL=";EL:CLS 50 LOCATE 0,0:PRINT "EL=";EL 60 LOCATE 20,0:INPUT "IH=";IH 70 LOCATE 20,0:PRINT "IH=";IH 80 IF IH<0GOSUB 280 90 K=1:GOSUB 730 100 K=2:GOSUB 730 110 K=3:GOSUB 730 120 LOCATE 0,1:INPUT "FH=";FH 130 LOCATE 0,1:PRINT "FH=";FH 140 LOCATE 0,2:INPUT " L=";L0 150 LOCATE 0,2:PRINT " L=";L0 160 LOCATE 20,2:INPUT " V=";V:Z=ABS V:GOSUB 700:LOCATE 20,2:PRINT "V =";Z$ 170 IF V<=0THEN 190 180 DL=L0*SIN DEG Z:DH=L0*COS DEG Z:GOTO 200 190 DL=L0*COS DEG Z:DH=L0*SIN DEG Z 200 LOCATE 0,3:BEEP 1:PRINT "L =";MDF DL 210 WAIT 220 LOCATE 20,3:PRINT "GH=";MDF (EL+ABS IH+DH-ABS FH) 230 WAIT 0 240 IF IH<0GOSUB 470:GOSUB 500 250 IF FH<0GOSUB 560 260 GOTO 90 270 END 280 LOCATE 0,1:INPUT "X1=";X1 290 LOCATE 0,1:PRINT "X1=";X1 300 LOCATE 20,1:INPUT "Y1=";Y1 310 LOCATE 20,1:PRINT "Y1=";Y1 320 LOCATE 0,2:INPUT "X2=";X2 330 LOCATE 0,2:PRINT "X2=";X2 340 LOCATE 20,2:INPUT "Y2=";Y2 350 LOCATE 20,2:PRINT "Y2=";Y2 360 X0=X1:Y0=Y1 370 IF Y2=0LET AZ=DEG X2:GOTO 400 380 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 390 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 400 GOSUB 670 410 Z0=AZ:Z=DMS AZ 420 IF Y2=0WAIT ELSE WAIT 0 430 K=3:GOSUB 730:GOSUB 700:PRINT "AZ=";Z$:WAIT 0 440 IF Y2=0THEN 460 450 WAIT :LOCATE 20,3:PRINT "L =";L0:WAIT 0 460 RETURN 470 K=3:GOSUB 730:INPUT "HA=";HA:Z=ABS HA:GOSUB 700:LOCATE 0,3:PAUSE "HA=";Z$ 480 AZ=Z0+DEG (ABS HA) 490 RETURN 500 DX=(ABS DL)*SIN AZ:DY=(ABS DL)*COS AZ 510 X=X1+DX:Y=Y1+DY 520 BEEP 1 530 LOCATE 0,3:PRINT "X =";MDF X 540 WAIT :LOCATE 20,3:PRINT "Y =";MDF Y:K=3:GOSUB 730 550 RETURN 560 X1=X:Y1=Y 570 Z0=AZ-180:GOSUB 670 580 EL=EL+ABS IH+DH-ABS FH 590 K=0:GOSUB 730 600 K=1:GOSUB 730 - 83- 610 K=2:GOSUB 730 620 K=3:GOSUB 730 630 LOCATE 0,0:PRINT "EL=";EL 640 LOCATE 20,0:INPUT "IH=";IH 650 LOCATE 20,0:PRINT "IH=";IH 660 RETURN 670 IF AZ>=360LET AZ=AZ-360:GOTO 670 680 IF AZ<0LET AZ=AZ+360:GOTO 680 690 RETURN 700 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 710 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 720 RETURN 730 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 740 RETURN - 84- Indirect Level Calculation 2 ( h,l ) m Elevation , Coordinates n 10 ' Indirect Level Calculation 2 ( dl,dh ) 20 CLS :DEGREE :DEFDBL :WAIT 0:USING "#######,###.###" 30 PRINT "Indirect Level Calculation 2 ( dl,dh )" 40 INPUT "EL=";EL 50 LOCATE 0,1:PRINT "EL=";MDF EL 60 LOCATE 20,1:INPUT "IH=";IH 70 LOCATE 20,1:PRINT "IH=";MDF IH 80 IF IH<0GOSUB 240 90 K=2:GOSUB 700 100 K=3:GOSUB 700 110 LOCATE 0,2:INPUT "FH=";FH 120 LOCATE 0,2:PRINT "FH=";MDF FH 130 IF IH>=0THEN 160 140 LOCATE 20,2:INPUT "dL=";DL 150 LOCATE 20,2:PRINT "dL=";MDF DL 160 LOCATE 0,3:INPUT "dH=";DH:LOCATE 0,3:PRINT "dH=";MDF DH 170 WAIT 180 LOCATE 20,3:PRINT "GH=";MDF (EL+ABS IH+DH-ABS FH) 190 WAIT 0 200 IF IH<0GOSUB 440:GOSUB 470 210 IF FH<0GOSUB 530 220 GOTO 90 230 END 240 LOCATE 0,2:INPUT "X1=";X1 250 LOCATE 0,2:PRINT "X1=";MDF X1 260 LOCATE 20,2:INPUT "Y1=";Y1 270 LOCATE 20,2:PRINT "Y1=";MDF Y1 280 LOCATE 0,3:INPUT "X2=";X2 290 LOCATE 0,3:PRINT "X2=";MDF X2 300 LOCATE 20,3:INPUT "Y2=";Y2 310 LOCATE 20,3:PRINT "Y2=";MDF Y2 320 X0=X1:Y0=Y1 330 IF Y2=0LET AZ=DEG X2:GOTO 360 340 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 350 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 360 GOSUB 640 370 Z0=AZ:Z=DMS AZ 380 K=3:GOSUB 700:GOSUB 670 390 IF Y2=0THEN 420 400 WAIT 0:PRINT "AZ=";Z$ 410 WAIT :LOCATE 20,3:PRINT "L =";L0:WAIT 0:GOTO 430 420 WAIT :PRINT "AZ=";Z$ 430 RETURN 440 K=3:GOSUB 700:INPUT "HA=";HA:Z=ABS HA:GOSUB 670:LOCATE 0,3:PAUSE "HA=";Z$ 450 AZ=Z0+DEG (ABS HA) 460 RETURN 470 DX=(ABS DL)*SIN AZ:DY=(ABS DL)*COS AZ 480 X=X1+DX:Y=Y1+DY 490 BEEP 1 500 LOCATE 0,3:PRINT "X =";MDF X 510 WAIT :LOCATE 20,3:PRINT "Y =";MDF Y:K=3:GOSUB 700 520 RETURN 530 X1=X:Y1=Y 540 Z0=AZ-180:GOSUB 640 550 EL=EL+ABS IH+DH-ABS FH 560 K=0:GOSUB 700 570 K=1:GOSUB 700 580 K=2:GOSUB 700 590 K=3:GOSUB 700 600 LOCATE 0,0:PRINT "EL=";MDF EL - 85- 610 LOCATE 20,0:INPUT "IH=";IH 620 LOCATE 20,0:PRINT "IH=";MDF IH 630 RETURN 640 IF AZ>=360LET AZ=AZ-360:GOTO 640 650 IF AZ<0LET AZ=AZ+360:GOTO 650 660 RETURN 670 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 680 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 690 RETURN 700 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 710 RETURN - 86- @@Triangle Calculation 10 DEFDBL 20 WAIT 0:CLS :DEGREE :ON ERROR GOTO 870:PRINT "Triangle Calculation":ERASE A,A$:DIM A(10),A$(10):USING "#######,###.###" 30 FOR N=1TO 10:A$(N)=" "+MID$ ("abcABCShde",N,1)+"=":NEXT N 40 LOCATE 0,1:INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 50 LOCATE 20,0:INPUT "Y1=";Y1:LOCATE 20,0:PRINT "Y1=";Y1 60 LOCATE 0,1:INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 70 LOCATE 20,1:INPUT "Y2=";Y2:LOCATE 20,1:PRINT "Y2=";Y2 80 DX=X2-X1:DY=Y2-Y1:L=SQR (DX^2+DY^2):Z=ASN (DX/(L+ABS (L=0))) 90 Z=(360+Z)*ABS (DY>=0)+(180-Z)*ABS (DY<0):GOSUB 750:Z1=Z:A(3)=L 100 X0=X1:Y0=Y1:Z0=Z1:A(1)=0:A(2)=0 110 FOR N=4TO 10:A(N)=0:NEXT N:S=0:K=2:GOSUB 860 120 FOR N=1TO 10 130 IF A(N)<>0OR S>1THEN 330 140 LOCATE S*20,K:PRINT A$(N) 150 LOCATE S*20+3,K:INPUT A(N) 160 IF A(N)=0THEN 330 170 IF N<4AND A(N)<0GOSUB 890 180 IF N<4THEN 310 190 IF N>6THEN 280 200 A(N)=DEG A(N):A(6)=ABS A(6) 210 IF A(N)>0THEN 240 220 Z=(-A(4)-Z1)*ABS (N=4)+(Z1+A(5)+180)*ABS (N=5) 230 GOSUB 750:A(N)=Z-180*ABS (Z>=180) 240 IF A(N)>=180LET A(N)=360-A(N) 250 Z=DMS A(N):GOSUB 830 260 LOCATE 20*S,K:PRINT A$(N);Z$ 270 A(9)=A(3)*SIN A(5):A(10)=A(3)*SIN A(4):GOTO 320 280 ON N-7GOTO 310,300,300 290 A(8)=2*A(7)/A(3):GOTO 310 300 A(5-ABS (N=10))=ASN (A(N)/A(3)) 310 LOCATE 20*S,2:PRINT A$(N);MDF A(N) 320 S=S+1 330 NEXT N:IF S<2THEN 120 340 S=0:L=A(1)+A(2)*ABS (A(1)=0):W=A(4)+(A(10)-A(5))*ABS (A(4)=0):K=3:GOSUB 860 350 FOR M=1TO 5 360 FOR N=M+1TO 6 370 S=S+1 380 IF A(M+5*ABS (M=3))=0OR A(N+5*ABS (N=3))=0THEN 410 390 ON S GOSUB 440,450,480,490,500,510,520,590,600,660,670,680,710,720,730 400 GOSUB 790:N=6:M=5 410 NEXT N:NEXT M 420 GOTO 100 430 ' TRIANGLE 440 W=ACS ((A(1)^2-A(2)^2+A(3)^2)/(2*A(1)*A(3))):RETURN 450 W=ASN (A(8)/A(1)) 460 Z=Z0-W+180 470 GOSUB 850:GOTO 800 480 RETURN 490 GOTO 520 500 GOTO 600 510 W=360-ASN (A(8)/A(2)):GOSUB 590:GOTO 460 520 P=A(3)*SIN A(N):T=ABS (A(3)*COS A(N)):U=SQR (A(M)^2-P^2):O=1:IF N=5GOSUB 590 530 IF (A(N)>=90AND A(M)A(M))THEN 870 540 IF A(N)<90AND A(M)>=A(3) THEN 580 550 IF A(M)>A(3) OR P=A(M)THEN 570 560 GOSUB 580:GOSUB 780 570 O=-1 580 L=ABS (T+O*U):RETURN 590 X0=X2:Y0=Y2:Z0=Z1+180:RETURN - 87- 600 P=180-ASN (A(M)/A(3)*SIN A(6)) 610 IF A(M)<=A(3) THEN 630 620 W=P+A(6):GOSUB 640:GOSUB 460 630 W=P-A(6) 640 IF M=2THEN 700 650 RETURN 660 L=A(8)/SIN A(4):RETURN 670 L=A(8)/SIN A(5):GOTO 590 680 V=A(3)/2:P=V*TAN ((180-A(6)*2)/2):R=SQR (P^2+V^2):Q=SQR ABS (R^2-(P-ABS A(8))^2):L=SQR (A(8)^2+(Q+V)^2) 690 W=ASN (A(8)/L):GOSUB 780 700 W=A(10)-W:GOTO 590 710 GOTO 740 720 L=A(3)*SIN (180-A(4)-A(6))/SIN A(6):RETURN 730 W=180-A(5)-A(6) 740 L=A(3)*SIN A(5)/SIN (180-W-A(5)):RETURN 750 Z=Z-360*ABS (Z>=360)+360*ABS (Z<0) 760 RETURN 770 ' SUBROUTINE 780 GOSUB 850 790 Z=Z0+W 800 GOSUB 750:DX=L*SIN Z:DY=L*COS Z:X=X0+DX:Y=Y0+DY:GOSUB 860:WAIT 810 BEEP 1:PRINT " X=";MDF X;" Y=";MDF Y 820 GOSUB 860:WAIT 0:RETURN 830 :P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 840 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R:RETURN 850 BEEP 2:PAUSE "2 Triangles" 860 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K:RETURN 870 WAIT :BEEP 2:PRINT "NOT TRIANGLE DATA CHECK!" 880 GOSUB 820:GOTO 100 890 LOCATE 0,3:PRINT " L=";ABS A(N):LOCATE 20,3 900 V=0:INPUT " V=";V:Z=V:GOSUB 830:LOCATE 20,3:PAUSE " V=";Z$ 910 IF Z>=0THEN 940 920 Z=ABS Z 930 Z=450+Z:IF Z>=360LET Z=Z-360 940 A(N)=ABS (A(N)*COS DEG Z):K=3:GOSUB 860:K=2 950 RETURN - 88- @@Perpendicular Calculation 10 ' Perpendicular Calculation 20 DEFDBL :DEGREE 30 CLS :WAIT 0:USING "#######,###.###" 40 PRINT "Perpendicular Calculation" 50 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 60 LOCATE 20,0:INPUT "Y1=";Y1 70 LOCATE 20,0:PRINT "Y1=";Y1 80 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 90 LOCATE 20,1:INPUT "Y2=";Y2 100 LOCATE 20,1:PRINT "Y2=";Y2 110 X0=X1:Y0=Y1 120 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 130 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 140 GOSUB 360 150 Z0=AZ:Z=DMS AZ 160 K=2:GOSUB 420:GOSUB 390:PRINT "AZ=";Z$:LOCATE 20,2:PRINT "L =";MDF L0 170 K=3:GOSUB 420:INPUT "X3=";X3:LOCATE 0,3:PRINT "X3=";X3 180 LOCATE 20,3:INPUT "Y3=";Y3 190 LOCATE 20,3:PRINT "Y3=";Y3 200 DX3=X3-X1:DY3=Y3-Y1:L3=SQR (DX3^2+DY3^2):AZ3=ASN (DX3/(L3+ABS (L3=0))) 210 AZ3=(360+AZ3)*ABS (DY3>=0)+(180-AZ3)*ABS (DY3<0) 220 AN=AZ3-AZ+360 230 IF AN>=360LET AN=AN-360:GOTO 230 240 Z=DMS AN:GOSUB 390 250 K=2:GOSUB 420 260 LOCATE 0,2:PRINT "X3=";X3 270 LOCATE 20,2:PRINT "Y3=";Y3 280 K=3:GOSUB 420 290 BEEP 1 300 L=L3*COS AN 310 H=L3*SIN AN 320 LOCATE 0,3:PRINT "L =";MDF L 330 WAIT :LOCATE 20,3:PRINT "H =";MDF H:K=3:GOSUB 420 340 GOTO 120 350 END 360 IF AZ>=360LET AZ=AZ-360:GOTO 360 370 IF AZ<0LET AZ=AZ+360:GOTO 370 380 RETURN 390 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 400 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 410 RETURN 420 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 430 RETURN 440 K=3:GOSUB 420 450 RETURN - 89- Vertical Calculation 10 CLS :DEGREE :WAIT 0:PRINT "Vertical Calculation" 20 LOCATE 0,1:INPUT " r=";RR 30 LOCATE 0,2:INPUT " l=";LL 40 R=DEG RR:L=DEG LL:IF R>L LET R1=R:R2=L:R=R2:L=R1 50 Z=R:GOSUB 190 60 LOCATE 0,0:PRINT " r= ";Z$ 70 Z=L:GOSUB 190 80 LOCATE 0,1:PRINT " l= ";Z$ 90 T=R+L:U=ABS (360-T):Z=T:GOSUB 190 100 LOCATE 0,2:PRINT "TOTAL= ";Z$ 110 Z=U:GOSUB 190:IF T<360LET S$="-" 120 LOCATE 0,3:PRINT " e= ";S$+Z$ 130 V2=R-L:IF V2<0LET V2=V2+360 140 Z=V2:GOSUB 190:LOCATE 21,1:PRINT "2Z= ";Z$ 150 V1=V2/2:Z=V1:GOSUB 190 160 LOCATE 22,2:PRINT "Z= ";Z$:V=ABS (90-V1):Z=V:GOSUB 190:IF V1>90LET S$="-" 170 WAIT :BEEP 1:LOCATE 22,3::PRINT "V= ";S$+Z$ 180 GOTO 10 190 Z=DMS (Z+5/TEN 6) 200 D=INT Z:CC=(Z-D)*100:E=INT CC:G=INT ((CC-E)*1000)/10 210 Z$=STR$ D+CHR$ &DF+STR$ E+CHR$ &27+STR$ G 220 S$="+":RETURN - 90- @ WILD Atmosphere Distance Correction 10 ' WILD Atmospher Distance Correction 20 CLS :DEGREE :DEFDBL :USING "####,###.####" 30 ' ------ First Element ------ 40 ' Basic Temperature 10 ßC 1.7+(TM-30)*0.085 50 ' Basic Elevation 0 m AH*0.003 60 REM 70 REM 80 REM 90 REM 100 CLS :WAIT 0:PRINT "WILD Atmospher Distance Correction" 110 LOCATE 0,1:INPUT "GH=";GH 120 CLS :LOCATE 0,0:PRINT "GH=";MDF GH 130 LOCATE 20,0:INPUT "IH=";IH 140 LOCATE 30,0:INPUT "FH=";FH 150 LOCATE 0,1:INPUT "Tem=";TM 160 LOCATE 20,1:INPUT " V=";V0:V=DEG V0 170 LOCATE 0,2:INPUT "L 1=";L1 180 LOCATE 19,2:INPUT "L 2=";L2 190 LOCATE 0,3:INPUT "L 3=";L3 200 A=L1+L2+L3 210 L=A/3:J=((L* SIN V)/2+GH+IH-FH)*0.003+1.7+(TM-30)*0.085:D=J*L/TEN 5:D0=L+D 220 WAIT :LOCATE 17,3:PRINT "TOTAL=";MDF A 230 CLS :WAIT 0:LOCATE 0,0:PRINT "TOTAL/ 3 =";MDF L;" Average" 240 LOCATE 0,1:PRINT "Air+Tem=";MDF J;" a coefficient" 250 LOCATE 0,2:PRINT " d=";MDF D;" Air+Tem" 260 BEEP 1:WAIT :LOCATE 0,3:PRINT "D0=";MDF D0;" Slope Length" 270 GOTO 100 280 REM 290 REM 300 ' ------ Subroutine ------ 310 *SUB1:' ------ Vertical ------ 320 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 330 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 340 RETURN - 91- Distance Calculation 10 ' Distance Calculation 20 CLS :DEGREE :DEFDBL :USING "####,###.####" 30 ' ------ First Element ------ 40 ER=6377397.155:' Radius of the earth 50 K=0.9999:' a projection coefficient 60 REM 70 REM 80 REM 90 REM 100 PRINT "Distance Calculation" 110 PRINT "D0= Slope Length" 120 LOCATE 4,1:INPUT L0 130 CLS :LOCATE 0,0:PRINT "D0=";L0;" Slope Length" 140 V1=0:INPUT " VER 1=";V1 150 IF V1=0THEN 220 160 Z=ABS V1:S=SGN V1 170 IF V1>=0LET S$="+" 180 IF V1<0LET S$="-" 190 V1=DEG V1:V0=SGN V1 200 GOSUB *SUB1 210 LOCATE 7,1:PRINT S$+Z$ 220 V2=0:LOCATE 21,1:INPUT "VER 2=";V2 230 IF V2=0THEN 290 240 Z=ABS V2:S=SGN V2:V2=DEG V2 250 IF V2>=0LET S$="+" 260 IF V2<0LET S$="-" 270 GOSUB *SUB1 280 LOCATE 27,1:PRINT S$+Z$ 290 IF V1=0LET V=-V2:GOTO 320 300 IF V2=0LET V=V1:GOTO 320 310 V=V0*(ABS V1+ABS V2)/2 320 Z=ABS (DMS V):S=SGN V 330 IF V>=0LET S$="+" 340 IF V<0LET S$="-" 350 GOSUB *SUB1 360 LOCATE 0,2:PRINT " VER =";S$+Z$ 370 WAIT 0:LOCATE 0,3:INPUT "GH=";GH 380 LOCATE 15,3:INPUT "IH=";IH 390 LOCATE 30,3:INPUT "FH=";FH 400 D=L0*COS V 410 H=L0*SIN V 420 DH=H+IH-FH 430 EL=GH+DH 440 AH=(GH+EL)/2 450 IF V2=0LET DD=-EL*D/ER:L=D+DD:GOTO 490 460 IF V1=0LET DD=-GH*D/ER:L=D+DD:GOTO 480 470 DD=-AH*D/ER:L=D+DD 480 IF V1=0THEN CLS :LOCATE 0,0:PRINT "dH= ***":GOTO 500 490 CLS :LOCATE 0,0:PRINT "dH=";MDF H 500 IF V1=0THEN LOCATE 20,0:PRINT "EL= ***":GOTO 520 510 LOCATE 20,0:PRINT "EL=";MDF EL 520 IF V1=0OR V2=0THEN LOCATE 0,1:PRINT "AH= ***":GOTO 540 530 LOCATE 0,1:PRINT "AH=";MDF AH 540 LOCATE 20,1:PRINT " D=";MDF D 550 LOCATE 0,2:PRINT " d=";MDF DD 560 LOCATE 20,2:PRINT " S=";MDF L 570 USING "####,###.######" 580 LOCATE 0,3:PRINT " K=";K;" a coefficient" 590 LOCATE 20,3:INPUT K 600 KK=(K-1)*D - 92- 610 USING "####,###.####" 620 CLS :LOCATE 0,0:PRINT " S=";MDF L;" Spherical surface" 630 USING "###,####.######" 640 LOCATE 0,1:PRINT " K=";MDF K;" a coefficient" 650 LOCATE 0,2:PRINT " k=";MDF KK;" Projection" 660 USING "####,###.####" 670 L=L*K 680 WAIT :BEEP 1:LOCATE 0,3:PRINT " L=";MDF L;" Plane Length" 690 CLS :WAIT 0 :GOTO 100 700 ' ------ Subroutine ------ 710 *SUB1:' ------ Vertical ------ 720 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 730 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 740 RETURN - 93- @ Fixed or Closed or Open Traverse Calculation 100 Points 10 ' Fixed and Closed and Open Traverse 20 *MAIN:DEFDBL :' --- Main routine --- 30 CLS :DEGREE 40 S1$="E:" 50 S2$="F:" 60 S3$="X:" 70 S4$="CAS:" 80 SD$=".DAT" 90 FN$="FIXED" 100 ON ERROR GOTO *ERR 110 WAIT 0:PRINT "Fixed , Closed , Open Traverse [100 P]" 120 Y=1:LOCATE 4,2:INPUT " [ 1:Continue 2:New 3:Load ] ";Y 130 IF Y=1THEN *LIST 140 IF Y=2THEN *INPUT1 150 IF Y>=4THEN *MAIN 160 REM 170 REM 180 REM 190 REM 200 *LOAD:' -------- Data load -------- 210 SL=0 220 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 230 IF S>=5THEN *MAIN 240 PRINT "File name [ ] ";" { ";FN$;SD$;" }" 250 LOCATE 11,3:INPUT FN$ 260 IF FN$="C"THEN *MAIN 270 ERASE NA$,HA,L,X,Y 280 DIM NA$(101),HA(101),L(101),X(101),Y(101) 290 IF S=4OPEN S4$+FN$+SD$ FOR INPUT AS #1:GOTO 330 300 IF S=3OPEN S3$+FN$+SD$ FOR INPUT AS #1:GOTO 330 310 IF S=2OPEN S2$+FN$+SD$ FOR INPUT AS #1:GOTO 330 320 OPEN S1$+FN$+SD$ FOR INPUT AS #1 330 WAIT 0:PRINT "¥¥¥¥ Now Loading Just a moment Please !!" 340 INPUT #1,X1,Y1,X2,Y2,X3,Y3,X4,Y4,HA(*),L(*),X(*),Y(*),NA$(*) 350 CLOSE #1 360 IF Y2=0LET AZ=DEG X2:GOSUB *SUB2:AZ1=AZ:Z1$=Z$:GOTO 400 370 DX=X2-X1:DY=Y2-Y1 380 GOSUB *SUB1 390 L1=L0:AZ1=AZ:Z1$=Z$ 400 IF Y4=0LET AZ=DEG X4:GOSUB *SUB2:AZ2=AZ:Z2$=Z$:GOTO 440 410 DX=X4-X3:DY=Y4-Y3 420 GOSUB *SUB1 430 L2=L0:AZ2=AZ:Z2$=Z$ 440 GOTO *CAL 450 REM 460 REM 470 REM 480 REM 490 REM - 94- 500 *INPUT1:' --------- Input 1 -------- 510 CLS :WAIT 0:USING "####,###.###" 520 LOCATE 0,2:PRINT "[ Closed X2= Azimuth ( Outer ) ][ Y2=0 and X3~Y4 are RETERN ]" 530 LOCATE 0,0:INPUT "Start Point X1=";X1:X0=X1:X3=X1 540 LOCATE 20,0:INPUT " Y1=";Y1:Y0=Y1:Y3=Y1 550 LOCATE 0,1:INPUT "Back Point X2=";X2:X4=X2 560 LOCATE 20,1:INPUT " Y2=";Y2:Y4=Y2 570 IF Y2=0LET AZ=DEG X2:GOSUB *SUB2:AZ1=AZ:Z1$=Z$:GOTO 610 580 DX=X2-X1:DY=Y2-Y1 590 GOSUB *SUB1 600 L1=L0:AZ1=AZ:Z1$=Z$ 610 K=2:GOSUB *SUB4 620 K=3:GOSUB *SUB4 630 LOCATE 0,2:INPUT "End Point X3=";X3 640 LOCATE 20,2:INPUT " Y3=";Y3 650 LOCATE 0,3:INPUT "Fore Point X4=";X4 660 LOCATE 20,3:INPUT " Y4=";Y4 670 IF Y4=0LET AZ=DEG X4:GOSUB *SUB2:AZ2=AZ:Z2$=Z$:GOTO 710 680 DX=X4-X3:DY=Y4-Y3 690 GOSUB *SUB1 700 L2=L0:AZ2=AZ:Z2$=Z$ 710 CLS :WAIT 0 720 LOCATE 0,0:PRINT "S. Point X1=";X1;" Y1=";Y1 730 IF X3=0AND Y3=0AND X4=0AND Y4=0THEN 790 740 IF Y2=0THEN 770 750 LOCATE 0,1:PRINT " AZ1=";Z1$ 760 LOCATE 25,1:PRINT "L1=";MDF L1:GOTO 830 770 LOCATE 0,1:PRINT " AZ1=";Z1$ 780 GOTO 830 790 IF Y2=0THEN 820 800 LOCATE 0,1:PRINT " AZ1=";Z1$ 810 LOCATE 25,1:WAIT :PRINT "L1=";MDF L1:GOTO 830 820 LOCATE 0,1:WAIT :PRINT " AZ1=";Z1$ 830 IF X3=0AND Y3=0AND X4=0AND Y4=0THEN 930 840 IF X4=0AND Y4=0THEN 870 850 LOCATE 0,2:PRINT "E. Point X3=";X3;" Y3=";Y3 860 GOTO 890 870 LOCATE 0,2:WAIT :PRINT "E. Point X3=";X3;" Y3=";Y3 880 GOTO 930 890 IF Y4=0THEN 920 900 LOCATE 0,3:WAIT 0:PRINT " AZ2=";Z2$ 910 LOCATE 25,3:WAIT :PRINT "L2=";MDF L2:GOTO 930 920 LOCATE 0,3:WAIT :PRINT " AZ2=";Z2$ 930 CLS :WAIT 0 940 REM 950 REM 960 REM 970 REM 980 REM 990 REM - 95- 1000 *INPUT2:' --------- Input 2 -------- 1010 ERASE NA$,HA,L,X,Y 1020 DIM NA$(101),HA(101),L(101),X(101),Y(101) 1030 FOR I=1TO 100 1040 CLS :WAIT 0:USING "###" 1050 PRINT I; 1060 INPUT " NAME=";NA$(I) 1070 INPUT " HA=";HA(I):HA(I)=DEG HA(I):AZ=HA(I):GOSUB *SUB2:LOCATE 0,1:PRINT " HA=";Z$ 1080 IF X4=0AND Y4=0THEN 1100 1090 IF X1=X3 AND Y1=Y3 AND AZ1=AZ2 THEN 1130 1095 GOTO 1120 1100 LOCATE 0,3:PRINT "[In case Open Next point are HA=0 L=0]" 1110 GOTO 1140 1120 LOCATE 0,3:PRINT "[ In case Fixed Last Point is L=0 ]":GOTO 1140 1130 LOCATE 0,3:PRINT "[In case Closed Next point are HA=0 L=0]" 1140 LOCATE 0,2:INPUT " L=";L(I) 1150 IF L(I)<0GOSUB *SUB3 1160 IF L(I)=0LET I=100:GOTO 1170 1170 NEXT I 1180 K=3:GOSUB *SUB4 1190 WAIT :LOCATE 0,3 1200 Y=1:INPUT "Data [ 1:Change 2:Save 3:CAL. 4:List]";Y 1210 IF Y<=1THEN *CHANGE 1220 IF Y=2THEN *SAVE 1230 IF Y>=4THEN *LIST 1240 GOTO *CAL 1250 REM 1260 REM 1270 REM 1280 REM 1290 REM 1300 *LIST:' -------- Data List ------- 1310 CLS :WAIT 0 1320 USING "####,###.###":' 3 Figure 1330 LOCATE 0,0:PRINT "S. Point X1=";X1;" Y1=";Y1 1340 IF X3=0AND Y3=0AND X4=0AND Y4=0THEN 1400 1350 IF Y2=0THEN 1380 1360 LOCATE 0,1:PRINT " AZ1=";Z1$ 1370 LOCATE 25,1:PRINT "L1=";MDF L1:GOTO 1440 1380 LOCATE 0,1:PRINT " AZ1=";Z1$ 1390 GOTO 1440 1400 IF Y2=0THEN 1430 1410 LOCATE 0,1:PRINT " AZ1=";Z1$ 1420 LOCATE 25,1:WAIT :PRINT "L1=";MDF L1:GOTO 1540 1430 LOCATE 0,1:WAIT :PRINT " AZ1=";Z1$ 1440 IF X3=0AND Y3=0AND X4=0AND Y4=0THEN 1540 1450 IF X4=0AND Y4=0THEN 1480 1460 LOCATE 0,2:PRINT "E. Point X3=";X3;" Y3=";Y3 1470 GOTO 1500 1480 LOCATE 0,2:WAIT :PRINT "E. Point X3=";X3;" Y3=";Y3 1490 GOTO 1540 1500 IF Y4=0THEN 1530 1510 LOCATE 0,3:WAIT 0:PRINT " AZ2=";Z2$ 1520 LOCATE 25,3:WAIT :PRINT "L2=";MDF L2:GOTO 1540 1530 LOCATE 0,3:WAIT :PRINT " AZ2=";Z2$ 1540 AZ0=AZ1+180:X0=X1:Y0=Y1 1550 FOR I=1TO 100 1560 CLS :WAIT 0 1570 USING "###":PRINT I; 1580 PRINT " NAME=";NA$(I) 1590 AZ=HA(I):GOSUB *SUB2:LOCATE 0,1:PRINT " HA=";Z$ 1600 USING "####,###.###":LOCATE 0,2:PRINT " L =";MDF L(I) 1610 AZ0=AZ0+HA(I)-180 1620 IF AZ0>=360LET AZ0=AZ0-360:GOTO 1620 1630 IF AZ0<0LET AZ0=AZ0+360:GOTO 1630 1640 IF L(I)=0LET I=100:GOTO 1680 1650 DX=L(I)*SIN AZ0:DY=L(I)*COS AZ0 1660 X0=X0+DX:Y0=Y0+DY 1670 LOCATE 0,3:WAIT :PRINT "Open X=";MDF X0;" Y=";MDF Y0 1680 NEXT I 1690 REM - 96- 1700 *CHANGE:' --------- Cange -------- 1710 WAIT 1720 Y=1:INPUT "Data[1:Change 2:Insert 3:Delete4:Save]";Y 1730 IF Y>4THEN *LIST 1740 IF Y=4THEN *SAVE 1750 IF Y=3THEN *DELETE 1760 IF Y=2THEN *INSERT 1770 Y=1:INPUT "Change [ 1:NO. 2:XY,AZ 3:CAL. 4:List]";Y 1780 IF Y>=4THEN *LIST 1790 IF Y=3THEN *CAL 1800 IF Y=2THEN *CHANGE1 1810 N=0:INPUT "Change NO. ";N 1820 IF N<=0THEN *CAL 1830 GOSUB *CHANGE2 1840 GOTO 1810 1850 REM 1860 REM 1870 REM 1880 REM 1890 REM 1900 *CHANGE1:' ------- Change 1 ------- 1910 CLS :WAIT 0 1920 USING "####,###.####":' 4 Figure 1930 LOCATE 0,0:PRINT "Start Point X1=";X1 1940 LOCATE 0,1:PRINT " Y1=";Y1 1950 LOCATE 0,2:PRINT "Back Point X2=";X2 1960 LOCATE 0,3:PRINT " Y2=";Y2 1970 LOCATE 29,0:INPUT X1 1980 LOCATE 29,1:INPUT Y1 1990 LOCATE 29,2:INPUT X2 2000 LOCATE 29,3:INPUT Y2 2010 IF Y2=0LET AZ=DEG X2:GOSUB *SUB2:AZ1=AZ:Z1$=Z$:GOTO 2050 2020 DX=X2-X1:DY=Y2-Y1 2030 GOSUB *SUB1 2040 L1=L0:AZ1=AZ:Z1$=Z$ 2050 CLS 2060 LOCATE 0,0:PRINT "End Point X3=";X3 2070 LOCATE 0,1:PRINT " Y3=";Y3 2080 LOCATE 0,2:PRINT "Fore Point X4=";X4 2090 LOCATE 0,3:PRINT " Y4=";Y4 2100 LOCATE 29,0:INPUT X3 2110 LOCATE 29,1:INPUT Y3 2120 LOCATE 29,2:INPUT X4 2130 LOCATE 29,3:INPUT Y4 2140 IF Y4=0LET AZ=DEG X4:GOSUB *SUB2:AZ2=AZ:Z2$=Z$:GOTO 2180 2150 DX=X4-X3:DY=Y4-Y3 2160 GOSUB *SUB1 2170 L2=L0:AZ2=AZ:Z2$=Z$ 2180 GOTO 1770 2190 REM - 97- 2200 *CHANGE2:' ------- Cange 2 ------- 2210 CLS :WAIT 0:USING "###":I=N 2220 LOCATE 0,0:PRINT N; 2230 PRINT " NAME=";NA$(N);" Change" 2240 AZ=HA(N):GOSUB *SUB2 2250 LOCATE 0,1:PRINT " HA=";Z$ 2260 USING "###,###.###" 2270 LOCATE 0,2:PRINT " L =";L(N) 2280 LOCATE 25,0:INPUT NA$(N) 2290 HA=DMS HA(N):LOCATE 25,1:INPUT HA:IF HA<>DMS HA(N)LET HA(N)=DEG HA 2300 LOCATE 25,2:INPUT L(N):IF L(N)<0GOSUB *SUB3 2310 RETURN 2320 REM 2330 REM 2340 REM 2350 REM 2360 REM 2370 REM 2380 REM 2390 REM 2400 *INSERT:' -------- Insert -------- 2410 N=0:INPUT "Insert NO. ";N 2420 IF N<=0THEN *LIST 2430 CLS :WAIT 0:I=N 2440 USING "###":PRINT N; 2450 PRINT " NAME=";NA$(N);" Insert" 2460 AZ=HA(N):GOSUB *SUB2 2470 LOCATE 0,1:PRINT " HA=";Z$ 2480 USING "###,###.###" 2490 LOCATE 0,2:PRINT " L =";L(N) 2500 LOCATE 25,0:INPUT NA$ 2510 LOCATE 25,1:INPUT HA:HA=DEG HA 2520 LOCATE 25,2:INPUT L 2530 IF L<0GOSUB *SUB33 2540 FOR I=N TO 100 2550 NA$(0)=NA$(I):HA(0)=HA(I):L(0)=L(I) 2560 NA$(I)=NA$:HA(I)=HA:L(I)=L 2570 NA$=NA$(0):HA=HA(0):L=L(0) 2580 IF L(I)=0LET I=100 2590 NEXT I 2600 GOTO *INSERT 2610 REM 2620 REM 2630 REM 2640 REM 2650 REM 2660 REM 2670 REM 2680 REM 2690 REM - 98- 2700 *DELETE:' -------- Delete -------- 2710 N=0:INPUT "Delete NO. ";N 2720 IF N<=0THEN *LIST 2730 CLS :WAIT 0 2740 USING "###":PRINT N; 2750 PRINT " NAME=";NA$(N);" Delete" 2760 AZ=HA(N):GOSUB *SUB2 2770 LOCATE 0,1:PRINT " HA=";Z$ 2780 USING "###,###.###" 2790 LOCATE 0,2:PRINT " L =";MDF L(N) 2800 Y$="N":INPUT " Delete (Y/N) ";Y$ 2810 IF Y$<>"Y"THEN 2860 2820 FOR I=N TO 100 2830 NA$(I)=NA$(I+1):HA(I)=HA(I+1):L(I)=L(I+1) 2840 IF L(I)=0LET I=100 2850 NEXT I 2860 GOTO *DELETE 2870 REM 2880 REM 2890 REM 2900 *CAL:' ------ Calculation ------- 2910 IF X3=0AND Y3=0AND X4=0AND Y4=0THEN *LIST 2920 AZ0=AZ1+180:X0=X1:Y0=Y1:TL=0 2930 FOR I=1TO 100 2940 TL=TL+L(I) 2950 AZ0=AZ0+HA(I)+180 2960 IF AZ0>=360LET AZ0=AZ0-360:GOTO 2960 2970 IF AZ0<0LET AZ0=AZ0+360:GOTO 2970 2980 J=I 2990 IF L(I)=0LET I=100:GOTO 3020 3000 DX=L(I)*SIN AZ0:DY=L(I)*COS AZ0 3010 X0=X0+DX:Y0=Y0+DY:X(I)=X0:Y(I)=Y0 3020 NEXT I 3030 IF X4=0AND Y4=0LET DAZ=0:EAZ=0:GOTO 3080 3040 DAZ=AZ0-AZ2 3050 IF DAZ>=0LET S=1:S$="+" 3060 IF DAZ<0LET S=-1:S$="-" 3070 DAZ=ABS DAZ 3080 CLS :WAIT 0:USING "###" 3090 IF X4=0AND Y4=0THEN 3130 3100 IF X1=X3 AND Y1=Y3 AND AZ1=AZ2 THEN 3130 3110 PRINT "Total Points=";J;" Points" 3120 GOTO 3150 3130 PRINT "Total Points=";J-1;" Points" 3140 IF X4=0AND Y4=0THEN 3250 3150 AZ=DAZ:GOSUB *SUB2 3160 PRINT " dAZ=";S$+Z$; 3170 IF X1=X3 AND Y1=Y3 AND AZ1=AZ2 THEN 3210 3180 IF S=1LET EAZ=-DAZ/J:S$="-" 3190 IF S=-1LET EAZ=DAZ/J:S$="+" 3200 GOTO 3230 3210 IF S=1LET EAZ=-DAZ/(J-1):S$="-" 3220 IF S=-1LET EAZ=DAZ/(J-1):S$="+" 3230 AZ=ABS EAZ:GOSUB *SUB2 3240 LOCATE 22,1:PRINT "eAZ=";S$+Z$ 3250 USING "###,###.###" 3260 DX=X(J-1)-X3:DY=Y(J-1)-Y3 3270 ERR=ABS TL/SQR (DX^2+DY^2) 3280 PRINT " dX=";MDF DX; 3290 PRINT " dY=";MDF DY 3300 USING "#######,###" 3310 PRINT " Error 1/";ERR; 3320 Y$="Y":INPUT " OK? (Y/N) ";Y$ 3330 IF Y$="Y"THEN 3350 3340 GOTO *LIST 3350 AZ0=AZ1+180:X0=X1:Y0=Y1:TDL=0 3360 FOR I=1TO 100 3370 TDL=TDL+L(I) 3380 AZ0=AZ0+HA(I)+EAZ+180 3390 IF AZ0>=360LET AZ0=AZ0-360:GOTO 3390 3400 IF AZ0<0LET AZ0=AZ0+360:GOTO 3400 3410 J=I 3420 IF L(I)=0LET I=100:GOTO 3450 3430 DX=L(I)*SIN AZ0:DY=L(I)*COS AZ0 3440 X0=X0+DX:Y0=Y0+DY:X(I)=X0:Y(I)=Y0 3450 NEXT I 3460 USING "###,###.###" 3470 DX=X(J-1)-X3:DY=Y(J-1)-Y3 3480 IF X4=0AND Y4=0THEN 3550 3490 PRINT " dX=";MDF DX; 3500 PRINT " dY=";MDF DY 3510 USING "#######,###" 3520 PRINT " Error 1/";ABS TL/SQR (DX^2+DY^2); 3530 Y$="Y":INPUT " OK? (Y/N) ";Y$ 3540 IF Y$="N"THEN *LIST 3550 EDX=-DX/TL:EDY=-DY/TL 3560 X=X(J-1)+EDX*TDL:Y=Y(J-1)+EDY*TDL 3570 WAIT 0 3580 REM 3590 REM - 99- 3600 *OUT:' --------- Output ---------- 3610 TDL=0 3620 FOR I=1TO 100 3630 TDL=TDL+L(I) 3640 IF L(I)=0LET I=100:GOTO 3870 3650 X=X(I)+EDX*TDL:Y=Y(I)+EDY*TDL 3660 CLS :WAIT 0 3670 USING "###":PRINT I; 3680 PRINT " ";NA$(I); 3690 USING "##,###.###" 3700 PRINT " TL=";TL; 3710 USING "###,###" 3720 PRINT " Error 1/";ERR 3730 USING "####,###.###":' 3 Figure 3740 PRINT "Open X=";MDF X(I); 3750 PRINT " Y=";MDF Y(I) 3760 PRINT " ex=";MDF (EDX*TDL); 3770 PRINT " ey=";MDF (EDY*TDL) 3780 IF X4=0AND Y4=0THEN 3840 3790 IF X1=X3 AND Y1=Y3 AND AZ1=AZ2 THEN 3820 3800 PRINT "Fixed X=";MDF X; 3810 GOTO 3850 3820 PRINT "Closed X=";MDF X; 3830 GOTO 3850 3840 PRINT "OPEN X=";MDF X; 3850 WAIT 3860 PRINT " Y=";MDF Y 3870 NEXT I 3880 CLS 3890 GOTO 1190 3900 *SAVE:' -------- Data save ------- 3910 WAIT 0 3920 SL=1 3930 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 3940 IF S>=5THEN *CAL 3950 PRINT "File name [ ] ";"{";FN$;SD$;"}" 3960 LOCATE 11,3:INPUT FN$ 3970 IF FN$="C"THEN *LIST 3980 IF S=4OPEN S4$+FN$+SD$ FOR OUTPUT AS #1:GOTO 4020 3990 IF S=3OPEN S3$+FN$+SD$ FOR OUTPUT AS #1:GOTO 4020 4000 IF S=2OPEN S2$+FN$+SD$ FOR OUTPUT AS #1:GOTO 4020 4010 OPEN S1$+FN$+SD$ FOR OUTPUT AS #1 4020 WAIT 0:PRINT "¥¥¥¥¥ Now saving Just a moment Please !!" 4030 PRINT #1,X1,Y1,X2,Y2,X3,Y3,X4,Y4,HA(*),L(*),X(*),Y(*),NA$(*) 4040 CLOSE #1 4050 GOTO *CAL 4060 REM 4070 REM 4080 REM 4090 REM -100- 4100 *ERR:' ---------- Error ---------- 4110 BEEP 2 4120 WAIT 0 4130 IF ERN =72AND SL=0PRINT "I/O error":RESUME 220 4140 IF ERN =72AND SL=1PRINT "I/O error":RESUME 3930 4150 IF ERN =75AND SL=0PRINT "Bad drive name":RESUME 220 4160 IF ERN =75AND SL=1PRINT "Bad drive name":RESUME 3930 4170 IF ERN =76AND SL=1PRINT "File write protected":RESUME 3930 4180 IF ERN =77PRINT "Disk full":RESUME 3930 4190 IF ERN =94PRINT "File not found":RESUME 220 4200 RESUME *LIST 4210 REM 4220 REM 4230 REM 4240 REM 4250 REM 4260 REM 4270 REM 4280 REM 4290 REM 4300 *SUB:' -------- Subroutine ------- 4310 *SUB1:' -------- Reverse --------- 4320 L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 4330 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 4340 IF AZ>=360LET AZ=AZ-360:GOTO 4340 4350 IF AZ<0LET AZ=AZ+360:GOTO 4350 4360 *SUB2:' -------- Azimuth --------- 4370 Z0=AZ:Z=DMS AZ 4380 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 4390 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 4400 RETURN 4410 *SUB3:' -------- S->L --------- 4420 K=3:GOSUB *SUB4 4430 USING "####,###.###" 4440 LOCATE 0,3:PRINT " S=";ABS L(I) 4450 LOCATE 20,3:INPUT " V=";V 4460 IF V>0LET S=1:S$="+" 4470 IF V<=0LET S=-1:S$="-" 4480 V=DEG (ABS V):AZ=V:GOSUB *SUB2:LOCATE 20,3:PAUSE "V =";Z$ 4490 IF S=-1THEN 4530 4500 V=450+V 4510 IF V>=360LET V=V-360:GOTO 4510 4520 IF V<0LET V=V+360:GOTO 4520 4530 L(I)=ABS (L(I)*COS V) 4540 WAIT :LOCATE 20,3:PRINT "L =";MDF L(I) 4550 RETURN 4560 *SUB33:' -------- S->L --------- 4570 K=3:GOSUB *SUB4 4580 USING "####,###.###" 4590 LOCATE 0,3:PRINT " S=";ABS L 4600 LOCATE 20,3:INPUT " V=";V 4610 IF V>0LET S=1:S$="+" 4620 IF V<=0LET S=-1:S$="-" 4630 V=DEG (ABS V):AZ=V:GOSUB *SUB2:LOCATE 20,3:PAUSE "V =";Z$ 4640 IF S=-1THEN 4680 4650 V=450+V 4660 IF V>=360LET V=V-360:GOTO 4660 4670 IF V<0LET V=V+360:GOTO 4670 4680 L=ABS (L*COS V) 4690 WAIT :LOCATE 20,3:PRINT "L =";MDF L 4700 RETURN 4710 *SUB4:' -------- Display ----- 4720 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 4730 RETURN -101- @ Level Calculation ( Fixed , Closed , Open , Radiation ) 200 Points 10 ' Direct Level Calculation 20 *MAIN:' -------- Main routine ---------- 30 CLS 40 S1$="E:" 50 S2$="F:" 60 S3$="X:" 70 S4$="CAS:" 80 SD$=".DAT" 90 FN$="LEVEL" 100 ON ERROR GOTO *ERR 110 WAIT 0:PRINT "Direct Level Calculation [ 200 Points ]" 120 Y=1:LOCATE 4,2:INPUT " [ 1:Continue 2:New 3:Load ] ";Y 130 IF Y=1THEN *OUT 140 IF Y=2THEN *INPUT 150 IF Y>=4THEN *MAIN 160 REM 170 REM 180 REM 190 REM 200 *LOAD:' -------- Data load --------- 210 SL=0 220 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 230 IF S>=5THEN *MAIN 240 PRINT "File name [ ] ";" { ";FN$;SD$;" }" 250 LOCATE 11,3:INPUT FN$ 260 IF FN$="C"THEN *MAIN 270 ERASE BS,FS 280 DIM BS(201),FS(201) 290 IF S=4OPEN S4$+FN$+SD$ FOR INPUT AS #1:GOTO 330 300 IF S=3OPEN S3$+FN$+SD$ FOR INPUT AS #1:GOTO 330 310 IF S=2OPEN S2$+FN$+SD$ FOR INPUT AS #1:GOTO 330 320 OPEN S1$+FN$+SD$ FOR INPUT AS #1 330 WAIT 0:PRINT "¥¥¥¥ Now Loading Just a moment Please !!" 340 INPUT #1,EL1,EL2,BS(*),FS(*) 350 CLOSE #1 360 GOTO *OUT 370 REM 380 REM 390 REM 400 *INPUT:' --------- Input --------- 410 CLS :WAIT 0 420 LOCATE 2,2:INPUT "Start Point EL=";EL1 430 IF EL1=0THEN *MAIN 440 LOCATE 2,3:INPUT "Last Point EL=";EL2 450 ERASE BS,FS 460 DIM BS(201),FS(201) 470 PRINT 480 PRINT " 1"; 490 USING "##,###.###" 500 PRINT " " ;EL1 510 USING "##.###" 520 LOCATE 3,3:INPUT " BS=";BS(1) 530 FOR I=2TO 200 540 USING "###":PRINT I; 550 USING "##.###" 560 LOCATE 15:INPUT " FS=";FS(I) 570 IF FS(I)>=0THEN 600 580 LOCATE 3,3:INPUT " BS=";BS(I) 590 IF BS(I)=0LET I=200 600 NEXT I -102- 610 REM 620 REM 630 REM 640 REM 650 *OUT:' --------- Output ---------- 660 BS=BS(1):FS=0:M=0 670 FOR I=2TO 200 680 IF FS(I)=0LET I=200:GOTO 730 690 IF FS(I)>0THEN 730 700 M=M+1 710 BS=BS+BS(I) 720 FS=FS+ABS FS(I) 730 NEXT I 740 DH=BS-FS 750 BEEP 1 760 CLS :WAIT 0 770 H=EL2-EL1 780 USING "#,###.###" 790 LOCATE 0,0:PRINT "SEL=";EL1;" EEL=";EL2; 800 IF EL2=0THEN 820 810 PRINT " H=";H 820 LOCATE 0,1:USING "#,###.###":PRINT " BS=";MDF BS;" FS=";MDF FS;" DH=";MDF DH 830 LOCATE 14,2:USING "###":PRINT M;" Points"; 840 IF EL2=0PRINT " ":GOTO 860 850 LOCATE 27,2:USING "#,###.###":PRINT " e =";MDF (H-DH) 860 WAIT 870 Y=1:INPUT "Data [ 1:Change 2:Save 3:CAL. 4:List ]";Y 880 IF Y<=1THEN *CHANGE 890 IF Y=2THEN *SAVE 900 IF Y>=4THEN *LIST 910 IF EL2=0THEN *LIST 920 GOTO *CAL 930 REM 940 REM 950 *LIST:' -------- Data List --------- 960 CLS :WAIT 0 970 PRINT " NO. BS FS Open EL" 980 PRINT " 1"; 990 USING "##.###" 1000 PRINT " ";BS(1); 1010 USING "#,###.###" 1020 PRINT " ";EL1 1030 IH=EL1+BS(1) 1040 FOR I=2TO 200 1050 IF FS(I)=0LET I=200:GOTO 1170 1060 EL=IH-ABS FS(I) 1070 WAIT 0 1080 USING "###":PRINT I; 1090 USING "##.###" 1100 IF BS(I)=0 PRINT " ";:GOTO 1120 1110 PRINT " ";BS(I); 1120 PRINT " ";ABS FS(I);" "; 1130 WAIT 1140 USING "#,###.###" 1150 PRINT " ";EL 1160 IF FS(I)<0LET IH=EL+BS(I) 1170 NEXT I 1180 PRINT " -------------------------------------- " 1190 GOTO *OUT -103- 1200 *CHANGE:' --------- Change --------- 1210 WAIT 1220 Y=1:INPUT "Data[1:Change 2:Insert 3:Delete 4:New]";Y 1230 IF Y>4THEN *OUT 1240 IF Y=4THEN *INPUT 1250 IF Y=3THEN *DELETE 1260 IF Y=2THEN *INSERT 1270 Y=1:INPUT "Change [ 1:NO. 2:EL 3:CAL. 4:List ]";Y 1280 IF Y>=4THEN *LIST 1290 IF Y=3THEN *CAL 1300 IF Y=2THEN 1410 1310 N=0:INPUT "Change NO. ";N 1320 IF N<=0THEN *OUT 1330 WAIT 0 1340 PRINT " NO. BS FS EL" 1350 USING "###":PRINT N; 1360 USING "##.###" 1370 PRINT " ";BS(N);" ";FS(N) 1380 INPUT " BS=";BS(N) 1390 INPUT " FS=";FS(N) 1400 GOTO 1310 1410 WAIT 0 1420 CLS :USING "##,###.###" 1430 PRINT 1440 PRINT " Start Point EL=";EL1; 1450 INPUT " EL=";EL1 1460 PRINT " Last Point EL=";EL2; 1470 INPUT " EL=";EL2 1480 GOTO 1270 1490 REM 1500 *INSERT:' -------- Insert --------- 1510 N=0:INPUT "Insert NO. ";N 1520 IF N<=0THEN *OUT 1530 WAIT 0 1540 PRINT " NO. BS FS EL" 1550 USING "###":PRINT N; 1560 USING "##.###" 1570 PRINT " ";BS(N);" ";FS(N) 1580 BS=0:INPUT " BS=";BS 1590 FS=0:INPUT " FS=";FS 1600 IF FS=0THEN *INSERT 1610 FOR I=N TO 200 1620 B=BS(I):F=FS(I) 1630 BS(I)=BS:FS(I)=FS 1640 BS=B:FS=F 1650 IF BS(I)=0AND FS(I)<0LET I=200 1660 NEXT I 1670 GOTO *INSERT 1680 REM 1690 REM -104- 1700 *DELETE:' -------- Delete --------- 1710 N=0:INPUT "Delete NO. ";N 1720 IF N<=0THEN *OUT 1730 WAIT 0 1740 PRINT " NO. BS FS EL" 1750 USING "###":PRINT N; 1760 USING "##.###" 1770 PRINT " ";BS(N);" ";FS(N) 1780 Y$="N":INPUT "Delete(Y/N) ";Y$ 1790 IF Y$<>"Y"THEN 1840 1800 FOR I=N TO 200 1810 BS(I)=BS(I+1):FS(I)=FS(I+1) 1820 IF BS(I)=0AND FS(I)<0LET FS(I+1)=0:I=200 1830 NEXT I 1840 GOTO *DELETE 1850 *CAL:' --------- Calculation --------- 1860 IF EL2=0THEN 950 1870 USING "#,###.###" 1880 BS=BS(1):FS=0:M=0 1890 H=EL2-EL1 1900 FOR I=2TO 200 1910 IF FS(I)=0LET I=200:GOTO 1960 1920 IF FS(I)>0THEN 1960 1930 M=M+1 1940 BS=BS+BS(I) 1950 FS=FS+ABS FS(I) 1960 NEXT I 1970 ERASE DE 1980 DIM DE(M+1) 1990 DH=BS-FS 2000 E=H-DH:DE=E/M:TDE=0 2010 FOR I=1TO M 2020 DE(I)=MDF (DE*I)-TDE 2030 TDE=TDE+DE(I) 2040 NEXT I 2050 CLS :WAIT 0 2060 PRINT " NO. BS FS e EL" 2070 PRINT " 1"; 2080 USING "##.###" 2090 PRINT " ";BS(1); 2100 USING "#,###.###" 2110 PRINT " ";EL1 2120 IH=EL1+BS(1)+DE(1) 2130 L=1 2140 FOR I=2TO 200 2150 IF FS(I)=0LET I=200:GOTO 2290 2160 EL=IH-ABS FS(I) 2170 WAIT 0 2180 USING "###":PRINT I; 2190 USING "##.###" 2200 IF BS(I)=0 PRINT " ";:GOTO 2220 2210 PRINT " ";BS(I); 2220 PRINT " ";ABS FS(I); 2230 USING "####.###" 2240 PRINT " ";DE(L); 2250 WAIT 2260 USING "#,###.###" 2270 PRINT " ";EL 2280 IF FS(I)<0LET L=L+1:IH=EL+BS(I)+DE(L) 2290 NEXT I 2300 PRINT " -------------------------------------- " 2310 GOTO *OUT 2320 REM 2330 REM 2340 REM -105- 2350 *SAVE:' -------- Data save -------- 2360 WAIT 0 2370 SL=1 2380 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 2390 IF S>=5THEN *OUT 2400 PRINT "File name [ ] ";" { ";FN$;SD$;" }" 2410 LOCATE 11,3:INPUT FN$ 2420 IF FN$="C"THEN *OUT 2430 IF S=4OPEN S4$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2470 2440 IF S=3OPEN S3$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2470 2450 IF S=2OPEN S2$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2470 2460 OPEN S1$+FN$+SD$ FOR OUTPUT AS #1 2470 WAIT 0:PRINT "¥¥¥¥¥ Now saving Just a moment Please !!" 2480 PRINT #1,EL1,EL2,BS(*),FS(*) 2490 CLOSE #1 2500 GOTO *OUT 2510 REM 2520 REM 2530 REM 2540 REM 2550 *ERR:' -------- Error ---------- 2560 BEEP 2 2570 WAIT 0 2580 IF ERN =72AND SL=0PRINT "I/O error":RESUME 220 2590 IF ERN =72AND SL=1PRINT "I/O error":RESUME 2380 2600 IF ERN =75AND SL=0PRINT "Bad drive name":RESUME 220 2610 IF ERN =75AND SL=1PRINT "Bad drive name":RESUME 2380 2620 IF ERN =76AND SL=1PRINT "File write protected":RESUME 2380 2630 IF ERN =77PRINT "Disk full":RESUME 2380 2640 IF ERN =94PRINT "File not found":RESUME 220 2650 RESUME *LIST -106- @ Simple curve Element Calculation 10 DEFDBL 20 WAIT 0:CLS :DEGREE :ON ERROR GOTO 690 30 PRINT "Simple Curve 1 [ Element ]":ERASE A,A$:DIM A(6),A$(6):USING "#######,###.###" 40 FOR N=1TO 6:A$(N)=MID$ ("IAR CLTLSLL ",N*2-1,2)+"=":NEXT N 50 REM 60 FOR N=1TO 6:A(N)=0:NEXT N:S=0:K=1:GOSUB 680 70 FOR N=1TO 6 80 IF A(N)<>0OR S>1THEN 200 90 LOCATE S*20+2,K:PRINT A$(N) 100 LOCATE S*20+5,K:INPUT A(N) 110 IF A(N)=0THEN 200 120 IF N>1THEN 180 130 A(N)=DEG A(N) 140 IF A(N)>=180LET A(N)=360-A(N) 150 Z=DMS A(N):GOSUB 650 160 LOCATE 20*S+2,K:PRINT A$(N);Z$ 170 GOTO 190 180 LOCATE 20*S+2,1:PRINT A$(N);MDF A(N) 190 S=S+1 200 NEXT N:IF S<2THEN 70 210 S=0:K=3:GOSUB 680 220 FOR M=1TO 5 230 FOR N=M+1TO 6 240 S=S+1 250 IF A(M)=0OR A(N)=0THEN 280 260 ON S GOSUB 310,320,330,340,350,360,370,380,390,400,410,420,430,440,445 270 GOSUB 470:N=6:M=5 280 NEXT N:NEXT M 290 GOTO 50 300 ' SIMPLE CURVE 310 RETURN :' IA-R 320 A(2)=(A(3)*360)/(2*PI *A(1)):RETURN 330 A(2)=A(4)/TAN (A(1)/2):RETURN 340 RETURN :' IA-SL 350 A(2)=A(6)/2/SIN (A(1)/2):RETURN :' IA-L 360 A(1)=A(3)*360/(2*PI *A(2)):RETURN 370 A(1)=2*ATN (A(4)/A(2)):RETURN 380 A(1)=2*ACS (A(2)/(A(2)+A(5))):RETURN 390 A(1)=2*ASN (A(6)/A(2)/2):RETURN :' R - L 400 RETURN :' CL-TL 410 RETURN :' CL-SL 420 RETURN :' CL- L 430 RETURN :' TL-SL 440 A=ACS (A(6)/A(4)/2):A(1)=2*A:A(2)=A(6)/2/COS (90-A):RETURN :' TL- L 445 RETURN :' SL-L 450 ' SUBROUTINE 460 GOSUB 670 470 A(3)=2*A(2)*PI *A(1)/360 480 A(4)=A(2)*TAN (A(1)/2) 490 A(5)=A(2)/COS (A(1)/2)-A(2) 500 A(6)=2*A(2)*SIN (A(1)/2) 510 BEEP 1 520 Z=DMS A(1):GOSUB 650 530 K=1:GOSUB 680 540 LOCATE 2,1:PRINT "IA=";Z$ 550 LOCATE 22,1:PRINT "R =";MDF A(2) 560 LOCATE 2,2:PRINT "CL=";MDF A(3) 570 LOCATE 22,2:PRINT "TL=";MDF A(4) 580 LOCATE 2,3:PRINT "SL=";MDF A(5) 590 WAIT 600 LOCATE 22,3:PRINT "L =";MDF A(6) -107- 610 REM 620 K=1:GOSUB 680 630 K=2:GOSUB 680 640 K=3:GOSUB 680:WAIT 0:RETURN 650 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 660 Z$=STR$ P+"ß"+STR$ Q+"'"+STR$ R:RETURN 670 REM 680 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K:RETURN 690 WAIT :BEEP 2:PRINT "NOT SIMPLE CURVE DATA CHECK!" 700 GOSUB 620:GOTO 50 -108- Simple curve Intermidiam Calculation 10 ' Simple Curve 2 [ Intermidiam Point ] 20 CLS :DEGREE :DEFDBL :USING "#######,###.###" 30 PRINT "Simple Curve 2 [ Intermidiam Point ]" 40 INPUT " X1=";X1:CLS :LOCATE 2,0:PRINT "X1=";X1 50 LOCATE 22,0:INPUT "Y1=";Y1 60 LOCATE 22,0:PRINT "Y1=";Y1 70 INPUT " X2=";X2:LOCATE 2,1:PRINT "X2=";X2 80 LOCATE 22,1:INPUT "Y2=";Y2 90 IF Y2=0LET K=1:GOSUB 530:GOTO 110 100 LOCATE 22,1:PRINT "Y2=";Y2 110 X0=X1:Y0=Y1 120 IF Y2=0LET AZ=DEG X2:GOTO 150 130 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 140 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 150 GOSUB 470 160 Z0=AZ:Z=DMS AZ 170 K=2:GOSUB 530:GOSUB 500:PRINT " AZ=";Z$ 180 IF Y2=0THEN 200 190 LOCATE 22,2:PRINT "L =";MDF L0 200 K=3:GOSUB 530:INPUT " -R+=";R1 210 IF R1=0THEN 20 220 LOCATE 1,3:PRINT " R =";R1 230 IF 2*ABS R1-L0<0THEN 200 240 AN1=ACS (L0/2/R1) 250 AZ1=AZ+AN1 260 DX=R1*SIN AZ1:DY=R1*COS AZ1 270 RX=X1+DX:RY=Y1+DY 280 BEEP 1 290 LOCATE 2,2:PRINT "RX=";MDF RX 300 LOCATE 22,2:PRINT "RY=";MDF RY:K=3:GOSUB 530 310 K=3:GOSUB 530:INPUT " CL=";CL 320 IF CL=0THEN 200 330 LOCATE 1,3:PRINT " CL=";CL 340 AN2=360*CL/(2*R1*PI ) 350 AZ2=AZ1+AN2-180 360 DX=R1*SIN AZ2:DY=R1*COS AZ2 370 CX=RX+DX:CY=RY+DY 380 BEEP 1 390 LOCATE 2,3:PRINT "X =";MDF CX 400 WAIT :LOCATE 22,3:PRINT "Y =";MDF CY:K=3:GOSUB 530 410 GOTO 310 460 END 470 IF AZ>=360LET AZ=AZ-360:GOTO 470 480 IF AZ<0LET AZ=AZ+360:GOTO 480 490 RETURN 500 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 510 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 520 RETURN 530 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 540 RETURN -109- Simple curve Figure Calculation 10 ' Simple Curve 3 ( Figure ) 20 *MAIN:DEFDBL :' --- Main routine --- 30 CLS :DEGREE 40 S1$="E:" 50 S2$="F:" 60 S3$="X:" 70 S4$="CAS:" 80 SD$=".DAT" 90 FN$="SIMPLE" 100 ON ERROR GOTO *ERR 110 WAIT 0:PRINT "Simple Curve 3 ( Figure ) [IP 20 Points]" 120 Y=1:LOCATE 4,2:INPUT " [ 1:Continue 2:New 3:Load ] ";Y 130 IF Y=1THEN *LIST 140 IF Y=2THEN *INPUT1 150 IF Y>=4THEN *MAIN 160 REM 170 REM 180 REM 190 REM 200 *LOAD:' -------- Data Load --------- 210 SL=0 220 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 230 IF S>=5THEN *MAIN 240 PRINT "File name [ ]";"{";FN$;SD$;"}" 250 LOCATE 11,3:INPUT FN$ 260 IF FN$="C"THEN *MAIN 270 ERASE IP,R,BC,SP,EC,IA,L,AZ,CL,TL 280 DIM IP(21,2),R(21,2),BC(21,2),SP(21,2),EC(21,2),IA(21),L(21),AZ(21),CL(21),TL(21) 290 IF S=4OPEN S4$+FN$+SD$ FOR INPUT AS #1:GOTO 330 300 IF S=3OPEN S3$+FN$+SD$ FOR INPUT AS #1:GOTO 330 310 IF S=2OPEN S2$+FN$+SD$ FOR INPUT AS #1:GOTO 330 320 OPEN S1$+FN$+SD$ FOR INPUT AS #1 330 WAIT 0:PRINT "¥¥¥¥ Now Loading Just a moment Please !!" 340 INPUT #1,IP(*),R(*),BC(*),SP(*),EC(*),IA(*),L(*),AZ(*),CL(*),TL(*) 350 CLOSE #1 360 GOTO *LIST 370 REM 380 REM 390 REM 400 *INPUT1:' ----- Input ----- 410 USING "###,###.###" 420 ERASE IP,R,BC,SP,EC,IA,L,AZ,CL,TL 430 DIM IP(21,2),R(21,2),BC(21,2),SP(21,2),EC(21,2),IA(21),L(21),AZ(21),CL(21),TL(21) 440 FOR I=0TO 20 450 CLS :IP(I,1)=0:LOCATE 0,0:PRINT "IP";STR$ I;:INPUT " X=";IP(I,1) 460 LOCATE 0,0:PRINT "IP";STR$ I;" X=";IP(I,1); 470 IP(I,2)=0:INPUT " Y=";IP(I,2) 480 IF I<>0THEN 520 490 L0=0:LOCATE 5,1:PRINT "L=";L0;" Total distance" 500 LOCATE 20,1:INPUT L0 510 GOTO 560 520 IF R(I-1,0)=0AND IP(I,1)=0AND IP(I,2)=0LET I=20:GOTO 560 530 LOCATE 0,2:PRINT "[ In case Last Point is R=0 ]" 540 LOCATE 0,3:PRINT "[ Next Last IP Point are X=0,Y=0 ]" 550 LOCATE 0,1:R(I,0)=0:PRINT " R";STR$ I;:INPUT " =";R:R(I,0)=ABS R 560 NEXT I 570 REM 580 REM 590 REM -110- 600 *CHANGE:' --------- Change --------- 610 WAIT 0 620 Y=1:INPUT "Data[1:Change 2:Insert 3:Delete4:Save]";Y 630 IF Y>4THEN *LIST 640 IF Y=4THEN *SAVE 650 IF Y=3THEN *DELETE 660 IF Y=2THEN *INSERT 670 Y=1:INPUT "Change [ 1:IP 2:IP0 3:CAL. 4:List ]";Y 680 IF Y>=4THEN *LIST 690 IF Y=3THEN *CAL 700 IF Y=2THEN *CHANGE1 710 N=0:INPUT "Change NO. ";N 720 IF N<=0THEN *CAL 730 GOSUB *CHANGE2 740 GOTO 710 750 REM 760 REM 770 REM 780 REM 790 REM 800 *CHANGE1:' --------- Change 1 ----- 810 CLS :WAIT 0 820 USING "####,###.###":' 3 Figure 830 LOCATE 0,0:PRINT "IP 0 X=";IP(0,1) 840 LOCATE 0,1:PRINT " Y=";IP(0,2) 850 LOCATE 0,2:PRINT " L=";L0;" Total distance" 860 LOCATE 20,0:INPUT IP(0,1) 870 LOCATE 20,1:INPUT IP(0,2) 880 LOCATE 20,2:INPUT L0 890 GOTO *TEISEI 900 *CHANGE2:' --------- Change 2 ----- 910 CLS :WAIT 0 920 USING "####,###.###":' 3 Figure 930 LOCATE 0,0:PRINT "IP ";STR$ N;" X=";IP(N,1) 940 LOCATE 0,1:PRINT " Y=";IP(N,2) 950 LOCATE 0,2:PRINT " R=";R(N,0) 960 LOCATE 21,0:INPUT IP(N,1) 970 LOCATE 21,1:INPUT IP(N,2) 980 LOCATE 21,2:INPUT R(N,0) 990 RETURN 1000 *INSERT:' ----- Insert ----- 1010 N=0:INPUT "Insert NO. ";N 1020 IF N<=0THEN *LIST 1030 CLS :WAIT 0 1040 USING "##":PRINT "IP ";N; 1050 USING "####,###.###" 1060 LOCATE 6,0:PRINT "X=";IP(N,1) 1070 LOCATE 6,1:PRINT "Y=";IP(N,2) 1080 LOCATE 6,2:PRINT "R=";R(N,0) 1090 LOCATE 21,0:INPUT X 1100 LOCATE 21,1:INPUT Y 1110 LOCATE 21,2:INPUT R 1120 FOR I=N TO 20 1130 X1=IP(I,1):Y1=IP(I,2):R1=R(I,0) 1140 IP(I,1)=X:IP(I,2)=Y:R(I,0)=R 1150 X=X1:Y=Y1:R=R1 1160 IF R(I,0)=0AND IP(I+1,1)=0AND IP(I+1,2)=0LET I=20 1170 NEXT I 1180 GOTO *INSERT 1190 REM -111- 1200 *DELETE:' ----- Delete ----- 1210 N=0:INPUT "Delete NO. ";N 1220 IF N<=0THEN *LIST 1230 CLS :WAIT 0 1240 USING "##":PRINT N; 1250 USING "####,###.###":' 3 Figure 1260 PRINT " IP ";STR$ N;" X=";IP(N,1) 1270 LOCATE 9,1:PRINT "Y=";IP(N,2) 1280 LOCATE 9,2:PRINT "R=";R(N,0) 1290 Y$="N":INPUT " Delete(Y/N) ";Y$ 1300 IF Y$<>"Y"THEN 1350 1310 FOR I=N TO 20 1320 IP(I,1)=IP(I+1,1):IP(I,2)=IP(I+1,2):R(I,0)=R(I+1,0) 1330 IF R(I,0)=0AND IP(I+1,1)=0AND IP(I+1,2)=0LET I=20 1340 NEXT I 1350 GOTO *DELETE 1360 REM 1370 REM 1380 REM 1390 REM 1400 *LIST:' ----- Data List ----- 1410 USING "####,###.###":' 3 Figure 1420 FOR I=1TO 20 1430 CLS :WAIT 0 1440 PRINT " IP ";STR$ I;" X=";IP(I,1) 1450 LOCATE 7,1:PRINT "Y=";IP(I,2) 1460 WAIT :LOCATE 7,2:PRINT "R=";R(I,0) 1470 IF R(I,0)=0AND IP(I+1,1)=0AND IP(I+1,2)=0LET I=20 1480 NEXT I 1490 REM -112- 1500 *CAL:' ----- Calculation ----- 1510 FOR I=1TO 20 1520 DX=IP(I,1)-IP(I-1,1) 1530 DY=IP(I,2)-IP(I-1,2) 1540 L(I-1)=SQR (DX^2+DY^2) 1550 AZ(I-1)=ACS (DY/L(I-1)) 1560 IF DX<0LET AZ(I-1)=360-AZ(I-1) 1570 IF AZ(I-1)>=360LET AZ(I-1)=AZ(I-1)-360 1580 IF AZ(I-1)<0LET AZ(I-1)=AZ(I-1)+360 1590 IF R(I,0)=0AND IP(I+1,1)=0AND IP(I+1,2)=0LET I=20 1600 NEXT I 1610 EC(0,0)=L0 1620 FOR I=1TO 20 1630 IF R(I-1,0)=0AND IP(I,1)=0AND IP(I,2)=0LET I=20:GOTO 1900 1640 IA(I)=AZ(I)-AZ(I-1) 1650 K=0 1660 IF IA(I)<0AND IA(I)>-180LET IA(I)=ABS IA(I):K=1 1670 IF IA(I)<0AND IA(I)<=-180LET IA(I)=IA(I)+360:K=0 1680 IF IA(I)>=180LET IA(I)=360-IA(I):K=1 1690 TL(I)=R(I,0)*TAN (IA(I)/2) 1700 BC(I,1)=IP(I-1,1)+(L(I-1)-TL(I))*SIN AZ(I-1) 1710 BC(I,2)=IP(I-1,2)+(L(I-1)-TL(I))*COS AZ(I-1) 1720 IF K=1THEN 1780 1730 R(I,1)=IP(I,1)+R(I,0)/COS (IA(I)/2)*SIN (AZ(I)+(180-IA(I))/2) 1740 R(I,2)=IP(I,2)+R(I,0)/COS (IA(I)/2)*COS (AZ(I)+(180-IA(I))/2) 1750 SP(I,1)=IP(I,1)+(R(I,0)/COS (IA(I)/2)-R(I,0))*SIN (AZ(I)+(180-IA(I))/2) 1760 SP(I,2)=IP(I,2)+(R(I,0)/COS (IA(I)/2)-R(I,0))*COS (AZ(I)+(180-IA(I))/2) 1770 GOTO 1820 1780 R(I,1)=IP(I,1)+R(I,0)/COS (IA(I)/2)*SIN (AZ(I)-(180-IA(I))/2) 1790 R(I,2)=IP(I,2)+R(I,0)/COS (IA(I)/2)*COS (AZ(I)-(180-IA(I))/2) 1800 SP(I,1)=IP(I,1)+(R(I,0)/COS (IA(I)/2)-R(I,0))*SIN (AZ(I)-(180-IA(I))/2) 1810 SP(I,2)=IP(I,2)+(R(I,0)/COS (IA(I)/2)-R(I,0))*COS (AZ(I)-(180-IA(I))/2) 1820 EC(I,1)=IP(I,1)+TL(I)*SIN AZ(I) 1830 EC(I,2)=IP(I,2)+TL(I)*COS AZ(I) 1840 CL(I)=(2*PI *R(I,0)/360*IA(I)) 1850 L=L(I-1)-TL(I)-TL(I-1) 1860 BC(I,0)=EC(I-1,0)+L 1870 SP(I,0)=BC(I,0)+CL(I)/2 1880 EC(I,0)=BC(I,0)+CL(I) 1890 LL=EC(I,0)+L(I+1) 1900 NEXT I 1910 REM 1920 REM 1930 REM 1940 REM -113- 1950 *PRT:' ----- Display ----- 1960 FOR I=1TO 20 1970 IF R(I,0)=0AND IP(I+1,1)=0AND IP(I+1,2)=0LET I=20:GOTO 2100 1980 USING "###,###.###" 1990 Z=IA(I):GOSUB 2460 2000 CLS :WAIT 0:LOCATE 0,0:PRINT "IP ";STR$ I;" ";MDF IP(I,1);MDF IP(I,2) 2010 LOCATE 0,1:PRINT " R =";MDF R(I,0) 2020 LOCATE 20,1:PRINT " CL=";MDF CL(I) 2030 LOCATE 0,2:PRINT " TL=";MDF TL(I) 2040 LOCATE 20,2:PRINT " IA=";Z$ 2050 WAIT :LOCATE 0,3:PRINT " RX=";MDF R(I,1);" RY=";MDF R(I,2) 2060 WAIT 0:CLS :LOCATE 0,0:PRINT "NAME X Y L" 2070 LOCATE 0,1:PRINT "BC ";STR$ I;" ";MDF BC(I,1);MDF BC(I,2);MDF BC(I,0) 2080 LOCATE 0,2:PRINT "SP ";STR$ I;" ";MDF SP(I,1);MDF SP(I,2);MDF SP(I,0) 2090 WAIT :LOCATE 0,3:PRINT "EC ";STR$ I;" ";MDF EC(I,1);MDF EC(I,2);MDF EC(I,0) 2100 WAIT 0:NEXT I 2110 WAIT :PRINT " TOTAL DISTANCE=";MDF LL 2120 WAIT 0:GOTO *CHANGE 2130 END 2140 REM 2150 *SAVE:' -------- Data save -------- 2160 WAIT 0 2170 SL=1 2180 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 2190 IF S>=5THEN *CAL 2200 PRINT "File name [ ]";"{";FN$;SD$;"}" 2210 LOCATE 11,3:INPUT FN$ 2220 IF FN$="C"THEN *LIST 2230 IF S=4OPEN S4$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2270 2240 IF S=3OPEN S3$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2270 2250 IF S=2OPEN S2$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2270 2260 OPEN S1$+FN$+SD$ FOR OUTPUT AS #1 2270 WAIT 0:PRINT "¥¥¥¥¥ Now saving Just a moment Please !!" 2280 PRINT #1,IP(*),R(*),BC(*),SP(*),EC(*),IA(*),L(*),AZ(*),CL(*),TL(*) 2290 CLOSE #1 2300 GOTO *CHANGE 2310 REM 2320 REM 2330 REM 2340 REM 2350 *ERR:' -------- Error ---------- 2360 BEEP 2 2370 WAIT 0 2380 IF ERN =72AND SL=0PRINT "I/O error":RESUME 220 2390 IF ERN =72AND SL=1PRINT "I/O error":RESUME 2180 2400 IF ERN =75AND SL=0PRINT "Bad drive name":RESUME 220 2410 IF ERN =75AND SL=1PRINT "Bad drive name":RESUME 2180 2420 IF ERN =76AND SL=1PRINT "File write protected":RESUME 2180 2430 IF ERN =77PRINT "Disk full":RESUME 2180 2440 IF ERN =94PRINT "File not found":RESUME 220 2450 RESUME *CHANGE 2460 REM 2470 Z=DMS (Z+5/10^6) 2480 D=INT Z:F=(Z-D)*100:E=INT F:G=INT ((F-E)*1000)/10 2490 Z$=STR$ D+"ß"+STR$ E+"'"+STR$ G 2500 RETURN -114- Circle Element Calculation 10 ' Circle Element 20 *MAIN:' ----------- MAIN ----------- 30 DEFDBL 40 WAIT 0:CLS :DEGREE :ON ERROR GOTO *ERR 50 PRINT "Circle Element":ERASE A,A$:DIM A(8),A$(8):USING "#######,###.###" 60 FOR N=1TO 8:A$(N)=MID$ (" RANCL L t S s r",N*2-1,2)+"=":NEXT N 70 REM 80 REM 90 REM 100 *INPUT:' ---------- INPUT --------- 110 FOR N=1TO 8:A(N)=0:NEXT N:S=0:K=1:GOSUB 850 120 FOR N=1TO 5 130 IF A(N)<>0OR S>1THEN 240 140 LOCATE S*20+1,K:PRINT A$(N) 150 LOCATE S*20+4,K:INPUT A(N) 160 IF A(N)=0THEN 240 170 IF N<>2THEN 220 180 A(N)=DEG A(N) 190 Z=DMS A(N):GOSUB *ANGLE 200 LOCATE 20*S+1,K:PRINT A$(N);Z$ 210 GOTO 230 220 LOCATE 20*S+1,1:PRINT A$(N);MDF A(N) 230 S=S+1 240 NEXT N:IF S<2THEN 120 250 S=0:K=3:GOSUB *DISP 260 FOR M=1TO 4 270 FOR N=M+1TO 5 280 S=S+1 290 IF A(M)=0OR A(N)=0THEN 320 300 ON S GOSUB 370,380,390,400,410,420,430,440,450,460 310 GOSUB 560:N=6:M=5 320 NEXT N:NEXT M 330 GOTO *INPUT 340 REM 350 *CAL:' -------- CALCULATION ------- 360 ' CIRCLE 370 RETURN :' R-AN 380 A(2)=(A(3)*360)/(2*PI *A(1)):RETURN 390 A(2)=2*ASN (A(4)/(2*A(1))):RETURN 400 A(2)=2*ACS ((A(1)-A(5))/A(1)):RETURN 410 A(1)=A(3)*360/(2*PI *A(2)):RETURN 420 A(1)=A(4)/(2*SIN (A(2)/2)):RETURN 430 A(1)=A(5)/(1-COS (A(2)/2)):RETURN 440 RETURN :' CL- L 450 RETURN :' CL- t 460 A(2)=360-4*ATN (A(4)/(2*A(5))):A(1)=(SQR (A(5)^2+(A(4)/2)^2))/(2*SIN (A(2)/4)):RETURN :' L- t 470 REM 480 REM 490 REM -115- 500 *ERR:' ----------- ERROR ---------- 510 K=3:GOSUB *DISP 520 WAIT :BEEP 2 530 PRINT " Not Simple Curve DATA CHECK !!" 540 GOSUB 760:RESUME *INPUT 550 ' ¥¥¥¥¥¥¥¥¥¥ SUBROUTINE ¥¥¥¥¥¥¥¥¥¥ 560 A(3)=2*A(2)*PI *A(1)/360 570 A(4)=2*A(1)*SIN (A(2)/2) 580 A(5)=A(1)-A(1)*COS (A(2)/2) 590 A(6)=PI *A(1)^2*A(2)/360 600 A(7)=(PI *A(1)^2*A(2)/360)-(A(1)^2*SIN (A(2)/2)*COS (A(2)/2)) 610 A(8)=A(1)*COS (A(2)/2) 620 BEEP 1 630 Z=DMS A(2):GOSUB *ANGLE 640 K=1:GOSUB *DISP 650 USING "#######,###.###" 660 LOCATE 1,1:PRINT " R=";MDF A(1) 670 LOCATE 21,1:PRINT "AN=";Z$ 680 USING "##,###.###" 690 LOCATE 1,2:PRINT "CL=";MDF A(3) 700 LOCATE 14,2:PRINT " L=";MDF A(4) 710 LOCATE 27,2:PRINT " S=";MDF A(6) 720 LOCATE 1,3:PRINT " r=";MDF A(8) 730 LOCATE 14,3:PRINT " t=";MDF A(5) 740 WAIT 750 LOCATE 27,3:PRINT " s=";MDF A(7) 760 FOR K=1TO 3 770 GOSUB *DISP 780 NEXT K 790 WAIT 0:RETURN 800 *ANGLE:' ¥¥¥¥¥¥¥¥¥¥ ANGLE ¥¥¥¥¥¥¥¥¥ 810 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 820 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R:RETURN 830 REM 840 REM 850 *DISP:' ¥¥¥¥¥¥¥¥¥ DISPLAY ¥¥¥¥¥¥¥¥¥ 860 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K:RETURN -116- Indirect Level Calculation 3 ( S,V ) m Reverse n 10 ' Indirect Level 3 [ S,V ](REVERSE) 20 DEFDBL :DEGREE :USING "##,###.##" 30 ' ------ First Element ------ 40 ' We can get unknown elevation from known elevation . Indirect Level 50 ' Vertical --- Horizontal 90ß Input + Horizontal 0ßInput - 60 REM 70 REM 80 REM 90 REM 100 CLS :WAIT 0:BEEP 2:PRINT "Indirect Level 3 [ S,V ](REVERSE)" 110 LOCATE 0,1:INPUT "*GH=";GH 120 LOCATE 20,1:INPUT "*FH=";FH 130 LOCATE 30,1:INPUT "*IH=";IH 140 LOCATE 0,2:INPUT " V=";V0 150 V=DEG V0:IF V>0THEN 170 160 V=ABS V:V=450-V:IF V>=360 LET V=V-360 170 LOCATE 20,2:INPUT " L=";L0:L=L0 180 V=90-V 190 L0=ABS L0:L=ABS (L0*COS V) 200 H=L0*SIN V 210 DH=H+IH-FH 220 DH=-DH 230 EL=GH+DH 240 LOCATE 0,3:PRINT " L=";MDF L 250 LOCATE 14,3:PRINT "DH=";MDF DH 260 WAIT :LOCATE 28,3:PRINT "EL=";MDF EL 270 GOTO 100 280 REM 290 REM 300 ' ------ Subroutine ------ 310 *SUB1:' ------ Vertical ------ 320 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 330 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 340 RETURN -117- @@Indirect Level Calculation 4 ( dh ) m Reverse n 10 ' Indirect Level 4 (REVERSE) 20 DEFDBL :DEGREE :USING "##,###.###" 30 ' ------ First Element ------ 40 ' We can get unknown elevation from known elevation . Indirect Level 50 CLS :WAIT 0:BEEP 2:PRINT "Indirect Level 4 [ dh ] (REVERSE)" 60 LOCATE 0,1:INPUT "*GH=";GH 70 LOCATE 20,1:INPUT "*IH=";IH 80 LOCATE 30,1:INPUT "*FH=";FH 90 LOCATE 1,2:INPUT "dh=";H 100 DH=H+IH-FH 110 DH=-DH 120 EL=GH+DH 130 LOCATE 1,3:PRINT "DH=";MDF DH 140 WAIT :LOCATE 21,3:PRINT "EL=";MDF EL 150 GOTO 50 -118- @ Stadia Calculation 1 m Elevetion , Distance n 1600 CLS :DEGREE :DEFDBL :WAIT 0:PRINT "Stadia 1":USING "#,###.##" 1610 K=100:' Stadia a coefficient K 1620 C=0:' Stadia a coefficient C 1630 LOCATE 0,1:INPUT "GH=";GH 1640 LOCATE 20,1:INPUT "IH=";IH 1650 LOCATE 0,2:INPUT "FH=";FH 1660 LOCATE 10,2:INPUT "S1=";S1:IF S1>=0THEN LOCATE 20,2:INPUT "S2=";S2 1670 LOCATE 29,2:INPUT "V=";V0 1680 V=DEG V0:IF V>0THEN 1700 1690 V=ABS V:V=450-V:IF V>=360 LET V=V-360 1700 S=ABS (S1-S2):IF S1<0LET S=ABS S1 1710 V=90-V 1720 L=K*S*SQU COS V+C*COS V:H=K*S*COS V*SIN V+C*SIN V 1730 DH=H+IH-FH 1740 EL=GH+DH 1750 LOCATE 0,3:PRINT " L=";MDF L 1760 LOCATE 13,3:PRINT "dH=";MDF DH 1770 WAIT :BEEP 1:LOCATE 28,3:PRINT "EL=";MDF EL 1780 LOCATE 0,2:WAIT 0:PRINT " " 1790 LOCATE 0,3:PRINT " " 1800 GOTO 1650 -119- @ Stadia Calculation 2 m Elevation , Coordinates n 1700 CLS :DEGREE :DEFDBL :PRINT "Stadia 2":USING "####,###.##" 1710 K=100:' Stadia a coefficient K 1720 C=0:' Stadia a coefficient C 1730 INPUT "X1=";X1 1740 CLS :LOCATE 0,0:PRINT "X1=";MDF X1 1750 LOCATE 20,0:INPUT "Y1=";Y1 1760 LOCATE 20,0:PRINT "Y1=";MDF Y1 1770 LOCATE 0,1:INPUT "X2=";X2 1780 LOCATE 0,1:PRINT "X2=";MDF X2 1790 LOCATE 20,1:INPUT "Y2=";Y2 1800 IF Y2=0LET AZ0=DEG X2:AZ=AZ0:GOTO 1830 1810 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ0=ASN (DX/(L0+ABS (L0=0))) 1820 AZ0=(360+AZ0)*ABS (DY>=0)+(180-AZ)*ABS (DY<0):AZ=AZ0 1830 GOSUB *SUB1 1840 Z=DMS AZ:GOSUB *SUB2 1850 KK=1:GOSUB *SUB3 1860 LOCATE 0,1:PAUSE "AZ=";Z$ 1870 KK=1:GOSUB *SUB3 1880 LOCATE 0,1:INPUT "GH=";GH 1890 LOCATE 20,1:INPUT "IH=";IH 1900 KK=2:GOSUB *SUB3 1910 KK=3:GOSUB *SUB3 1920 LOCATE 0,2:INPUT "HA=";HA 1930 Z=HA:HA=DEG HA 1940 GOSUB *SUB2 1950 KK=2:GOSUB *SUB3 1960 LOCATE 0,2:PAUSE "HA=";Z$ 1970 KK=2:GOSUB *SUB3 1980 LOCATE 0,2:INPUT "FH=";FH 1990 LOCATE 10,2:INPUT "S1=";S1:IF S1>=0THEN LOCATE 20,2:INPUT "S2=";S2 2000 LOCATE 29,2:INPUT " V=";V0 2010 V=DEG V0:IF V>0THEN 2030 2020 V=ABS V:V=450-V:IF V>=360 LET V=V-360 2030 S=ABS (S1-S2):IF S1<0LET S=ABS S1 2040 V=90-V 2050 L=K*S*SQU COS V+C*COS V:H=K*S*COS V*SIN V+C*SIN V 2060 DH=H+IH-FH 2070 EL=GH+DH 2080 KK=2:GOSUB *SUB3 2090 KK=3:GOSUB *SUB3 2100 USING "#,###.##" 2110 LOCATE 0,2:PRINT " L=";MDF L 2120 LOCATE 15,2:PRINT "DH=";MDF DH 2130 LOCATE 28,2:PRINT "EL=";MDF EL 2140 AZ=AZ0+HA 2150 GOSUB *SUB1 2160 DX=L*SIN AZ:DY=L*COS AZ 2170 X=X1+DX:Y=Y1+DY 2180 USING "####,###.##" 2190 LOCATE 0,3:PRINT " X=";MDF X 2200 WAIT :BEEP 1:LOCATE 20,3:PRINT " Y=";MDF Y 2210 WAIT 0:GOTO 1900 2220 *SUB1 2230 IF AZ>=360LET AZ=AZ-360:GOTO 2230 2240 IF AZ<0LET AZ=AZ+360:GOTO 2240 2250 RETURN 2260 *SUB2 2270 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 2280 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 2290 RETURN 2300 *SUB3 2310 WAIT 0:LOCATE 0,KK:PRINT " " 2320 RETURN -120- @ Stadia Calculation 3 m Reverse n 1800 CLS :DEGREE :DEFDBL :WAIT 0:BEEP 2:PRINT "Stadia 3 (REVERSE)":USING "#,###.##" 1810 K=100:' Stadia a coefficient K 1820 C=0:' Stadia a coefficient C 1830 LOCATE 0,1:INPUT "*GH=";GH 1840 LOCATE 20,1:INPUT "*IH=";IH 1850 LOCATE 1,2:INPUT "FH=";FH 1860 LOCATE 10,2:INPUT "S1=";S1:IF S1>=0THEN LOCATE 20,2:INPUT "S2=";S2 1870 LOCATE 29,2:INPUT "V=";V0 1880 V=DEG V0:IF V>0THEN 1900 1890 V=ABS V:V=450-V:IF V>=360 LET V=V-360 1900 S=ABS (S1-S2):IF S1<0LET S=ABS S1 1910 V=90-V 1920 L=K*S*SQU COS V+C*COS V:H=K*S*COS V*SIN V+C*SIN V 1930 DH=H+IH-FH 1940 DH=-DH 1950 EL=GH+DH 1960 LOCATE 0,3:PRINT " L=";MDF L 1970 LOCATE 13,3:PRINT "dH=";MDF DH 1980 WAIT :BEEP 1:LOCATE 28,3:PRINT "EL=";MDF EL 1990 GOTO 1800 -121- @ Area Calculation ( Coordinates )@200 Points 10 ' Coordinates Area Calculation 200 Points 20 DEFDBL 30 *MAIN:' ------- Main routine ------- 40 FI1=3:FI2=6:' ----- Figure ----- 50 US$="########" 60 S1$="E:" 70 S2$="F:" 80 S3$="X:" 90 S4$="CAS:" 100 SD$=".DAT" 110 FN$="COORDINA" 120 CLS 130 ON ERROR GOTO *ERR 140 WAIT 0:PRINT "Coordinates Area Calculation 200 Points" 150 Y=1:LOCATE 1,2:INPUT "[ 1:Continue 2:New 3:Load 4:Figure ] ";Y 160 IF Y=1THEN *CAL 170 IF Y=2THEN *INPUT 180 IF Y=3THEN *LOAD 190 IF Y=4GOSUB *FIG 200 GOTO 120 210 REM 220 REM 230 REM 240 REM 250 *LOAD:' -------- Data Load --------- 260 SL=0 270 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 280 IF S>=5THEN *MAIN 290 PRINT "File name [ ]";"{";FN$;SD$;"}" 300 LOCATE 11,3:INPUT FN$ 310 IF FN$="C"THEN *MAIN 320 ERASE X,Y 330 DIM X(201),Y(201) 340 IF S=4OPEN S4$+FN$+SD$ FOR INPUT AS #1:GOTO 380 350 IF S=3OPEN S3$+FN$+SD$ FOR INPUT AS #1:GOTO 380 360 IF S=2OPEN S2$+FN$+SD$ FOR INPUT AS #1:GOTO 380 370 OPEN S1$+FN$+SD$ FOR INPUT AS #1 380 WAIT 0:PRINT "¥¥¥¥ Now Loading Just a moment Please !!" 390 INPUT #1,FI1,FI2,X(*),Y(*) 400 CLOSE #1 410 GOTO *CAL 420 REM 430 REM 440 REM 450 *INPUT:' -------- Input -------- 460 CLS :WAIT 0 470 PRINT 480 PRINT 490 PRINT " NO. X Y" 500 ERASE X,Y 510 DIM X(201),Y(201) 520 FOR I=1TO 200 530 USING "###":PRINT I; 540 LOCATE 3,3:INPUT " ";X(I) 550 IF X(I)=0LET I=200:GOTO 620 560 K=3:GOSUB *DISPLAY 570 USING "###":PRINT I 580 USING "######,###."+LEFT$ (US$,FI1) 590 LOCATE 3,3:PRINT MDF X(I) 600 LOCATE 18,3:INPUT " ";Y(I) -122- 610 LOCATE 18,3:PRINT MDF Y(I) 620 NEXT I 630 GOTO *CAL 640 REM 650 *LIST:' -------- Data List --------- 660 WAIT 0 670 CLS 680 PRINT 690 PRINT 700 PRINT " NO. X Y" 710 PRINT 720 FOR I=1TO 200 730 IF X(I)=0LET I=200:GOTO 820 740 USING "###" 750 LOCATE 0,3:PRINT I 760 USING "######,###."+LEFT$ (US$,FI1) 770 LOCATE 3,3:PRINT MDF X(I) 780 WAIT 790 LOCATE 18,3:PRINT MDF Y(I) 800 WAIT 0 810 PRINT 820 NEXT I 830 WAIT 840 PRINT " -------------------------------------- " 850 *CAL:' --------- Calculation --------- 860 CLS 870 WAIT 0 880 T=0 890 FOR I=1TO 200 900 IF X(I)=0LET I=200:GOTO 960 910 J=I+1:IF X(I+1)=0 LET J=1 920 USING "######,###."+LEFT$ (US$,FI1) 930 X1=MDF X(I):Y1=MDF Y(I) 940 X2=MDF X(J):Y2=MDF Y(J) 950 T=T+(X2-X1)*(Y2+Y1) 960 NEXT I 970 WAIT 0 980 USING "##########,###."+LEFT$ (US$,FI2) 990 PRINT " Total 2*Area = ";MDF (ABS T) 1000 PRINT " Total Area = ";MDF (ABS T/2) 1010 PRINT " ÂÎÞ Òݾ· = ";MDF ((ABS T/2)*0.3025) 1020 BEEP 1 1030 Y=1:INPUT "Data [1:Change 2:Figure 3:Save 4:List]";Y 1040 IF Y<=1THEN *CHANGE 1050 IF Y=2GOSUB *FIG 1060 IF Y=3THEN *SAVE 1070 IF Y=4THEN *LIST 1080 GOTO *CAL 1090 REM 1100 *CHANGE:' --------- Change --------- 1110 WAIT 1120 Y=1:INPUT "Data[1:Change 2:Insert 3:Delete 4:New]";Y 1130 IF Y>4THEN *CAL 1140 IF Y=4THEN *INPUT 1150 IF Y=3THEN *DELETE 1160 IF Y=2THEN *INSERT 1170 J=0:INPUT "Change NO. ";J 1180 IF J<=0THEN *CAL 1190 WAIT 0 1200 PRINT " NO. X Y" 1210 PRINT 1220 USING "###" 1230 LOCATE 0,3:PRINT J -123- 1240 USING "######,###."+LEFT$ (US$,FI1) 1250 LOCATE 3,3:PRINT MDF X(J) 1260 LOCATE 18,3:PRINT MDF Y(J) 1270 INPUT " X=";X(J) 1280 INPUT " Y=";Y(J) 1290 GOTO 1170 1300 *INSERT:' -------- Insert --------- 1310 J=0:INPUT "Insert NO. ";J 1320 IF J<=0THEN *CAL 1330 WAIT 0 1340 PRINT " NO. X Y" 1350 PRINT 1360 USING "###" 1370 LOCATE 0,3:PRINT J 1380 USING "######,###."+LEFT$ (US$,FI1) 1390 LOCATE 3,3:PRINT MDF X(J) 1400 LOCATE 18,3:PRINT MDF Y(J) 1410 X1=0:INPUT " X=";X1 1420 IF X1=0THEN *INSERT 1430 Y1=0:INPUT " Y=";Y1 1440 FOR I=J TO 200 1450 X=X(I):Y=Y(I) 1460 X(I)=X1:Y(I)=Y1 1470 X1=X:Y1=Y 1480 IF X(I)=0LET I=200 1490 NEXT I 1500 GOTO *INSERT 1510 REM 1520 REM 1530 REM 1540 REM 1550 *DELETE:' -------- Delete --------- 1560 J=0:INPUT "Delete NO. ";J 1570 IF J<=0THEN *CAL 1580 WAIT 0 1590 PRINT " NO. X Y" 1600 PRINT 1610 USING "###" 1620 LOCATE 0,3:PRINT J 1630 USING "######,###."+LEFT$ (US$,FI1) 1640 LOCATE 3,3:PRINT MDF X(J) 1650 LOCATE 18,3:PRINT MDF Y(J) 1660 Y$="N":INPUT "Delete(Y/N) ";Y$ 1670 IF Y$<>"Y"THEN 1720 1680 FOR I=J TO 200 1690 X(I)=X(I+1):Y(I)=Y(I+1) 1700 IF X(I)=0LET X(I+1)=0:I=200 1710 NEXT I 1720 GOTO *DELETE 1730 REM 1740 REM 1750 *SAVE:' ------- Data save ------- 1760 WAIT 0 1770 SL=1 1780 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 1790 IF S>=5THEN *CAL 1800 PRINT "File name [ ]";"{";FN$;SD$;"}" 1810 LOCATE 11,3:INPUT FN$ 1820 IF FN$="C"THEN *CAL 1830 IF S=4OPEN S4$+FN$+SD$ FOR OUTPUT AS #1:GOTO 1870 1840 IF S=3OPEN S3$+FN$+SD$ FOR OUTPUT AS #1:GOTO 1870 1850 IF S=2OPEN S2$+FN$+SD$ FOR OUTPUT AS #1:GOTO 1870 1860 OPEN S1$+FN$+SD$ FOR OUTPUT AS #1 -124- 1870 WAIT 0:PRINT "¥¥¥¥¥ Now saving Just a moment Please !!" 1880 PRINT #1,FI1,FI2,X(*),Y(*) 1890 CLOSE #1 1900 GOTO *CAL 1910 REM 1920 REM 1930 REM 1940 REM 1950 *ERR:' --------- Error --------- 1960 BEEP 2 1970 WAIT 0 1980 IF ERN =72AND SL=0PRINT "I/O error":RESUME 270 1990 IF ERN =72AND SL=1PRINT "I/O error":RESUME 1780 2000 IF ERN =75AND SL=0PRINT "Bad drive name":RESUME 270 2010 IF ERN =75AND SL=1PRINT "Bad drive name":RESUME 1780 2020 IF ERN =76AND SL=1PRINT "File write protected":RESUME 1780 2030 IF ERN =77PRINT "Disk full":RESUME 1780 2040 IF ERN =94PRINT "File not found":RESUME 270 2050 RESUME *LIST 2060 REM 2070 REM 2080 REM 2090 REM 2100 *DISPLAY:' ¥¥¥¥¥¥¥¥ Display ¥¥¥¥¥¥¥¥¥ 2110 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 2120 RETURN 2130 REM 2140 REM 2150 *FIG:' ¥¥¥¥¥¥¥¥¥ Figure ¥¥¥¥¥¥¥¥¥ 2160 CLS :USING "##" 2170 LOCATE 0,0:PRINT "*************** Figure *****************" 2180 LOCATE 0,1:PRINT "[ Head | ( X Y ) 2*Area ]" 2190 LOCATE 0,2:PRINT "[Present| ]" 2200 LOCATE 0,3:PRINT "[Change | ]" 2210 LOCATE 12,2:PRINT FI1 2220 LOCATE 33,2:PRINT FI2 2230 LOCATE 13,3:INPUT FI1 2240 FI2=FI1*2 2250 LOCATE 34,3:INPUT FI2 2260 CLS 2270 RETURN -125- @ Area Calculation ( Triangles )@200 Points 10 ' Area Calculation ¥¥¥ a:Base h:High 200 Points 20 DEFDBL 30 *MAIN:' --------- Main routine --------- 40 FI1=3:FI2=6:' ----- Figure ----- 50 US$="######" 60 S1$="E:" 70 S2$="F:" 80 S3$="X:" 90 S4$="CAS:" 100 SD$=".DAT" 110 FN$="BASE" 120 CLS 130 ON ERROR GOTO *ERR 140 WAIT 0:PRINT "Area Calculation a:Base h:High 200 Point" 150 WAIT 0 160 Y=1:LOCATE 1,2:INPUT "[ 1:Continue 2:New 3:Load 4:Figure ] ";Y 170 IF Y=1THEN *CAL 180 IF Y=2THEN *INPUT 190 IF Y=3THEN *LOAD 200 IF Y=4GOSUB *FIG 210 GOTO 120 220 REM 230 REM 240 REM 250 *LOAD:' -------- Data Load --------- 260 SL=0 270 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 280 IF S>=5THEN *MAIN 290 PRINT "File name [ ]";"{";FN$;SD$;"}" 300 LOCATE 11,3:INPUT FN$ 310 IF FN$="C"THEN *MAIN 320 ERASE A,H 330 DIM A(201),H(201) 340 IF S=4OPEN S4$+FN$+SD$ FOR INPUT AS #1:GOTO 380 350 IF S=3OPEN S3$+FN$+SD$ FOR INPUT AS #1:GOTO 380 360 IF S=2OPEN S2$+FN$+SD$ FOR INPUT AS #1:GOTO 380 370 OPEN S1$+FN$+SD$ FOR INPUT AS #1 380 WAIT 0:PRINT "¥¥¥¥ Now Loading Just a moment Please !!" 390 INPUT #1,FI1,FI2,TA,A(*),H(*) 400 CLOSE #1 410 GOTO *CAL 420 REM 430 REM 440 REM 450 *INPUT:' -------- Input -------- 460 CLS :WAIT 0 470 PRINT 480 PRINT 490 PRINT " NO. a h 2A" 500 ERASE A,H 510 DIM A(201),H(201) 520 FOR I=1TO 200 530 USING "###":PRINT I; 540 LOCATE 4,3:INPUT " ";A(I) 550 IF A(I)<=0LET I=200:GOTO 660 560 K=3:GOSUB *DISPLAY 570 USING "###":PRINT I 580 USING "#,###."+LEFT$ (US$,FI1) 590 A=MDF (A(I)) 600 LOCATE 3,3:PRINT A -126- 610 LOCATE 13,3:INPUT " ";H(I) 620 H=MDF H(I) 630 LOCATE 12,3:PRINT H 640 USING "######,###."+LEFT$ (US$,FI2) 650 LOCATE 22,3:PRINT MDF (A*H) 660 NEXT I 670 GOTO *CAL 680 REM 690 REM 700 *LIST:' -------- Data List --------- 710 WAIT 0 720 CLS 730 PRINT 740 PRINT 750 PRINT " NO. a h 2A " 760 PRINT 770 FOR I=1TO 200 780 IF A(I)=0LET I=200:GOTO 930 790 USING "##,###."+LEFT$ (US$,FI1) 800 A=MDF A(I):H=MDF H(I) 810 USING "#####,###."+LEFT$ (US$,FI2) 820 AA=MDF (A*H) 830 USING "###" 840 LOCATE 0,3:PRINT I 850 USING "##,###."+LEFT$ (US$,FI1) 860 LOCATE 3,3:PRINT A 870 LOCATE 13,3:PRINT H 880 USING "######,###."+LEFT$ (US$,FI2) 890 WAIT 900 LOCATE 23,3:PRINT AA 910 WAIT 0 920 PRINT 930 NEXT I 940 WAIT 950 PRINT " -------------------------------------- " 960 REM 970 REM 980 REM 990 REM 1000 *CAL:' --------- Calculation --------- 1010 CLS 1020 WAIT 0 1030 TA=0 1040 FOR I=1TO 200 1050 IF A(I)=0LET I=200:GOTO 1110 1060 USING "##,###."+LEFT$ (US$,FI1) 1070 A=MDF A(I):H=MDF H(I) 1080 USING "######,###."+LEFT$ (US$,FI2) 1090 AA=MDF (A*H) 1100 TA=TA+AA 1110 NEXT I 1120 WAIT 0 1130 PRINT " Total 2*Area = ";TA 1140 PRINT " Total Area = ";MDF (TA/2) 1150 PRINT " ÂÎÞ Òݾ· = ";MDF (ABS TA/2*0.3025) 1160 BEEP 1 1170 Y=1:INPUT "Data [1:Change 2:Figure 3:Save 4:List]";Y 1180 IF Y<=1THEN *CHANGE 1190 IF Y=2GOSUB *FIG 1200 IF Y=3THEN *SAVE 1210 IF Y=4THEN *LIST 1220 GOTO *CAL 1230 REM -127- 1240 REM 1250 *CHANGE:' --------- Change --------- 1260 WAIT 1270 Y=1:INPUT "Data[1:Change 2:Insert 3:Delete 4:New]";Y 1280 IF Y>4THEN *CAL 1290 IF Y=4THEN *INPUT 1300 IF Y=3THEN *DELETE 1310 IF Y=2THEN *INSERT 1320 J=0:INPUT "Change NO. ";J 1330 IF J<=0THEN *CAL 1340 WAIT 0 1350 PRINT " NO. a h 2A" 1360 PRINT 1370 USING "###" 1380 LOCATE 0,3:PRINT J 1390 USING "##,###.###" 1400 LOCATE 3,3:PRINT A(J) 1410 LOCATE 13,3:PRINT H(J) 1420 INPUT " a=";A(J) 1430 INPUT " h=";H(J) 1440 GOTO 1320 1450 *INSERT:' -------- Insert --------- 1460 J=0:INPUT "Insert NO. ";J 1470 IF J<=0THEN *CAL 1480 WAIT 0 1490 PRINT " NO. a h 2A" 1500 PRINT 1510 USING "###" 1520 LOCATE 0,3:PRINT J 1530 USING "##,###.###" 1540 LOCATE 3,3:PRINT A(J) 1550 LOCATE 13,3:PRINT H(J) 1560 A1=0:INPUT " a=";A1 1570 IF A1=0THEN *INSERT 1580 H1=0:INPUT " h=";H1 1590 FOR I=J TO 200 1600 A=A(I):H=H(I) 1610 A(I)=A1:H(I)=H1 1620 A1=A:H1=H 1630 IF A(I)=0LET I=200 1640 NEXT I 1650 GOTO *INSERT 1660 REM 1670 REM 1680 REM 1690 REM 1700 *DELETE:' -------- Delete --------- 1710 J=0:INPUT "Delete NO. ";J 1720 IF J<=0THEN *CAL 1730 WAIT 0 1740 PRINT " NO. a h 2A" 1750 PRINT 1760 USING "###" 1770 LOCATE 0,3:PRINT J 1780 USING "##,###.###" 1790 LOCATE 3,3:PRINT A(J) 1800 LOCATE 13,3:PRINT H(J) 1810 Y$="N":INPUT "Delete(Y/N) ";Y$ 1820 IF Y$<>"Y"THEN 1870 1830 FOR I=J TO 200 1840 A(I)=A(I+1):H(I)=H(I+1) 1850 IF A(I)=0LET H(I+1)=0:I=200 1860 NEXT I -128- 1870 GOTO *DELETE 1880 REM 1890 REM 1900 *SAVE:' ------- Data save ------- 1910 WAIT 0 1920 SL=1 1930 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 1940 IF S>=5THEN *CAL 1950 PRINT "File name [ ]";"{";FN$;SD$;"}" 1960 LOCATE 11,3:INPUT FN$ 1970 IF FN$="C"THEN *CAL 1980 IF S=4OPEN S4$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2020 1990 IF S=3OPEN S3$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2020 2000 IF S=2OPEN S2$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2020 2010 OPEN S1$+FN$+SD$ FOR OUTPUT AS #1 2020 WAIT 0:PRINT "¥¥¥¥¥ Now saving Just a moment Please !!" 2030 PRINT #1,FI1,FI2,TA,A(*),H(*) 2040 CLOSE #1 2050 GOTO *CAL 2060 REM 2070 REM 2080 REM 2090 REM 2100 *ERR:' --------- Error --------- 2110 BEEP 2 2120 WAIT 0 2130 IF ERN =72AND SL=0PRINT "I/O error":RESUME 270 2140 IF ERN =72AND SL=1PRINT "I/O error":RESUME 1930 2150 IF ERN =75AND SL=0PRINT "Bad drive name":RESUME 270 2160 IF ERN =75AND SL=1PRINT "Bad drive name":RESUME 1930 2170 IF ERN =76AND SL=1PRINT "File write protected":RESUME 1930 2180 IF ERN =77PRINT "Disk full":RESUME 1930 2190 IF ERN =94PRINT "File not found":RESUME 270 2200 RESUME *LIST 2210 REM 2220 REM 2230 REM 2240 REM 2250 *DISPLAY:' ¥¥¥¥¥¥¥¥ Display ¥¥¥¥¥¥¥¥¥ 2260 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 2270 RETURN 2280 REM 2290 REM 2300 *FIG:' ¥¥¥¥¥¥¥¥¥ Figure ¥¥¥¥¥¥¥¥¥ 2310 CLS :USING "##" 2320 LOCATE 0,0:PRINT "*************** Figure *****************" 2330 LOCATE 0,1:PRINT "[ Head | ( a h ) 2*Area ]" 2340 LOCATE 0,2:PRINT "[Present| ]" 2350 LOCATE 0,3:PRINT "[Change | ]" 2360 LOCATE 12,2:PRINT FI1 2370 LOCATE 33,2:PRINT FI2 2380 LOCATE 13,3:INPUT FI1 2390 FI2=FI1*2 2400 LOCATE 34,3:INPUT FI2 2410 CLS 2420 RETURN -129- @ Volume Calculation@( Method of average ) 100 Sections 10 ' Volume Calculation ¥¥ Method of Average 100 Sections 20 *MAIN:' --------- Main routine --------- 30 FI1=1:FI2=1:FI3=2:FI4=1:' -- Figure -- 40 US$="###" 50 S1$="E:" 60 S2$="F:" 70 S3$="X:" 80 S4$="CAS:" 90 SD$=".DAT" 100 FN$="VOLUME" 110 CLS 120 ON ERROR GOTO *ERR 130 WAIT 0:PRINT "Volume Calculation ¥¥ Method of Average 100 Sections" 140 WAIT 0 150 Y=1:LOCATE 1,2:INPUT "[ 1:Continue 2:New 3:Load 4:Figure ]";Y 160 IF Y=1THEN *CAL 170 IF Y=2THEN *INPUT 180 IF Y=3THEN *LOAD 190 GOSUB *FIG 200 GOTO 110 210 REM 220 REM 230 REM 240 REM 250 *LOAD:' -------- Data Load --------- 260 SL=0 270 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 280 IF S>=5THEN *MAIN 290 PRINT "File name [ ]";"{";FN$;SD$;"}" 300 LOCATE 11,3:INPUT FN$ 310 IF FN$="C"THEN *MAIN 320 ERASE L,M,N 330 DIM L(101),M(101),N(101) 340 IF S=4OPEN S4$+FN$+SD$ FOR INPUT AS #1:GOTO 380 350 IF S=3OPEN S3$+FN$+SD$ FOR INPUT AS #1:GOTO 380 360 IF S=2OPEN S2$+FN$+SD$ FOR INPUT AS #1:GOTO 380 370 OPEN S1$+FN$+SD$ FOR INPUT AS #1 380 WAIT 0:PRINT "¥¥¥¥ Now Loading Just a moment Please !!" 390 INPUT #1,FI1,FI2,FI3,FI4,TV,L(*),M(*),N(*) 400 CLOSE #1 410 GOTO *CAL 420 REM 430 REM 440 REM 450 *INPUT:' --------- Input --------- 460 CLS :WAIT 0 470 PRINT 480 PRINT 490 ERASE L,M,N 500 DIM L(101),M(101),N(101) 510 PRINT " NO. L Area Average Volume" 520 PRINT " 1 "; 530 USING "####."+LEFT$ (US$,FI2) 540 LOCATE 11,3:INPUT " ";M(1) 550 LOCATE 11,3:PRINT " ";MDF (ABS M(1)) 560 FOR I=2TO 100 570 USING "###":PRINT I; 580 INPUT " ";L(I) 590 IF L(I)<=0LET I=100:GOTO 790 600 K=3:GOSUB *DISPLAY -130- 610 USING "###":PRINT I 620 USING "####."+LEFT$ (US$,FI1) 630 L=MDF L(I) 640 LOCATE 3,3:PRINT L 650 USING "####."+LEFT$ (US$,FI2) 660 LOCATE 12,3:INPUT " ";M(I) 670 M=MDF (ABS M(I)) 680 LOCATE 12,3:PRINT M 690 IF M(I)<=0PRINT :LOCATE 11,3:INPUT " ";N(I):N=MDF (ABS N(I)):LOCATE 12,3:PRINT N 700 N=MDF (ABS M(I-1)) 710 IF M(I-1)>0THEN 730 720 N=MDF (ABS N(I-1)) 730 USING "###,###."+LEFT$ (US$,FI3) 740 AV=MDF ((N+M)/2) 750 LOCATE 18,3:PRINT MDF AV 760 USING "###,###."+LEFT$ (US$,FI4) 770 VO=MDF (AV*L) 780 LOCATE 29,3:PRINT MDF VO 790 NEXT I 800 GOTO *CAL 810 REM 820 REM 830 REM 840 REM 850 *LIST:' -------- Data List --------- 860 CLS 870 WAIT 0 880 PRINT 890 PRINT " NO. L Area Average Volume" 900 PRINT " 1 "; 910 USING "####."+LEFT$ (US$,FI2) 920 PRINT MDF M(1) 930 FOR I=2TO 100 940 IF L(I)=0LET I=100:GOTO 1170 950 USING "####."+LEFT$ (US$,FI1) 960 L=MDF L(I) 970 USING "####."+LEFT$ (US$,FI2) 980 N=MDF (ABS M(I-1)):M=MDF (ABS M(I)) 990 IF M(I-1)>0THEN 1010 1000 N=MDF (ABS N(I-1)) 1010 USING "###,###."+LEFT$ (US$,FI3) 1020 AV=MDF ((N+M)/2) 1030 USING "###,###."+LEFT$ (US$,FI4) 1040 VO=MDF (AV*L) 1050 WAIT 0 1060 USING "###":PRINT I; 1070 USING "####."+LEFT$ (US$,FI1) 1080 LOCATE 4,3:PRINT L 1090 USING "####."+LEFT$ (US$,FI2) 1100 LOCATE 12,3:PRINT M 1110 IF M(I)<=0PRINT :LOCATE 12,3:PRINT N(I) 1120 USING "####."+LEFT$ (US$,FI3) 1130 LOCATE 21,3:PRINT AV 1140 WAIT 1150 USING "###,###."+LEFT$ (US$,FI4) 1160 LOCATE 29,3:PRINT VO 1170 NEXT I 1180 REM 1190 REM -131- 1200 *CAL:' --------- Calculation --------- 1210 WAIT 0 1220 PRINT " ------------------------------------ " 1230 TL=0:TV=0 1240 FOR I=2TO 100 1250 USING "####."+LEFT$ (US$,FI1) 1260 L=MDF L(I) 1270 IF L(I)=0LET I=100:GOTO 1380 1280 USING "####."+LEFT$ (US$,FI2) 1290 N=MDF (ABS M(I-1)):M=MDF (ABS M(I)) 1300 IF M(I-1)>0THEN 1320 1310 N=MDF (ABS N(I-1)) 1320 USING "###,###."+LEFT$ (US$,FI3) 1330 AV=MDF ((N+M)/2) 1340 USING "###,###."+LEFT$ (US$,FI4) 1350 VO=MDF (AV*L) 1360 TL=TL+L 1370 TV=TV+VO 1380 NEXT I 1390 WAIT 0 1400 USING "#,###."+LEFT$ (US$,FI1) 1410 PRINT "Total L=";TL; 1420 USING "#####,###."+LEFT$ (US$,FI4) 1430 PRINT " Volume =";TV 1440 PRINT 1450 BEEP 1 1460 Y=1:INPUT "Data [1:Change 2:Figure 3:Save 4:List]";Y 1470 IF Y<=1THEN *CHANGE 1480 IF Y=2GOSUB *FIG 1490 IF Y=3THEN *SAVE 1500 IF Y=4THEN *LIST 1510 GOTO *CAL 1520 REM 1530 REM 1540 REM 1550 *CHANGE:' --------- Change --------- 1560 WAIT 1570 Y=1:INPUT "Data[1:Change 2:Insert 3:Delete 4:New]";Y 1580 IF Y>4THEN *CAL 1590 IF Y=4THEN *INPUT 1600 IF Y=3THEN *DELETE 1610 IF Y=2THEN *INSERT 1620 N=0:INPUT "Change NO. ";N 1630 IF N<=0THEN *CAL 1640 WAIT 0 1650 PRINT " NO. L Area Average Volume" 1660 USING "###":PRINT N; 1670 USING "####.###" 1680 PRINT " ";L(N);M(N) 1690 IF M(N)>0THEN 1710 1700 PRINT " ";N(N) 1710 INPUT " L=";L(N) 1720 INPUT " A=";M(N) 1730 IF M(N)<=0INPUT " N=";N(N) 1740 GOTO 1620 -132- 1750 *INSERT:' -------- Insert --------- 1760 J=0:INPUT "Insert NO. ";J 1770 IF J<=0THEN *CAL 1780 WAIT 0 1790 PRINT " NO. L Area Average Volume" 1800 USING "###":PRINT J; 1810 USING "####.###" 1820 PRINT " ";L(J);M(J) 1830 L1=0:INPUT " L=";L1 1840 IF L1=0THEN *INSERT 1850 INPUT " A=";M1 1860 IF M1<=0INPUT " N=";N1 1870 FOR I=J TO 100 1880 L=L(I):M=M(I):N=N(I) 1890 L(I)=L1:M(I)=M1:N(I)=N1 1900 L1=L:M1=M:N1=N 1910 IF L(I)=0LET I=100 1920 NEXT I 1930 GOTO *INSERT 1940 REM 1950 *DELETE:' -------- Delete --------- 1960 J=0:INPUT "Delete NO. ";J 1970 IF J<=0THEN *CAL 1980 WAIT 0 1990 PRINT " NO. L Area Average Volume" 2000 USING "###":PRINT J; 2010 USING "####.###" 2020 PRINT " ";L(J);M(J) 2030 Y$="N":INPUT "Delete(Y/N) ";Y$ 2040 IF Y$<>"Y"THEN 2090 2050 FOR I=J TO 100 2060 L(I)=L(I+1):M(I)=M(I+1):N(I)=N(I+1) 2070 IF L(I)=0LET M(I+1)=0:N(I+1)=0:I=100 2080 NEXT I 2090 GOTO *DELETE 2100 *SAVE:' ------- Data save --------- 2110 WAIT 0 2120 SL=1 2130 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 2140 IF S>=5THEN *CAL 2150 PRINT "File name [ ]";"{";FN$;SD$;"}" 2160 LOCATE 11,3:INPUT FN$ 2170 IF FN$="C"THEN *CAL 2180 IF S=4OPEN S4$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2220 2190 IF S=3OPEN S3$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2220 2200 IF S=2OPEN S2$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2220 2210 OPEN S1$+FN$+SD$ FOR OUTPUT AS #1 2220 WAIT 0:PRINT "¥¥¥¥¥ Now saving Just a moment Please !!" 2230 PRINT #1,FI1,FI2,FI3,FI4,TV,L(*),M(*),N(*) 2240 CLOSE #1 2250 GOTO *CAL 2260 REM 2270 REM 2280 REM 2290 REM -133- 2300 *ERR:' --------- Error --------- 2310 BEEP 2 2320 WAIT 0 2330 IF ERN =72AND SL=0PRINT "I/O error":RESUME 270 2340 IF ERN =72AND SL=1PRINT "I/O error":RESUME 2130 2350 IF ERN =75AND SL=0PRINT "Bad drive name":RESUME 270 2360 IF ERN =75AND SL=1PRINT "Bad drive name":RESUME 2130 2370 IF ERN =76AND SL=1PRINT "File write protected":RESUME 2130 2380 IF ERN =77PRINT "Disk full":RESUME 2130 2390 IF ERN =94PRINT "File not found":RESUME 270 2400 RESUME *LIST 2410 REM 2420 REM 2430 REM 2440 REM 2450 *DISPLAY:' ¥¥¥¥¥¥¥¥ Display ¥¥¥¥¥¥¥¥¥ 2460 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 2470 RETURN 2480 REM 2490 REM 2500 *FIG:' ¥¥¥¥¥¥¥¥¥ Figure ¥¥¥¥¥¥¥¥¥ 2510 CLS :USING "##" 2520 LOCATE 0,0:PRINT "*************** Figure *****************" 2530 LOCATE 0,1:PRINT "[ Head | L Area Average Volume ]" 2540 LOCATE 0,2:PRINT "[Present| ]" 2550 LOCATE 0,3:PRINT "[Change | ]" 2560 LOCATE 10,2:PRINT FI1 2570 LOCATE 15,2:PRINT FI2 2580 LOCATE 24,2:PRINT FI3 2590 LOCATE 33,2:PRINT FI4 2600 LOCATE 11,3:INPUT FI1 2610 LOCATE 16,3:INPUT FI2 2620 LOCATE 25,3:INPUT FI3 2630 LOCATE 34,3:INPUT FI4 2640 CLS 2650 RETURN -134- @@SHARP PC-E500 ( Indonesia DEGREE ) 10 CLS :WAIT 0:DEGREE 20 PRINT "SURVEY Indonesia DEGREE PC-1401 1" 30 A$=" " 40 PRINT " [ A:TR 1 S:TR 2 D:TR 3 F:CS 1 G:CS 2 ]" 50 PRINT " [ H:VLEN J:VER K:W.A L:DCAL Z:STA1 ]" 60 PRINT " [ X:STA2 C:STA3 ,:INT _:REV ] "; 70 INPUT A$ 80 CLS 90 GOTO A$ 100 GOTO 20 110 GOSUB 150:X=A+DX:Y=B+DY:RETURN 120 L0=ABS L0:L=ABS (L0*COS V):GOSUB 430:RETURN 130 V=90-V:RETURN 140 L0=ABS L0:L=ABS (L0*SIN V):RETURN 150 DX=L*SIN AZ:DY=L*COS AZ:RETURN 160 J=DX+0.5/TEN F*SGN DX:K=DY+0.5/TEN F*SGN DY 170 N=X+0.5/TEN F*SGN X:M=Y+0.5/TEN F*SGN Y 180 RETURN 190 AZ=Z0+OA 200 GOSUB 310 210 RETURN 220 Z=DMS (Z+5/TEN 6) 230 D=INT Z:C=(Z-D)*TEN 2:E=INT C:G=INT ((C-E)*TEN 3)/10 240 S$=CHR$ 34:SS$=STR$ D+S$+STR$ E+S$+STR$ G 250 S$="+":RETURN 260 DX=O-Q:DY=P-W 270 L=SQR (SQU DX+SQU DY):IF L=0LET AZ=0:GOTO 330 280 AZ=ASN (DX/L) 290 IF DY>=0LET AZ=360+AZ 300 IF DY<0LET AZ=180-AZ 310 IF AZ>=360LET AZ=AZ-360 320 IF AZ<0LET AZ=AZ+360 330 Z=AZ 340 RETURN 350 GOSUB 810:GOSUB 140:F=3:GOSUB 710:RETURN 360 DH=-DH:GOSUB 450:RETURN 370 GOSUB 530 380 INPUT "S1=";S1:IF S1>=0INPUT "S2=";S2 390 GOSUB 810:S=ABS (S1-S2):IF S1<0LET S=ABS S1 400 GOSUB 130 410 L=TEN 2*S*SQU COS V:H=TEN 2*S*COS V*SIN V:GOSUB 440 420 RETURN 430 H=L0*SIN V 440 DH=H+IH-FH 450 EL=GH+DH:RETURN 460 INPUT "X0=";A,"Y0=";B,"Z0=";Z0:X=A:Y=B:Z0=DEG Z0:IF Z0<0LET Z0=ABS Z0-180:IF Z0<0LET Z0=Z0+360 470 RETURN 480 GOSUB 790:GOSUB 560:IF L<0GOSUB 350 490 RETURN 500 IF G>=0INPUT "GH=";G:GH=ABS G 510 IF I>=0INPUT "IH=";I:IH=ABS I 520 RETURN 530 IF R>=0INPUT "FH=";R:FH=ABS R 540 RETURN 550 GOSUB 810 560 INPUT " L=";L0:L=L0 570 RETURN 580 INPUT "X1=";Q,"Y1=";W:A=Q:B=W 590 RETURN -135- 600 INPUT "X2=";O,"Y2=";P 610 RETURN 620 PRINT "AZ= ";SS$ 630 PRINT "DX=";J:PRINT "DY=";K 640 PRINT " X=";N:PRINT " Y=";M 650 RETURN 660 USING "######.#":RETURN 670 USING "######.##":RETURN 680 USING "#######.###":RETURN 690 USING "######.####":RETURN 700 PRINT "AZ= ";SS$ 710 ON F GOSUB 660,670,680,690 720 PRINT " L=";L+0.5/TEN F*SGN L:RETURN 730 PRINT " H=";H+0.5/TEN F*SGN H:RETURN 740 PRINT " D=";D+0.5/TEN F*SGN D:RETURN 750 GOSUB 710 760 PRINT "DH=";DH+0.5/TEN F*SGN DH 770 PRINT "EL=";EL+0.5/TEN F*SGN EL 780 RETURN 790 INPUT "OA=";OA:OA=DEG OA:IF OA<0LET OA=OA+360 800 RETURN 810 INPUT " V=";V0 820 V=DEG V0:IF V>0RETURN 830 V=ABS V:V=450-V:IF V>=360 LET V=V-360 840 RETURN 850 INPUT " V=";V:V=DEG V 860 RETURN 870 "A":DEGREE :WAIT :PRINT "TR 1":CLEAR :F=4 880 GOSUB 460 890 GOSUB 480:GOSUB 190:GOSUB 220:GOSUB 110 900 GOSUB 160:ON F GOSUB 660,670,680,690:GOSUB 620 910 BEEP 1:GOTO 890 920 "S":DEGREE :WAIT :PRINT "TR 2":CLEAR :F=2 930 GOSUB 460:GOSUB 500 940 GOSUB 530:GOSUB 790:GOSUB 190:GOSUB 810:GOSUB 130:GOSUB 560:GOSUB 220:GOSUB 120 950 GOSUB 110:GOSUB 160:GOSUB 700:GOSUB 630:GOSUB 760:BEEP 1:GOTO 940 960 "D":DEGREE :WAIT :BEEP 1:PRINT "TR 3":CLEAR :F=4 970 GOSUB 460:AZ=Z0-180:GOSUB 310 980 GOSUB 480:AZ=AZ+OA-180:GOSUB 310 990 GOSUB 220:GOSUB 150:X=X+DX:Y=Y+DY 1000 GOSUB 160:ON F GOSUB 660,670,680,690 1010 GOSUB 620:BEEP 2:GOTO 980 1020 "F":DEGREE :WAIT :PRINT "CS 1":CLEAR :F=2 1030 GOSUB 500 1040 GOSUB 530:GOSUB 550:GOSUB 130:GOSUB 120 1050 GOSUB 750:BEEP 1:GOTO 1040 1060 "G":DEGREE : BEEP 2:WAIT :PRINT "CS 2 (REV)":CLEAR :F=2 1070 INPUT "*GH=";GH,"*FH=";FH,"*IH=";IH 1080 GOSUB 550:GOSUB 130:GOSUB 120:GOSUB 360 1090 GOSUB 750:GOTO 1060 1100 "H":DEGREE :WAIT :PRINT "V.LEN":CLEAR :F=3:ON F GOSUB 660,670,680,690 1110 GOSUB 580:K=W:GOSUB 600:B=O:L=P 1120 INPUT "X3=";C,"Y3=";M:L=P 1130 FOR I=2 TO 3 1140 DX=A(I)-A:DY=A(I+10)-K:GOSUB 270 1150 A(I+20)=AZ:A(I+17)=L 1160 NEXT I 1170 AZ=W-V:GOSUB 310:L=REC (T,AZ):H=Z 1180 GOSUB 730:GOSUB 720:BEEP 1:GOTO 1120 -136- 1190 "J":DEGREE :WAIT :PRINT "VER":CLEAR 1200 INPUT " B=";B,"LB=";LB:B=DEG B:LB=DEG LB:IF B>LB LET B1=B:B2=LB:B=B2:LB=B1 1210 T=B+LB:U=ABS (360-T):Z=T:GOSUB 220 1220 PRINT "TAL=";SS$:Z=U:GOSUB 220:IF T<360LET S$="-" 1230 PRINT " E=";S$+SS$:V2=B-LB:IF V2<0LET V2=V2+360 1240 Z=V2:GOSUB 220:PRINT "2Z= ";SS$ 1250 V1=V2/2:Z=V1:GOSUB 220 1260 PRINT " Z= ";SS$:V=ABS (90-V1):Z=V:GOSUB 220:IF V1>90LET S$="-" 1270 PRINT " V=";S$+SS$:BEEP 1:GOTO 1200 1280 "K":DEGREE :WAIT :PRINT "W.A":CLEAR :F=4 1290 GOSUB 500:GOSUB 530 1300 IF T>=0 INPUT "TM=";T:TM= ABS T 1310 GOSUB 850 1320 INPUT "L(1)=";A:B=A:SS$=STR$ INT A+".###" 1330 FOR U=2 TO 10 1340 S$=STR$ U 1350 PAUSE "L(";S$;")=";SS$:INPUT C 1360 C=C/TEN 3+INT B:A=A+C 1370 NEXT U 1380 L=A/10:J=((L* SIN V)/2+GH)*0.003+1.7+(TM-30)*0.085:D=J*L/TEN 5:D0=L+D 1390 GOSUB 680:PRINT "TAL=";A 1400 GOSUB 690:PRINT "T/";STR$ (U-1);"=";L 1410 GOSUB 670:PRINT " *=";J+0.005:GOSUB 690:GOSUB 740 1420 ON F GOSUB 660,670,680,690:PRINT "D0=";D0+0.5/TEN F 1430 BEEP 1:GOTO 1290 1440 "L":DEGREE :WAIT :PRINT "D.CAL":CLEAR 1450 INPUT "D0=";L0 1460 GOSUB 850:GOSUB 500:GOSUB 530 1470 D=L0*COS V:GOSUB 430:AH=(GH+EL)/2 1480 DD=-AH*D/637/TEN 4:L=D+DD 1490 F=3:ON F GOSUB 660,670,680,690:GOSUB 730:GOSUB 770:GOSUB 670:PRINT "AH=";AH+0.005 1500 F=4:ON F GOSUB 660,670,680,690: GOSUB 740:PRINT "*D=";DD-0.5/TEN F:GOSUB 720 1510 BEEP 1:GOTO 1450 1520 " ":DEGREE :WAIT :PRINT "REV":CLEAR :F=4 1530 GOSUB 580:GOSUB 600:GOSUB 260:GOSUB 220 1540 GOSUB 700:BEEP 1:GOTO 1530 1550 "Z":DEGREE :WAIT :PRINT "STA 1":CLEAR :F=2 1560 GOSUB 500 1570 GOSUB 370:GOSUB 750 1580 BEEP 1:GOTO 1570 1590 "X":DEGREE :WAIT :PRINT "STA 2":CLEAR :F=2 1600 GOSUB 460:GOSUB 500 1610 GOSUB 790:GOSUB 370:GOSUB 750:GOSUB 190 1620 GOSUB 110:GOSUB 160:GOSUB 640 1630 BEEP 1:GOTO 1610 1640 "C":DEGREE :BEEP 2:WAIT :PRINT "STA 3 (REV)":CLEAR :F=2 1650 INPUT "*GH=";GH,"*IH=";IH 1660 GOSUB 370:GOSUB 360 1670 GOSUB 750:GOTO 1640 1680 ",":DEGREE :WAIT :PRINT "INT 90":CLEAR :F=3 1690 ON F GOSUB 660,670,680,690:GOSUB 580 1700 GOSUB 600:GOSUB 260:Z0=AZ 1710 A=Q:B=W:AZ=Z0:GOSUB 560:IF L=0BEEP 2:GOTO 1700 1720 GOSUB 110:GOSUB 170:X3=X:Y3=Y:A=X:B=Y 1730 PAUSE "INT:":GOSUB 640 1740 AZ=AZ+90:GOSUB 310 1750 A=X3:B=Y3:L=0:INPUT "L(-L:R+)=";L 1760 IF L=0 BEEP 2:GOTO 1710 1770 GOSUB 110:GOSUB 170 1780 IF L>0 PAUSE "R:":GOTO 1800 1790 IF L<0 PAUSE "L:" 1800 GOSUB 640:BEEP 1:GOTO 1750 -137- @@SHARP PC-E500 ( Indonesia GRAD ) 10 CLS :WAIT 0:GRAD 20 PRINT "SURVEY Indonesia GRAD PC-1401 2" 30 A$=" " 40 PRINT " [ A:TR 1 S:TR 2 D:TR 3 F:CS 1 G:CS 2 ]" 50 PRINT " [ H:VLEN J:VER K:W.A L:DCAL Z:STA1 ]" 60 PRINT " [ X:STA2 C:STA3 ,:INT _:REV ] "; 70 INPUT A$ 80 CLS 90 GOTO A$ 100 GOTO 20 110 GOSUB 150:X=A+DX:Y=B+DY: RETURN 120 L0= ABS L0:L= ABS (L0* COS V): GOSUB 400: RETURN 130 V=100-V: RETURN 140 L0= ABS L0:L= ABS (L0* SIN V): RETURN 150 DX=L* SIN AZ:DY=L* COS AZ: RETURN 160 J=DX+0.5/ TEN F* SGN DX:K=DY+0.5/ TEN F* SGN DY 170 N=X+0.5/ TEN F* SGN X:M=Y+0.5/ TEN F* SGN Y 180 RETURN 190 AZ=Z0+OA 200 GOSUB 280 210 RETURN 220 S$="+": RETURN 230 DX=O-Q:DY=P-W 240 L= SQR ( SQU DX+ SQU DY): IF L=0 LET AZ=0: GOTO 300 250 AZ= ASN (DX/L) 260 IF DY>=0 LET AZ=400+AZ 270 IF DY<0 LET AZ=200-AZ 280 IF AZ>=400 LET AZ=AZ-400 290 IF AZ<0 LET AZ=AZ+400 300 Z=AZ 310 RETURN 320 GOSUB 800: GOSUB 140:F=3: GOSUB 700: RETURN 330 DH=-DH: GOSUB 420: RETURN 340 GOSUB 500 350 INPUT "S1=";S1: IF S1>=0 INPUT "S2=";S2 360 GOSUB 800:S= ABS (S1-S2): IF S1<0 LET S= ABS S1 370 GOSUB 130 380 L= TEN 2*S* SQU COS V:H= TEN 2*S* COS V* SIN V: GOSUB 410 390 RETURN 400 H=L0* SIN V 410 DH=H+IH-FH 420 EL=GH+DH: RETURN 430 INPUT "X0=";A,"Y0=";B,"Z0=";Z0:X=A:Y=B: IF Z0<0 LET Z0= ABS Z0-200: IF Z0<0 LET Z0=Z0+400 440 RETURN 450 GOSUB 780: GOSUB 530: IF L<0 GOSUB 320 460 RETURN 470 IF G>=0 INPUT "GH=";G:GH= ABS G 480 IF I>=0 INPUT "IH=";I:IH= ABS I 490 RETURN 500 IF R>=0 INPUT "FH=";R:FH= ABS R 510 RETURN 520 GOSUB 800 530 INPUT " L=";L0:L=L0 540 RETURN 550 INPUT "X1=";Q,"Y1=";W:A=Q:B=W 560 RETURN 570 INPUT "X2=";O,"Y2=";P 580 RETURN -138- 590 GOSUB 650 600 PRINT "AZ= ";Z 610 ON F GOSUB 650,660,670,680 620 PRINT "DX=";J: PRINT "DY=";K 630 PRINT " X=";N: PRINT " Y=";M 640 RETURN 650 USING "####.#####": RETURN 660 USING "######.##": RETURN 670 USING "#######.###": RETURN 680 USING "######.####": RETURN 690 GOSUB 650: PRINT "AZ= ";Z 700 ON F GOSUB 650,660,670,680 710 PRINT " L=";L+0.5/ TEN F* SGN L: RETURN 720 PRINT " H=";H+0.5/ TEN F* SGN H: RETURN 730 PRINT " D=";D+0.5/ TEN F* SGN D: RETURN 740 GOSUB 700 750 PRINT "DH=";DH+0.5/ TEN F* SGN DH 760 PRINT "EL=";EL+0.5/ TEN F* SGN EL 770 RETURN 780 INPUT "OA=";OA: IF OA<0 LET OA=OA+400 790 RETURN 800 INPUT " V=";V0 810 V=V0: IF V>0 RETURN 820 V= ABS V:V=500-V: IF V>=400 LET V=V-400 830 RETURN 840 INPUT " V=";V 850 RETURN 860 "A": GRAD : WAIT : PRINT "TRAVERSE 1 (GRAD)": CLEAR :F=4 870 GOSUB 430 880 GOSUB 450: GOSUB 190: GOSUB 220: GOSUB 110 890 GOSUB 160:ON F GOSUB 650,660,670,680: GOSUB 590 900 BEEP 1: GOTO 880 910 "S": GRAD : WAIT : PRINT "TRAVERSE 2 (GRAD)": CLEAR :F=2 920 GOSUB 430: GOSUB 470 930 GOSUB 500: GOSUB 780: GOSUB 190: GOSUB 800: GOSUB 130: GOSUB 530: GOSUB 220: GOSUB 120 940 GOSUB 110: GOSUB 160: GOSUB 690: GOSUB 600: GOSUB 750: BEEP 1: GOTO 930 950 "D": GRAD : WAIT : BEEP 1: PRINT "TRAVERSE 3 (GRAD)": CLEAR :F=4 960 GOSUB 430:AZ=Z0-200: GOSUB 280 970 GOSUB 450:AZ=AZ+OA-200: GOSUB 280 980 GOSUB 220: GOSUB 150:X=X+DX:Y=Y+DY 990 GOSUB 160:ON F GOSUB 650,660,670,680 1000 GOSUB 590: BEEP 2: GOTO 970 1010 "F": GRAD : WAIT : PRINT "CROSS SECTION 1 (GRAD)": CLEAR :F=2 1020 GOSUB 470 1030 GOSUB 500: GOSUB 520: GOSUB 130: GOSUB 120 1040 GOSUB 740: BEEP 1: GOTO 1030 1050 "G": GRAD : BEEP 2: WAIT : PRINT "CROSS SECTION 2 REVERSE (GRAD)": CLEAR :F=2 1060 INPUT "*GH=";GH,"*FH=";FH,"*IH=";IH 1070 GOSUB 520: GOSUB 130: GOSUB 120: GOSUB 330 1080 GOSUB 740: GOTO 1050 1090 "H": GRAD : WAIT : PRINT "VERTICAL LENGTH (GRAD)": CLEAR :F=3:ON F GOSUB 650,660,670,680 1100 GOSUB 550:K=W: GOSUB 570:B=O:L=P 1110 INPUT "X3=";C,"Y3=";M:L=P 1120 FOR I=2 TO 3 1130 DX=A(I)-A:DY=A(I+10)-K: GOSUB 240 1140 A(I+20)=AZ:A(I+17)=L 1150 NEXT I 1160 AZ=W-V: GOSUB 280:L= REC (T,AZ):H=Z 1170 GOSUB 720: GOSUB 710: BEEP 1: GOTO 1110 -139- 1180 "J": GRAD : WAIT : PRINT "VERTICAL (GRAD)": CLEAR : GOSUB 650 1190 INPUT " B=";B,"LB=";LB: IF B>LB LET B1=B:B2=LB:B=B2:LB=B1 1200 T=B+LB:U= ABS (400-T):Z=T: GOSUB 220 1210 PRINT "TAL=";Z:Z=U: GOSUB 220: IF T<400 LET S$="-" 1220 PRINT " E=";S$;Z:V2=B-LB: IF V2<0 LET V2=V2+400 1230 Z=V2: GOSUB 220: PRINT "2Z= ";Z 1240 V1=V2/2:Z=V1: GOSUB 220 1250 PRINT " Z= ";Z:V= ABS (100-V1):Z=V: GOSUB 220: IF V1>100 LET S$="-" 1260 PRINT " V=";S$;Z: BEEP 1: GOTO 1190 1270 "K": GRAD : WAIT : PRINT "WILD ATMOSPHERE (GRAD)": CLEAR :F=4 1280 GOSUB 470: GOSUB 500 1290 IF T>=0 INPUT "TM=";T:TM= ABS T 1300 GOSUB 840 1310 INPUT "L(1)=";A:B=A:SS$= STR$ INT A+".###" 1320 FOR U=2 TO 10 1330 S$= STR$ U 1340 PAUSE "L(";S$;")=";SS$: INPUT C 1350 C=C/ TEN 3+ INT B:A=A+C 1360 NEXT U 1370 L=A/10:J=((L* SIN V)/2+GH)*0.003+1.7+(TM-30)*0.085:D=J*L/ TEN 5:D0=L+D 1380 GOSUB 670: PRINT "TAL=";A 1390 GOSUB 680: PRINT "T/"; STR$ (U-1);"=";L 1400 GOSUB 660: PRINT " *=";J+0.005: GOSUB 680: GOSUB 730 1410 ON F GOSUB 650,660,670,680: PRINT "D0=";D0+0.5/ TEN F 1420 BEEP 1: GOTO 1280 1430 "L": GRAD : WAIT : PRINT "DISTANCE CALCULATION (GRAD)": CLEAR 1440 INPUT "D0=";L0 1450 GOSUB 840: GOSUB 470: GOSUB 500 1460 D=L0* COS V: GOSUB 400:AH=(GH+EL)/2 1470 DD=-AH*D/637/ TEN 4:L=D+DD 1480 F=3:ON F GOSUB 650,660,670,680: GOSUB 720: GOSUB 760: GOSUB 660: PRINT "AH=";AH+0.005 1490 F=4:ON F GOSUB 650,660,670,680: GOSUB 730: PRINT "*D=";DD-0.5/ TEN F: GOSUB 710 1500 BEEP 1: GOTO 1440 1510 " ": GRAD : WAIT : PRINT "REVERSE (GRAD)": CLEAR :F=4 1520 GOSUB 550: GOSUB 570: GOSUB 230: GOSUB 220 1530 GOSUB 690: BEEP 1: GOTO 1520 1540 "Z": GRAD : WAIT : PRINT "STADIA 1 (GRAD)": CLEAR :F=2 1550 GOSUB 470 1560 GOSUB 340: GOSUB 740 1570 BEEP 1: GOTO 1560 1580 "X": GRAD : WAIT : PRINT "STADIA 2 (GRAD)": CLEAR :F=2 1590 GOSUB 430: GOSUB 470 1600 GOSUB 780: GOSUB 340: GOSUB 740: GOSUB 190 1610 GOSUB 110: GOSUB 160: GOSUB 610 1620 BEEP 1: GOTO 1600 1630 "C": GRAD : BEEP 2: WAIT : PRINT "STADIA 3 REVERSE (GRAD)": CLEAR :F=2 1640 INPUT "*GH=";GH,"*IH=";IH 1650 GOSUB 340: GOSUB 330 1660 F=2: GOSUB 740: GOTO 1630 1670 ",": GRAD : WAIT : PRINT "INTERPOINT 100 (GRAD)": CLEAR :F=3 1680 ON F GOSUB 650,660,670,680: GOSUB 550 1690 GOSUB 570: GOSUB 230:Z0=AZ 1700 A=Q:B=W:AZ=Z0: GOSUB 530: IF L=0 BEEP 2: GOTO 1690 1710 GOSUB 110: GOSUB 170:X3=X:Y3=Y:A=X:B=Y 1720 PAUSE "INT:": GOSUB 610 1730 AZ=AZ+100: GOSUB 280 1740 A=X3:B=Y3:L=0: INPUT "L(-L:R+)=";L 1750 IF L=0 BEEP 2: GOTO 1700 1760 GOSUB 110: GOSUB 170 1770 IF L>0 PAUSE "R:": GOTO 1790 1780 IF L<0 PAUSE "L:" 1790 GOSUB 610: BEEP 1: GOTO 1740 -140- SHARP PC-E500 …—ŒvŽZ @@‰º…“¹ŒvŽZ 10 ' ¹Þ½²ÄÞ³¹²»Ý 20 REM ------------ ¼Þ®³¹Ý ------------ 30 VU=0.25:' ¶Ý¹² 40 T=0.0085:' ¶Ý±Â 50 YO=0.1:' ÖÕ³ 60 REM 70 *MAIN:' ----------- MAIN ---------- 80 CLS :WAIT 0 90 USING "#.###" 100 PRINT "¹Þ½²ÄÞ³¹²»Ý [ ¶Ý¹² ";VU; 110 USING "#.####" 120 PRINT " ¶Ý±Â ";T;" ]" 130 USING "#.###" 140 PRINT " [ ÖÕ³ ";YO;" ]" 150 WAIT 0:USING "##,###.###" 160 LOCATE 2,2:INPUT "¼ÞÊÞÝÀÞ¶=";GH 170 LOCATE 2,2:PRINT "¼ÞÊÞÝÀÞ¶=";MDF GH 180 LOCATE 22,2:INPUT "¶ÝòÀÞ¶=";EL 190 LOCATE 22,2:PRINT "¶ÝòÀÞ¶=";MDF EL 200 MH=GH-EL 210 DH=GH-EL-VU-T 220 KH=GH-EL+T+YO 230 BEEP 1:WAIT 0:USING "##.###" 240 LOCATE 0,3:PRINT "ÏÝΰټÝ=";MDF MH; 250 WAIT :USING "##.##" 260 LOCATE 14,3:PRINT " ÄÞ¶ÌÞØ=";MDF DH;" ¸¯»¸¼Ý=";MDF KH 270 K=2:GOSUB 300 280 K=3:GOSUB 300 290 GOTO *MAIN 300 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 310 RETURN -141- @@‰º…“¹„iH–@@„i‰„’·‚ÌŒvŽZ 10 AUTOGOTO *DEF 20 ' ½²¼Ý ´ÝÁ®³ É ¹²»Ý 30 REM 40 REM 50 REM ------------ ¼Þ®³¹Ý ------------ 60 H=3.6:' ¶Ý É ÄÞ¶ÌÞØ m 70 PA=25:' ÂÁ É Å²ÌÞ Ï»Â¶¸ ß 80 C=0:' ÂÁ É ÈÝÁ¬¸Ø®¸ t/m2 90 G=1.8:' ÂÁ É Àݲ¼Þ­³Ø®³ t/m3 100 BC=1.2:' ¶Ý É ¶Þ²¹² m 110 K=1:' ÃÙ§·Þ° É ¿¸Î³ Äޱ¹²½³ 120 R=0.55:' ¶ÝÍ· É Á­³¼ÝÊݹ² m 130 PP=4.2:' ¶Ý É ¶Þ²±ÂÂÖ» t/m 140 WW=0.847:' ¶Ý É ¼Þ­³Ø®³ t/m 150 N=9:' Ë®³¼Þ­Ý ¶ÝÆ­³¼¹Ý 160 KA=1:' ¶Â»Þ² º³¶ 170 CO=130:' ºÝ¸Ø°Ä É ·®Ö³ Ͳ·Ý ±¯¼­¸µ ³Ø®¸ÄÞ kg/cm2 180 A=0.2897:' ¶Ý É Õ³º³ÀÞÝÒݾ· m2 190 FA=400:' »²ÀÞ² ½²Ø®¸ t 200 *DEF:DEFDBL 210 REM 220 REM 230 REM 240 REM 250 *INPUT:' ----- ¼Þ®³¹Ý Æ­³Ø®¸ ------ 260 WAIT 100:CLS 270 USING "####.###" 280 PRINT "½²¼Ý ´ÝÁ®³ É ¹²»Ý" 290 WAIT 0 300 LOCATE 0,0:PRINT "BC=";BC;" m ¶Ý É ¶Þ²¹²" 310 LOCATE 0,1:PRINT " R=";R;" m ¶ÝÍ· É Á­³¼ÝÊݹ²" 320 LOCATE 0,2:PRINT " P=";PP;" t/m ¶Ý É ¶Þ²±ÂÂÖ»" 330 LOCATE 0,3:PRINT " W=";WW;" t/m ¶Ý É ¼Þ­³Ø®³" 340 LOCATE 17,0:INPUT BC 350 LOCATE 17,1:INPUT R 360 LOCATE 17,2:INPUT PP 370 LOCATE 17,3:INPUT WW 380 CLS 390 LOCATE 0,0:PRINT " A=";A;" m2 ¶Ý É Õ³º³ÀÞÝÒݾ·" 400 LOCATE 0,1:PRINT " H=";H;" m ¶Ý É ÄÞ¶ÌÞØ" 410 LOCATE 0,2:PRINT " r=";G;" t/m3 ÂÁ É Àݲ¼Þ­³Ø®³" 420 LOCATE 0,3:PRINT "PA=";PA;" ß ÂÁ É Å²ÌÞ Ï»Â¶¸" 430 LOCATE 17,0:INPUT A 440 LOCATE 17,1:INPUT H 450 LOCATE 17,2:INPUT G 460 LOCATE 17,3:INPUT PA 470 CLS 480 LOCATE 0,0:PRINT " C=";C;" t/m2 ÂÁ É ÈÝÁ¬¸Ø®¸" 490 LOCATE 0,1:PRINT " N=";N;" Ë®³¼Þ­Ý ¶ÝÆ­³¼¹Ý" 500 LOCATE 0,2:PRINT "KA=";KA;" ¶Â»Þ² º³¶" 510 LOCATE 0,3:PRINT "FA=";FA;" t »²ÀÞ² ½²Ø®¸" 520 LOCATE 17,0:INPUT C 530 LOCATE 17,1:INPUT N 540 LOCATE 17,2:INPUT KA 550 LOCATE 17,3:INPUT FA 560 REM 570 REM 580 REM 590 REM -142- 600 *CAL:' ----------- ¹²»Ý ----------- 610 CLS 620 USING "##,###.###" 630 BT=MDF (BC+0.1):' ÄÝÈÙ É Á®¯¹² 640 BE=MDF (BT*(1+SIN (45-PA/2))/COS (45-PA/2)):' ÂÁ É ÕÙÐÊÊÞ 650 KK=(2*K*TAN PA)/BE 660 USING "##,###.###" 670 CE=MDF ((1/KK)*(1-EXP (-KK*H))) 680 W=MDF ((G-2*C/BE)*CE):' ijÌÞÝÌß ¶¼Þ­³ 690 P=MDF (3.78/(H+0.1)):P1=P:' ¶Â¶¼Þ­³ 700 IF P<1LET P=1 710 Q=MDF (W+P):' ijÌÞÝÌß ¶¼Þ­³ 720 REM ---------- 730 USING "##,###.####" 740 M1=MDF (TAN PA):' ¶Ý Ä ÂÁ É Ï»Â¹²½³³ 750 USING "##,###.###" 760 MR=MDF (0.318*PP*R+0.239*WW*R) 770 QR=MDF (1/(0.275*R^2)*MR):' ¶Ý É À²¶Ø®¸ 780 G1=BE/(2*K*M1) 790 G2=G-2*C/BE 800 G3=G2/(G2-(QR/1.2-1)/G1) 810 IF G3<=0LET HA=0:GOTO 840 820 USING "##,###.###" 830 HA=MDF (G1*LN (G2/(G2-(QR/1.2-1)/G1))) 840 M=MDF (0.275*Q*R^2):' ijÌÞÝÌ߶¼Þ­³ Ó°ÒÝÄ 850 USING "##,###.##" 860 F=MDF (MR/M):' ¶Ý É ËËÞÜÚ ±Ý¾ÞÝØ 870 REM ---------- 880 USING "##,###.##" 890 F0=1.32*3.14*BC*N:' ¼®· òº³ 900 USING "##,###.####" 910 M2=MDF (TAN (PA/2)):' ¶Ý Ä ÂÁ É Ï»Â¹²½³ 920 USING "##,###.###" 930 QQ=MDF (((3.14*BC*Q+WW)*M2+3.14*BC*C)*KA) 940 USING "##,###.##" 950 FR=MDF (10*CO*A):' ¶Ý É ·®Ö³ À²¶Ø®¸ 960 REM ---------- 970 USING "##,###.##" 980 LA=MDF (((FR-F0)/QQ)):' ·®Ö³ ½²¼Ý ´ÝÁ®³ 990 FB=MDF (FA*(1/1.4)):' Õ³º³ ½²Ø®¸ 1000 LB=MDF ((FB-F0)/QQ):' ·®Ö³ ½²¼Ý ´ÝÁ®³ 1010 REM 1020 REM 1030 REM 1040 REM -143- 1050 REM -------- ±³ÄÌß¯Ä ---------- 1060 CLS 1070 USING "##,###.###" 1080 BEEP 1 1090 LOCATE 0,0:PRINT " Bt=";MDF BT;" m ÄÝÈÙ Á®¯¹² Bc+0.100" 1100 LOCATE 0,1:PRINT " Be=";MDF BE;" m ÂÁ É ÕÙÐÊÊÞ" 1110 LOCATE 0,2:PRINT " Ce=";MDF CE;" m ÃÙ§·Þ° ÄÞ¶¼Þ­³ ¹²½³" 1120 WAIT 1130 LOCATE 0,3:PRINT " w =";MDF W;" t/m2 ÂÁ É Ä³ÌÞÝÌß ¶¼Þ­³" 1140 WAIT 0:CLS 1150 IF P1>=1THEN 1180 1160 LOCATE 0,0:PRINT " p =";MDF P1;" < 1.000 t/m2" 1170 GOTO 1190 1180 LOCATE 0,0:PRINT " p =";MDF P1;" > 1.000 t/m2" 1190 LOCATE 0,1:PRINT " p =";MDF P;" t/m2 ¶Â¶¼Þ­³" 1200 LOCATE 0,2:PRINT " q =";MDF Q;" t/m2 ijÌÞÝÌß ¶¼Þ­³ w+p" 1210 WAIT 1220 LOCATE 0,3:PRINT " Mr=";MDF MR;" t¥m ¶Ý É Ã²º³ Ó°ÒÝÄ" 1230 WAIT 0:CLS 1240 LOCATE 0,0:PRINT " M =";MDF M;" t¥m ijÌÞÝÌß ¶¼Þ­³ Ó°ÒÝÄ" 1250 USING "##,###.##" 1260 LOCATE 0,1:PRINT " f =";MDF F;" ¶Ý É ËËÞÜÚ ±Ý¾ÞÝØÂ" 1270 USING "##,###.###" 1280 LOCATE 0,2:PRINT " Qr=";MDF QR;" t/m2 ¶Ý É À²¶Ø®¸" 1290 USING "##,###.####" 1300 WAIT 1310 LOCATE 0,3:PRINT " m1=";MDF M1;" ¶Ý Ä ÂÁ É Ï»Â¹²½³ tan*" 1320 WAIT 0:CLS 1330 USING "##,###.##" 1340 IF G3>0THEN 1370 1350 LOCATE 0,0:PRINT " Ha= *********";" m ·®Ö³ ÄÞ¶ÌÞØ" 1360 GOTO 1380 1370 LOCATE 0,0:PRINT " Ha=";MDF HA;" m ·®Ö³ ÄÞ¶ÌÞØ" 1380 LOCATE 0,1:PRINT " F0=";MDF F0;" t ¼®· òº³" 1390 USING "##,###.####" 1400 LOCATE 0,2:PRINT " m2=";MDF M2;" ¶Ý Ä ÂÁ É Ï»Â¹²½³ tan*/2" 1410 WAIT 1420 USING "##,###.###" 1430 LOCATE 0,3:PRINT " Q =";MDF QQ;" t/m [ F=F0+Q*L ]" 1440 WAIT 0:CLS 1450 USING "##,###.##" 1460 LOCATE 0,0:PRINT " Fr=";MDF FR;" t ¶Ý É ·®Ö³ À²¶Ø®¸" 1470 LOCATE 0,1:PRINT " La=";MDF LA;" m ·®Ö³ ½²¼Ý ´ÝÁ®³" 1480 LOCATE 0,2:PRINT " Fa=";MDF FB;" t Õ³º³ ½²Ø®¸" 1490 WAIT 1500 LOCATE 0,3:PRINT " Lb=";MDF LB;" m ·®Ö³ ½²¼Ý ´ÝÁ®³" 1510 BEEP 1 1520 GOTO *INPUT -144- @@‰º…“¹„iH–@@„iŽxˆ³•Ç‚ÌŒvŽZ 10 AUTOGOTO *DEF 20 ' ½²¼Ý ¼±ÂÍ· É ¹²»Ý 30 REM 40 REM 50 REM ------------ ¼Þ®³¹Ý ------------ 60 B=2.5:' ¼±ÂÍ· É ÊÊÞ m 70 G=1.8:' ÂÁ É Àݲ¼Þ­³Ø®³ t/m3 80 H=2.1:' ¼±ÂÍ· É À¶» m 90 PA=25:' ÂÁ É Å²ÌÞ Ï»Â¶¸ ß 100 C=5:' ÂÁ É ÈÝÁ¬¸Ø®¸ t/m2 110 H1=3.57:'¼±ÂÍ· É ÄÞ¶ÌÞØ m 120 D=1.2:' ¼±ÂÍ· É ±Â» m 130 L=0.25:' ¼±ÂÍ· É È²Ú Ì¶» m 140 CO=10:' ºÝ¸Ø°Ä É Ë¯ÊßØ ·®³ÄÞ Ô¸ 10kg/cm2 150 AR=2:' ¹²½³ 1.5 ~ 2.5 160 Q=1:' ********** 170 REM 180 REM 190 *DEF:DEFDBL 200 *INPUT:' ----- ¼Þ®³¹Ý Æ­³Ø®¸ ------ 210 WAIT 100 :CLS 220 PRINT "½²¼Ý ¼±ÂÍ· É ¹²»Ý" 230 WAIT 0:CLS 240 USING "###.###" 250 LOCATE 0,0:PRINT " B=";B;" m ¼±ÂÍ· É ÊÊÞ" 260 LOCATE 0,1:PRINT " d=";D;" m ¼±ÂÍ· É ±Â»" 270 LOCATE 0,2:PRINT " H=";H;" m ¼±ÂÍ· É À¶»" 280 LOCATE 0,3:PRINT "h1=";H1;" m ¼±ÂÍ· É ÄÞ¶ÌÞØ" 290 LOCATE 17,0:INPUT B 300 LOCATE 17,1:INPUT D 310 LOCATE 17,2:INPUT H 320 LOCATE 17,3:INPUT H1 330 WAIT 0:CLS 340 LOCATE 0,0:PRINT " L=";L;" m ¼±ÂÍ· É È²Ú Ì¶»" 350 LOCATE 0,1:PRINT " r=";G;" t/m3 ÂÁ É Àݲ¼Þ­³Ø®³" 360 LOCATE 0,2:PRINT "PA=";PA;" ß ÂÁ É Å²ÌÞ Ï»Â¶¸" 370 LOCATE 0,3:PRINT " C=";C;" t/m2 ÂÁ É ÈÝÁ¬¸Ø®¸" 380 LOCATE 17,0:INPUT L 390 LOCATE 17,1:INPUT G 400 LOCATE 17,2:INPUT PA 410 LOCATE 17,3:INPUT C 420 REM 430 REM 440 REM 450 *CAL:' ----------- ¹²»Ý ----------- 460 USING "#######,###.####" 470 KP=MDF ((TAN (45+PA/2))^2):' ¼Þ­ÄÞ³ Äޱ ¹²½³ 480 USING "#########,###.###" 490 R1=MDF (G*(H^2)*KP/2):' ÊÝØ®¸ 1 500 R2=MDF (2*C*H*(SQR KP)):' ÊÝØ®¸ 2 510 R3=MDF (G*H1*H*KP):' ÊÝØ®¸ 3 520 H3=MDF (H+H1) 530 H2=MDF (H3-L) 540 USING "##########,###.##" 550 R=MDF (AR*B*(R1+R2+R3)):' ¼±ÂÍ· É ÊÝØ®¸ 560 MR=0.28*(B*100)*(D*100)^2*CO 570 P3=MDF ((G*H3+Q)*KP+2*C*SQR KP) 580 P2=MDF ((G*H2+Q)*KP+2*C*SQR KP) 590 ME=((L*100)^2)/6*(2*(P3/10)+(P2/10))*(B*100):' ¼Þ­ÄÞ³Äޱ ϹÞÓ°ÒÝÄ -145- 600 REM -------- ±³ÄÌß¯Ä ---------- 610 CLS :BEEP 1 620 USING "#########,###.####" 630 LOCATE 0,0:PRINT " kp=";MDF KP;" ¼Þ­ÄÞ³Äޱ¹²½³" 640 USING "#########,###.##" 650 LOCATE 0,1:PRINT " R =";MDF R;" t ¼±ÂÍ· ÊÝØ®¸" 660 USING "#,###.###" 670 LOCATE 0,2:PRINT " h3=";H;" + ";H1;" =";MDF H3;" m" 680 WAIT 690 LOCATE 0,3:PRINT " h2=";H3;" - ";L;" =";MDF H2;" m" 700 WAIT 0:CLS 710 USING "##########,###.##" 720 LOCATE 0,0:PRINT " p3=";MDF P3;" t/m2 ¼Þ­ÄÞ³ÄÞ±Â" 730 LOCATE 0,1:PRINT " p2=";MDF P2;" t/m2 ¼Þ­ÄÞ³ÄÞ±Â" 740 USING "##########,###" 750 LOCATE 0,2:PRINT " Mr=";MDF MR;" kg¥cm òº³Ó°ÒÝÄ" 760 WAIT 770 LOCATE 0,3:PRINT " Me=";MDF ME;" kg¥cm ϹÞÓ°ÒÝÄ" 780 BEEP 1 790 GOTO *INPUT -146- @@‰º…“¹„iH–@@–ò‰t’“ü—Ê‚ÌŒvŽZ 10 AUTOGOTO *DEF 20 ' Ô¸´· Á­³Æ­³ É ¹²»Ý 30 REM 40 REM 50 REM ------------ ¼Þ®³¹Ý ------------ 60 REM --- À²¼®³ Òݾ· --- 70 A=17.58:' Òݾ· m2 80 REM --- Á­³Æ­³ À¶» --- 90 L1=0.75:' Èݾ²ÄÞ É À¶» m 100 L2=0.65:' »¼ÂÄÞ É À¶» m 110 L3=2.305:' »Ú·ÄÞ É À¶» m 120 REM --- ÎÞ°ØÝ¸Þ À¶» --- 130 L4=1:' Èݾ²ÄÞ É À¶» m 140 L5=1.4:' »¼ÂÄÞ É À¶» m 150 L6=2.305:' »Ú·ÄÞ É À¶» m 160 REM --- ¶Ý¹Þ·Ø --- 170 KN=0.6:' Èݾ²ÄÞ É ¶Ý¹Þ·Ø % 180 KS=0.5:' »¼ÂÄÞ É ¶Ý¹Þ·Ø % 190 KL=0.35:' »Ú·ÄÞ É ¶Ý¹Þ·Ø % 200 REM --- ¼Þ­³ÃÝØ --- 210 JN=0.5:' Èݾ²ÄÞ É ¼Þ­³ÃÝØ % 220 JS=0.8:' »¼ÂÄÞ É ¼Þ­³ÃÝØ % 230 JL=0.8:' »Ú·ÄÞ É ¼Þ­³ÃÝØ % 240 REM --- 1m ±ÀØ Á­³Æ­³Ø®³ --- 250 QN=0.385:' Èݾ²ÄÞ 1m Á­³Æ­³Ø®³ kl/m 260 QS=0.4:' »¼ÂÄÞ 1m Á­³Æ­³Ø®³ kl/m 270 QL=0.4:' »Ú·ÄÞ 1m Á­³Æ­³Ø®³ kl/m 280 REM --- 1m ±ÀØ ÎÞ°ØÝ¸Þ ¼Þ¶Ý --- 290 VBN=7:'Èݾ²ÄÞ 1m ÎÞ°ØÝ¸Þ ¼Þ¶Ý min/m 300 VBS=9:'»¼ÂÄÞ 1m ÎÞ°ØÝ¸Þ ¼Þ¶Ý min/m 310 VBL=19:'»Ú·ÄÞ 1m ÎÞ°ØÝ¸Þ ¼Þ¶Ý min/m 320 REM --- ¿ÉÀ É ¼Þ®³¹Ý --- 330 VC=2:' 1m ±ÀØ É Û¯ÄÞÄع¤Ê½Þ¼ min/m 340 QQ=0.02:' 1min ļ­Â Ø®³ kl/min 350 T=15:' ¾Ý¼Þ®³¤·¶² ²ÄÞ³ ¼Þ¶Ý min/ÎÝ 360 REM 370 REM 380 REM 390 *DEF:DEFDBL 400 *INPUT:' ----- ¼Þ®³¹Ý Æ­³Ø®¸ ------ 410 WAIT 100 :CLS 420 PRINT "Ô¸´· Á­³Æ­³ É ¹²»Ý" 430 WAIT 0:CLS 440 USING "####,###.###" 450 LOCATE 0,0:PRINT "************* À²¼®³ Òݾ· ***************" 460 LOCATE 0,2:PRINT " A=";A;" m2 À²¼®³ Òݾ·" 470 LOCATE 20,2:INPUT A 480 WAIT 0:CLS 490 USING "###.###" 500 LOCATE 0,0:PRINT "************* Á­³Æ­³ À¶» ***************" 510 LOCATE 0,1:PRINT "L1=";L1;" m Èݾ²ÄÞ É À¶»" 520 LOCATE 0,2:PRINT "L2=";L2;" m »¼ÂÄÞ É À¶»" 530 LOCATE 0,3:PRINT "L3=";L3;" m »Ú·ÄÞ É À¶»" 540 LOCATE 17,1:INPUT L1 550 LOCATE 17,2:INPUT L2 560 LOCATE 17,3:INPUT L3 570 WAIT 0:CLS -147- 580 LOCATE 0,0:PRINT "************* ÎÞ°ØÝ¸Þ À¶» **************" 590 LOCATE 0,1:PRINT "L4=";L4;" m Èݾ²ÄÞ É À¶»" 600 LOCATE 0,2:PRINT "L5=";L5;" m »¼ÂÄÞ É À¶»" 610 LOCATE 0,3:PRINT "L6=";L6;" m »Ú·ÄÞ É À¶»" 620 LOCATE 17,1:INPUT L4 630 LOCATE 17,2:INPUT L5 640 LOCATE 17,3:INPUT L6 650 WAIT 0:CLS 660 LOCATE 0,0:PRINT "************** ¶Ý¹Þ·Ø *****************" 670 LOCATE 0,1:PRINT "KN=";KN;" (%) Èݾ²ÄÞ É ¶Ý¹Þ·ØÂ" 680 LOCATE 0,2:PRINT "KS=";KS;" (%) »¼ÂÄÞ É ¶Ý¹Þ·ØÂ" 690 LOCATE 0,3:PRINT "KL=";KL;" (%) »Ú·ÄÞ É ¶Ý¹Þ·ØÂ" 700 LOCATE 15,1:INPUT KN 710 LOCATE 15,2:INPUT KS 720 LOCATE 15,3:INPUT KL 730 WAIT 0:CLS 740 LOCATE 0,0:PRINT "************** ¼Þ­³ÃÝØ ****************" 750 LOCATE 0,1:PRINT "JN=";JN;" (%) Èݾ²ÄÞ É ¼Þ­³ÃÝØÂ" 760 LOCATE 0,2:PRINT "JS=";JS;" (%) »¼ÂÄÞ É ¼Þ­³ÃÝØÂ" 770 LOCATE 0,3:PRINT "JL=";JL;" (%) »Ú·ÄÞ É ¼Þ­³ÃÝØÂ" 780 LOCATE 15,1:INPUT JN 790 LOCATE 15,2:INPUT JS 800 LOCATE 15,3:INPUT JL 810 WAIT 0:CLS 820 LOCATE 0,0:PRINT "************* 1m ±ÀØ Á­³Æ­³Ø®³ *********" 830 LOCATE 0,1:PRINT "QN=";QN;" kl/m Èݾ²ÄÞ 1m Á­³Æ­³Ø®³" 840 LOCATE 0,2:PRINT "QS=";QS;" kl/m »¼ÂÄÞ 1m Á­³Æ­³Ø®³" 850 LOCATE 0,3:PRINT "QL=";QL;" kl/m »Ú·ÄÞ 1m Á­³Æ­³Ø®³" 860 LOCATE 16,1:INPUT QN 870 LOCATE 16,2:INPUT QS 880 LOCATE 16,3:INPUT QL 890 WAIT 0:CLS 900 LOCATE 0,0:PRINT "*********** 1m ±ÀØ ÎÞ°ØÝ¸Þ ¼Þ¶Ý ********" 910 LOCATE 0,1:PRINT "VBN=";VBN;" min/m Èݾ²ÄÞ1mÎÞ°Øݸ޼޶Ý" 920 LOCATE 0,2:PRINT "VBS=";VBS;" min/m »¼ÂÄÞ 1mÎÞ°Øݸ޼޶Ý" 930 LOCATE 0,3:PRINT "VBL=";VBL;" min/m »Ú·ÄÞ 1mÎÞ°Øݸ޼޶Ý" 940 LOCATE 18,1:INPUT VBN 950 LOCATE 18,2:INPUT VBS 960 LOCATE 18,3:INPUT VBL 970 WAIT 0:CLS 980 LOCATE 0,0:PRINT "************* ¿ÉÀ É ¼Þ®³¹Ý *************" 990 LOCATE 0,1:PRINT "VC=";VC;" min/m 1m Û¯ÄÞÄع ¼Þ¶Ý" 1000 LOCATE 0,2:PRINT "QQ=";QQ;" kl/min 1min ļ­Â Ø®³" 1010 LOCATE 0,3:PRINT "T =";T;" min/ÎÝ ¾Ý¼Þ®³ ²ÄÞ³ ¼Þ¶Ý" 1020 LOCATE 18,1:INPUT VC 1030 LOCATE 18,2:INPUT QQ 1040 LOCATE 18,3:INPUT T 1050 *CAL:' ----------- ¹²»Ý ---------- 1060 USING "######,###.###" 1070 REM ********* À²¼®³ ÄÞØ®³ ******** 1080 V1=MDF (A*L1):'Èݾ²ÄÞ É À²¼®³ÄÞØ®³ 1090 V2=MDF (A*L2):'»¼ÂÄÞ É À²¼®³ÄÞØ®³ 1100 V3=MDF (A*L3):'»Ú·ÄÞ É À²¼®³ÄÞØ®³ 1110 TV=MDF (V1+V2+V3):'Ä°ÀÙ ÄÞØ®³ 1120 REM ********* Á­³Æ­³Ø®³ ********** 1130 V4=MDF (V1*KN*JN):'Èݾ²ÄÞÁ­³Æ­³Ø®³ 1140 V5=MDF (V2*KS*JS):'»¼ÂÄÞ Á­³Æ­³Ø®³ 1150 V6=MDF (V3*KL*JL):'»Ú·ÄÞ Á­³Æ­³Ø®³ 1160 TQ=V4+V5+V6:' Ä°ÀÙ Á­³Æ­³Ø®³ -148- 1170 REM ********* ÎÞ°ØݸÞÁ®³ ********* 1180 TL1=MDF (L1+L2+L3):'Ô¸´· Á­³Æ­³Á®³ 1190 TL2=MDF (L4+L5+L6):'ÎÞ°ØݸÞÁ®³ 1200 REM *** 1m ±ÀØ É Á­³Æ­³Ø®³ Q1 ** 1210 Q1=MDF ((QN*L1+QS*L2+QL*L3)/TL1) 1220 REM ** 1day ±ÀØ É Á­³Æ­³Ø®³ Q ** 1230 USING "######,###.##" 1240 VB=MDF ((VBN*L4+VBS*L5+VBL*L6)/TL2):' 1m ±ÀØ É ÎÞ°ØÝ¸Þ ¼Þ¶Ý 1250 N=(MDF 420/((VB+VC)*TL2+Q1*TL1/QQ+T)):' 1day ±ÀØ É Á­³Æ­³ Îݽ³ 1260 USING "######,###.###" 1270 Q=Q1*TL1*N:' 1day ±ÀØ É Á­³Æ­³Ø®³ 1280 USING "######,###.##" 1290 D=MDF (TQ/Q):' ¼®Ö³ Ư½³ 1300 REM -------- ±³ÄÌß¯Ä ---------- 1310 CLS :BEEP 1 1320 USING "######,###.###" 1330 LOCATE 0,0:PRINT " V1=";MDF V1;" m3 Èݾ²ÄÞ ÄÞØ®³" 1340 LOCATE 0,1:PRINT " V2=";MDF V2;" m3 »¼ÂÄÞ ÄÞØ®³" 1350 LOCATE 0,2:PRINT " V3=";MDF V3;" m3 »Ú·ÄÞ ÄÞØ®³" 1360 WAIT 1370 LOCATE 0,3:PRINT " TV=";MDF TV;" m3 Ä°ÀÙ ÄÞØ®³" 1380 WAIT 0:CLS 1390 LOCATE 0,0:PRINT " V4=";MDF V4;" kl Èݾ²ÄÞ Á­³Æ­³Ø®³" 1400 LOCATE 0,1:PRINT " V5=";MDF V5;" kl »¼ÂÄÞ Á­³Æ­³Ø®³" 1410 LOCATE 0,2:PRINT " V6=";MDF V6;" kl »Ú·ÄÞ Á­³Æ­³Ø®³" 1420 WAIT 1430 LOCATE 0,3:PRINT " TQ=";MDF TQ;" kl Ä°ÀÙ Á­³Æ­³Ø®³" 1440 WAIT 0:CLS 1450 USING "######,###.###" 1460 LOCATE 0,0:PRINT " L4=";MDF L4;" m Èݾ²ÄÞ ÎÞ°ØݸÞÁ®³" 1470 LOCATE 0,1:PRINT " L5=";MDF L5;" m »¼ÂÄÞ ÎÞ°ØݸÞÁ®³" 1480 LOCATE 0,2:PRINT " L6=";MDF L6;" m »Ú·ÄÞ ÎÞ°ØݸÞÁ®³" 1490 WAIT 1500 LOCATE 0,3:PRINT "TL2=";MDF TL2;" m Ä°ÀÙ ÎÞ°ØݸÞÁ®³" 1510 WAIT 0:CLS 1520 USING "####,###.###" 1530 LOCATE 0,0:PRINT " Q'=";MDF Q1;" kl/m 1m ±ÀØ Á­³Æ­³ Ø®³" 1540 LOCATE 0,1:PRINT " l=";MDF TL1;" m 1ÎÝ ±ÀØ Á­³Æ­³ À¶»" 1550 LOCATE 0,2:PRINT " L=";MDF TL2;" m 1ÎÝ ±ÀØ ÎÞ°ØݸÞÀ¶»" 1560 WAIT 1570 USING "####,###.##" 1580 LOCATE 0,3:PRINT " VB=";MDF VB;" min/m 1m±ÀØ ÎÞ°Øݸ޼޶Ý" 1590 WAIT 0:CLS 1600 LOCATE 0,0:PRINT " N=";MDF N;" ÎÝ/d 1ÆÁ ±ÀØ Á­³Æ­³Îݽ³" 1610 USING "####,###.###" 1620 LOCATE 0,1:PRINT " Q=";MDF Q;" kl/d 1ÆÁ ±ÀØ Á­³Æ­³Ø®³" 1630 USING "####,###.##" 1640 LOCATE 0,2:PRINT " D=";MDF D;" days ¼®Ö³ Ư½³" 1650 WAIT 1660 LOCATE 0,3:PRINT " ---------------------------------------" 1670 BEEP 1 1680 GOTO *INPUT -149- @@Water supply calculation by a Kutter formula 10 AUTOGOTO *DEF 20 ' Water supply calculation by Kutter formula 30 REM 40 REM 50 REM -------- First Element --------- 60 WA=0.0707:' Water Area m2 70 WP=0.9425:' Water Length m 80 N=0.013:' ¿ÄÞ¹²½³ 90 I=6:' Incline ß/¡¡ 100 *DEF:DEFDBL 110 *INPUT:' ---- Input conditions ---- 120 WAIT 100 :CLS 130 PRINT "Kutter Formula" 140 CLS :WAIT 0 150 USING "##,###.####" 160 LOCATE 0,0:PRINT "WA=";WA;" m2 Water Area" 170 LOCATE 0,1:PRINT "WP=";WP;" m Water Length" 180 LOCATE 0,2:PRINT " I=";I;" ß/¡¡ Incline" 190 LOCATE 0,3:PRINT " n=";N;" ¿ÄÞ¹²½³" 200 LOCATE 20,0:INPUT WA 210 LOCATE 20,1:INPUT WP 220 LOCATE 20,2:INPUT I 230 LOCATE 20,3:INPUT N 240 REM 250 *CAL:' ----------- Caluculation ----------- 260 USING "#######,###.####" 270 R=MDF (WA/WP):' Water flow Radius m 280 V=MDF ((23+1/N+0.00155/(I/1000))/(1+(23+0.00155/(I/1000))*N/SQR R)*SQR (R*(I/1000))):' Velocity m/sec 290 Q=MDF (WA*V):' Flow Quantity m3/sec 300 REM -------- Output ---------- 310 CLS :BEEP 1 320 USING "####.##" 330 LOCATE 0,0:PRINT "**Kutter[ I =";MDF I;" ß/¡¡"; 340 USING "##.###" 350 PRINT " n=";MDF N;" ] **" 360 USING "#########,###.####" 370 LOCATE 0,1:PRINT " R =";MDF R;" m Water Radius" 380 LOCATE 0,2:PRINT " V =";MDF V;" m/s Velocity" 390 WAIT 400 LOCATE 0,3:PRINT " Q =";MDF Q;" m3/s Quantity" 410 BEEP 1 420 GOTO *INPUT -150- @@Water supply calculation by a Manning formula 10 AUTOGOTO *DEF 20 ' Water supply calculation by a Manning formula 30 REM 40 REM 50 REM -------- First Element --------- 60 WA=0.0707:' Water flow Area m2 70 WP=0.9425:' Water flow Length m 80 I=6:' Incline ß/¡¡ 90 N=0.013:' ¿ÄÞ¹²½³ 100 *DEF:DEFDBL 110 *INPUT:' ---- Input conditions ---- 120 WAIT 100 :CLS 130 PRINT "Manning formula" 140 CLS :WAIT 0 150 USING "##,###.####" 160 LOCATE 0,0:PRINT "WA=";WA;" m2 Water Area" 170 LOCATE 0,1:PRINT "WP=";WP;" m Water Length" 180 LOCATE 0,2:PRINT " I=";I;" ß/¡¡ Incline" 190 LOCATE 0,3:PRINT " n=";N;" ¿ÄÞ¹²½³" 200 LOCATE 20,0:INPUT WA 210 LOCATE 20,1:INPUT WP 220 LOCATE 20,2:INPUT I 230 LOCATE 20,3:INPUT N 240 REM 250 *CAL:' ----------- Calculation ----------- 260 USING "#######,###.####" 270 R=MDF (WA/WP):' Water flow Radius m 280 V=MDF (1/N*R^(2/3)*(I/1000)^(1/2)):'Velocity m/sec 290 Q=MDF (WA*V):' Flow Quantity m3/sec 300 REM -------- Output ---------- 310 CLS :BEEP 1 320 USING "####.##" 330 LOCATE 0,0:PRINT "**Manning[ I=";MDF I;" ß/¡¡"; 340 USING "##.###" 350 PRINT " n=";MDF N;" ] **" 360 USING "#########,###.####" 370 LOCATE 0,1:PRINT " R =";MDF R;" m Water Radius" 380 LOCATE 0,2:PRINT " V =";MDF V;" m/s Velocity" 390 WAIT 400 LOCATE 0,3:PRINT " Q =";MDF Q;" m3/s Quantity" 410 BEEP 1 420 GOTO *INPUT -151- @@Water supply calculation by a Hezen¥Wiliams formula 10 AUTOGOTO *DEF 20 ' Water supply calculation by Hezen¥Wiliams formula 30 REM 40 REM 50 REM ------------ First Element ------------ 60 WA=0.0707:' Water flow Area m2 70 WP=0.9425:' Water flow Length m 80 I=6:' Incline ß/¡¡ 90 C=130:' Velocity coeffcient (Concrete) 100 *DEF:DEFDBL 110 *INPUT:' ----- Input conditions ------ 120 WAIT 100 :CLS 130 PRINT "Hezen¥Wiliams formula" 140 CLS :WAIT 0 150 USING "##,###.####" 160 LOCATE 0,0:PRINT "WA=";WA;" m2 Water Area" 170 LOCATE 0,1:PRINT "WP=";WP;" m Water Length" 180 LOCATE 0,2:PRINT " I=";I;" ß/¡¡ Incline" 190 LOCATE 0,3:PRINT " C=";C;" Coefficient" 200 LOCATE 20,0:INPUT WA 210 LOCATE 20,1:INPUT WP 220 LOCATE 20,2:INPUT I 230 LOCATE 20,3:INPUT C 240 REM 250 *CAL:' ----------- Calculation ----------- 260 USING "#######,###.####" 270 R=MDF (WA/WP):' Water flow Radius m 280 V=MDF (0.84935*C*R^0.63*(I/1000)^0.54):' Velocity m/sec 290 Q=MDF (WA*V):' Flow Quantity m3/sec 300 REM -------- Output ---------- 310 CLS :BEEP 1 320 USING "####.##" 330 LOCATE 0,0:PRINT "** Hezen [ I=";MDF I;" ß/¡¡"; 340 USING "####" 350 PRINT " C=";MDF C;" ] ****"; 360 USING "#########,###.####" 370 LOCATE 0,1:PRINT " R =";MDF R;" m Water Radius" 380 LOCATE 0,2:PRINT " V =";MDF V;" m/s Velocity" 390 WAIT 400 LOCATE 0,3:PRINT " Q =";MDF Q;" m3/s Quantity" 410 BEEP 1 420 GOTO *INPUT -152- Water supply calculation by a Manning formula PART 2 10 AUTOGOTO *DEF 20 ' Water supply calculation by Manning formula PART 2 30 REM 40 REM 50 REM --------- First Element -------- 60 WA=0.0707:' Water flow Area m2 70 WP=0.9425:' Water flow Length m 80 N=0.013:' ¿ÄÞ¹²½³ 90 I=0:' Incline ß/¡¡ 100 V=0:' Velocity m/s 110 Q=0:' Water flow Quantity m3/s 120 REM 130 REM 140 REM 150 *DEF:DEFDBL 160 *INPUT:' ----- Input conditions ------ 170 WAIT 100 :CLS 180 PRINT "Manning formula PART 2" 190 CLS :WAIT 0 200 USING "##,###.####" 210 LOCATE 0,0:PRINT "WA=";WA;" m2 Water Area" 220 LOCATE 0,1:PRINT "WP=";WP;" m Water Length" 230 LOCATE 0,2:PRINT " n=";N;" ¿ÄÞ¹²½³" 240 REM 250 *IN:' --- Input I V Q --- 260 LOCATE 0,3:PRINT " I=";I;" ß/¡¡ Incline" 270 LOCATE 20,0:INPUT WA 280 LOCATE 20,1:INPUT WP 290 LOCATE 20,2:INPUT N 300 LOCATE 20,3:INPUT I 310 IF I<>0THEN *CAL1 320 GOSUB *CL 330 LOCATE 0,3:PRINT " V=";V;" m/s Velocity" 340 LOCATE 20,3:INPUT V 350 IF V<>0THEN *CAL2 360 GOSUB *CL 370 LOCATE 0,3:PRINT " Q=";Q;" m3/s Quantity" 380 LOCATE 20,3:INPUT Q 390 IF Q<>0THEN *CAL3 400 GOTO *IN 410 REM 420 REM 430 REM 440 REM 450 *CAL1:' --- Caluculation by Incline ------ 460 R=WA/WP:' Water flow Radius m 470 V=1/N*R^(2/3)*(I/1000)^(1/2):'Velocity m/sec 480 Q=WA*V:' Water flow Quantity m3/sec 490 GOTO *PRINT 500 *CAL2:' --- Calculation by Velocity ------ 510 R=WA/WP:' Water flow Radius m 520 I=((N*V/R^(2/3))^2)*1000:' Incline ß/¡¡ 530 Q=WA*V:' Water flow Quantity m3/sec 540 GOTO *PRINT 550 *CAL3:' --- Calculation by Quantity ----- 560 R=WA/WP:' Water flow Radius m 570 V=Q/WA 580 I=((N*V/R^(2/3))^2)*1000:' Incline ß/¡¡ 590 REM -153- 600 *PRINT:' -------- Output --------- 610 CLS :BEEP 1 620 USING "####.##" 630 LOCATE 0,0:PRINT "**Manning[ I=";MDF I;" ß/¡¡"; 640 USING "##.###" 650 PRINT " n=";MDF N;" ] **" 660 USING "#########,###.####" 670 LOCATE 0,1:PRINT " R =";MDF R;" m Water Radius" 680 LOCATE 0,2:PRINT " V =";MDF V;" m/s Velocity" 690 WAIT 700 LOCATE 0,3:PRINT " Q =";MDF Q;" m3/s Quantity" 710 BEEP 1 720 GOTO *INPUT 730 REM 740 REM 750 *CL:' ****** Clear *********** 760 LOCATE 0,3:PRINT " " 770 RETURN -154- Corner Calculation @@Input @@@@X1,Y1 Instrument coordinates @@@@X2,Y2 Back point coordinates Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). X3,Y3 Object cordinates L Corner length @@@@@@@@@@+ ( Plus ) Input@---> Corner length - ( Minus ) Input@---> Corner length from instrument to back point and fore point @Output AN Angle L Length L1 Corner length @@@@L2 Corner length from instrument to back point and fore point S Corner area @@@@X4,Y4 Corner coordinates @@@@X5,Y5 Corner coordinates -155- Corner Calculation 10 ' Corner calculation 20 CLS :DEGREE :DEFDBL :WAIT 0:USING "#######,###.###" 30 WAIT 0:PRINT "Corner calculation" 40 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 50 LOCATE 20,0:INPUT "Y1=";Y1 60 LOCATE 20,0:PRINT "Y1=";Y1 70 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 80 LOCATE 20,1:INPUT "Y2=";Y2 90 LOCATE 20,1:PRINT "Y2=";Y2 100 X0=X1:Y0=Y1 110 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 120 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 130 GOSUB 510 140 Z0=AZ:Z=DMS AZ 150 K=2:GOSUB 570:GOSUB 540:PRINT "AZ=";Z$:LOCATE 20,2:PRINT "L =";MDF L0 160 K=3:GOSUB 570:INPUT "X3=";X3:LOCATE 0,3:PRINT "X3=";X3 170 LOCATE 20,3:INPUT "Y3=";Y3 180 LOCATE 20,3:PRINT "Y3=";Y3 190 DX3=X3-X1:DY3=Y3-Y1:L3=SQR (DX3^2+DY3^2):AZ3=ASN (DX3/(L3+ABS (L3=0))) 200 AZ3=(360+AZ3)*ABS (DY3>=0)+(180-AZ3)*ABS (DY3<0) 210 AN=AZ3-AZ+360 220 IF AN>=360LET AN=AN-360:GOTO 220 230 Z=DMS AN:GOSUB 540 240 BEEP 1 250 K=2:GOSUB 570 260 LOCATE 0,2:PRINT "X3=";X3 270 LOCATE 20,2:PRINT "Y3=";Y3 280 K=3:GOSUB 570 290 LOCATE 0,3:PRINT "AN=";Z$ 300 WAIT :LOCATE 20,3:PRINT "L =";MDF (L3):K=3:GOSUB 570 310 INPUT "L=";L 320 IF L=0 THEN 30 330 IF L<0 THEN 370 340 AN2=AN/2:H1=L/2 350 H2=H1/TAN AN2 360 L2=SQR (H1^2+H2^2):GOTO 380 370 L2=ABS L:H1=L2*SIN AN2:H2=L2*COS AN2 380 DX4=L2*SIN AZ:DY4=L2*COS AZ:DX5=L2*SIN AZ3:DY5=L2*COS AZ3 390 X4=X1+DX4:Y4=Y1+DY4:X5=X1+DX5:Y5=Y1+DY5 400 S=H1*H2 405 IF L<0LET S=0:H1=0 410 K=0:GOSUB 570 420 K=1:GOSUB 570 430 K=2:GOSUB 570 440 K=3:GOSUB 570 450 LOCATE 0,0:PRINT "L1=";MDF (H1*2);" L2=";MDF L2 460 LOCATE 0,1:PRINT "S =";MDF S 470 LOCATE 0,2:PRINT "X4=";MDF X4;" Y4=";MDF Y4 480 WAIT :LOCATE 0,3:PRINT "X5=";MDF X5;" Y5=";MDF Y5 490 GOTO 310 500 END 510 IF AZ>=360LET AZ=AZ-360:GOTO 510 520 IF AZ<0LET AZ=AZ+360:GOTO 520 530 RETURN 540 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 550 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 560 RETURN 570 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 580 RETURN 590 K=3:GOSUB 570 600 RETURN -156- Parallel 4 Points Intersection Calculation @@Input @@@@X1,Y1 Known coordinates @@@@X2,Y2 Known coordinates @@@@-W+ Parallel Length X3,Y3 Known coordinates @@@@X4,Y4 Known coordinates @@@@-W+ Parallel Length @Output X Object X coordinate Y Object Y coordinate -157- Parallel 4 Points Intersection 10 ' Parallel lines 4 Points Ver.1.03 20 DEFDBL :DEGREE 30 CLS :USING "#######,###.###" 40 W1=0:W2=0 50 K=0:GOSUB 930 60 K=1:GOSUB 930 70 LOCATE 0,0 80 PRINT "Parallel 4 Points Intersection Ver.1.03" 90 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 100 LOCATE 20,0:INPUT "Y1=";Y1 110 LOCATE 20,0:PRINT "Y1=";Y1 120 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 130 LOCATE 20,1:INPUT "Y2=";Y2 140 LOCATE 20,1:PRINT "Y2=";Y2 150 IF Y2=0LET AZ1=DEG X2:GOTO 200 160 DX=X2-X1:DY=Y2-Y1:L1=SQR (DX^2+DY^2):AZ1=ASN (DX/(L1+ABS (L1=0))) 170 AZ=(360+AZ1)*ABS (DY>=0)+(180-AZ1)*ABS (DY<0) 180 GOSUB 950 190 AZ1=AZ:Z=DMS AZ1:GOSUB 980 200 IF Y2<>0THEN 220 210 IF Y2=0LET Z=DMS AZ1:GOSUB 980 220 LOCATE 0,2:PRINT "AZ1=";Z$ 230 IF Y2=0THEN 250 240 LOCATE 20,2:PRINT "L1=";MDF L1 250 LOCATE 0,3:PRINT "-W+=";W1 260 LOCATE 20,3:INPUT W1 270 X6=X1+W1*SIN (AZ1+90) 280 Y6=Y1+W1*COS (AZ1+90) 290 X7=X2+W1*SIN (AZ1+90) 300 Y7=Y2+W1*COS (AZ1+90) 310 K=0:GOSUB 930 320 K=1:GOSUB 930 330 K=2:GOSUB 930 340 K=3:GOSUB 930 350 LOCATE 0,0:INPUT "X3=";X3:LOCATE 0,0:PRINT "X3=";X3 360 LOCATE 20,0:INPUT "Y3=";Y3 370 LOCATE 20,0:PRINT "Y3=";Y3 380 LOCATE 0,1:INPUT "X4=";X4:LOCATE 0,1:PRINT "X4=";X4 390 LOCATE 20,1:INPUT "Y4=";Y4 400 LOCATE 20,1:PRINT "Y4=";Y4 410 IF Y4=0LET AZ2=DEG X4:GOTO 470 420 DX=X4-X3:DY=Y4-Y3:L2=SQR (DX^2+DY^2):AZ2=ASN (DX/(L2+ABS (L2=0))) 430 AZ=(360+AZ2)*ABS (DY>=0)+(180-AZ2)*ABS (DY<0) 440 GOSUB 950 450 AZ2=AZ:Z=DMS AZ2:GOSUB 980 460 IF Y4<>0THEN 480 470 IF Y4=0LET Z=DMS AZ2:GOSUB 980 480 LOCATE 0,2:PRINT "AZ2=";Z$ 490 IF Y4=0THEN 510 500 LOCATE 20,2:PRINT "L2=";MDF L2 510 LOCATE 0,3:PRINT "-W+=";W2 520 LOCATE 20,3:INPUT W2 530 X8=X3+W2*SIN (AZ2+90) 540 Y8=Y3+W2*COS (AZ2+90) 550 X9=X4+W2*SIN (AZ2+90) 560 Y9=Y4+W2*COS (AZ2+90) 570 IF Y2=0AND Y4=0THEN 770 580 IF Y2=0THEN 650 590 IF Y4=0THEN 710 600 M1=(Y7-Y6)/(X7-X6) 610 M2=(Y9-Y8)/(X9-X8) 620 X=(M2*X8-M1*X6+Y6-Y8)/(M2-M1) 630 Y=M1*(X-X6)+Y6 640 GOTO 840 650 X7=X6+1000*SIN AZ1:Y7=Y6+1000*COS AZ1 660 M1=(Y7-Y6)/(X7-X6) 670 M2=(Y9-Y8)/(X9-X8) 680 X=(M2*X8-M1*X6+Y6-Y8)/(M2-M1) 690 Y=M1*(X-X6)+Y6 700 GOTO 840 710 X9=X8+1000*SIN AZ2:Y9=Y8+1000*COS AZ2 720 M1=(Y7-Y6)/(X7-X6) 730 M2=(Y9-Y8)/(X9-X8) 740 X=(M2*X8-M1*X6+Y6-Y8)/(M2-M1) 750 Y=M1*(X-X6)+Y6 760 GOTO 840 770 X7=X6+1000*SIN AZ1:Y7=Y6+1000*COS AZ1 780 X9=X8+1000*SIN AZ2:Y9=Y8+1000*COS AZ2 790 M1=(Y7-Y6)/(X7-X6) 800 M2=(Y9-Y8)/(X9-X8) 810 X=(M2*X8-M1*X6+Y6-Y8)/(M2-M1) 820 Y=M1*(X-X6)+Y6 830 GOTO 840 840 BEEP 1 850 K=2:GOSUB 930 860 LOCATE 0,2:PRINT "W1=";MDF W1 870 LOCATE 20,2:PRINT "W2=";MDF W2 880 K=3:GOSUB 930 890 LOCATE 0,3:PRINT "X =";MDF X 900 LOCATE 20,3:PRINT "Y =";MDF Y 910 GOTO 50 920 END 930 LOCATE 0,K:PRINT " " 940 RETURN 950 IF AZ>=360LET AZ=AZ-360:GOTO 950 960 IF AZ<0LET AZ=AZ+360:GOTO 960 970 RETURN 980 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 990 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 1000 RETURN -158- Continuous Parallel Intersection @@Input @@@@IP 0 X Start X Coordinate of simple curve @@@@@@ Y Start Y Coordinate of simple curve @@@@IP n X X Coordinate of IP point @@@@Y Y Coordinate of IP point -W+ Parallel Length + Right Hand Side - Left Hand Side @Output @@@@IP n X X Coordinate @@@@Y Y Coordinate WX X Coordinate WY Y Coordinate -159- Continuous Parallel Intersection 10 ' Continuos Parallel Ver. 1.01 20 *MAIN:DEFDBL :' --- Main routine --- 30 CLS :DEGREE 40 S1$="E:" 50 S2$="F:" 60 S3$="X:" 70 S4$="CAS:" 80 SD$=".DAT" 90 FN$="CONT" 100 ON ERROR GOTO *ERR 110 WAIT 0:PRINT "Continuous Parallel Ver.1.01 [ IP 50 P ]" 120 Y=1:LOCATE 4,2:INPUT " [ 1:Continue 2:New 3:Load ] ";Y 130 IF Y=1THEN *LIST 140 IF Y=2THEN *INPUT1 150 IF Y>=4THEN *MAIN 160 REM 170 REM 180 REM 190 REM 200 *LOAD:' -------- Data Load -------- 210 SL=0 220 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 230 IF S>=5THEN *MAIN 240 PRINT "File name [ ] ";" {";FN$;SD$;"}" 250 LOCATE 11,3:INPUT FN$ 260 IF FN$="C"THEN *MAIN 270 ERASE IP,W,WP 280 DIM IP(51,2),W(51),WP(51,2) 290 IF S=4OPEN S4$+FN$+SD$ FOR INPUT AS #1:GOTO 330 300 IF S=3OPEN S3$+FN$+SD$ FOR INPUT AS #1:GOTO 330 310 IF S=2OPEN S2$+FN$+SD$ FOR INPUT AS #1:GOTO 330 320 OPEN S1$+FN$+SD$ FOR INPUT AS #1 330 WAIT 0:PRINT "¥¥¥¥ Now Loading Just a moment Please !!" 340 INPUT #1,IP(*),W(*),WP(*) 350 CLOSE #1 360 GOTO *LIST 370 REM 380 REM 390 REM 400 *INPUT1:' ----- Input ----- 410 USING "###,###.###" 420 ERASE IP,W,WP 430 DIM IP(51,2),W(51),WP(51,2) 440 FOR I=0TO 50 450 CLS 460 LOCATE 0,3:PRINT "[ Next Last IP Point are X=0,Y=0 ]" 470 IP(I,1)=0:LOCATE 0,0:PRINT "IP";STR$ I;:INPUT " X=";IP(I,1) 480 LOCATE 0,0:PRINT "IP";STR$ I;" X=";IP(I,1); 490 IP(I,2)=0:INPUT " Y=";IP(I,2) 500 IF I=0THEN 550 510 IF IP(I,1)=0AND IP(I,2)=0LET I=50:GOTO 550 520 W=0:LOCATE 3,1:PRINT "-W+=";W 530 LOCATE 19,1:INPUT W 540 W(I)=W 550 NEXT I 560 REM 570 REM 580 REM 590 REM -160- 600 *CHANGE:' --------- Change ------- 610 WAIT 0 620 K=3:GOSUB 1940 630 Y=1:LOCATE 0,3:INPUT "Data[1:Change 2:Insert 3:Delete4:Save]";Y 640 IF Y>4THEN *LIST 650 IF Y=4THEN *SAVE 660 IF Y=3THEN *DELETE 670 IF Y=2THEN *INSERT 680 Y=1:INPUT "Change [ 1:IP 2:IP0 3:CAL. 4:List ]";Y 690 IF Y>=4THEN *LIST 700 IF Y=3THEN *CAL 710 IF Y=2THEN *CHANGE1 720 N=0:INPUT "Change NO. ";N 730 IF N<=0THEN *CAL 740 GOSUB *CHANGE2 750 GOTO 720 760 REM 770 REM 780 REM 790 REM 800 *CHANGE1:' ----- Change 1 ----- 810 CLS :WAIT 0 820 USING "####,###.###":' 3 Figure 830 LOCATE 0,0:PRINT "IP 0 X=";IP(0,1) 840 LOCATE 0,1:PRINT " Y=";IP(0,2) 850 REM 860 LOCATE 20,0:INPUT IP(0,1) 870 LOCATE 20,1:INPUT IP(0,2) 880 GOTO *CHANGE 890 REM 900 *CHANGE2:' ----- Change 2 ----- 910 CLS :WAIT 0 920 USING "####,###.###":' 3 Figure 930 LOCATE 0,0:PRINT "IP ";STR$ N;" X=";IP(N,1) 940 LOCATE 0,1:PRINT " Y=";IP(N,2) 950 LOCATE 0,2:PRINT " -W+=";W(N) 960 LOCATE 21,0:INPUT IP(N,1) 970 LOCATE 21,1:INPUT IP(N,2) 980 LOCATE 21,2:INPUT W(N) 990 RETURN 1000 *INSERT:' ----- Insert ----- 1010 N=0:INPUT "Insert NO. ";N 1020 IF N<=0THEN *LIST 1030 CLS :WAIT 0 1040 USING "##":PRINT "IP ";N; 1050 USING "####,###.###" 1060 LOCATE 6,0:PRINT "X=";IP(N,1) 1070 LOCATE 6,1:PRINT "Y=";IP(N,2) 1080 LOCATE 4,2:PRINT "-W+=";W(N) 1090 X=IP(N,1):LOCATE 21,0:INPUT X 1100 Y=IP(N,2):LOCATE 21,1:INPUT Y 1110 W=W(N):LOCATE 21,2:INPUT W 1120 FOR I=N TO 50 1130 X1=IP(I,1):Y1=IP(I,2):W1=W(I) 1140 IP(I,1)=X:IP(I,2)=Y:W(I)=W 1150 X=X1:Y=Y1:W=W1 1160 IF IP(I,1)=0AND IP(I,2)=0LET I=50 1170 NEXT I 1180 GOTO *INSERT 1190 REM -161- 1200 *DELETE:' ----- Delete ----- 1210 N=0:INPUT "Delete NO. ";N 1220 IF N<=0THEN *LIST 1230 CLS :WAIT 0 1240 USING "##":PRINT N; 1250 USING "####,###.###":' 3 Figure 1260 PRINT " IP ";STR$ N;" X=";IP(N,1) 1270 LOCATE 9,1:PRINT "Y=";IP(N,2) 1280 LOCATE 7,2:PRINT "-W+=";W(N) 1290 Y$="N":INPUT " Delete (Y/N) ";Y$ 1300 IF Y$<>"Y"THEN 1350 1310 FOR I=N TO 50 1320 IP(I,1)=IP(I+1,1):IP(I,2)=IP(I+1,2):W(I)=W(I+1) 1330 IF IP(I,1)=0AND IP(I,2)=0LET I=50 1340 NEXT I 1350 GOTO *DELETE 1360 REM 1370 REM 1380 REM 1390 REM 1400 *LIST:' ----- List ----- 1410 USING "####,###.###":' 3 Figure 1420 FOR I=1TO 50 1430 CLS :WAIT 0 1440 PRINT " IP ";STR$ I;" X=";IP(I,1) 1450 LOCATE 7,1:PRINT "Y=";IP(I,2) 1460 WAIT :LOCATE 5,2:PRINT "-W+=";W(I) 1470 IF IP(I+1,1)=0AND IP(I+1,2)=0LET I=50 1480 NEXT I 1490 REM -162- 1500 *CAL:' ----- Calculation ----- 1510 USING "####,###.###":' 3 Figure 1520 FOR I=0TO 49 1530 IF IP(I+2,1)=0AND IP(I+2,2)=0LET I=49:GOTO 1920 1540 X0=IP(I,1):Y0=IP(I,2) 1550 X1=IP(I+1,1):Y1=IP(I+1,2) 1560 X2=IP(I+2,1):Y2=IP(I+2,2) 1570 DX=X1-X0:DY=Y1-Y0:L1=SQR (DX^2+DY^2):AZ1=ASN (DX/(L1+ABS (L1=0))) 1580 AZ=(360+AZ1)*ABS (DY>=0)+(180-AZ1)*ABS (DY<0) 1590 GOSUB 1960 1600 AZ1=AZ:Z=DMS AZ1:GOSUB 1990 1610 X6=X0+W(I+1)*SIN (AZ1+90) 1620 Y6=Y0+W(I+1)*COS (AZ1+90) 1630 X7=X1+W(I+1)*SIN (AZ1+90) 1640 Y7=Y1+W(I+1)*COS (AZ1+90) 1650 DX=X2-X1:DY=Y2-Y1:L2=SQR (DX^2+DY^2):AZ2=ASN (DX/(L2+ABS (L2=0))) 1660 AZ=(360+AZ2)*ABS (DY>=0)+(180-AZ2)*ABS (DY<0) 1670 GOSUB 1960 1680 AZ2=AZ:Z=DMS AZ2:GOSUB 1990 1690 X8=X1+W(I+2)*SIN (AZ2+90) 1700 Y8=Y1+W(I+2)*COS (AZ2+90) 1710 X9=X2+W(I+2)*SIN (AZ2+90) 1720 Y9=Y2+W(I+2)*COS (AZ2+90) 1730 M1=(Y7-Y6)/(X7-X6) 1740 M2=(Y9-Y8)/(X9-X8) 1750 X=(M2*X8-M1*X6+Y6-Y8)/(M2-M1) 1760 Y=M1*(X-X6)+Y6 1770 WP(I+1,1)=X 1780 WP(I+1,2)=Y 1790 BEEP 1 1800 K=0:GOSUB 1940 1810 LOCATE 0,0:PRINT "IP";STR$ I;"=";MDF IP(I,1) 1820 LOCATE 20,0:PRINT "Y=";MDF IP(I,2) 1830 K=1:GOSUB 1940 1840 LOCATE 0,1:PRINT "IP";STR$ (I+1);"=";MDF IP(I+1,1) 1850 LOCATE 20,1:PRINT "Y=";MDF IP(I+1,2) 1860 K=2:GOSUB 1940 1870 LOCATE 0,2:PRINT "IP";STR$ (I+2);"=";MDF IP(I+2,1) 1880 LOCATE 20,2:PRINT "Y=";MDF IP(I+2,2) 1890 K=3:GOSUB 1940 1900 LOCATE 0,3:PRINT " WX=";MDF WP(I+1,1) 1910 WAIT :LOCATE 19,3:PRINT "WY=";MDF WP(I+1,2) 1920 NEXT I 1930 GOTO *CHANGE 1940 WAIT 0:LOCATE 0,K:PRINT " " 1950 RETURN 1960 IF AZ>=360LET AZ=AZ-360:GOTO 1960 1970 IF AZ<0LET AZ=AZ+360:GOTO 1970 1980 RETURN 1990 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 2000 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 2010 RETURN 2020 REM 2030 REM 2040 REM -163- 2050 *SAVE:' -------- Data save ------- 2060 WAIT 0 2070 SL=1 2080 S=1:INPUT "Device [ 1:E 2:F 3:X 4:CAS 5:Cancel ]";S 2090 IF S>=5THEN *CAL 2100 PRINT "File name [ ] ";"{";FN$;SD$;"}" 2110 LOCATE 11,3:INPUT FN$ 2120 IF FN$="C"THEN *LIST 2130 IF S=4OPEN S4$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2170 2140 IF S=3OPEN S3$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2170 2150 IF S=2OPEN S2$+FN$+SD$ FOR OUTPUT AS #1:GOTO 2170 2160 OPEN S1$+FN$+SD$ FOR OUTPUT AS #1 2170 WAIT 0:PRINT "¥¥¥¥¥ Now saving Just a moment Please !!" 2180 PRINT #1,IP(*),W(*),WP(*) 2190 CLOSE #1 2200 GOTO *CHANGE 2210 REM 2220 REM 2230 REM 2240 REM 2250 *ERR:' -------- Error -------- 2260 BEEP 2 2270 WAIT 0 2280 IF ERN =72AND SL=0PRINT "I/O error":RESUME 220 2290 IF ERN =72AND SL=1PRINT "I/O error":RESUME 2080 2300 IF ERN =75AND SL=0PRINT "Bad drive name":RESUME 220 2310 IF ERN =75AND SL=1PRINT "Bad drive name":RESUME 2080 2320 IF ERN =76AND SL=1PRINT "File write protected":RESUME 2080 2330 IF ERN =77PRINT "Disk full":RESUME 2080 2340 IF ERN =94PRINT "File not found":RESUME 220 2350 RESUME *CHANGE 2360 REM 2370 Z=DMS (Z+5/10^6) 2380 D=INT Z:F=(Z-D)*100:E=INT F:G=INT ((F-E)*1000)/10 2390 Z$=STR$ D+"ß"+STR$ E+"'"+STR$ G 2400 RETURN -164- Reverse Calculation@m@Continuous Reverse@n @Calculation for 2 point's Distance and Azimuth @@Input @@@@X1,Y1 Instrument coordinates @@@@X2,Y2 Back point coordinates @Output @@@@AZ Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@L Length -165- Continuous Reverse Calculation 10 ' Continuous Reverse Calculation 20 CLS :DEGREE :DEFDBL :USING "#######,###.###" 30 WAIT 0:PRINT "Continuous Reverse Calculation" 40 LOCATE 0,1:INPUT "X1=";X1 50 LOCATE 0,1:PRINT "X1=";X1 60 LOCATE 20,1:INPUT "Y1=";Y1 70 LOCATE 20,1:PRINT "Y1=";Y1 80 K=2:GOSUB 360 90 K=3:GOSUB 360 100 LOCATE 0,2:INPUT "X2=";X2 110 LOCATE 0,2:PRINT "X2=";X2 120 LOCATE 20,2:INPUT "Y2=";Y2 130 LOCATE 20,2:PRINT "Y2=";Y2 140 X0=X1:Y0=Y1 150 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 160 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 170 GOSUB 300 180 Z0=AZ:Z=DMS AZ 190 BEEP 1 200 K=3:GOSUB 360:GOSUB 330:PRINT "AZ=";Z$ 210 LOCATE 20,3:WAIT :PRINT "L =";MDF L0 220 X1=X2:Y1=Y2 230 K=1:GOSUB 360 240 K=2:GOSUB 360 250 K=3:GOSUB 360 260 LOCATE 0,1:PRINT "X1=";X1 270 LOCATE 20,1:PRINT "Y1=";Y1 280 GOTO 100 290 END 300 IF AZ>=360LET AZ=AZ-360:GOTO 300 310 IF AZ<0LET AZ=AZ+360:GOTO 310 320 RETURN 330 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 340 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 350 RETURN 360 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 370 RETURN -166- Continuous Angle Calculation @@Input @@@@X1,Y1 Instrument coordinates @@@@X2,Y2 Back point coordinates Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). X3,Y3 Object cordinates @Output AN Angle L Length -167- Continuous Angle Calculation 10 ' Continuous Angle Calculation 20 CLS :DEGREE :DEFDBL :WAIT 0:USING "#######,###.###" 30 PRINT "Continuous Angle Calculation" 40 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 50 LOCATE 20,0:INPUT "Y1=";Y1 60 LOCATE 20,0:PRINT "Y1=";Y1 70 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 80 LOCATE 20,1:INPUT "Y2=";Y2 90 LOCATE 20,1:PRINT "Y2=";Y2 100 X0=X1:Y0=Y1 110 DX=X2-X1:DY=Y2-Y1:L0=SQR (DX^2+DY^2):AZ=ASN (DX/(L0+ABS (L0=0))) 120 AZ=(360+AZ)*ABS (DY>=0)+(180-AZ)*ABS (DY<0) 130 GOSUB 420 140 Z0=AZ:Z=DMS AZ 150 K=2:GOSUB 480:GOSUB 450:PRINT "AZ=";Z$:LOCATE 20,2:PRINT "L =";MDF L0 160 K=3:GOSUB 480:INPUT "X3=";X3:LOCATE 0,3:PRINT "X3=";X3 170 LOCATE 20,3:INPUT "Y3=";Y3 180 LOCATE 20,3:PRINT "Y3=";Y3 190 DX3=X3-X1:DY3=Y3-Y1:L3=SQR (DX3^2+DY3^2):AZ3=ASN (DX3/(L3+ABS (L3=0))) 200 AZ3=(360+AZ3)*ABS (DY3>=0)+(180-AZ3)*ABS (DY3<0) 210 AN=AZ3-AZ+360 220 IF AN>=360LET AN=AN-360:GOTO 220 230 Z=DMS AN:GOSUB 450 240 BEEP 1 250 K=2:GOSUB 480 260 LOCATE 0,2:PRINT "X3=";X3 270 LOCATE 20,2:PRINT "Y3=";Y3 280 K=3:GOSUB 480 290 LOCATE 0,3:PRINT "AN=";Z$ 300 WAIT :LOCATE 20,3:PRINT "L =";MDF (L3):K=3:GOSUB 480 310 X2=X1:Y2=Y1:X1=X3:Y1=Y3 320 K=0:GOSUB 480 330 K=1:GOSUB 480 340 K=2:GOSUB 480 350 K=3:GOSUB 480 360 LOCATE 0,0:PRINT "X1=";X1 370 LOCATE 20,0:PRINT "Y1=";Y1 380 LOCATE 0,1:PRINT "X2=";X2 390 LOCATE 20,1:PRINT "Y2=";Y2 400 GOTO 110 410 END 420 IF AZ>=360LET AZ=AZ-360:GOTO 420 430 IF AZ<0LET AZ=AZ+360:GOTO 430 440 RETURN 450 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 460 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 470 RETURN 480 WAIT 0:LOCATE 0,K:PRINT " ":LOCATE 0,K 490 RETURN 500 K=3:GOSUB 480 510 RETURN -168- Line and circle Intersection ( CIRCL103.546 ) @@Input @@@@X1,Y1 Known coordinatesiLinej @@@@X2,Y2 Known coordinatesiLinej Azimuth ( Instrument ---> Back point ) Outer Azimuth @@@@@@@@@ is known X2 = Azimuth ( Outer Azimuth ) @@@@@@@@@ @Y2 = 0 ( Zero ). -W+ Width @@@@@@@@@@+ Right side@( Instrument point --- Back point ) @@@@@@@@@@- Left side@( Instrument point --- Back point ) @@@@RX,RY Center coordinates of circle R Radius @Output @@@@AN Inter angle @@@@L Length @@@@R Radius @@@@H Perpendicular X Object X coordinate Y Object Y coordinate X Object X coordinate Y Object Y coordinate -169- Line and circle Intersection ( CIRCL103.546 ) 10 ' Line --- Circle Ver.1.03 20 DEFDBL :DEGREE :ON ERROR GOTO 50 30 CLS :USING "#######,###.###" 40 W1=0:W2=0 50 WAIT 0:K=0:GOSUB 680 60 K=1:GOSUB 680 70 LOCATE 0,0 80 PRINT "Line --- Circle Ver.1.03" 90 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 100 LOCATE 20,0:INPUT "Y1=";Y1 110 LOCATE 20,0:PRINT "Y1=";Y1 120 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 130 LOCATE 20,1:INPUT "Y2=";Y2 140 LOCATE 20,1:PRINT "Y2=";Y2 150 IF Y2=0LET AZ1=DEG X2:GOTO 200 160 DX=X2-X1:DY=Y2-Y1:L1=SQR (DX^2+DY^2):AZ1=ASN (DX/(L1+ABS (L1=0))) 170 AZ=(360+AZ1)*ABS (DY>=0)+(180-AZ1)*ABS (DY<0) 180 GOSUB 700 190 AZ1=AZ:Z=DMS AZ1:GOSUB 730 200 IF Y2<>0THEN 220 210 IF Y2=0LET Z=DMS AZ1:GOSUB 730 220 LOCATE 0,2:PRINT "AZ1=";Z$ 230 IF Y2=0THEN 250 240 LOCATE 20,2:PRINT "L1=";MDF L1 250 LOCATE 0,3:PRINT "-W+=";W1 260 LOCATE 20,3:INPUT W1 270 X6=X1+W1*SIN (AZ1+90) 280 Y6=Y1+W1*COS (AZ1+90) 290 X7=X2+W1*SIN (AZ1+90) 300 Y7=Y2+W1*COS (AZ1+90) 310 INPUT "RX=";RX:LOCATE 0,3:PRINT "RX=";RX 320 LOCATE 20,3:INPUT "RY=";RY 330 LOCATE 20,3:PRINT "RY=";RY 340 DX=RX-X6:DY=RY-Y6:L2=SQR (DX^2+DY^2):AZ2=ASN (DX/(L2+ABS (L2=0))) 350 AZ=(360+AZ2)*ABS (DY>=0)+(180-AZ2)*ABS (DY<0) 360 GOSUB 700 370 AZ2=AZ:Z=DMS AZ2:GOSUB 730 380 AN2=AZ2-AZ1+360 390 IF AN2>=360LET AN2=AN2-360:GOTO 390 400 Z=DMS AN2:GOSUB 730 410 PRINT "R =";R1;" ";:INPUT R1 420 L3=L2*COS AN2 430 H=L2*SIN AN2 440 L4=SQR (R1^2-H^2) 450 L=L4*2 460 AN=(ACS ((ABS H)/R1))*2 470 Z=DMS AN:GOSUB 730 480 X8=X6+(L3-L4)*SIN AZ1 490 Y8=Y6+(L3-L4)*COS AZ1 500 X9=X6+(L3+L4)*SIN AZ1 510 Y9=Y6+(L3+L4)*COS AZ1 520 BEEP 1 530 K=0:GOSUB 680 540 K=1:GOSUB 680 550 K=2:GOSUB 680 560 K=3:GOSUB 680 570 LOCATE 0,0:PRINT "AN=";Z$ 580 LOCATE 20,0:PRINT "L =";MDF L 590 LOCATE 0,1:PRINT "R =";MDF R1 600 LOCATE 20,1:PRINT "H =";MDF H 610 K=3:GOSUB 680 620 LOCATE 0,2:PRINT "X =";MDF X8 630 LOCATE 20,2:PRINT "Y =";MDF Y8 640 LOCATE 0,3:PRINT "X =";MDF X9 650 WAIT :LOCATE 20,3:PRINT "Y =";MDF Y9 660 GOTO 50 670 END 680 LOCATE 0,K:PRINT " " 690 RETURN 700 IF AZ>=360LET AZ=AZ-360:GOTO 700 710 IF AZ<0LET AZ=AZ+360:GOTO 710 720 RETURN 730 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 740 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 750 RETURN -170- Center Calculation ( CENT103.547 ) @@Input @@@@X1,Y1 Known coordinatesiOn the circlej @@@@X2,Y2 Known coordinatesiOn the circlej @@@@X3,Y3 Known coordinatesiOn the circlej @Output AZ1 Azimuth @@@@@@L1 Length AZ2 Azimuth @@@@@@L2 Length @@@@ R Radius RX Center X coordinate of circle RY Center Y coordinate of circle -171- Center Calculation ( CENT103.547 ) 10 ' Center Ver.1.03 20 DEFDBL :DEGREE 30 CLS :USING "#######,###.###" 40 W1=0:W2=0 50 WAIT 0:K=0:GOSUB 660 60 K=1:GOSUB 660 70 LOCATE 0,0 80 PRINT "Center Ver.1.03" 90 INPUT "X1=";X1:CLS :LOCATE 0,0:PRINT "X1=";X1 100 LOCATE 20,0:INPUT "Y1=";Y1 110 LOCATE 20,0:PRINT "Y1=";Y1 120 INPUT "X2=";X2:LOCATE 0,1:PRINT "X2=";X2 130 LOCATE 20,1:INPUT "Y2=";Y2 140 LOCATE 20,1:PRINT "Y2=";Y2 150 IF Y2=0LET AZ1=DEG X2:GOTO 200 160 DX=X2-X1:DY=Y2-Y1:L1=SQR (DX^2+DY^2):AZ1=ASN (DX/(L1+ABS (L1=0))) 170 AZ=(360+AZ1)*ABS (DY>=0)+(180-AZ1)*ABS (DY<0) 180 GOSUB 680 190 AZ1=AZ:Z=DMS AZ1:GOSUB 710 200 IF Y2<>0THEN 220 210 IF Y2=0LET Z=DMS AZ1:GOSUB 710 220 LOCATE 0,2:PRINT "AZ1=";Z$ 230 IF Y2=0THEN 250 240 LOCATE 20,2:PRINT "L1=";MDF L1 250 REM 260 INPUT "X3=";X3:LOCATE 0,3:PRINT "X3=";X3 270 LOCATE 20,3:INPUT "Y3=";Y3 280 LOCATE 20,3:PRINT "Y3=";Y3 290 DX=X3-X1:DY=Y3-Y1:L2=SQR (DX^2+DY^2):AZ2=ASN (DX/(L2+ABS (L2=0))) 300 AZ=(360+AZ2)*ABS (DY>=0)+(180-AZ2)*ABS (DY<0) 310 GOSUB 680 320 AZ2=AZ:Z=DMS AZ2:GOSUB 710 330 IF Y4<>0THEN 350 340 IF Y4=0LET Z=DMS AZ2:GOSUB 710 350 K=3:GOSUB 660 360 LOCATE 0,3:PRINT "AZ2=";Z$ 370 IF Y4=0THEN 390 380 LOCATE 20,3:PRINT "L2=";MDF L2 390 X6=X1+(L1/2)*SIN AZ1 400 Y6=Y1+(L1/2)*COS AZ1 410 X8=X1+(L2/2)*SIN AZ2 420 Y8=Y1+(L2/2)*COS AZ2 430 X7=X6+1000*SIN (AZ1+90):Y7=Y6+1000*COS (AZ1+90) 440 X9=X8+1000*SIN (AZ2+90):Y9=Y8+1000*COS (AZ2+90) 450 M1=(Y7-Y6)/(X7-X6) 460 M2=(Y9-Y8)/(X9-X8) 470 X=(M2*X8-M1*X6+Y6-Y8)/(M2-M1) 480 Y=M1*(X-X6)+Y6 490 DX=X-X1:DY=Y-Y1:R0=SQR (DX^2+DY^2):AZ0=ASN (DX/(R0+ABS (R0=0))) 500 BEEP 1 510 Z=DMS AZ1:GOSUB 710 520 K=0:GOSUB 660 530 K=1:GOSUB 660 540 K=2:GOSUB 660 550 K=3:GOSUB 660 560 LOCATE 0,0: PRINT "AZ1=";Z$ 570 LOCATE 20,0: PRINT "L1=";MDF L1 580 Z=DMS AZ2:GOSUB 710 590 LOCATE 0,1: PRINT "AZ2=";Z$ 600 LOCATE 20,1: PRINT "L2=";MDF L2 610 LOCATE 0,2:PRINT "R =";MDF R0 620 LOCATE 0,3:PRINT "RX=";MDF X 630 WAIT :LOCATE 20,3:PRINT "RY=";MDF Y 640 GOTO 50 650 END 660 LOCATE 0,K:PRINT " " 670 RETURN 680 IF AZ>=360LET AZ=AZ-360:GOTO 680 690 IF AZ<0LET AZ=AZ+360:GOTO 690 700 RETURN 710 P=INT Z:O=(Z-P)*100:Q=INT O:R=INT ((O-Q)*1000+0.5)/10 720 Z$=STR$ P+CHR$ &DF+STR$ Q+CHR$ &27+STR$ R 730 RETURN -172- 2008.9.1 Toshio Kawaguchi E-mail to khf00050s@yahoo.co.jp khf00050sg@yahoo.com.sg ----------------------------------------------------------------------------