Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 40000 POKE-4152,32:WINDOW:INK 4:PAPER 1:OUT 136,0:CLS:X$=CHR$(142):Y$=CHR$(191) 40002 INK 5:PAPER 7:BORDER 7:CLS 40004 PRINT " "; 40006 PRINT " ";Y$;" ";Y$;" "; 40008 PRINT Y$;" ";Y$;" ";X$;" "; 40010 PRINT Y$;X$;" ";Y$;""; 40012 PRINT " "; 40014 PRINT " "; 40016 PRINT " "; 40018 PRINT " ";X$;" "; 40020 PRINT " "; 40022 PRINT " ";X$;" ";X$;" "; 40024 PRINT Y$;"";X$;" ";X$; 40026 PRINT " "; 40028 PRINT " ";X$;" ";X$;" ";X$;" " 40030 PRINT " ";STRING$(38,"");" ";SPC(37);""; 40032 PRINT " DEMONSTRATIONSPROGRAMM ZUM THEMA ";SPC(37);""; 40034 PRINT " WAS KANN DER MICRO-COMPUTER KC85/1? ";SPC(37);""; 40036 PRINT " ENTSTANDEN ANLAESSLICH DER ";SPC(37);""; 40038 PRINT " LEIPZIGER HERBSTMESSE 1986 ";SPC(37);""; 40040 PRINT " AUTOR: STEFAN RUDECK, DRESDEN "; 40042 PRINT AT(23,0);" ",STRING$(37,""),X$:GOSUB 40074 40044 EE$=INKEY$ 40046 IF INKEY$=""THEN 40046:ELSE 40076 40048!######## UNTERPROGRAMME ######## 40050 GOSUB 40074:E$=INKEY$:IF E$=""THEN 40054 40052 IF INSTR(E$,ZK$)<>0 THEN WINDOW:POKE-4152,16:GOTO 40124 40054 PAUSE 15:ON Z GOTO 40094,40096,40098,40100,40102,40104,40106,40108,40110,40112 40056 ON Z-10 GOTO 40114,40116,40118,40120,40122 40058 PRINT AT(22,32);" ":PRINT;CHR$(6); 40060 PRINT AT(22,33);"ENTER":PRINT;CHR$(6);:GOSUB 40074 40062 EE$=INKEY$ 40064 E$=INKEY$:IF E$=""THEN 40064 40066 IF ASC(E$)<>13 THEN BEEP:GOTO 40064:ELSE RETURN 40068 EE$=INKEY$ 40070 E$=INKEY$:IF E$=""THEN 40070 40072 IF INSTR(E$,ZK$)=0 THEN BEEP:GOTO 40070:ELSE RETURN 40074 PRINT AT(PEEK(44)-1,PEEK(43)-1);" ":RETURN 40076!######## AUSWAHL ######## 40078 WINDOW:INK 2:PAPER 1:POKE-4152,32:BORDER 1:CLS 40080 CLEAR:ZK$="ABCDEFGHIJKLMNZ" 40082 PRINT AT(0,5);"WOFUER INTERESSIEREN SIE SICH?" 40084 PRINT AT(1,5);STRING$(30,"*"):WINDOW 4,23,4,35:PAPER 8:CLS 40086 WINDOW 4,18,5,34:DEF FN ZZ(Z)=INT(Z*RND(PEEK(31)+1))+1:EE$=INKEY$ 40088 PRINT AT(20,5);"* Diese Programme muessen ver-" 40090 PRINT AT(21,7);"lassen werden durch Druecken" 40092 PRINT AT(22,7);"der Taste ENTER" 40094 PRINT:PRINT "ACHT - DAMEN - PROBLEM * A":Z=2:GOTO 40050 40096 PRINT "TOCCATA VON J. S. BACH B":Z=3:GOTO 40050 40098 PRINT "TELE - LOTTO - SIMULATION C":Z=4:GOTO 40050 40100 PRINT "UHR MIT DIGITALANZEIGE * D":Z=5:GOTO 40050 40102 PRINT "WECKPROGRAMM E":Z=6:GOTO 40050 40104 PRINT "SORTIERPROGRAMM F":Z=7:GOTO 40050 40106 PRINT "RECHEN - UEBUNGSPROGRAMM G":Z=8:GOTO 40050 40108 PRINT "MUSTER - ENTWURF * H":Z=9:GOTO 40050 40110 PRINT "NIMM - SPIEL I":Z=10:GOTO 40050 40112 PRINT "TEXTVERSCHLUESSELUNG * J":Z=11:GOTO 40050 40114 PRINT "MORSEN? - GANZ EINFACH! * K":Z=12:GOTO 40050 40116 PRINT "MITTELWERTBERECHNUNGEN L":Z=13:GOTO 40050 40118 PRINT "ZAHLENKONVERTIERUNG M":Z=14:GOTO 40050 40120 PRINT "PRIMZAHLEN * N":Z=15:GOTO 40050 40122 PRINT "ENDE Z":Z=1:PRINT:GOTO 40050 40124 ON ASC(E$)-64 GOTO 40282,40730,40646,40844,40130,40580,40214,40346,40482,41044 40126 ON ASC(E$)-74 GOTO 41248,40978,41180,41088 40128 RUN 40130!######## WECKEN ######## 40132 INK 1:PAPER 7:BORDER 7:CLS:PRINT AT(0,8);"W E C K P R O G R A M M" 40134 PRINT AT(1,8);STRING$(23,"*"):WINDOW 4,23,0,39:INK 8:PAPER 5:CLS 40136 WINDOW 5,22,1,38:PRINT "Geben Sie ein, durch welches Geraeusch" 40138 PRINT "Sie geweckt werden wollen: "; 40140 PRINT AT(11,7);"Kurze Pieptoene P" 40142 PRINT AT(13,7);"Sirene S" 40144 PRINT AT(15,7);"McCARTNEY - Melodie M" 40146 ZK$="PSM":GOSUB 40068:PRINT E$;:CLS:W=INSTR(E$,ZK$) 40148 PRINT "Geben Sie jetzt noch ein, nach welcher" 40150 PRINT "Zeit die Weckautomatik in Gang gesetzt" 40152 PRINT "werden soll!":PRINT:PRINT 40154 INPUT " Anzahl der Stunden : ";H:PRINT 40156 IF H<>INT(H)OR H<0 OR H>23 THEN BEEP:GOTO 40154 40158 INPUT " Anzahl der Minuten : ";M:PRINT 40160 IF M<>INT(M)OR M<0 OR M>59 THEN BEEP:GOTO 40158 40162 INPUT " Anzahl der Sekunden: ";S:PRINT 40164 IF S<>INT(S)OR S<0 OR S>59 THEN BEEP:GOTO 40162 40166 PRINT:PRINT "Starten Sie nun das Programm mit W!":PRINT:GOSUB 40074 40168 ZK$="W":GOSUB 40068 40170 PRINT "Das Weckprogramm laeuft.";:GOSUB 40074 40172 POKE 31,0:POKE 30,0:POKE 29,0 40174 IF PEEK(31)<>S OR PEEK(30)<>M OR PEEK(29)<>H THEN 40174 40176 FOR I=1 TO 3:ON W GOSUB 40206,40200,40196 40178 E$=INKEY$:IF E$=""THEN 40182 40180 IF ASC(E$)=13 THEN 40186 40182 IF I<3 THEN PAUSE 100 40184 NEXT I 40186 PRINT:GOSUB 40074 40188 PRINT AT(PEEK(44)-2,PEEK(43)+22);" nicht mehr.":PAUSE 50:GOTO 40076 40190 DATA 57,2,64,1,57,2,72,4,72,1,76,2,72,1,96,4,114,1,96,2,76,1,86,2,144 40192 DATA 1,144,8,96,1,96,1,96,2,86,1,0,3,96,1,96,1,96,2,86,1,144,1,114,4 40194 DATA 0,6 40196 OUT 136,176:T=100:FOR I1=1 TO 2:RESTORE 40190:FOR I2=1 TO 26:READ H,L 40198 GOSUB 40208:NEXT I2:NEXT I1:OUT 136,48:RETURN 40200 OUT 136,176:FOR H=151 TO 1 STEP-1:OUT 128,7:OUT 128,H:NEXT H:FOR H=1 TO 151 40202 OUT 128,7:OUT 128,H:NEXT H:FOR H=151 TO 1 STEP-1:OUT 128,7:OUT 128,H:NEXT H 40204 OUT 128,3:OUT 136,48:RETURN 40206 FOR J=1 TO 15:BEEP:PAUSE 1:BEEP:PAUSE 1:BEEP:PAUSE 6:NEXT J:RETURN 40208 IF H=0 THEN 40212 40210 IF H>0 THEN OUT 128,7:OUT 128,H:ELSE OUT 128,39:OUT 128,-H 40212 FOR K=1 TO L*T:NEXT:OUT 128,3:RETURN 40214!######## RECHNEN ######## 40216 INK 1:PAPER 3:BORDER 3:CLS:PRINT AT(0,8);"RECHEN - UEBUNGSPROGRAMM" 40218 PRINT AT(1,8);STRING$(24,"*"):WINDOW 4,23,0,39:INK 8:PAPER 1:CLS 40220 WINDOW 5,22,1,38:EE$=INKEY$ 40222 INPUT "Wieviel Aufgaben? :";AZ:PRINT 40224 IF AZ<>INT(AZ)OR AZ<1 THEN 40222 40226 PRINT "Welche Operation? (+,-,*,:) : "; 40228 ZK$="+-*/;=.:?":GOSUB 40068 40230 IF E$="+"OR E$=";"THEN Q=1:Z$="+" 40232 IF E$="-"OR E$="="THEN Q=2:Z$="-" 40234 IF E$="*"OR E$="."THEN Q=3:Z$="*" 40236 IF E$=":"OR E$="/"OR E$="?"THEN Q=4:Z$=":" 40238 PRINT Z$:PRINT 40240 PRINT "Maximale Stellenzahl (2...6): "; 40242 ZK$="23456":GOSUB 40068 40244 PRINT E$:PRINT:MA=VAL(E$) 40246 CLS:FOR K=1 TO AZ 40248 ON Q GOTO 40250,40254,40260,40260 40250 X=0:FOR I=1 TO MA-1:X=X*10+9:NEXT I:A=FN ZZ(X):B=FN ZZ(X):EG=A+B 40252 GOTO 40264 40254 X=0:FOR I=1 TO MA:X=X*10+9:NEXT I:Y=0:H=FN ZZ(MA-1):FOR I=1 TO H:Y=Y*10+9 40256 NEXT I:A=FN ZZ(X):B=FN ZZ(Y):IF A<B THEN Y=A:A=B:B=Y 40258 EG=A-B:GOTO 40264 40260 X=0:H=FN ZZ(MA-1):FOR I=1 TO H:X=X*10+9:NEXT I:Y=0:H=MA-H:FOR I=I TO H 40262 Y=Y*10+9:NEXT I:A=FN ZZ(X):B=FN ZZ(Y):EG=A*B:IF Q=4 THEN Y=A:A=EG:EG=Y 40264 P=9 40266 PRINT:PRINT A;Z$;B;TAB(15)"=";:INPUT "";GE 40268 IF GE<>EG THEN PRINT AT(PEEK(44)-2,28);"Nachrechnen!":P=INT(P/3):GOTO 40266 40270 PRINT AT(PEEK(44)-2,28);"Richtig! ":PZ=PZ+P:NEXT K:PRINT 40272 PZ=100*PZ/(9*AZ):Z=5:IF PZ>=36 THEN Z=4 40274 IF PZ>=60 THEN Z=3 40276 IF PZ>=80 THEN Z=2 40278 IF PZ>=96 THEN Z=1 40280 BEEP:PRINT "Zensur:";Z:GOSUB 40074:PAUSE 50:GOTO 40076 40282!######## 8 DAMEN ######## 40284 W=0:DIM P(9):INK 2:PAPER 5:BORDER 5:CLS 40286 PRINT AT(0,2);"A C H T - D A M E N - P R O B L E M" 40288 PRINT AT(1,2);STRING$(35,"*"):WINDOW 4,22,0,39:INK 2:PAPER 4:CLS 40290 WINDOW 4,23,1,18:PRINT " ";:FOR I=1 TO 7 40292 PRINT INK 1;CHR$(57-I); 40294 PRINT " ";:NEXT I:PRINT INK 1;"1"; 40296 PRINT " "; 40298 PRINT INK 1;" A B C D E F G H":WINDOW 5,22,20,38:INK 5 40300 PRINT "Problem:":PRINT:PRINT "Acht Damen sind so" 40302 PRINT "auf ein Schachbrett":PRINT "zu setzen, dass von" 40304 PRINT "ihnen keine durch":PRINT "eine der sieben an-" 40306 PRINT "deren Damen bedroht":PRINT "werden kann!":GOSUB 40074 40308 DATA 1,5,8,6,3,7,2,4 40310 RESTORE 40308:FOR I=1 TO 8:READ P(I):NEXT I:PAUSE 150:ZN=8:EE$=INKEY$:GOTO 40330 40312 ZN=1:P(ZN)=1 40314 FOR ZK=0 TO(ZN-1):IF ZK=0 THEN 40326 40316 IF P(ZN)<>P(ZK)AND ABS(P(ZN)-P(ZK))<>ZN-ZK THEN 40326 40318 IF P(ZN)<>8 THEN 40322 40320 ZN=ZN-1:GOTO 40318 40322 IF ZN=0 THEN 40344 40324 P(ZN)=P(ZN)+1:GOTO 40314 40326 NEXT ZK:IF ZN<8 THEN 40338 40328 IF W=1 THEN PRINT:GOTO 40332 40330 CLS:PRINT " A B C D E F G H":WINDOW 7,21,22,38:W=1 40332 FOR I=1 TO 8:FOR J=1 TO 8:PRINT AT(2*J+3,2*I+1);" ":NEXT J 40334 PRINT STR$(P(I)); 40336 PRINT INK 1;AT(21-2*P(I),2*I+1);"":NEXT I:GOSUB 40074 40338 E$=INKEY$:IF E$=""THEN 40342 40340 IF ASC(E$)=13 THEN 40076 40342 ZN=ZN+1:P(ZN)=1:GOTO 40314 40344 PRINT " ENTER":GOSUB 40062:GOTO 40076 40346!######## MUSTER ######## 40348 DIM M$(1),F(1):X$=CHR$(34):M$(0)="":M$(1)="":F(0)=8:F(1)=5:Z=4 40350 INK 8:PAPER 1:BORDER 1:CLS 40352 PRINT AT(0,4);"M U S T E R - E N T W U R F" 40354 PRINT AT(1,4);STRING$(31,"*"):WINDOW 4,23,0,39:INK 5:PAPER 8:CLS 40356 PRINT "Dieses Programm soll demonstrieren, wie" 40358 PRINT "man den Computer zum Entwerfen beliebi-" 40360 PRINT "ger (symmetrischer) Muster, wie zum Bei-" 40362 PRINT "spiel Stick- oder Tapetenmuster, einset-" 40364 PRINT "zen koennte. Versuchen Sie es selbst! " 40366 PRINT "Ihre ";X$;"Schreibfeder";X$;" muss durch die Kur-" 40368 PRINT "sor- (Pfeil-) Tasten gesteuert werden." 40370 GOSUB 40074:GOSUB 40058:CLS 40372 PRINT "Mit der Eingabe von jeweils einem Buch-" 40374 PRINT "staben mit nachgestelltem Parameter ist" 40376 PRINT "es Ihnen moeglich, bestimmte Musterele-" 40378 PRINT "mente auszuwaehlen, die ";X$;"Schreibfeder";X$ 40380 PRINT "verstecken und wieder erscheinen zu las-" 40382 PRINT "sen, das komplette Bild zu loeschen, um" 40384 PRINT "einen Neuentwurf zu beginnen, oder even-" 40386 PRINT "tuell auch - falls Ihr Geraet farbtuech-" 40388 PRINT "tig ist - auf die Farben von ";X$;"Tinte";X$;" und" 40390 PRINT X$;"Papier";X$;" Einfluss zu nehmen." 40392 GOSUB 40074:GOSUB 40058:CLS 40394 PRINT "Hier nun die ";X$;"Befehle";X$;", die Sie sich un-" 40396 PRINT "bedingt merken sollten:":PRINT:PRINT 40398 PRINT "Bild loeschen BL":PRINT 40400 PRINT "Schreibfeder verstecken FV":PRINT 40402 PRINT "Schreibfeder zeigen FZ":PRINT 40404 PRINT "Musterelement waehlen Mx (x=1;...;8)" 40406 PRINT "Tintenfarbe wechseln Tx (x=1;...;8)" 40408 PRINT "Papierfarbe wechseln Px (x=1;...;8)" 40410 GOSUB 40074:GOSUB 40058:CLS 40412 PRINT INK 8,PAPER 1;AT(0,3);"MUSTER - ENTWURF",STRING$(22," ") 40414 PRINT INK 8,PAPER 1;AT(1,3);STRING$(16,"*"),STRING$(22," ") 40416 WINDOW 0,6,23,39:PRINT INK 2,PAPER 1;"BL FV FZ Mx Tx Px"; 40418 PRINT INK 2,PAPER 1;"neuer Befehl: ";:WINDOW 40420 PAPER 1:GOSUB 40074:PAPER 8 40422 POKE 40*Z+S-6144,111+16*F(1)+F(0)-K*128 40424 POKE 40*Z+S-5120,ASC(M$(K)) 40426 PRINT INK F(1),PAPER F(0);AT(Z,S);M$(K) 40428 PRINT INK F(1),PAPER F(0);AT(Z,39-S);M$(1) 40430 PRINT INK F(1),PAPER F(0);AT(27-Z,39-S);M$(1) 40432 PRINT INK F(1),PAPER F(0);AT(27-Z,S);M$(1) 40434 ZK$=CHR$(13)+CHR$(8)+CHR$(9)+CHR$(10)+CHR$(11)+"MFTPB":GOSUB 40068 40436 X=ASC(E$):IF X<8 OR X>11 THEN 40458 40438 POKE 40*Z+S-6144,16*F(1)+F(0)-17:POKE 40*Z+S-5120,ASC(M$(1)) 40440 ON X-7 GOSUB 40442,40446,40450,40454:GOTO 40422 40442 S=S-1:IF S<0 THEN S=0:BEEP 40444 RETURN 40446 S=S+1:IF S>39 THEN S=39:BEEP 40448 RETURN 40450 Z=Z+1:IF Z>23 THEN Z=23:BEEP 40452 RETURN 40454 Z=Z-1:IF Z<4 THEN Z=4:BEEP 40456 RETURN 40458 TS$=E$:IF ASC(E$)=13 THEN 40076 40460 PRINT INK 4,PAPER 1;AT(2,37);E$+" " 40462 ON INSTR(E$,"MFTPB")GOTO 40464,40468,40472,40472,40476 40464 ZK$="12345678":GOSUB 40068 40466 PRINT INK 4,PAPER 1;AT(2,38);E$:M$(1)=MID$("",VAL(E$),1):GOTO 40422 40468 ZK$="VZ":GOSUB 40068 40470 PRINT INK 4,PAPER 1;AT(2,38);E$:IF E$="V"THEN K=1:GOTO 40422:ELSE K=0:GOTO 40422 40472 ZK$="12345678":GOSUB 40068 40474 PRINT INK 4,PAPER 1;AT(2,38);E$:F(ASC(TS$)/4-20)=VAL(E$):GOTO 40422 40476 ZK$="L":GOSUB 40068 40478 PRINT INK 4,PAPER 1;AT(2,38);E$:WINDOW 4,23,0,39:CLS:Z=4:S=0 40480 WINDOW:PAPER 1:GOSUB 40074:PAPER 8:GOTO 40422 40482!######## NIMM - SPIEL ######## 40484 INK 4:PAPER 2:BORDER 2:CLS:PRINT AT(0,8);"N I M M - S P I E L" 40486 PRINT AT(1,8);STRING$(23,"*"):WINDOW 4,23,0,39:INK 5:PAPER 4:CLS 40488 WINDOW 5,22,1,38:EE$=INKEY$ 40490 PRINT "Wieviel Spielsteine wuenschen" 40492 INPUT "Sie? (15...278) :";AZ 40494 PRINT:IF AZ<>INT(AZ)OR AZ<15 OR AZ>278 THEN 40490 40496 E$=STR$(INT(AZ/5)):PRINT "Wieviel Steine duerfen hoech-" 40498 PRINT "stens genommen werden? (2...";RIGHT$(E$,LEN(E$)-1); 40500 PRINT ")";STRING$(4-LEN(E$)," ");:INPUT ":";T:PRINT 40502 IF T<>INT(T)OR T<2 OR T>VAL(E$)THEN 40496 40504 PRINT "Gewinnt oder verliert derjenige," 40506 PRINT "der den letzten Spielstein nimmt?" 40508 PRINT "(G oder V) : "; 40510 ZK$="GV":GOSUB 40068:G$=E$:PRINT G$ 40512 PRINT:PRINT "Wer soll beginnen - Sie (S) oder" 40514 PRINT "ich (C)? : "; 40516 ZK$="CS":GOSUB 40068:B$=E$:PRINT B$ 40518 CLS:FOR I=1 TO AZ:PRINT INK 5;" ";:IF PEEK(43)=2 OR PEEK(43)=39 THEN PRINT " "; 40520 NEXT I:WINDOW 5,22,1,38:GOSUB 40074 40522 ON(ASC(B$)-67)/16+1 GOTO 40544,40524 40524 PRINT AT(22,1);"Sie sind dran und nehmen: " 40526 ZK$="0123456789"+CHR$(13):TS$="" 40528 GOSUB 40068:IF ASC(E$)=13 THEN 40532 40530 TS$=TS$+E$:PRINT AT(22,27);TS$:GOTO 40528 40532 E=VAL(TS$):PRINT AT(21,1);STRING$(40," "):PRINT AT(22,1);STRING$(40," ") 40534 IF(E>=1)AND(E<=T)AND(E<=AZ)AND(E=INT(E))THEN 40538 40536 PRINT AT(22,1);"Das geht nicht!":PAUSE 30:GOTO 40524 40538 FOR I=1 TO E:PRINT " ";:IF PEEK(43)=2 OR PEEK(43)=39 THEN PRINT " "; 40540 NEXT I:GOSUB 40074:AZ=AZ-E 40542 IF AZ=0 THEN A=1:GOTO 40562 40544 IF G$="G"THEN E=AZ-INT(AZ/(T+1))*(T+1) 40546 IF G$="V"THEN E=AZ-INT((AZ-1)/(T+1))*(T+1)-1 40548 IF E=0 THEN E=FN ZZ(T) 40550 FOR I=1 TO E:PRINT " ";:IF PEEK(43)=2 OR PEEK(43)=39 THEN PRINT " "; 40552 NEXT I:GOSUB 40074:IF G$="V"AND AZ=1 THEN E=1 40554 AZ=AZ-E 40556 PRINT AT(21,1);"Ich habe",E,"genommen.":PAUSE 30 40558 IF AZ=0 THEN A=2:GOTO 40562 40560 PRINT AT(21,1);"Jetzt verbleiben noch",AZ,"Spielsteine. ":GOTO 40524 40562 PRINT CHR$(6):IF(G$="V"AND A=1)OR(G$="G"AND A=2)THEN 40566 40564 PRINT AT(22,1);"Glueckwunsch! Sie haben gewonnen!":GOTO 40568 40566 PRINT AT(22,1);"Damit habe ich gewonnen. Aetsch!" 40568 PRINT CHR$(6):WINDOW 5,22,1,38:PRINT "Wollen Sie noch einmal mitspie-" 40570 PRINT "len? (J oder N) : "; 40572 ZK$="JN"+CHR$(13):GOSUB 40068 40574 IF E$<>"J"THEN 40578:ELSE PRINT E$:PRINT 40576 PRINT AT(21,1);STRING$(38," "):PRINT AT(22,1);STRING$(38," "):GOTO 40490 40578 PRINT "N":PRINT:PRINT "Auf Wiedersehen!":GOSUB 40074:PAUSE 50:GOTO 40076 40580!######## SORTIEREN ######## 40582 INK 8:PAPER 6:BORDER 6:CLS:PRINT AT(0,5);"S O R T I E R P R O G R A M M" 40584 PRINT AT(1,5);STRING$(29,"*"):WINDOW 4,23,0,39:INK 6:PAPER 8:CLS 40586 WINDOW 5,22,1,38:PRINT " Zahlen oder Worte? (Z oder W): "; 40588 ZK$="WZ":GOSUB 40068 40590 PRINT E$:PRINT:IF E$="Z"THEN W=1:ELSE W=2 40592 INPUT " Wieviel davon? :";AZ:PRINT 40594 IF AZ<>INT(AZ)OR AZ<2 THEN BEEP:GOTO 40592 40596 IF AZ<12 THEN 40602 40598 BEEP:PRINT " Das sind zu viel.":PRINT 40600 PRINT " Bitte nicht mehr als 11!":PRINT:GOTO 40592 40602 CLS:DIM P$(AZ-1):ON W GOTO 40604,40606 40604 PRINT " Geben Sie die Zahlen ein!":PRINT:GOTO 40608 40606 PRINT " Geben Sie die Woerter ein!":PRINT 40608 WINDOW 8,22,10,38:FOR I=0 TO AZ-1 40610 PRINT RIGHT$(" "+STR$(I+1),3);:ON W GOTO 40612,40618 40612 INPUT ". Zahl:";P$(I):IF LEN(P$(I))<39 THEN 40620 40614 BEEP:PRINT:PRINT "Tut mir leid, aber":PRINT:PRINT "die ist zu gross!" 40616 PRINT:GOTO 40610 40618 INPUT ". Wort:";P$(I) 40620 PRINT:NEXT I:GOSUB 40074:M=0:J=1 40622 FOR I=J TO AZ-1:ON W GOTO 40624,40628 40624 IF VAL(P$(I))<VAL(P$(M))THEN M=I 40626 GOTO 40630 40628 IF P$(I)<P$(M)THEN M=I 40630 NEXT I:G$=P$(J-1):P$(J-1)=P$(M) 40632 P$(M)=G$:J=J+1:IF J<>AZ THEN M=J-1:GOTO 40622 40634 WINDOW 5,22,1,38 40636 CLS:INK 1:PRINT " Sortierte Reihenfolge:":WINDOW 8,22,1,19 40638 FOR I=0 TO AZ-1:PRINT RIGHT$(" "+STR$(I+1),3);". "; 40640 IF W=1 THEN PRINT SPC(LEN(P$(AZ-1))-LEN(P$(I))); 40642 PRINT P$(I):PRINT:IF I=5 THEN WINDOW 8,22,20,38 40644 NEXT I:GOSUB 40074:GOSUB 40058:GOTO 40076 40646!######## TELE-LOTTO ######## 40648 DIM P(5),P1(5):INK 3:PAPER 1:BORDER 1:CLS 40650 PRINT AT(0,7);"TELE - LOTTO - SIMULATION":PRINT AT(1,7);STRING$(25,"*") 40652 WINDOW 4,23,0,39:INK 8:PAPER 3:CLS:WINDOW 5,22,1,38 40654 PRINT "Stellen Sie sich vor, Sie spielen jede"; 40656 PRINT "Woche zwei Tips (Mittwoch und Sonntag"; 40658 PRINT "je einen), und jedes Mal mit denselbenZahlen." 40660 PRINT "Bitte geben Sie nun diese Zahlen ein: ":EE$=INKEY$ 40662 WINDOW 13,22,13,38:FOR I=1 TO 5 40664 PRINT:PRINT STR$(I);:INPUT ". Zahl: ";P1(I) 40666 IF P1(I)<>INT(P1(I))OR P1(I)<1 OR P1(I)>35 THEN BEEP:GOTO 40664 40668 FOR J=0 TO I-1:IF P1(I)=P1(J)THEN BEEP:GOTO 40664 40670 NEXT J,I:WINDOW 5,22,1,38:CLS 40672 PRINT "Ich ziehe fuer Sie so oft Zahlen, bis"; 40674 PRINT "Sie endlich einen Fuenfer haben. Mal"; 40676 PRINT "sehen, wieviel Geld fuer Sie bis dahin"; 40678 PRINT "floeten geht!?" 40680 PRINT "Wenn es Ihnen zu langweilig wird, dann"; 40682 PRINT "druecken Sie einfach ENTER!":PRINT:PRINT "Ihr Tip:":GOSUB 40074 40684 FOR I=1 TO 5:PRINT AT(2*I+12,13);STR$(I),". Zahl: ",P1(I):NEXT I 40686 FOR I=1 TO 5:Z=FN ZZ(35) 40688 E$=INKEY$:IF E$=""THEN 40692 40690 IF ASC(E$)=13 THEN 40714 40692 IF Z>5 THEN AZ=AZ+1:GOTO 40686 40694 P(I)=Z:FOR J=0 TO I-1:IF P(I)=P(J)THEN AZ=AZ+1:GOTO 40686 40696 NEXT J,I:AZ=AZ+1 40698 CLS:PRINT "Glueckwunsch! Sie haben es geschafft!" 40700 PRINT "Die folgenden Zahlen wurden gezogen: " 40702 PRINT SPC(9);CHR$(22);:FOR I=1 TO 5:PRINT P1(P(I));:NEXT I:PRINT CHR$(22) 40704 PRINT:PRINT "Sie hatten aber Ihren Fuenfer bedauer-" 40706 PRINT "licherweise erst im ";MID$(STR$(AZ),2);". Versuch!":PRINT 40708 PRINT "Das hat Sie";AZ;"Mark gekostet.":PRINT 40710 PRINT "Rechnen Sie doch mal aus, wie alt Sie" 40712 PRINT "inzwischen geworden waeren!":GOSUB 40058:GOTO 40076 40714 CLS:PRINT "Abbruch nach";AZ;"Versuchen!":PRINT 40716 PRINT "Ich konnte bis jetzt noch keinen Fuen-" 40718 PRINT "fer fuer Sie ermitteln.":PRINT 40720 PRINT "Rechnen Sie doch mal aus, wieviel Jah-" 40722 PRINT "re inzwischen vergangen waeren und um" 40724 PRINT "wieviel Ihr Portemonaie in dieser Zeit" 40726 PRINT "duenner geworden waere! (Gluecklicher-" 40728 PRINT "weise w a e r e es nur ...)":GOSUB 40074:GOSUB 40058:GOTO 40076 40730!######## TOCCATA ######## 40732 X$=CHR$(142):Y$=CHR$(191):INK 6:PAPER 8:POKE-4152,32:OUT 136,184:CLS 40734 PRINT " "; 40736 PRINT " ";X$; 40738 PRINT:PRINT " "; 40740 PRINT " ";Y$;" ";Y$;" "; 40742 PRINT Y$;" ";Y$;" ";Y$; 40744 PRINT " ";Y$;" "; 40746 PRINT " ";X$;" ";X$; 40748 PRINT " ";X$;" "; 40750 PRINT " "; 40752 PRINT " ";Y$;" "; 40754 PRINT " "; 40756 PRINT " "; 40758 PRINT " ";X$;" ";X$;" ";Y$; 40760 PRINT "";X$;" ";X$;" "; 40762 PRINT " "; 40764 PRINT " ";X$;" ";X$;" "; 40766 PRINT " ";X$;" ";X$ 40768 PRINT " "; 40770 PRINT " ";X$ 40772 INK 5:PRINT " SIE HOEREN EINEN AUSCHNITT AUS":PRINT 40774 PRINT " TOCCATA UND FUGE D-MOLL":PRINT 40776 PRINT " VON JOHANN SEBASTIAN BACH";:POKE-4152,16:GOSUB 40074:PAUSE 100 40778 DIM P(36):RESTORE 40780:FOR I=0 TO 36:READ P(I):NEXT I 40780 DATA 0,-18,-17,-16,243,229,216,204,193,182,172,162,153 40782 DATA 144,136,128,121,114,108,102,96,91,86,81,76 40784 DATA 72,68,64,60,57,54,51,48,45,43,40,38 40786 GOTO 40794 40788 IF P(H)=0 THEN 40792 40790 IF P(H)>0 THEN OUT 128,7:OUT 128,P(H):ELSE OUT 128,39:OUT 128,-P(H) 40792 FOR K=1 TO L*T:NEXT K:OUT 128,3:RETURN 40794 T=15:RESTORE 40804:FOR I=1 TO 31:READ H,L:GOSUB 40788:NEXT I 40796 T=5:RESTORE 40810:FOR I=1 TO 6:READ H,L:GOSUB 40788:NEXT I 40798 RESTORE 40812:FOR I=1 TO 142:READ H,L:GOSUB 40788:NEXT I 40800 RESTORE 40838:FOR I=1 TO 28:READ H,L:GOSUB 40788:NEXT I 40802 OUT 136,56:PAUSE 40:GOTO 40076 40804 DATA 34,6,32,6,34,12,0,6,32,3,30,3,29,3,27,3,26,6,27,12,0,36,22,6,20,6 40806 DATA 22,12,0,6,17,6,18,6,14,6,15,12,0,36,10,6,8,6,10,12,0,6,8,3,6,3 40808 DATA 5,3,3,3,2,6,3,12,0,84 40810 DATA 2,64,5,4,8,4,11,4,14,4,17,64 40812 DATA 8,12,5,12,7,24,0,84,14,12 40814 DATA 15,8,17,8,14,8,15,8,17,8,14,8,15,8,17,8,14,8,15,12,17,12 40816 DATA 18,8,20,8,17,8,18,8,20,8,17,8,18,8,20,8,17,8,18,12,20,12 40818 DATA 22,8,23,8,20,8,22,8,23,8,20,8,22,8,23,8,20,8,22,12,0,96,26,12 40820 DATA 27,8,29,8,26,8,27,8,29,8,26,8,27,8,29,8,26,8,27,12,29,12 40822 DATA 31,8,32,8,29,8,31,8,32,8,29,8,31,8,32,8,29,8,30,12,32,12 40824 DATA 34,8,35,8,32,8,34,8,35,8,32,8,34,8,35,8,32,8,34,12,0,96,34,12 40826 DATA 32,8,35,8,29,8,32,8,35,8,29,8,30,8,34,8,27,8,30,8,34,8,27,8 40828 DATA 29,8,32,8,25,8,29,8,32,8,25,8,27,8,30,8,23,8,27,8,30,8,23,8 40830 DATA 25,8,29,8,22,8,25,8,29,8,22,8,23,8,27,8,20,8,23,8,27,8,20,8 40832 DATA 22,8,25,8,18,8,22,8,25,8,18,8,20,8,23,8,17,8,20,8,23,8,17,8 40834 DATA 18,8,22,8,15,8,18,8,22,8,15,8,17,8,20,8,14,8,17,8,20,8,14,8,0,48 40836 DATA 2,96,5,2,8,2,11,2,14,2,17,2,20,2,23,2 40838 DATA 23,6,22,6,20,6,18,6,17,6,15,6,14,6,12,6,14,12,10,12,14,12,17,6 40840 DATA 20,6,18,3,20,3,18,3,20,3,18,3,20,3,18,3,20,3,18,3,20,3,18,3,20,3 40842 DATA 17,12,0,4,3,96 40844!######## UHR ######## 40846 DIM P$(4):INK 4:PAPER 1:BORDER 1:CLS:PRINT AT(0,9);"UHR MIT DIGITALANZEIGE" 40848 PRINT AT(1,9);STRING$(22,"*"):PRINT AT(10,7);"Stellen Sie bitte die Uhr!" 40850 INK 3:WINDOW 18,22,12,12:PRINT " ":WINDOW 18,22,26,26:PRINT " " 40852 DATA ""," "," ",""," " 40854 RESTORE 40852:FOR I=0 TO 4:READ P$(I):NEXT I 40856 WINDOW:GOSUB 40074:FOR I=0 TO 2:TS$="":FOR J=0 TO 1 40858 ZK$="0123456789":GOSUB 40068 40860 R=VAL(E$):S=14*I+6*J:GOSUB 40954:TS$=TS$+E$:NEXT J:Z(I)=VAL(TS$) 40862 IF Z(I)>41+18*SGN(I-.5)THEN 40866 40864 NEXT I:INK 4:PRINT AT(10,3);" Starten Sie nun die Uhr mit S! ":GOTO 40872 40866 BEEP:PAUSE 1:BEEP:PAUSE 1:BEEP:PAUSE 1:BEEP:INK 4 40868 PRINT AT(10,3);"FEHLER! Bitte nocheinmal eingeben!" 40870 WINDOW 15,23,0,39:CLS:GOTO 40850 40872 ZK$="S":GOSUB 40068 40874 POKE 31,Z(2):POKE 30,Z(1):POKE 29,Z(0):WINDOW 1,15,0,39 40876 INK 4:PRINT AT(0,9);STRING$(22," ") 40878 PRINT " " 40880 PRINT " " 40882 PRINT " " 40884 PRINT " " 40886 PRINT " " 40888 PRINT " " 40890 PRINT " " 40892 PRINT " " 40894 PRINT " " 40896 PRINT " ":WINDOW:GOSUB 40074 40898 INK 2:PRINT AT(13,0);">> r o b o t r o n K C 8 5 / 1 <<" 40900 INK 3:EE$=INKEY$ 40902 I=2 40904 Z=PEEK(29+I):Q=INT(Z/10):R=Z-10*Q:S=14*I+6:GOSUB 40918 40906 E$=INKEY$:IF E$=""THEN 40910 40908 IF ASC(E$)=13 THEN 40076 40910 IF R<>0 THEN 40902 40912 R=Q:S=S-6:GOSUB 40918:IF R<>0 THEN 40902 40914 I=I-1:IF I<0 THEN 40902 40916 GOTO 40904 40918 ON R+1 GOTO 40920,40924,40928,40932,40934,40938,40942,40944,40948,40952 40920 PRINT AT(17,S);" ":PRINT AT(18,S);" ":PRINT AT(19,S);" " 40922 PRINT AT(20,S);" ":PRINT AT(21,S);" ":RETURN 40924 PRINT AT(17,S);" ":PRINT AT(18,S);" ":PRINT AT(19,S);" ":PRINT AT(20,S);" " 40926 PRINT AT(21,S);" ":PRINT AT(16,S);" ":PRINT AT(22,S);" ":RETURN 40928 PRINT AT(16,S);"":PRINT AT(19,S);"":PRINT AT(20,S);" " 40930 PRINT AT(21,S);" ":PRINT AT(22,S);"":RETURN 40932 PRINT AT(19,S);" ":PRINT AT(20,S);" ":PRINT AT(21,S);" ":RETURN 40934 PRINT AT(16,S+1);" ":PRINT AT(17,S);"":PRINT AT(18,S);"" 40936 PRINT AT(19,S);"":PRINT AT(22,S);" ":RETURN 40938 PRINT AT(16,S+1);"":PRINT AT(17,S+4);" ":PRINT AT(18,S+4);" " 40940 PRINT AT(22,S);"":RETURN 40942 PRINT AT(20,S);"":PRINT AT(21,S);"":RETURN 40944 PRINT AT(17,S);" ":PRINT AT(18,S);" ":PRINT AT(19,S);" " 40946 PRINT AT(20,S);" ":PRINT AT(21,S);" ":PRINT AT(22,S);" ":RETURN 40948 PRINT AT(17,S);"":PRINT AT(18,S);"":PRINT AT(19,S);"" 40950 PRINT AT(20,S);"":PRINT AT(21,S);"":PRINT AT(22,S);"":RETURN 40952 PRINT AT(20,S);" ":PRINT AT(21,S);" ":RETURN 40954 ON R+1 GOTO 40956,40958,40960,40962,40964,40966,40968,40970,40972,40974 40956 DATA 3,2,2,2,2,2,3:RESTORE 40956:GOTO 40976 40958 DATA 1,1,1,1,1,1,1:RESTORE 40958:GOTO 40976 40960 DATA 3,1,1,3,0,0,3:RESTORE 40960:GOTO 40976 40962 DATA 3,1,1,4,1,1,3:RESTORE 40962:GOTO 40976 40964 DATA 2,2,2,3,1,1,1:RESTORE 40964:GOTO 40976 40966 DATA 3,0,0,3,1,1,3:RESTORE 40966:GOTO 40976 40968 DATA 3,0,0,3,2,2,3:RESTORE 40968:GOTO 40976 40970 DATA 3,1,1,1,1,1,1:RESTORE 40970:GOTO 40976 40972 DATA 3,2,2,3,2,2,3:RESTORE 40972:GOTO 40976 40974 DATA 3,2,2,3,1,1,3:RESTORE 40974:GOTO 40976 40976 FOR K=0 TO 6:READ L:PRINT AT(16+K,S);P$(L):NEXT K:RETURN 40978!######## MITTELWERT ######## 40980 PA=1:INK 1:PAPER 4:BORDER 4:CLS:PRINT AT(0,9);"MITTELWERTBERECHNUNGEN" 40982 PRINT AT(1,9);STRING$(22,"*"):WINDOW 4,23,0,39:INK 2:PAPER 1:CLS 40984 WINDOW 5,22,1,38 40986 PRINT "Das Programm berechnet Ihnen innerhalb" 40988 PRINT "kuerzester Zeit folgende statistische" 40990 PRINT "Werte: arithmetisches, geometrisches" 40992 PRINT "und harmonisches Mittel, Stichproben-" 40994 PRINT "streuung und Standardabweichung.":PRINT 40996 PRINT "Bitte geben Sie ein, wieviel Messwerte" 40998 EE$=INKEY$:INPUT "Sie vorliegen haben:";AZ:PRINT 41000 IF AZ=INT(AZ)AND AZ>0 THEN INK 4:CLS:GOTO 41004 41002 INPUT "Wieviel Werte? ";AZ:PRINT:GOTO 41000 41004 FOR I=1 TO AZ:PRINT SPC(10-LEN(STR$(I)));STR$(I);". Wert: ";:INPUT "";AI 41006 PRINT:IF AI=0 THEN T=1 41008 SA=SA+AI:PA=PA*AI:IF T=0 THEN SR=SR+1/AI 41010 SQ=SQ+AI*AI:NEXT I:INK 2:CLS:SR=INT(1000000*SR)/1000000 41012 SA=INT(1000000*SA)/1000000 41014 PRINT " Arithmetisches Mittel:";SA/AZ:PRINT 41016 PRINT " Geometrisches Mittel :"; 41018 IF PA>=0 THEN PRINT PA^(1/AZ):PRINT:GOTO 41024 41020 PRINT:PRINT:PRINT INK 6;SPC(6);"Nicht berechenbar!":PRINT 41022 PRINT INK 6;SPC(6);"Radikant ist negativ!":PRINT 41024 PRINT " Harmonisches Mittel :"; 41026 IF SR<>0 AND T<>1 THEN PRINT AZ/SR:PRINT:GOTO 41032 41028 PRINT:PRINT:PRINT INK 6;SPC(6);"Wegen Division durch":PRINT 41030 PRINT INK 6;SPC(6);"0 nicht berechenbar!":PRINT 41032 X=SQ-SA*SA/AZ:X=INT(100000*X)/100000 41034 PRINT " Standardabweichung :"; 41036 IF AZ<>1 THEN PRINT SQR(X/(AZ-1)):PRINT:GOTO 41042 41038 PRINT:PRINT:PRINT INK 6;SPC(6);"Fuer nur einen Wert":PRINT 41040 PRINT INK 6;SPC(6);"nicht berechenbar!":PRINT 41042 PRINT " Stichprobenstreuung :";SQR(X/AZ);:GOSUB 40058:GOTO 40076 41044!######## SCHLUESSEL ######## 41046 INK 5:PAPER 4:BORDER 4:CLS:PRINT AT(1,1);STRING$(39,"*") 41048 PRINT AT(0,1);"T E X T V E R S C H L U E S S E L U N G":WINDOW 4,23,0,39 41050 INK 2:PAPER 8:CLS:WINDOW 5,22,1,38 41052 PRINT "Entscheiden Sie sich, ob Sie Text ver-" 41054 PRINT "oder entschluesseln wollen und waehlen" 41056 PRINT "Sie dementsprechend V oder E: ";:ZK$="VE":GOSUB 40068 41058 PRINT E$:PRINT:Y=1:IF E$="E"THEN Y=-1 41060 PRINT "Jetzt muessen Sie sich noch fuer einen" 41062 PRINT "beliebigen Buchstaben entscheiden, der" 41064 PRINT "Ihnen als Schluessel dient und der zur" 41066 PRINT "Geheimhaltung n i c h t mit auf dem" 41068 PRINT "Bildschirm angezeigt wird: ";:ZK$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" 41070 GOSUB 40068:X=INSTR(E$,ZK$) 41072 X=X*Y:CLS:PRINT "Geben Sie nun den Text ein!":INK 3 41074 PRINT:PRINT:EE$=INKEY$ 41076 E$=INKEY$:IF E$=""THEN 41076 41078 Y=ASC(E$):IF Y=13 THEN 40076 41080 IF Y<65 OR Y>90 THEN 41086 41082 Y=Y+X:IF Y>90 THEN Y=Y-26 41084 IF Y<65 THEN Y=Y+26 41086 PRINT CHR$(Y);:GOTO 41076 41088!######## PRIMZAHLEN ######## 41090 INK 4:PAPER 5:BORDER 5:CLS:PRINT AT(0,11);"P R I M Z A H L E N" 41092 PRINT AT(1,11);STRING$(19,"*"):WINDOW 4,23,0,39:INK 1:PAPER 7:CLS 41094 WINDOW 5,22,1,38 41096 PRINT " Wofuer interessieren Sie sich? : "; 41098 PRINT AT(8,4);"Primzahlfolge von 2 bis x F" 41100 PRINT AT(10,4);"Primfaktorzerlegungen Z" 41102 ZK$="FZ":GOSUB 40068 41104 PRINT E$:PRINT:POKE 43,1:POKE 44,13:PRINT:IF E$="Z"THEN 41122 41106 PRINT "Es soll die Folge aller Primzahlen von" 41108 PRINT "2 bis x ausgegeben werden. Geben Sie x":EE$=INKEY$ 41110 INPUT "mit x>4 ein! : ";X:CLS 41112 IF X<5 OR X<>INT(X)THEN 41106:ELSE PRINT 2;3; 41114 FOR I=5 TO X STEP 2:FOR J=3 TO SQR(I)STEP 2:Q=I/J:IF Q=INT(Q)THEN 41118 41116 NEXT J:IF LEN(STR$(I))>37-POS(X)THEN PRINT:PRINT I;:ELSE PRINT I; 41118 NEXT I 41120 PRINT:PRINT:PRINT " Ende!":GOSUB 40058:GOTO 40076 41122 PRINT "Geben Sie die Zahl, die in ihre Prim-" 41124 PRINT "faktoren zerlegt werden soll, ein! ":PRINT:PRINT SPC(14); 41126 EE$=INKEY$:INPUT " ";X:CLS:PRINT:PRINT:PRINT:PRINT 41128 IF X<>INT(X)OR X<2 THEN 41174 41130 IF X<1E6 THEN 41140 41132 PRINT "Diese Zahl ist fuer eine exakte Prim-" 41134 PRINT "faktorzerlegung zu gross. Die Zahlen," 41136 PRINT "mit denen ich arbeiten soll, duerfen" 41138 PRINT "nicht groesser als sechsstellig sein!":GOTO 41178 41140 K=0:D=2:S=2 41142 IF X=1 THEN 41178 41144 Q=X/D:IF Q<>INT(Q)THEN 41152 41146 IF K=0 THEN PRINT X;"=";D;:K=1:X=Q:GOTO 41142 41148 PRINT "*"; 41150 PRINT D;:X=Q:GOTO 41142 41152 IF D=2 THEN D=3:GOTO 41144 41154 D=5 41156 IF X=1 THEN 41178 41158 Q=X/D:R=X-INT(Q)*D:IF R<>0 THEN 41166 41160 IF K=0 THEN PRINT X;"=";D;:K=1:X=Q:GOTO 41156 41162 PRINT "*"; 41164 PRINT D;:X=Q:GOTO 41156 41166 IF D<INT(Q)THEN D=D+S:S=6-S:GOTO 41158 41168 IF K=0 THEN PRINT X;"=";X;:GOTO 41178 41170 PRINT "*"; 41172 PRINT X;:GOTO 41178 41174 PRINT "Fuer diese Zahl ist die Primfaktorzer-" 41176 PRINT "legung nicht definiert!" 41178 GOSUB 40058:GOTO 40076 41180!######## KOVERTIERUNG ######## 41182 PAPER 8:INK 2:BORDER 8:CLS:PRINT AT(1,1);STRING$(37,"*") 41184 PRINT AT(0,1);"Z A H L E N K O N V E R T I E R U N G":WINDOW 4,23,0,39 41186 INK 8:PAPER 2:CLS:WINDOW 5,22,1,38:EE$=INKEY$ 41188 PRINT "Sie haben jetzt die Moeglichkeit, vom" 41190 PRINT "Computer Zahlen eines beliebigen Sys-" 41192 PRINT "tems (zum Beispiel Dezimalsystem) in" 41194 PRINT "ein anderes System (zum Beispiel Dual-" 41196 PRINT "system) zu konvertieren. Die Basen der" 41198 PRINT "beiden Systeme duerfen dabei aus pro-" 41200 PRINT "grammtechnischen Gruenden die Groesse" 41202 PRINT "36 nicht uerberschreiten.":GOSUB 40074:GOSUB 40058:CLS 41204 INPUT "Basis des Ausgangssystems :";A:PRINT 41206 IF A<>INT(A)OR A<2 OR A>36 THEN 41204 41208 INPUT "Basis des Zielsystems :";Z:PRINT 41210 IF Z<>INT(Z)OR Z<2 OR Z>36 THEN 41208 41212 INPUT "Zahl im Ausgangssystem :";G$:PRINT 41214 B=1:X=0:FOR I=1 TO LEN(G$):T$=LEFT$(RIGHT$(G$,I),1):C=ASC(T$) 41216 IF C>47 AND C<58 THEN T=C-48:ELSE T=C-55 41218 IF T>=0 AND A>T THEN 41226 41220 PRINT "Ihre Zahl enthaelt Ziffern," 41222 PRINT "die es im Zahlensystem mit" 41224 PRINT "der Basis";A;"nicht gibt!":PRINT:GOTO 41244 41226 X=X+B*T:B=A*B:NEXT I 41228 IF X<1000000 THEN 41234 41230 PRINT "Ihre Zahl ist fuer mich ein" 41232 PRINT "bisschen zu gross!":PRINT:GOTO 41244 41234 B=1:G$="" 41236 B=B*Z:IF B<=X THEN 41236 41238 B=INT(B/Z):C=INT(X/B):IF C<10 THEN T$=RIGHT$(STR$(C),1):ELSE T$=CHR$(C+55) 41240 G$=G$+T$:X=X-B*C:IF B<>1 THEN 41238 41242 PRINT "Zahl im Zielsystem : ";G$:PRINT 41244 PRINT "Nochmal? (J oder N) : "; 41246 ZK$="JN":GOSUB 40068:IF E$="J"THEN CLS:GOTO 41204:ELSE 40076 41248!######## MORSEN ######## 41250 INK 4:PAPER 6:OUT 136,168:CLS:T=30:H=70 41252 PRINT AT(0,4);"E I N F A C H E S M O R S E N" 41254 PRINT AT(1,4);STRING$(31,"*"):WINDOW 4,23,0,39:INK 5:PAPER 4:CLS 41256 WINDOW 5,22,1,38 41258 PRINT "Zeichenvorrat:";CHR$(123);"A...Z";CHR$(125);", ";CHR$(123); 41260 PRINT "0...9";CHR$(125) 41262 PRINT TAB(14)CHR$(123);"+-*:/,.?'";CHR$(34);"=()";CHR$(125):PRINT 41264 PRINT "Sonderzeichen:";CHR$(123);">";CHR$(125);" - Anfangszeichen" 41266 WINDOW 9,22,15,38:PRINT CHR$(123);"<";CHR$(125);" - Schlusszeichen" 41268 PRINT CHR$(123);"#";CHR$(125);" - Irrung" 41270 PRINT CHR$(123);";";CHR$(125);" - Verstanden" 41272 PRINT CHR$(123);"%";CHR$(125);" - Nicht verstanden" 41274 PRINT CHR$(123);"&";CHR$(125);" - Warten!" 41276 PRINT CHR$(123);"$";CHR$(125);" - Senden!" 41278 INK 2:WINDOW 16,22,1,38:EE$=INKEY$ 41280 E$=INKEY$:IF E$=""THEN 41280 41282 X=ASC(E$):IF X=32 THEN PRINT " ";:FOR J=1 TO 6*T:NEXT J 41284 IF X=13 THEN OUT 136,0:GOTO 40076 41286 IF X<34 OR X>90 OR X=64 THEN 41280 41288 IF X=35 THEN U=9:GOSUB 41354:PRINT " irrung! ";:M=1111:W=1:GOSUB 41344:GOTO 41280 41290 IF X=36 THEN U=9:GOSUB 41354:PRINT " senden! ";:M=313:GOSUB 41344:GOTO 41280 41292 IF X=37 THEN U=19:GOSUB 41354:PRINT " nicht verstanden! ";:M=113311:GOTO 41296 41294 GOTO 41298 41296 GOSUB 41344:GOTO 41280 41298 IF X=38 THEN U=9:GOSUB 41354:PRINT " warten! ";:M=13111:GOSUB 41344:GOTO 41280 41300 IF X=59 THEN U=13:GOSUB 41354:PRINT " verstanden! ";:M=11131:GOTO 41304 41302 GOTO 41306 41304 GOSUB 41344:GOTO 41280 41306 IF X=60 THEN U=7:GOSUB 41354:PRINT " ende! ";:M=111313:GOSUB 41344:GOTO 41280 41308 IF X=62 THEN U=9:GOSUB 41354:PRINT:PRINT " beginn! ";:M=31313:GOTO 41312 41310 GOTO 41314 41312 GOSUB 41344:GOTO 41280 41314 PRINT E$;:IF X>63 THEN 41318 41316 RESTORE 41320:FOR I=1 TO X-33:READ M:NEXT I:GOSUB 41344:GOTO 41280 41318 RESTORE 41332:FOR I=1 TO X-63:READ M:NEXT I:GOSUB 41344:GOTO 41280 41320 DATA 131131,0,0,0,0 41322 DATA 133331,31331,313313,3113,13131 41324 DATA 331133,311113,131313,31131,33333 41326 DATA 13333,11333,11133,11113,11111 41328 DATA 31111,33111,33311,33331,333111 41330 DATA 0,0,31113,0,113311 41332 DATA 0,13,311,3131,311 41334 DATA 1,1131,331,1111,11 41336 DATA 1333,313,1311,33,31 41338 DATA 333,1331,3313,131,111 41340 DATA 3,113,1113,133,3113 41342 DATA 3133,3311,0,0,0 41344 G$=STR$(M):FOR I=2 TO LEN(G$):A=VAL(MID$(G$,I,1)):GOSUB 41350:NEXT I 41346 IF X=35 AND W=1 THEN W=0:GOTO 41344 41348 FOR J=1 TO 2*T:NEXT J:RETURN 41350 OUT 128,7:OUT 128,H:FOR J=1 TO A*T:NEXT J:OUT 128,3 41352 FOR J=1 TO T:NEXT J:RETURN 41354 IF PEEK(43)+U>40 THEN PRINT 41356 RETURN