This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!





Listing 1
5 POKE 16,64:POKE 53774,64:POKE 580,1 10 REM 20 REM 30 DIM P(3000),M(27),LENGTH(27) 40 DIM A$(20),B$(19),C1$(9),C2$(28),C3$(31),C4$(5),C6$(10) 50 DIM N1$(17),N2$(12),N3$(10),N4$(11),N5$(16),N6$(21),N7$(16) 60 DIM T$(104),N$(%1),X$(%1),Y$(%1),Z$(%1) 70 REM 80 C1$="TRNINVTRI":C2$="ERASEINPUTPRINTIDN DET HOD":C3$="DUMP SAVE LOAD CLEAREND UNLOCK":C4$="+-./*" 85 C6$="0123456789" 90 N1$="MATRIX NO DECLARE":N2$="SYNTAX ERROR":N3$="TYPE ERROR":N4$="MEMORY FULL":N5$="UNKNOWN COMMAND" 100 N6$="MATRIX PROCESOR READY":N7$="MATRIX NO DEFINE" 110 X5=5:X4=4:MAX=3000 120 ------------------------------ 125 EXEC HEAD:POKE 732,17 130 REM 135 # R1:IF PEEK(732)=17 THEN EXEC MENU:POKE 732,0 140 EXEC BEEP:TRAP #ERR:INPUT " ",B$ 142 IF LEN(B$)<%3 THEN ? N5$:?:GO# R1 145 I=%1:WHILE B$(I,I)=" " AND I<19:I=I+%1:WEND:L=LEN(B$):B$=B$(I,L):B$(L+%1,L+%1)=" " 160 IF B$(%2,%2)<>"=" THEN GO# R2 170 N$=B$(%1,%1):EXEC VER 180 IF UINSTR(C6$,B$(%3,%3))<>0:K=VAL(B$(%3,LEN(B$))):EXEC PAR:EXEC NAPLN:GO# R1:ENDIF 190 IF LEN(B$)=4 AND UINSTR(C6$,B$(X4,X4))=%0:X$=N$:N$=B$(%3,%3):EXEC VER:Y$=N$:EXEC COPY:GO# R1:ENDIF 200 J=UINSTR(C4$,B$(X4,X4)) 210 IF J<5 AND J>0:X$=N$:N$=B$(%3,%3):EXEC VER:Y$=N$:N$=B$(X5,X5):EXEC VER:Z$=N$:EXEC SOUCET:FL=1:ENDIF 220 IF J=5:X$=N$ 230 IF UINSTR(C6$,B$(X5,X5))<>0:N$=B$(%3,%3):EXEC VER:Y$=N$:K=VAL(B$(X5,LEN(B$))):EXEC SKAL:FL=1:ELSE 240 N$=B$(%3,%3):EXEC VER:Y$=N$:N$=B$(X5,X5):EXEC VER:Z$=N$:EXEC SOUCIN:FL=1:ENDIF:ENDIF 250 J=UINSTR(C1$,B$(%3,X5)):IF J<>0:X$=N$:N$=B$(7,7):Q=0:EXEC VER:Y$=N$:ON (J DIV %3+1)EXEC TRN,INV,TRI:FL=%1:ENDIF 260 IF FL=1:FL=0:ELSE:?:? N5$:?:ENDIF:GO# R1 270 # R2:I=%1:WHILE B$(I,I)<>" " AND I<19:I=I+1:WEND:I=I-%1:J=UINSTR(C2$,B$(%1,I)) 280 IF J<>0:N$=B$(I+%2,I+%2):EXEC VER:EXEC PAR:J=J DIV X5+1 290 ON JEXEC ERASE,INPUT,PRINT,IDN,DET,HOD:GO# R1:ENDIF 300 J=UINSTR(C3$,B$(%1,I)) 310 IF J<>0:J=J DIV X5+1:ON JEXEC DUMP,SAVE,LOAD,CLEAR,END,UNLOCK:GO# R1:ENDIF 312 IF B$(1,I)="DECLARE":N$=B$(9,9):R=VAL(B$(11)):S=VAL(B$(13+INT(CLOG(R)))):EXEC DECLARE:GO# R1:ENDIF 320 ? N5$:?:GO# R1 470 REM 480 ------------------------------ 490 PROC PAR 495 P=UINSTR(T$,N$) 500 N=(P+3) DIV X4:IF N<>%0:R=ASC(T$(P+%2,P+%2)):S=ASC(T$(P+%3,P+%3)):A=M(N):ENDIF 510 ENDPROC 520 ------------------------------ 530 PROC DECLARE 540 K=UINSTR(T$,N$):L=LEN(T$)+%1:N=(L+%3)/X4 550 IF K<>%0:? "NAME ERROR":?:ELSE:IF R*S+M(N)>MAX:? N4$:? 560 ELSE:T$(L,L)=N$:T$(L+%2,L+%2)=CHR$(R):T$(L+%3,L+%3)=CHR$(S):LENGTH(N)=R*S:M(N+%1)=M(N)+R*S 565 T$(L+%1,L+%1)="":? N6$:? 570 ENDIF:ENDIF:ENDPROC 580 ------------------------------ 590 PROC INPUT:MX=0 595 TRAP 637 600 FOR K=%0 TO R-%1 610 FOR J=%0 TO S-%1 620 ? "[";K+%1;",";J+%1;"]=";:INPUT " ",L:P(M(N)+K*S+J)=L:L=LEN(STR$(L)):IF L>MX THEN MX=L 630 NEXT J:NEXT K:T$(P+%1,P+%1)=CHR$(MX):?:? N6$:?:ENDPROC 634 ------------------------------ 637 ? "DATA ERROR":?:TRAP 637:GOTO ERL 640 ------------------------------ 650 PROC DUMP 660 *F + 670 FOR I=%1 TO LEN(T$) STEP 16 680 FOR J=%0 TO %3 690 L=I+J*4:IF L<LEN(T$):? T$(L,L);"(";ASC(T$(L+%2,L+%2));",";ASC(T$(L+%3,L+%3));")",:ENDIF 700 NEXT J:?:NEXT I:? N6$:?:*F - 710 ENDPROC 720 ------------------------------ 730 PROC END 740 INPUT "ARE YOU SURE";N$ 750 IF N$="Y" OR N$="A":GRAPHICS 0:SETCOLOR 1,0,0:SETCOLOR 2,11,8:SETCOLOR 4,2,4:? "Turbo BASIC READY":? "34021 Bytes free" 760 NEW 770 ENDIF:ENDPROC 799 ------------------------------ 800 PROC PRINT 805 MX=ASC(T$(P+%1,P+%1)):IF MX<>0 810 ? "Tisk adku":? "Tisk loupce":? "Tisk ele matice" 820 INPUT N$ 830 IF N$="R":INPUT "Cislo radku";L 840 FOR I=%0 TO S-%1:? I+%1,P(A+S*(L-%1)+I):NEXT I:ENDIF:IF N$="R" THEN GO# P2 850 IF N$="S":INPUT "Cislo sloupce";L 860 FOR I=%0 TO R-%1:? I+%1,P(A+S*I+L-%1):NEXT I:ENDIF:IF N$="S" THEN GO# P2 870 IF N$="C" 880 IF R<11 AND S<11:INPUT "Chcete kumulovany tisk";N$:ELSE:GO# P1:ENDIF:IF N$="N" THEN GO# P1 890 D=40 DIV S-1:IF MX+%2<D THEN D=MX+%2 895 POKE 201,D 900 FOR I=%0 TO R-%1 910 FOR J=%0 TO S-%1 915 B=INT(P(A+S*I+J)*1000000+0.5)/1000000 920 A$=STR$(B):IF LEN(A$)<D-%2:Q=LEN(A$):ELSE:Q=D-%2:ENDIF:? A$(%1,Q),:NEXT J:?:NEXT I:POKE 201,10 930 IF MX<=D-%2:? "Tisk s plnou presnosti":ELSE:? "Tisk 1. n pozic":ENDIF 940 ELSE 950 # P1:FOR I=%0 TO S-%1:? "Sloupec c.";I+%1:FOR J=%0 TO R-%1:? J+%1;" ....",P(A+S*J+I):NEXT J:?:NEXT I 960 ENDIF:? N6$:?:ELSE:?:? "MATRIX NO DEFINE":? 970 # P2:ENDIF:ENDPROC 999 ------------------------------ 1000 PROC SOUCET 1003 X=UINSTR(T$,X$):Y=UINSTR(T$,Y$):Z=UINSTR(T$,Z$) 1005 MX=ASC(T$(Y+%1,Y+%1))*ASC(T$(Z+%1,Z+%1)):IF MX<>%0 1010 IF X*Y*Z=0:? N1$:ELSE 1020 IF (T$(X+%2,X+%3)<>T$(Y+%2,Y+%3)) OR (T$(X+%2,X+%3)<>T$(Z+%2,Z+%3)):? N3$:ELSE 1030 X=X DIV X4+%1:Y=Y DIV X4+%1:Z=Z DIV X4+%1:L=LENGTH(X)-%1 1040 ON J GOTO 1050,1100,1150,1200 1050 FOR I=%0 TO L:P(M(X)+I)=P(M(Y)+I)+P(M(Z)+I):NEXT I:GOTO 1230 1100 FOR I=%0 TO L:P(M(X)+I)=P(M(Y)+I)-P(M(Z)+I):NEXT I:GOTO 1230 1150 FOR I=%0 TO L:P(M(X)+I)=P(M(Y)+I)*P(M(Z)+I):NEXT I:GOTO 1230 1200 FOR I=%0 TO L:P(M(X)+I)=P(M(Y)+I)/P(M(Z)+I):NEXT I:GOTO 1230 1230 N$=X$:EXEC MX:? N6$:?:ENDIF:ENDIF:ELSE:? N7$:?:ENDIF 1240 ENDPROC 1499 ------------------------------ 1500 PROC MX:MX=%0:EXEC PAR 1510 FOR J=%0 TO R*S-%1 1517 L=LEN(STR$(P(A+J))):IF L>MX THEN MX=L 1520 NEXT J:T$(P+%1,P+%1)=CHR$(MX) 1530 ENDPROC 1540 ------------------------------ 1550 PROC VER 1560 IF UINSTR(T$,N$)=0 THEN ? N1$:?:POP:GO# R1 1570 ENDPROC 1580 ------------------------------ 1600 PROC SOUCIN 1610 X=UINSTR(T$,X$):I=ASC(T$(X+%2,X+%2)):Y=UINSTR(T$,Y$):J=ASC(T$(X+%3,X+%3)):Z=UINSTR(T$,Z$):K=ASC(T$(Z+%2,Z+%2)) 1615 MX=ASC(T$(Y+%1,Y+%1))*ASC(T$(Z+%1,Z+%1)):IF MX<>%0 1620 IF X*Y*Z=0:? N1$:ELSE 1630 IF X=Y OR X=Z:? N2$:ELSE 1640 IF T$(X+%2,X+%2)<>T$(Y+%2,Y+%2) OR T$(X+%3,X+%3)<>T$(Z+%3,Z+%3) OR T$(Y+%3,Y+%3)<>T$(Z+%2,Z+%2):? N3$:?:ELSE 1650 X=X DIV X4+%1:Y=Y DIV X4+%1:Z=Z DIV X4+%1 1660 FOR F=%0 TO LENGTH(X)-%1:P(M(X)+F)=%0:NEXT F 1670 FOR F=%0 TO I-%1 1680 FOR G=%0 TO J-%1 1690 FOR H=%0 TO K-%1 1700 L=(M(X)+F*J+G):P(L)=P(L)+P(M(Y)+F*K+H)*P(M(Z)+H*J+G) 1710 NEXT H:NEXT G:NEXT F:? N6$:?:ENDIF:ENDIF:ENDIF 1720 N$=X$:EXEC PAR:EXEC MX:ELSE:? N7$:?:ENDIF 1730 ENDPROC 1740 ------------------------------ 1750 PROC SKAL 1760 X=UINSTR(T$,X$):Y=UINSTR(T$,Y$) 1768 MX=ASC(T$(Y+%1,Y+%1)):IF MX<>%0 1770 IF T$(X+%2,X+%3)<>T$(Y+%2,Y+%3):? N3$:?:ELSE:X=X DIV X4+1:Y=Y DIV X4+1:N$=X$:EXEC PAR 1780 FOR J=%0 TO R*S-%1:P(M(X)+J)=P(M(Y)+J)*K:NEXT J:EXEC MX:? N6$:?:ENDIF:ELSE:? N7$:?:ENDIF 1790 ENDPROC 1799 ------------------------------ 1800 PROC COPY 1810 X=UINSTR(T$,X$):Y=UINSTR(T$,Y$) 1815 MX=ASC(T$(Y+%1,Y+%1)):IF MX<>%0 1820 IF T$(X+%2,X+%3)<>T$(Y+%2,Y+%3):? N3$:?:ELSE:X=X DIV X4+%1:Y=Y DIV X4+%1 1830 I=DPEEK(140)+M(X)*6:J=DPEEK(140)+M(Y)*6:K=(M(Y+%1)-M(Y))*6 1840 MOVE J,I,K:N$=X$:EXEC MX:? N6$:?:ENDIF:ELSE:? N7$:?:ENDIF 1850 ENDPROC 1860 ------------------------------ 1870 PROC UNLOCK:I=%0 1880 INPUT "ENTER CODE";B$:I=I+%1 1890 IF B$<>"28.4.1971" AND I<3 THEN 1880 1900 IF I>2 AND B$<>"28.4.1971":? "UNAUTHORIZED ATTEMPT FOR UNLOCKING!":PAUSE 100:?:? "PROGRAMM DESTROYED!" 1910 PAUSE 100:BYE:ENDIF 1920 ?:? "CODE O.K.!":? "PROGRAMM UNLOCKING!":?:POKE 16,192:POKE 53774,247:POKE 580,0:ENDIF 1930 ENDPROC 1940 ------------------------------ 1950 PROC XS 1960 N$=Y$:EXEC PAR 1970 X=UINSTR(T$,X$):Y=UINSTR(T$,Y$):FL=0 1980 IF T$(X+%2,X+%3)<>T$(Y+%2,Y+%3) OR T$(Y+%2,Y+%2)<>T$(Y+%3,Y+%3) THEN FL=1 1990 X=X DIV X4+%1:Y=Y DIV X4+%1:N=M(LEN(T$)/X4+%1):S1=DPEEK(140)+M(X)*6:S2=DPEEK(140)+M(Y)*6 2000 S3=DPEEK(140)+N*6:S4=(M(Y+%1)-M(Y))*6 2010 ENDPROC 2020 ------------------------------ 2030 PROC TRN 2035 Y=UINSTR(T$,Y$):IF ASC(T$(Y+%1,Y+%1))<>%0 2040 EXEC XS 2050 IF FL=%1:? N3$:?:ELSE:IF MAX-N<R*S:? N4$:?:ELSE:MOVE S2,S3,S4 2060 FOR J=%0 TO R-%2:FOR K=J+%1 TO R-%1:F=P(N+R*J+K):P(N+R*J+K)=P(N+R*K+J):P(N+R*K+J)=F:NEXT K:NEXT J 2070 MOVE S3,S1,S4:N$=X$:EXEC MX:? N6$:?:ENDIF:ENDIF:ELSE:? N7$:?:ENDIF 2080 ENDPROC 2090 ------------------------------ 2100 PROC INV 2105 Y=UINSTR(T$,Y$):IF ASC(T$(Y+%1,Y+%1))<>%0 2110 EXEC XS:J=R:IF FL=1:? N3$:?:ELSE:IF MAX-N<2*R*S:? N4$:?:ELSE:E=R 2115 FOR B=N+R*S TO N+2*R*S:P(B)=%0:NEXT B 2120 MOVE S2,S3,S4:FOR B=%1 TO J:GOSUB 2200:P(H)=P(H)+%1:NEXT B 2130 # G1:GOSUB 2200:D=P(H)-%1:GOSUB 2230:B=B-%1 2140 IF B>0 THEN GO# G1 2150 FOR B=%1 TO J:GOSUB 2200:P(H)=P(H)-%1:NEXT B:GO# G4 2200 C=B:GO# G2 2210 C=F 2220 # G2:C=C-R+N-%1:H=R*B+C:I=R*E+C:RETURN 2230 FOR F=%1 TO J:GOSUB 2210:IF ABS(D)>1e-8:P(H)=P(H)/D:ELSE:? "MATRIX SINGULAR":?:POP:TRAP #R1:GOTO 2280:ENDIF 2235 NEXT F 2240 FOR E=%1 TO J:IF B=E THEN GO# G3 2250 GOSUB 2200:D=P(I):FOR F=%1 TO J:GOSUB 2210:P(I)=P(I)-D*P(H):NEXT F 2260 # G3:NEXT E:RETURN 2270 # G4:MOVE S3,S1,S4:N$=X$:EXEC MX:? N6$:? 2280 ENDIF:ENDIF:ELSE:? N7$:?:ENDIF 2285 ENDPROC 2290 ------------------------------ 2300 PROC DET 2305 I=UINSTR(T$,N$):IF ASC(T$(I+%1,I+%1))<>%0 2310 IF R<>S:? N3$:?:ELSE:X$=N$:Y$=N$:EXEC XS:IF MAX-N<R*S:? N4$:?:ELSE:MOVE S1,S3,S4:D=1:A=N-1:N=R:L=R 2320 FOR U=%1 TO N:H=ABS(P(A+L*(U-%1)+U)):R=U:S=U 2330 FOR V=U TO N:FOR W=U TO N:IF ABS(P(A+L*(V-%1)+W))<=H THEN GO# D1 2340 H=ABS(P(A+L*(V-%1)+W)):R=V:S=W 2350 # D1:NEXT W:NEXT V:IF R=U THEN GO# D2 2360 FOR W=U TO N:Q=P(A+L*(U-%1)+W):P(A+(U-%1)*L+W)=-P(A+L*(R-%1)+W):P(A+L*(R-%1)+W)=Q:NEXT W 2370 # D2:IF S=U THEN GO# D3 2380 FOR V=U TO N:Q=P(A+L*(V-%1)+U):P(A+(V-%1)*L+U)=-P(A+(V-%1)*L+S):P(A+L*(V-%1)+S)=Q:NEXT V 2390 # D3:IF ABS(P(A+L*(U-%1)+U))<=1e-20 THEN D=%0:GO# D4 2400 D=D*P(A+L*(U-%1)+U):FOR V=U+%1 TO N:FOR W=U+%1 TO N 2405 C=A+L*(V-%1)+W:P(C)=P(C)-P(A+L*(U-%1)+W)*P(A+L*(V-%1)+U)/P(A+L*(U-%1)+U) 2410 NEXT W:NEXT V:NEXT U 2420 # D4:D=INT(D*100000+0.5)/100000:? "DET ";N$;"=";D:? N6$:?:ENDIF:ENDIF:ELSE:? N7$:?:ENDIF 2430 ENDPROC 2440 ------------------------------ 4990 PROC HEAD 5000 I=48039:RESTORE 5010 5010 READ J:IF J<>-1 THEN POKE I,J:I=I+1:GOTO 5010 5020 DPOKE 560,48039 5030 DPOKE 88,48152 5040 DATA 70,200,187,6,2,112,15,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,130,65,167,187,-1 5045 SETCOLOR 0,5,8:SETCOLOR 1,0,0:SETCOLOR 2,11,8:SETCOLOR 4,2,4:CLS:POKE 82,1:POKE 83,38:POSITION 1,2 5050 RESTORE 5070:I=48074 5060 READ J:IF J<>-1 THEN POKE I,J:I=I+%1:GOTO 5060 5070 DATA 45,33,52,50,41,56,0,48,50,47,35,37,51,47,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1 5080 I=48112:RESTORE 5100 5090 READ J:IF J<>-1 THEN POKE I,J+128:I=I+1:GOTO 5090 5100 DATA 0,0,46,37,55,52,47,46,0,36,33,52,33,0,44,52,36,14,0,0,8,35,9,17,25,24,24,0,42,33,46,0,51,52,37,35,40,50 5110 DATA 0,0,-1 5120 I=48010:RESTORE 5150 5130 READ J:IF J<>-%1 THEN POKE I,J:I=I+%1:GOTO 5130 5140 DPOKE 512,48010:POKE 54286,192 5150 DATA 72,138,72,152,72,162,0,160,80,169,0,157,24,188,232,136,208,249,104,168,104,170,104,64,-1 5160 ENDPROC 5190 ------------------------------ 5200 PROC CLEAR 5205 T$(%1)="":T$(104)="":T$(%2)=T$ 5210 T$="" 5215 ? N6$:? 5220 ENDPROC 5230 ------------------------------ 5240 PROC NAPLN 5250 FOR I=%1 TO R*S:P(A+I-%1)=K:NEXT I 5260 EXEC MX:? N6$:? 5270 ENDPROC 5280 ------------------------------ 5300 PROC IDN 5305 IF R<>S:? N3$:?:ELSE 5310 K=%0:EXEC NAPLN 5320 FOR I=%0 TO R-%1:P(A+I*R+I)=%1:NEXT I:ENDIF 5330 ENDPROC 5340 ------------------------------ 5350 PROC ERASE 5360 K=DPEEK(140)+A*6:L=K+R*S*6:B=LEN(T$):T=B/X4:D=DPEEK(140)+M(T+%1)*6-L:MOVE L,K,ABS(D) 5370 FOR J=N TO T-%1:LENGTH(J)=LENGTH(J+%1):NEXT J 5380 FOR J=N TO T-%1:M(J+%1)=M(J)+LENGTH(J):NEXT J:M(J+%1)=%0 5390 IF N*X4<B:T$(N*X4-%3,B-X4)=T$(N*X4+%1,B):T$=T$(%1,B-X4):ELSE:IF B=X4 THEN T$="":? N6$:?:GOTO 5400 5395 T$=T$(%1,B-X4):ENDIF:? N6$:? 5400 ENDPROC 5410 ------------------------------ 5420 PROC TRI 5425 X=UINSTR(T$,X$):Y=UINSTR(T$,Y$) 5427 IF ASC(T$(Y+%1,Y+%1))<>%0 5430 IF T$(X+%2,X+%3)<>T$(Y+%2,Y+%3):? N3$:?:ELSE:N$=Y$:EXEC PAR:TRAP #T1 5435 EXEC XS:A=N 5440 IF MAX-A<R*S:? N4$:?:ELSE:MOVE S2,S3,S4 5450 FOR C=%0 TO R-%2:IF P(A+C*S+C)=%0:FOR B=C+%1 TO R-%1:FOR G=C TO S-%1 5460 H=P(A+S*C+G):P(A+C*S+G)=P(A+B*S+G):P(A+B*S+G)=H:NEXT G 5470 IF ABS(P(A+C*S+C))<>%0 THEN B=R+%1:NEXT B:ENDIF:TRAP #T1 5480 IF B=R+%1 THEN GO# T2 5490 FOR D=C+%1 TO R-%1:F=-P(A+D*S+C)/P(A+C*S+C):FOR G=%0 TO S-%1:P(A+D*S+G)=P(A+D*S+G)+F*P(A+C*S+G) 5500 NEXT G:NEXT D 5505 # T2:NEXT C 5510 # T1:B=%0:IF Q<>-%1 THEN ? N6$:?:MOVE S3,S1,S4:N$=X$:EXEC MX 5515 ENDIF:ENDIF:ELSE:? N7$:?:B=%1:ENDIF 5520 ENDPROC 5530 ------------------------------ 5540 PROC SAVE 5550 INPUT "Name:",A$:N=M(LEN(T$)/X4+%1) 5560 OPEN #1,8,0,"T:" 5570 PRINT #1,A$:? #1,T$:? #1,N 5580 FOR I=%1 TO 27:PRINT #1,LENGTH(I):? #1,M(I):NEXT I 5590 FOR I=%0 TO N:PRINT #1,P(I):NEXT I:CLOSE #1:? N6$:?:POKE 54286,192 5600 ENDPROC 5610 ------------------------------ 5620 PROC LOAD 5630 T$(104)="":A$(19)="":TRAP 5677 5640 OPEN #1,4,128,"T:" 5650 INPUT #1,A$:INPUT #1,T$:INPUT #1,N 5660 FOR I=%1 TO 27:INPUT #1,R:INPUT #1,S:LENGTH(I)=R:M(I)=S:NEXT I 5670 FOR I=%0 TO N:INPUT #1,R:P(I)=R:NEXT I:CLOSE #1 5672 T$=T$(11,LEN(T$)):A$=A$(11,LEN(A$)) 5675 ? "Loaded ";A$:? N6$:?:GOTO 5680 5677 ? "BOOT ERROR!":?:SOUND 1,23,22,14:PAUSE 30:SOUND:CLOSE 5680 POKE 54286,192:ENDPROC 5690 ------------------------------ 5700 PROC BEEP 5710 SOUND 1,23,10,14:PAUSE 5:SOUND 5720 ENDPROC 5730 ------------------------------ 5740 PROC HOD:TRAP 40000 5750 X$=N$:Y$=N$:Q=-%1:EXEC TRI:K=R-%1:L=R:IF B=%1 THEN 5780 5760 WHILE P(A+S*(L-%1)+S-%1)=%0 AND L>=%1:L=L-%1:WEND 5770 ? "HOD =";L:? N6$:? 5780 ENDPROC 5790 ------------------------------ 5800 # ERR:IF RND>0.9500000000000001:? "SORRY VOLE":? "ERROR":?:ELSE:? N2$:?:ENDIF:EXEC BEEP:GO# R1 6000 PROC MENU:POKE 752,1 6010 CLS:POSITION 4,3:POKE 82,4 6020 ? "****** SEZNAM PRIKAZU *******" 6030 ? "A=B+C":? "A=B-C skalarni operace":? "A=B.C mezi jednot.prvky":? "A=B/C" 6040 ? "A=B*C maticove nasobeni":? "A=B*skal nasobeni skalarem":? "A=B prirazeni matic" 6050 ? "A=TRN B transpozice":? "A=INV B inverze":? "A=TRI B redukce na troj.tvar" 6060 ? "A=skal priraz.vsem prvkum":? "IDN A vytvoreni jednot.mat.":? "DET A vypocet determinantu" 6070 ? "HOD A vypocet hodnosti" 6080 IF INKEY$="" THEN 6080 6090 CLS:POSITION 4,3 6100 ? "****** RIDICI PRIKAZY *******" 6110 ? "DECLARE A,R,S deklaruje matici A typu R,S" 6120 ? "ERASE A zrusi matici A" 6130 ? "INPUT A vlozeni hodnot" 6140 ? "PRINT A tisk matice" 6150 ? "DUMP tisk seznamu dek- larovanych matic" 6160 ? "CLEAR zruseni vsech matic" 6170 ? "SAVE nahrava matice" 6180 ? "LOAD opak SAVE" 6190 ? "END konci praci prog- ramu a maze jej" 6200 ?:? "Upozorneni!":? " zpusobi restart systemu!" 6210 IF INKEY$="" THEN 6210 6220 CLS:POKE 82,1:POSITION 1,2:POKE 752,0 6230 ENDPROC
References
Listing downloads
Copyright holder