1 REM Ins{nd av: Sven Wickberg <1384> 1986-08-06 23.30.02 (WRITE) 10 REM TID 86 03 02 15 REM ABC80 och 800 ({ndra 1030, en variabel/rad) 20 REM program f|r att h}lla reda p} k|rtid/exakt kostn 23 REM vid k|rning med modem 25 D$='86 02 02' : REM startdatum 30 REM ------------------------------- 35 REM A$()=periodpris A%()=antal k|rMIN 37 REM P()=sek mell mark K%()=k|rkostn hittills 40 REM A$() A%() P() o K%() sparas i TID.DAT 50 REM ------------------------------- 69 T=.23 : REM pris/markering 80 GOSUB 1000 : REM |ppna och l{s fil 90 REM ============================== 95 REM huvudslinga 100 ; CHR$(12%) '>>> K|rtid och kostn med modem sedan ' D$ ' <<<' 110 Z=0 : REM nollst{ll summa 115 ; : ; 'Pris/minut ','min s:a','s:a kr |re/min' 120 FOR I%=1% TO N% 140 ; CUR(2%*I%+2%,0%) I% ' ' A$(I%),A%(I%),K(I%); 142 IF A%(I%)>0% THEN ; ' ' INT(10000%*K(I%/A%(I%))/100); 145 Z=Z+K(I%) : REM total kostnad 147 IF I%=2% ; ,'Delsum: ' Z ELSE ; 150 NEXT I% 160 ; CUR(2%*I%,45%) 'Total: ' Z; 190 REM ------------------------------ 200 ; CUR(2%*I%+2%,0%) 'Var har du k|rt ( 1 -' I%-1% ', avsl m 99 ):'; : INPUT W$ 210 ON ERROR GOTO 200 : W%=VAL(W$) 215 IF W%=99% THEN 2000 220 IF W%<1% OR W%>I%-1% THEN ; CHR$(7%) : GOTO 200 290 ; 'Hur m}nga minuter med ' A$(W%); : INPUT B$ 293 IF W%<0% THEN 200 295 ON ERROR GOTO 290 : B%=VAL(B$) 297 REM ------------------------------ 300 A%(W%)=A%(W%)+B% 304 REM ber{kna ant perioder, dra bort slumpdel; avrunda upp}t 305 Q%=INT(B%*60%-P(W%)*RND)/P(W%)+1 : IF Q%<1% Q%=1% : REM deb perioder 310 K=Q%*T : REM kostnad f|r ny tid 320 K(W%)=K(W%)+K 380 GOTO 100 390 REM slut huvudslinga 999 REM ============================= 1000 REM |ppna och avl{s fil 1003 ON ERROR GOTO 2000 : REM TID.DAT finns ej 1005 E%=1% : OPEN "tid.dat" AS FILE 1% : E%=0% 1010 ON ERROR GOTO 1050 1020 FOR I%=1% TO 100% 1030 INPUT #1%,A$(I%),A%(I%),P(I%),K(I%) 1040 NEXT I% 1050 N%=I%-1% 1060 CLOSE 1% 1100 RETURN 1999 REM ----------------------------- 2000 PREPARE "tid.dat" AS FILE 1% 2003 IF E%=1% THEN N%=100% : REM tillf v{rde 2005 IF E%=1% THEN ON ERROR GOTO 3000 2010 FOR I%=1% TO N% 2020 IF E%=1% THEN READ A$(I%),A%(I%),P(I%),K(I%) 2030 ; #1%;A$(I%) : ; #1%,A%(I%) : ; #1%,P(I%) : ; #1%,K(I%) 2040 NEXT I% 2050 ; : ; 'OK - uppdaterad version sparad' 2060 END 3000 N%=I%-1% : REM Data slut 3010 ; 'TID.DAT iordningst{lld. K|r RUN' 3020 GOTO 2060 5000 REM >>>>>>>>>>>>>>>>>>>>>>>>>>> 5100 REM data f|r initiering av datafil 5170 DATA "2(Stlm)", 0,720, 0,"4", 0,360,0 5180 DATA "44(Esk)",0,32,0,"58 |re",0,24,0 5190 DATA "73 |re",0,19,0,"87(Gbg)",0,17,0 5200 DATA "138",0,10,0,"173",0,8,0 5210 DATA 66(Nkg),0,21,0 5300 REM >>>>>>>>>>>>>>>>>>>>>>>>>>>