1 REM ******************************** 2 REM * _________GEOMETRI___________ * 3 REM * KAJ TIM@N >4512< * 4 REM * Box 29 * 5 REM * 540 16 TIMMERSDALA * 6 REM * Telefon 0511/81011 * 7 REM ******************************** 8 ; CHR$(12) 9 GOTO 20 10 A$=" GEOMETRI " 11 FOR T%=1% TO LEN(A$) 12 IF INP(56)=141 GOTO 29 13 ; CUR(10%,0%)LEFT$(A$,T%) 14 ; CUR(10%,T%);">" 15 IF INP(56)=141 GOTO 29 16 FOR R%=1% TO 500% : NEXT R% 17 NEXT T% 18 ; CUR(10%,39%);" " 19 RETURN 20 GOSUB 10 21 A$=" Tryck p} RETURN " 22 GOSUB 11 23 GOTO 9 24 GOTO 53 25 ; CUR(20%,2%);"FELAKTIGT TAL !" 26 ; CHR$(7) 27 ONERRORGOTO 25 28 GOTO 100 29 REM ***************** 30 REM * INSTRUKTIONER * 31 REM ***************** 32 ; CHR$(12) 33 ; : ; " GEOMETRI" 34 ; CHR$(151);" ########" 35 ; : ; " Detta program r{knar ut arean eller " 36 ; "volymen hos olika figurer eller kroppar."; 37 ; "Du v{ljer vad vi ska r{kna med hj{lp av" 38 ; "menyn. I v{nstra spalten st}r figurerna" 39 ; "och i h|gra spalten st}r kropparna. N{r" 40 ; "du skall ange enhet {r det m}ttet som" 41 ; "menas, tex meter ,centimeter osv..." 42 ; 'N{r du vill g} ur programmet, v{lj ' 43 ; 'alternativ 11 "SLUT".' 44 ; : ; " Du v{ljer figur/kropp genom att flytta"; 45 ; "mark|ren dit du vill och sedan trycka p}"; 46 ; "RETURN. (Mark|ren flyttas med pilarna " 47 ; "l{ngst n{r till h|ger p} tangentbordet.)" 48 ; CUR(22%,9%);"TRYCK P] MELLANSLAG! "; 49 GET A$ 50 IF A$=CHR$(32) GOTO 53 51 GOTO 49 52 REM ****************** 53 REM ** PROGRAM MENY ** 54 REM ****************** 55 ; CHR$(12) 56 ONERRORGOTO 25 57 ; CUR(1%,14%);"AREA & VOLYM" 58 ; CUR(2%,13%);CHR$(151%);"############" 59 ; CUR(4%,6%);"AREA VOLYM" 60 ; CUR(5%,5%);CHR$(151);"#### #####" 61 ; CUR(6%,3%);"1. KVADRAT 5. KUB" 62 ; CUR(8%,3%);"2. REKTANGEL 6. R[TBLOCK" 63 ; CUR(10%,3%);"3. CIRKEL 7. PYRAMID" 64 ; CUR(12%,3%);"4. TRIANGEL 8. KLOT" 65 ; CUR(14%,25%);"9. KON" 66 ; CUR(16%,24%);"10. CYLINDER" 67 ; CUR(18%,24%);"11. SLUT " 68 ; CUR(15%,5%);'UPP="<-"' 69 ; CUR(16%,5%);'NED="->"' 70 ; CUR(17%,5%);'TRYCK P] ' 71 ; CUR(18%,5%);'"RETURN"' 72 FOR A%=15% TO 18% 73 ; CUR(A%,2%);CHR$(151);"5";CHR$(135) 74 ; CUR(A%,13%);CHR$(151);"j";CHR$(135) 75 NEXT A% 76 ; CUR(14%,2%);CHR$(151);"<,,,,,,,,,,l";CHR$(135) 77 ; CUR(19%,2%);CHR$(151);"-,,,,,,,,,,." 78 A%=6% : B%=4% 79 ; CUR(A%,B%); : GET A$ 80 IF A$=CHR$(8) THEN A%=A%-2% 81 IF A$=CHR$(9) THEN A%=A%+2% 82 IF B%=26% AND A%>18% THEN A%=18% 83 IF B%=4% AND A%<6% THEN A%=6% 84 IF A%>12% AND B%=4% GOSUB 88 85 IF A%<6% AND B%=26% GOSUB 91 86 IF A$=CHR$(13) GOTO 96 87 GOTO 79 88 A%=6% 89 B%=26% 90 RETURN 91 A%=12% 92 B%=4% 93 IF B%=26% GOTO 143 94 RETURN 95 REM ****************************** 96 REM * KOLLAR VAD JAG SKALL R[KNA * 97 REM ****************************** 98 IF A%=18 GOTO 211 99 ; CHR$(12) 100 IF B%=26% GOTO 143 101 ; CUR(2%,18%);"AREA" 102 ; CUR(3%,17%);CHR$(151);"####" 103 ; CUR(6%,2%);"ANGE ENHET " 104 IF A%=6% GOTO 109 105 IF A%=8% GOTO 116 106 IF A%=10% GOTO 124 107 IF A%=12 GOTO 132 108 REM ** KVADRAT ** 109 ; CUR(4%,0%);"KVADRAT" 110 ; CUR(6%,2%);"ANGE ENHET "; : INPUT A$ 111 ; CUR(8%,2%);"ANGE EN SIDA AV KVADRATEN "; : INPUT C 112 B$="KVADRAT"+A$ 113 ; CUR(10%,2%);"SVAR: AREAN [R"C*C" "B$ 114 GOTO 208 115 REM ** REKTANGEL ** 116 ; CUR(4%,0%);"REKTANGEL" 117 ; CUR(6%,13%); : INPUT A$ 118 ; CUR(8%,2%);"ANGE REKTANGELNS BAS "; : INPUT C 119 ; CUR(10%,2%);"ANGE REKTANGELNS H\JD "; : INPUT D 120 B$="KVADRAT"+A$ 121 ; CUR(12%,2%);"SVAR: AREAN [R"C*D" "B$ 122 GOTO 208 123 REM ** CIRKEL ** 124 ; CUR(4%,0%);"CIRKEL" 125 ; CUR(6%,13%); : INPUT A$ 126 ; CUR(8%,2%);"ANGE CIRKELNS DIAMETER "; : INPUT D 127 Y=3.1416*D*D/4 128 B$="KVADRAT"+A$ 129 ; CUR(10%,2%);"SVAR: AREAN [R"Y" "B$ 130 GOTO 208 131 REM ** TRIANGEL ** 132 ; CUR(4%,0%);"TRIANGEL" 133 ; CUR(6%,13%); : INPUT A$ 134 ; CUR(8%,2%);"ANGE TRIANGELNS BAS "; : INPUT B 135 ; CUR(10%,2%);"ANGE TRIANGELNS H\JD "; : INPUT H 136 A=H*B/2 137 B$="KVADRAT"+A$ 138 ; CUR(12%,2%);"SVAR: AREAN [R"A" "B$ 139 GOTO 208 140 REM ****************** 141 REM *** _K_U_B_I_K_ ** 142 REM ****************** 143 ; CUR(2%,17%);"VOLYM" 144 ; CUR(3%,16%);CHR$(151);"#####" 145 ; CUR(6%,1%);" ANGE ENHET " 146 IF A%=6% GOTO 154 147 IF A%=8% GOTO 160 148 IF A%=10% GOTO 171 149 IF A%=12% GOTO 182 150 IF A%=18% GOTO 211 151 IF A%=14% GOTO 191 152 IF A%=16% GOTO 200 153 REM * KUB * 154 ; CUR(4%,0%);"KUB" 155 ; CUR(6%,13%); : INPUT A$ 156 ; CUR(8%,2%);"ANGE N]GON AV KUBENS KANTER "; : INPUT S 157 B$="KUBIK"+A$ 158 ; CUR(10%,2%);"SVAR: VOLYMEN [R"S*S*S" "B$ 159 GOTO 208 160 REM * R[TBLOCK * 161 ; CUR(4%,0%);"R[TBLOCK" 162 ; CUR(6%,13%); : INPUT A$ 163 ; CUR(8%,2%);"ANGE R[TBLOCKETS KORTSIDA "; : INPUT K 164 ; CUR(10%,2%);"ANGE R[TBLOCKETS L]NGSIDA "; : INPUT L 165 B$="KUBIK"+A$ 166 ; CUR(12%,2%);"ANGE R[TBLOCKETS H\JD "; : INPUT H 167 A=K*L 168 V=A*H 169 ; CUR(14%,2%);"SVAR: VOLYMEN [R"V" "B$ 170 GOTO 208 171 REM %% PYRAMID %% 172 ; CUR(4%,0%);"PYRAMID" 173 ; CUR(6%,13%); : INPUT A$ 174 ; CUR(8%,2%);"ANGE PYRAMIDENS BAS L]NGSIDA "; : INPUT B(1) 175 ; CUR(10%,2%);"ANGE PYRAMIDENS BAS KORTSIDA "; : INPUT B(2) 176 ; CUR(12%,2%);"ANGE PYRAMIDENS H\JD "; : INPUT H 177 B(3)=B(1)*B(2) 178 V=B(3)*H/3 179 B$="KUBIK"+A$ 180 ; CUR(14%,2%);"SVAR: VOLYMEN [R"V" "B$ 181 GOTO 208 182 REM >>> KLOT <<< 183 ; CUR(4%,0%);"KLOT" 184 ; CUR(6%,13%); : INPUT A$ 185 ; CUR(8%,2%);"ANGE KLOTETS RADIE "; : INPUT R 186 B$="KUBIK"+A$ 187 V=4*3.1416*R*R*R/3 188 ; CUR(10%,2%);"SVAR: VOLYMEN [R"V" "B$ 189 GOTO 208 190 REM xxxxxx KON xxxxxxxx 191 ; CUR(4%,0%);"KON" 192 ; CUR(6%,13%); : INPUT A$ 193 B$="KUBIK"+A$ 194 ; CUR(8%,2%);"ANGE KONENS DIAMETER "; : INPUT D 195 B=3.1416*D*D/4 196 ; CUR(10%,2%);"ANGE KONENS H\JD "; : INPUT H 197 V=B*H/3 198 ; CUR(12%,2%);"SVAR: VOLYMEN [R"V" "B$ 199 GOTO 208 200 ; CUR(4%,0%);"CYLINDER" 201 ; CUR(6%,13%); : INPUT A$ 202 B$="KUBIK"+A$ 203 ; CUR(8%,2%);"ANGE CYLINDERNS DIAMETER "; : INPUT D 204 ; CUR(10%,2%);"ANGE CYLINDERNS H\JD "; : INPUT H 205 V=3.1416*D*D*H/4 206 ; CUR(12%,2%);"SVAR: VOLYMEN [R"V" "B$ 207 GOTO 208 208 ; CUR(22%,12%);"TRYCK P] RETURN ." 209 ; CUR(22%,28%); : GET A$ 210 GOTO 53 211 FOR Q%=1% TO 21% 212 FOR W%=1% TO 500% : NEXT W% 213 ; : NEXT Q% 214 ; " THE END!" 215 FOR Q%=1% TO 11% 216 FOR W%=1% TO 500% : NEXT W% 217 ; : NEXT Q% 218 IF INP(56%)>127 END ELSE GOTO 218