1 REM Ins{nt av 2262 10 REM MINNE 16KB 20 DIM A$(20)=6,K%(20),[%(20),A(10,20),F%(20,51),D$(20)=1 30 DIM G(50),M1%(20),M2%(20),P%(1),I%(1),S(10),P$(10)=15,X(1),T%(1),D(1),Q(1),W%(1),G2(1),U$(1),N(1),U(1) 40 ; CHR$(12);TAB(14);'B \ R S E N'; : ; : ; TAB(13);CHR$(23);STRING$(11,35%); 50 ONERRORGOTO 50 : ; : ; : ; "*** Hur m}nga spelare (1-10)"; : INPUT P% : IF P%<1 OR P%>10 THEN 50 60 FOR I%=1 TO P% : ; "*** Vad heter spelare nr:";I%; 70 INPUT U$ : IF LEN(U$)>15 THEN ; "*** Bara 15 bokst{ver tack!" : GOTO 70 ELSE P$(I%)=U$ : NEXT I% 80 FOR I%=1 TO P% : S(I%)=25000 : NEXT I% 90 ; CHR$(12) : W%=1% 100 RANDOMIZE 110 FOR I%=1 TO 20 : READ A$(I%) : NEXT I% 120 DATA IBM,LME,ASEA,BP,METRIC,SHELL,BEIJER,SKF,AGA,LUXOR 130 DATA SAL@N,LEO,N.FILT,BOFORS,VOLVO,SAAB,LKAB,MONARK,ASTRA,WASA 140 FOR I%=1 TO 20 : K%(I%)=350%*RND+25% : M1%(I%)=K%(I%) : M2%(I%)=K%(I%) : NEXT I% 150 FOR I%=1 TO 20 : IF INT(2*RND+1)=1 THEN D$(I%)="+" ELSE D$(I%)="-" 160 NEXT I% : ; CHR$(12) : GOTO 190 170 REM KURS[NDRING 180 FOR X=1 TO 2000 : T%=INP(56)-128 : IF T%=ASC(CHR$(13)) THEN 490 ELSE NEXT X 190 ; CHR$(7); 200 ; CUR(0,0);"Dagens kurslista " 210 ; CUR(1,0);"K|p/S{lj - Tryck p} RETURN ! "; 220 ; CUR(2,0);SPACE$(40) : G=0 : G2=0 : ; CUR(2,0);"Nr Namn Kurs +/- Max Min Dif" : FOR I%=1% TO 20 230 ; CUR(I%+2,0);"-"; 240 IF K%(I%)=0 THEN 410 250 [%(I%)=10%*RND : IF [%(I%)=0 THEN D$(I%)=" " : GOTO 310 260 IF D$(I%)="+" THEN IF INT(3*RND+1)=3 THEN 300 ELSE 290 270 IF D$(I%)="-" THEN IF INT(3*RND+1)=3 THEN 290 ELSE 300 280 IF D$(I%)=" " THEN IF INT(2*RND+1)=1 THEN 300 ELSE 290 290 D$(I%)="+" : K%(I%)=K%(I%)+[%(I%) : GOTO 310 300 D$(I%)="-" : K%(I%)=K%(I%)-[%(I%) 310 IF K%(I%)>0% 340 ELSE ; CUR(1,0);A$(I%);" I KONKURS ! Aktier v{rdel|sa"; : ; CHR$(7) : FOR X=1 TO 2000 : NEXT X 320 ; CHR$(7) : FOR X=1 TO 2000 : NEXT X : ; CHR$(7) 330 FOR X=1 TO P% : A(X,I%)=0 : NEXT X : K%(I%)=0 : P1%=P1%+1% : ; CUR(I%+2,0);SPACE$(39) : GOTO 410 340 IF K%(I%)<401% THEN 370 ELSE ; CUR(1,0);A$(I%);" ger utdelning ";K%(I%)-400%;" Kronor/Aktie !" : ; CHR$(7); 350 FOR X=1 TO P% : IF A(X,I%)<>0 THEN S(X)=S(X)+A(X,I%)*(K%(I%)-400%) 360 NEXT X : K%(I%)=400% 370 IF K%(I%)M2%(I%) THEN M2%(I%)=K%(I%) 390 ; CUR(I%+2%,0);I%;TAB(4);A$(I%);TAB(12);K%(I%);TAB(18);D$(I%);TAB(19);[%(I%);TAB(23);M2%(I%);TAB(28);M1%(I%); 400 ; TAB(33);M2%(I%)-M1%(I%);" " 410 NEXT I% 420 FOR D=1 TO 20 : G=G+K%(D) : NEXT D : G(W%)=G/(20-P1%) : G2=G(W%)-G(W%-1%) 430 ; CUR(23,1);"Genomsnitt:";TAB(12);INT(G(W%));TAB(18);INT(G2*100)/100;" "; 440 IF G2>0 THEN ; CUR(23,18);"+"; ELSE ; CUR(23,18);"-"; 450 IF W%=49% THEN FOR D=1 TO 50 : G(D-1)=G(D) : NEXT D 460 W%=W%+1 : FOR I%=1% TO 20% : F%(I%,W%)=K%(I%) : NEXT I% 470 IF W%=50% THEN FOR I%=1% TO 20% : FOR D%=1% TO 50% : F%(I%,D%-1%)=F%(I%,D%) : NEXT D% : NEXT I% : W%=49% 480 GOTO 180 490 ; CHR$(12) 500 ; "Vem |nskar g|ra aff{rer "; 510 ONERRORGOTO 500 : INPUT U$ : FOR N=1 TO P% : IF P$(N)=U$ THEN 530 ELSE NEXT N 520 ; "Ingen spelare med det namnet " : ; CHR$(7); : GOTO 500 530 ; CHR$(12) : ; CUR(0,0);"";" ";P$(N);TAB(34);"" 540 ; "Aktieinnehav:" : FOR X=1 TO 20 : IF A(N,X)<>0 THEN ; A(N,X);TAB(3);" ";A$(X);TAB(12);"Kurs:";TAB(17);K%(X) 550 IF A(N,X)<>0 THEN L=L+A(N,X)*K%(X) 560 NEXT X : ; TAB(17);L : L=0 : ; "Kontanter:";S(N) 570 FOR X=1 TO 22 : ; CUR(X,25);"" : NEXT X 580 ; CUR(1,28);"\nskad aff{r:" 590 ; CUR(2,27);" 1-K|p" 600 ; CUR(3,27);" 2-S{lj" 610 ; CUR(4,27);" 3-Analys" 620 ; CUR(5,27);" 4-Kurs" 630 ; CUR(6,27);" -]ter" 640 FOR [=1 TO 280 : NEXT [ : ; CUR(8,29);'_'; 650 IF INP(56%)=141% THEN U=5% : GOTO 710 660 T%=INP(56%) : IF T%>181 OR T%<177 THEN FOR [=1 TO 280 : NEXT [ : ; CUR(8,29);' '; : GOTO 640 ELSE 670 670 POKE 65013,0 : IF INP(56%)=177% THEN U=1% 680 IF INP(56%)=178% THEN U=2% 690 IF INP(56%)=179% THEN U=3% 700 IF INP(56%)=180% THEN U=4% 710 FOR X=8 TO 22 : ; CUR(X,27);" " : NEXT X 720 IF U<1 OR U>5 THEN 640 ELSE U=INT(U) : ON U GOTO 730,800,870,990,1020 730 ONERRORGOTO 730 : ; CUR(8,27);"K|p" : ; CUR(9,27);"Antal " : ; CUR(10,27); : INPUT Q : ; CUR(11,27);"Aktie " 740 ; CUR(12,27); : INPUT U$ 750 FOR D=1 TO 20 : IF U$=A$(D) THEN 760 ELSE NEXT D : ; CUR(13,27);"Aktien " : ; CUR(14,27);"Finns ej" : GOTO 730 760 ONERRORGOTO 770 : IF S(N)>=Q*K%(D) THEN 780 ELSE 770 770 ; CUR(13,27);"Ej kontant" : ; CUR(14,27);"T{ckning" : GOTO 720 780 A(N,D)=A(N,D)+Q : S(N)=S(N)-(Q*K%(D)) 790 GOTO 530 800 ONERRORGOTO 800 : ; CUR(8,27);"S{ljning" : ; CUR(9,27);"Antal " : ; CUR(10,27); : INPUT Q : ; CUR(11,27);"Aktie " 810 ; CUR(12,27); : INPUT U$ 820 FOR D=1 TO 20 : IF U$=A$(D) THEN 830 ELSE NEXT D : ; CUR(14,27);"Aktien " : ; CUR(15,27);"Finns ej" : GOTO 800 830 ONERRORGOTO 840 : IF A(N,D)>=Q THEN 850 840 ; CUR(14,27);"Du {ger ej" : ; CUR(15,27);"S} m}nga" : ; CUR(16,27);"Aktier !" : GOTO 800 850 A(N,D)=A(N,D)-Q : S(N)=S(N)+Q*K%(D) 860 GOTO 530 870 ONERRORGOTO 870 : ; CUR(10,27);"Aktie " : ; CUR(11,27); : INPUT U$ 880 FOR D=1 TO 20 : IF U$=A$(D) THEN 900 ELSE NEXT D : IF U$="G" THEN D=21 ELSE IF U$="B" J1=1 ELSE 870 890 IF J1=1 THEN FOR D=1 TO 21 900 ; CHR$(12) : FOR I%=1 TO 24 : ; : ; CHR$(151); : NEXT I% 910 FOR G1=10 TO 60 : SETDOT G1,10 : NEXT G1 : FOR G1=10 TO 70 : SETDOT 60,G1 : NEXT G1 920 IF D=21 THEN FOR X=1 TO 48 : SETDOT 60-(G(X)/8),(10+X) : NEXT X : ; CUR(0,0);CHR$(135);"Genomsnitt" : GOTO 960 930 FOR X=1 TO 49 : SETDOT 60-(F%(D,X)/8),(10+X) : NEXT X 940 ; CUR(1,7);CHR$(135);A$(D);TAB(15);"Max:";M2%(D);TAB(19);" Min:";M1%(D); 950 ; CUR(2,7);CHR$(135);STRING$(LEN(A$(D)),61) 960 ONERRORGOTO 960 : ; CUR(22,0);"Tryck p} RETURN n{r du l{st f{rdigt."; : T%=INP(56)-128 970 IF J1=1 THEN F=INP(56%)-128 : IF F=1 THEN 530 : IF F=13 THEN NEXT D ELSE 970 : J1=0 : GOTO 530 980 IF T%=ASC(CHR$(13)) THEN 530 ELSE 960 990 ; CUR(10,27);"Aktie " : ; CUR(11,27); : INPUT U$ 1000 FOR D=1 TO 20 : IF U$=A$(D) THEN 1010 ELSE NEXT D : ; CUR(12,27);"Aktien " : ; CUR(13,27);"Finns ej" : GOTO 990 1010 ; CUR(12,27);"Kurs: ";K%(D) : GOTO 640 1020 ; CHR$(12) : GOTO 190