Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
1010 DIM A(100)
1020 CLS
1030 PRINT:PRINT "PROGRAMM NACH KNAUS-OGINO"
1035 PRINT "+++++++++++++++++++++++++++++++":PRINT:PRINT
1040 X=0
1050 PRINT "WERTE MUESSEN ZWISCHEN 1. JAN. 1973 UND 31. DEZ. 1999 LIEGEN ! "
1070 PRINT "ALLE WERTE MUESSEN OHNE UNTER- BRECHUNG AUFEINANDERFOLGEN !"
1080 PRINT:PRINT "DIE JAHRESANGABE MUSS 4-STELLIG SEIN."
1090 PRINT:PRINT:PRINT "HABEN SIE WERTE GESPEICHERT ?":GOSUB 4000
1100 IF A<>1 THEN 1110:ELSE PRINT:PRINT "NAME:";:INPUT "";F$:GOSUB 8000:GOTO 1120
1110 PRINT:PRINT "FUER WEN WIRD GERECHNET:";:INPUT "";F$:GOTO 1160
1120 PRINT:PRINT "WOLLEN SIE WEITERE WERTE HINZU- FUEGEN ";:GOSUB 4000
1130 IF A=1 THEN 1160
1135 IF X>=2 THEN 1150
1140 PRINT:PRINT "EIN WERT IST NICHT GENUG !":GOTO 1120
1150 IF A<>1 THEN 1190
1160 X=X+1:PRINT:PRINT "BITTE DEN";X;". WERT EINGEBEN"
1170 PRINT "TAG,MONAT,JAHR,ZEIT :":INPUT "";D,M,Y,T
1180 GOSUB 3000:A(X)=H:GOTO 1120
1190 GOSUB 4070:IF A<>1 THEN 2000
1200 GOSUB 9000
2000 PRINT:PRINT
2010 PRINT "BERECHNUNG :","(";X;"WERTE)":PRINT:PRINT:V=0:W=0
2020 Z=(A(X)-A(1))/(X-1)
2030 B=0
2040 PRINT " DATUM UHR- DAUER DIFF."
2045 PRINT " ZEIT [TAGE] [STD]":PRINT
2050 FOR K=1 TO X:H=A(K):GOSUB 5000:GOSUB 5830:IF K<>1 THEN 2070
2060 PRINT:GOTO 2120
2070 S=A(K)-A(K-1):PRINT TAB(19);INT(S/2.4)/10;
2080 U=S-Z:PRINT TAB(26);INT(U)
2090 B=B+U*U
2100 IF U>W THEN W=U
2110 IF U<V THEN V=U
2120 NEXT K:PRINT:GOSUB 4050:IF A<>0 THEN 2200
2125 GOTO 1020
2200 PRINT:PRINT
2210 PRINT "ERGEBNISSE:":W=INT(.5+W):V=-INT(.5+ABS(V))
2212 PRINT "__________":PRINT
2220 H=Z:GOSUB 5600:PRINT "MITTEL :";D;"TAGE";T;"STD.";"(+";W;"/";V;")"
2225 PRINT
2230 A=B/(X-1):A=SQR(A):PRINT "STREUUNG :";INT(10*A+.5)/10;"STUNDEN"
2240 B$="SEHR GUT":IF A>14 THEN B$="GUT"
2250 IF A>24 THEN B$="BEFRIEDIGEND"
2260 IF A>44 THEN B$="MANGELHAFT"
2270 IF A>54 THEN B$="UNGENUEGEND"
2280 PRINT:PRINT ">>> WERTE SIND ";B$;" <<<":PRINT:PRINT
2290 S=A(X)+Z
2292 PRINT " DATUM UHRZEIT"
2294 PRINT "_______________________________"
2300 H=S-A-410:B$="PAUSE VON ":GOSUB 6000
2310 H=S+A-300:B$=" BIS ":GOSUB 6000
2320 H=S:B$="NAECHSTE REGEL":GOSUB 6000
2330 H=S-336:B$="EISPRUNG ":GOSUB 6000
2340 H=S+6048:B$="GEBURT ":GOSUB 6000
2350 PRINT:GOSUB 4060:IF A=1 THEN 1120
2360 PRINT:PRINT:END
3000 Y=Y-1972
3010 IF Y<1 THEN 3040
3020 IF Y>27 THEN 3040
3030 GOTO 3050
3040 PRINT:PRINT "DIESES JAHR IST UNZULAESSIG !":X=X-1:GOTO 3075
3050 H=24*(365*Y+INT(Y/4)+D)+T:IF INT(Y/4)<>Y/4 THEN 3070
3060 IF M<3 THEN H=H-24
3070 FOR I=1 TO M:READ D:NEXT I:RESTORE:H=H+24*D
3075 RETURN
3080 DATA 0,31,59,90,120,151,181,212,243,273,304,334,365
4000 J=1:N=0
4010 PRINT "(J/N)";:INPUT A$:IF A$="J"THEN A=1
4020 IF A$="N"THEN A=0
4030 IF A$="N"THEN 5420
4035 IF A$="J"THEN 5420
4040 PRINT:PRINT "BITTE 'J' ODER 'N' EINGEBEN !":GOTO 4000
4050 PRINT:PRINT "SIND DIE WERTE BRAUCHBAR";:GOSUB 4000:RETURN
4060 PRINT:PRINT "WOLLEN SIE DIE TERMINE NOCHMAL SEHEN";:GOSUB 4000:RETURN
4070 PRINT:PRINT "SOLLEN DIE WERTE ABGESPEICHERT WERDEN ";:GOSUB 4000:RETURN
5000 Y=1972
5010 H=H-8784
5020 IF H<0 THEN PRINT "FEHLER !":STOP
5050 Y=Y+1:IF H<8760 THEN 5200
5060 IF INT(Y/4)<>Y/4 THEN H=H-8760:GOTO 5050
5070 IF H>=8784 THEN H=H-8784:GOTO 5050
5200 M=-1
5220 M=M+1:N=J:READ J:IF M>1 THEN 5230
5225 GOTO 5240
5230 IF INT(Y/4)=Y/4 THEN J=J+1
5240 IF H>=J*24 THEN 5220
5250 RESTORE:H=H-N*24
5400 GOSUB 5600
5410 D=D+1
5420 RETURN
5600 IF H>2000 THEN 5640
5610 IF H>=0 THEN 5650
5640 PRINT "HOURS OUT OF RANGE":STOP
5650 D=INT(H/24):T=INT(H-24*D):RETURN
5800 PRINT:PRINT B$
5830 PRINT TAB(0);D;:PRINT TAB(4);M;:PRINT TAB(8);Y;
5840 PRINT TAB(14);INT(T+0.5);:RETURN
6000 GOSUB 5000
6010 GOSUB 5800:PRINT:RETURN
7000 GOSUB 5000
7010 GOSUB 5830:PRINT:RETURN
8000 PRINT:PRINT "1.BAND POSITIONIEREN"
8010 PRINT "2.WIEDERGABETASTE DRUECKEN"
8020 INPUT "3.WENN VORTON BEGINNT, >ENT<- TASTE DRUECKEN";S$
8030 CLOAD*""+F$;A
8040 PRINT:PRINT "BANDGERAET AUSSCHALTEN"
8050 PRINT:FOR J=1 TO 100
8055 IF A(J)=0 THEN X=J-1:J=100
8060 NEXT J:PRINT
8080 RETURN
9000 PRINT
9020 PRINT "1.BAND POSITIONIEREN"
9030 PRINT "2.AUFNAHMETASTEN DRUECKEN"
9040 INPUT "3.>ENT<-TASTE BETAETIGEN";S$
9060 CSAVE*""+F$;A
9070 PRINT:PRINT "BANDGERAET AUSSCHALTEN"
9080 RETURN
9090 END