home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
s85xx
/
s8507b.d64
/
tpfm
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
6KB
|
211 lines
1 REM**********************************
2 REM* TRAININGSPROGRAMM FUER *
3 REM* MASCHINENSCHREIBEN *
4 REM* DIRK MARZLUF BROMBEERMATT 2 *
5 REM* 7614 GENGENBACH *
6 REM**********************************
7 :
10 PRINTCHR$(147);CHR$(5);CHR$(14);CHR$(8):POKE53280,0:POKE53281,0
20 FORI=53000TO53021:READX:POKEI,X:NEXTI
30 GOSUB7000
37 :
38 REM*** HAUPTMENUE ***
39 :
40 DIMA$(200):DIMB(30,20):PRINT"[147]1 = [211]CHREIBEN"
50 PRINT"2 = [203]ONTROLLIEREN"
53 PRINT"3 = [194]ENOTEN"
55 PRINT"4 = [197]NDE"
60 GETAA$:IFAA$<>"1"ANDAA$<>"2"ANDAA$<>"3"ANDAA$<>"4"THEN60
70 IFAA$="2"THEN2000
72 IFAA$="3"THENF1=1:GOTO6007
75 IFAA$="4"THENPRINT"[147]":POKE1,55:END
997 :
998 REM*** TEXT SCHREIBEN ***
999 :
1000 I=0:PRINTCHR$(147);"'[211]HIFT [210]ETURN' BEENDET [212]EXT VORZEITIG"
1010 GETA$
1012 IFTI$="001000"THENET$=TI$:A$(I)=B$:PRINT"[147]":GOSUB5000:GOSUB3000:RUN40
1013 IFZA=0THENTI$="000000"
1014 IFA$=""THEN1010
1015 A=ASC(A$)
1020 IFA=141ANDZA<>0THENET$=TI$:A$(I)=B$:PRINT"[147]":GOSUB5010:GOSUB3000:RUN40
1025 IFA<32ANDA<>13ORA>127ANDA<161THEN1010
1030 IFA$=CHR$(64)THENA$="UE"
1032 IFA$=CHR$(186)THENA$="[213]E"
1034 IFA$=CHR$(62)THENA$="OE"
1036 IFA$=CHR$(91)THENA$="[207]E"
1040 IFA$=CHR$(60)THENA$="AE"
1042 IFA$=CHR$(93)THENA$="[193]E"
1044 IFA$=CHR$(192)THENA$="SS"
1050 PRINTA$;:ZA=ZA+1
1052 IFA=13THENA$=CHR$(190)
1053 IFA=58THENA$=CHR$(191)
1054 IFA=44THENA$=CHR$(192)
1055 B$=B$+A$:IFLEN(B$)>70THENA$(I)=B$:I=I+1:B$=""
1060 GOTO1010
1997 :
1998 REM*** TEXT KONTROLLIEREN ***
1999 :
2000 GOSUB4000
2002 FE$="00":PRINT"[205]IT '[211]PACE' WIRD [198]EHLERZAHL ERHOEHT."
2004 PRINT"[205]IT '[211]HIFT' KANN DAS [204]ISTING DES [212]EXTES"
2005 PRINT"GESTOPPT WERDEN."
2006 FORP=0TOI:FORPP=1TO72
2010 A2$=MID$(A$(P),PP,1):IFA2$<>""THENIFASC(A2$)=190THENA2$=CHR$(13)
2012 IFA2$<>""THENIFASC(A2$)=191THENA2$=CHR$(58)
2013 IFA2$<>""THENIFASC(A2$)=192THENA2$=CHR$(44)
2015 IFS1=40THENPRINT"[145]";
2020 PRINTA2$;:GETAA$
2025 IFAA$=" "THENFE=FE+1:FE$=STR$(FE):FE$=MID$(FE$,2,2):IFFE<10THENFE$="0"+FE$
2027 IFFE=99THENFE=98
2030 Z1=PEEK(214):IFPEEK(653)=1THEN2030
2040 S1=PEEK(211):PRINT"[193]NZAHL DER [198]EHLER: ";FE$;" "
2060 IFF2=1THEN2205
2100 POKE214,Z1:POKE211,S1:SYS58640:NEXTPP:NEXTP
2200 PRINT:PRINT"'[210]ETURN'=WEITER[146] ([193]USWERTUNG)":F2=1
2205 GETAA$:IFAA$<>""THENIFASC(AA$)=13THEN6000
2220 GOTO2025
2997 :
2998 REM*** ABSPEICHERMENUE ***
2999 :
3000 PRINT"[147]1 = [193]UF [203]ASSETTE ABSPEICHERN"
3001 PRINT"2 = [193]UF [196]ISKETTE ABSPEICHERN"
3002 PRINT"3 = [203]ORRIGIEREN (OHNE [193]BSPEICHERN)"
3004 GETAA$:IFAA$<>"1"ANDAA$<>"2"ANDAA$<>"3"THEN3004
3005 PRINT"[147]":PE=8:NA$="@:TEXT":IFAA$="1"THENPE=1:GOSUB8000:NA$="TEXT"
3006 IFAA$="3"THEN2002
3007 :
3008 REM*** TEXT ABSPEICHERN ***
3009 :
3010 OPEN1,PE,1,NA$:PRINT#1,E1:PRINT#1,ET$
3020 FORP=0TOI:PRINT#1,A$(P):NEXT:CLOSE1:RETURN
3997 :
3998 REM*** LADEMENUE ***
3999 :
4000 I=0:PRINT"[147]1 = [214]ON [203]ASSETTE LADEN"
4001 PRINT"2 = [214]ON [196]ISKETTE LADEN"
4002 GETAA$:IFAA$<>"1"ANDAA$<>"2"THEN4002
4003 PRINT"[147]":PE=8:IFAA$="1"THENPE=1:GOSUB8000
4004 :
4005 REM*** TEXT LADEN ***
4006 :
4009 OPEN1,PE,0,"TEXT":INPUT#1,E1:INPUT#1,ET$
4010 INPUT#1,A$(I):IFST=64THENCLOSE1:PRINT"[147]":RETURN
4020 I=I+1:GOTO4010
4997 :
4998 REM***ERGEBNISSE, INFORMATIONEN***
4999 :
5000 PRINT"[196]IE [218]EHNMINUTENABSCHRIFT IST ZU [197]NDE."
5005 PRINT"[215]EITERE [201]NFORMATIONEN FOLGEN."
5010 IFET$="000000"THENET$="000001"
5012 A2$=MID$(ET$,3,2)
5020 A3$=MID$(ET$,5,2)
5030 SE=VAL(A2$)*60+VAL(A3$):IFF3=1THENRETURN
5040 PRINT"[196]ER [212]EXT HAT EINE [204]AENGE VON";ZA
5050 PRINT"[218]EICHEN UND [211]IE HABEN";SE;"[211]EKUNDEN"
5055 PRINT"DAFUER BENOETIGT."
5057 E1=INT(ZA/(SE/600)+.5)/10
5060 PRINT"[211]IE HABEN EINEN [193]NSCHLAG VON";E1
5070 PRINT"[218]EICHEN PRO [205]INUTE."
5080 PRINT"'[210]ETURN'=WEITER[146] ([193]BSPEICHER-[205]ENUE)"
5090 GETAA$:IFAA$<>""THENIFASC(AA$)=13THENRETURN
5100 GOTO5090
5997 :
5998 REM***EINLESEN DER NOTENTABELLE***
5999 :
6000 E2=E1*10:F3=1:GOSUB5010:FE=INT((FE/(SE/600))+.5)
6001 PRINT"[147]1 = [193]NFAENGER":PRINT"2 = [197]XAMENSKANDIDAT"
6002 WAIT198,1:GETA$:IFA$="1"THENAN=1:FE=INT(FE/2):E2=E2*2:PRINT"[147]":GOTO6007
6003 PRINT"[147][202]ETZT WIRD DIE [206]OTE ERRECHNET, DIE [211]IE"
6004 PRINT"IN DER [193]BSCHLUSSPRUEFUNG EINES [211]CHREIB-"
6005 PRINT"MASCHINENKURSES ERHALTEN HAETTEN."
6006 PRINT"****************************************"
6007 RESTORE:FORI=1TO43:READX$:NEXTI:READMA:IFF1=1THENPRINT"[147]"
6008 READX:N1=X
6010 READX:IFX=-1THENF=F+1:GOTO6008
6020 IFX=-2THEN6100
6021 IFX<0THENX=ABS(X):GOTO6030
6022 IFX<10THENX=X*1000
6024 IFX<100THENX=X*100
6026 IFX<1000THENX=X*10
6030 B(F,N1)=X:N1=N1+1
6040 GOTO6010
6097 :
6098 REM*** BERECHNEN DER NOTE ***
6099 :
6100 Z2=0:IFF1=0THEN6104
6101 PRINT"[147][198]UER ERNEUTEN [211]TART BEI [198]EHLERZAHL 'X' EINGEBEN."
6102 INPUT"[198]EHLERZAHL";FE$:IFFE$="X"THENRUN40
6103 INPUT"[193]NSCHLAGSZAHL";E2$:E2=VAL(E2$):FE=VAL(FE$)
6104 IFE2<MAORFE>FTHENNO=6:GOTO6250
6105 FORNO=6TO1.5STEP-.5:IFB(FE,Z2)>E2THEN6250
6150 IFB(FE,Z2)>B(FE,Z2+1)THENNO=NO-.5:GOTO6250
6200 Z2=Z2+1:NEXT
6250 IH=0:IFE2<>0ANDE2>=MATHENIFFE/E2*100<=0.5THENIH=1
6297 :
6298 REM*** AUSGABE DER NOTE ***
6299 :
6300 IFF1=0THEN6304
6301 PRINT"[208]RUEFUNGSNOTE:";NO:GOSUB9000
6302 PRINT"[218]UR [214]ORTSETZUNG BELIEBIGE [212]ASTE DRUECKEN."
6303 WAIT198,1:POKE198,0:GOTO6100
6304 PRINT"[211]IE HAETTEN DIE [206]OTE";NO;"BEKOMMEN."
6305 IFET$="001000"THENGOSUB9000:Q$="":GOTO6311
6306 MI=INT(SE/60):S2=SE-MI*60
6307 PRINT"[211]IE HABEN";MI;"[205]IN. UND";S2;"[211]EK."
6308 PRINT"GESCHRIEBEN. [193]NZAHL DER [198]EHLER UND"
6309 PRINT"[193]NSCHLAEGE WURDEN AUF [218]EHNMINUTEN-"
6310 PRINT"LEISTUNG HOCHGERECHNET.":Q$="":GOSUB9000
6311 PRINTQ$;"'[210]ETURN'=WEITER[146] (ERNEUTER [211]TART)"
6320 GETAA$:IFAA$<>""THENIFASC(AA$)=13THENRUN40
6330 GOTO6320
6997 :
6998 REM*** UMSTELLEN DER TASTATUR ***
6999 :
7000 PRINT"[196]IE [212]ASTATUR WIRD JETZT UMGESTELLT."
7002 SYS53000:POKE1,53
7005 READX:IFX=-1THENPOKE60389,61:POKE60407,39:RETURN
7010 READY:PRINTCHR$(X)" WIRD ZU "CHR$(Y)
7015 FORI=60289TO60419:D=PEEK(I):IFD<>XANDD<>YTHENNEXT
7016 IFD=XTHENI1=I
7017 IFD=YTHENI2=I
7018 IFI1=0ORI2=0THENNEXT
7020 POKEI1,Y:POKEI2,X:I1=0:I2=0:GOTO7005
7997 :
7998 REM*** TEXTAUSGABE ***
7999 :
8000 PRINT"[194]ITTE [203]ASSETTE ZUM [212]EXTBEGINN ZURUECK- SPULEN."
8010 PRINT"[193]NSCHLIESSEND DRUECKEN [211]IE BITTE EINE"
8015 PRINT"BELIEBIGE [212]ASTE."
8020 WAIT198,1:POKE198,0:RETURN
9000 IFAN=1THENQ$="":RETURN
9002 IFIH=0THEN9010
9005 PRINT"[211]IE HAETTEN DIE [201].[200].[203]. [208]RUEFUNG BESTANDEN."
9007 RETURN
9010 PRINT"[211]IE HAETTEN DIE [201].[200].[203]. [208]RUEFUNG NICHT BESTANDEN."
9020 RETURN
49996 :
49997 REM*** DATEN FUER ROM-KOPIER ***
49998 REM*** -ROUTINE ***
49999 :
50000 DATA160, 0,169,192,133, 91,133, 89,132, 90,132, 88,169,224
50010 DATA132, 95,133, 96, 32,191,163, 96
50996 :
50997 REM*** DATEN FUER TASTATUR- ***
50998 REM*** UMSTELLUNG ***
50999 :
51000 DATA89,90,217,218,45,47,47,39,58,62,59,60,63,219,43,42,42,192,35,61,-1
51997 :
51998 REM*** NOTENTABELLE ***
51999 :
52000 DATA1200,5,12,14,16,17,18,-1,5,12,14,16,17,18,-1,4,12,14,15,16,17,18,-1
52010 DATA3,12,14,15,16,17,18,24,-1,3,12,15,16,17,18,2133,32,-1
52020 DATA2,12,14,16,17,18,2,2667,4,-1,2,12,15,16,17,1875,24,32,-1
52030 DATA1,12,14,16,17,18,2188,28,3733,-1,1,12,15,16,17,2,25,32,-1
52040 DATA0,12,14,16,17,18,225,2813,36,-1,0,12,15,16,17,2,25,3125,4,-1
52050 DATA0,14,15,17,18,22,275,3438,-1,0,15,16,17,2,24,3,375,-1
52060 DATA0,15,16,18,2167,26,325,-1,0,16,17,1867,2333,2028,35,-1
52070 DATA0,16,17,2,25,3,375,-1,0,17,18,2133,2667,32,-1
52080 DATA0,17,1889,2267,2833,34,-1,0,18,2,24,3,36,-1,0,18,2111,2533,3167,-1
52090 DATA0,1905,2222,2667,3333,-2