10 RUN 40 11 REM ************************ 12 REM ** VEKTOROVA STRELNICE * 13 REM ************************ 14 REM 15 REM AUTOR NAMETU: PETR SUK 16 REM AUTOR: MARTIN WIENER 17 REM VERSE 1,ZARI 1986 18 REM 30 REM *** HLAVNI PROGRAM *** 31 REM 40 POKE 20,1 45 POKE 19,31 70 GOSUB 1000 80 REM 90 REM 95 REM ***NAKRESLENI OS*** 100 LET PP=0 :LET PR=0 105 GOSUB 4000 106 REM ***VOLBA SOURADNIC*** 107 LET U=0 :LETSOU=0 :LET V=0 108 LET CH=0 109 MEZ=0 130 ON ZP GOSUB 5000,5100,5200 135 IF Q=0 AND Q1=1 THEN10150 150 LET A(1,PS)=XA 155 LET A(2,PS)=YA 160 LET B(1,PS)=XB 165 LET B(2,PS)=YB 170 REM **NAKRESLENI BODU A,B** 175 GOSUB 6000 176 W=0 179 POM=0 :SOU=0 180 U=1 :V=0 185 GOSUB 5200 190 IF V<>1 THEN 200 191 GOSUB 4000 :REM NAKRESLENI OS 192 GOSUB 6000 :REM NAKRESLENI BODU 193 GOTO 179 200 IF A(1,PS)<>XA THEN POM=POM+1 210 IF A(2,PS)<>YA THEN POM=POM+1 215 IF B(1,PS)<>XB THEN POM=POM+1 220 IF B(2,PS)<>YB THEN POM=POM+1 221 IF POM<>0 THEN 245 225 PRINT&30,0" SOURADNICE BODU A,B SPRAVNE! " 230 GOSUB 7000 :REM USPESNA ZNELKA 235 WAIT(20) 240 GOTO 295 245 PRINT&30,0" CHYBA PRI URCOVANI SOURADNIC! " 246 GOSUB 7100 247 WAIT(50) 248 W=W+POM 249 IF W>1 THEN 255 250 IF POM<=1 THEN 179 255 CLS 260 GOSUB 2000 265 PRINT&5,2"Urcil jsi spatne souradnice" 270 PRINT&6,2"bodu A nebo B (popr. obou)!" 276 PRINT&7,2"Neznas dobre urcovani" 277 PRINT&8,2"souradnic bodu!" 281 PRINT&10,2"Zopakuj si program:" 282 PRINT&13,2"KARTEZSKA STRELNICE" 283 PRINT&17,2"Nyni se vytisknou vysledky" 284 PRINT&18,2"a program se ukonci!" 285 WAIT(200) 290 GOSUB 11000 291 GOTO 600 295 GOSUB 8000 :REM VYPOCEY SOURADNIC VEKTORU 300 Q=0 :Q1=0 :Q2=0 305 GOSUB 9000 :REM ZNAZORNENI POMOCNYCH CAR 309 GOSUB 10000 :REM URCOVANI SOURADNIC VEKTORU 310 IF V=0 THEN 315 311 GOSUB 4000 312 GOSUB 6000 313 GOSUB 9000 314 GOTO 309 315 Q=0 :Q1=0 :QOM=0 316 PP=PP+1 320 IF XZ=UX THEN Q=1 325 IF YZ=UY THEN Q1=1 330 IF Q=1 AND Q1=1 THEN 400 335 IF Q=1 AND Q1=0 THEN 355 340 IF Q=0 AND Q1=1 THEN 365 345 PRINT&30,0" OBE SOUR. VEKTORU AB SPATNE! " 350 GOTO 370 355 PRINT&30,0CHR$(19);" Y-OVA SOUR. VEKTORU AB SPATNE! "; 356 QOM=2 360 GOTO 370 365 PRINT&30,0CHR$(19);" X-OVA SOUR. VEKTORU AB SPATNE !"; 366 QOM=1 370 GOSUB 7100 375 IF PP>=S THEN 570 380 GOSUB 12000 385 GOSUB 10000 395 GOTO 315 400 PRINT&30,0" SOUR. VEKTORU SPRAVNE! "SPC(3) 405 GOSUB 7000 406 PRINT&30,0;SPC(30) 410 PRINT&27,0"ZAPIS VEKTOR DLE VZORU NAHORE!" 416 PRINT&1,0" AB=(Ux;Uy) " 418 N$="" :PR=PR+1 419 PRINT&30,0;SPC(30) 420 PRINT&30,0 425 INPUT N$ 430 IF N$<>ZV$ THEN 456 435 PRINT&30,0" ZAPIS SPRAVNE! ";SPC(13) 440 GOSUB 7000 441 V(1,PS)=PP 442 V(2,PS)=PR 445 IF PS>=C THEN 598 450 PRINT&30,0" NASLEDUJE NOVY VEKTOR! ";SPC(8) 451 WAIT(30) 455 GOTO 100 456 PRINT&30,0;SPC(30) 460 PRINT&30,0" ZAPIS SPATNE! ";SPC(14) 465 GOSUB 7100 470 FOR K=27 TO 30 475 PRINT&K,0;SPC(30) 480 NEXT K 481 IF PR>S THEN 545 485 IF LEFT$(N$,4)=Z1$ THEN 525 486 Q$=Z1$ 490 PRINT&27,0"Napsal jsi spatne tuto" 495 PRINT&28,0"cast vzorce:";Q$ 500 PRINT&29,0"Napis vzorec znovu!" 505 GOTO 418 525 PRINT&27,0"Napsal jsi chybne x-ou(Ux) ne-" 530 PRINT&28,0"bo y-ou(Uy) sour. Napis vzorec" 535 PRINT&29,0"znovu - oddelovac sour. je ;" 536 PRINT&30,0"NESMIS POUZIT , JAKO ODDEL.!" 537 WAIT(50) 540 GOTO 418 545 PR=6 550 FOR K=27 TO 30 555 PRINT&K,0;SPC(30) 560 NEXT K 561 PRINT&1,0;SPC(12) 562 PRINT&27,0" ZAPIS SPATNE! " 563 PRINT&28,0"Spravny vysledek:" 564 PRINT&29,10;CHR$(19);ZV$ 565 WAIT(50) 566 GOTO 441 570 PP=6 571 PRINT&30,0;SPC(30) 575 PRINT&27,0"Urcil jsi spatne souradnice" 580 PRINT&28,0"vektoru AB. Spravny vysledek:" 583 PRINT&29,0"Ux=";CHR$(19);UX 584 PRINT&29,8"Uy=";CHR$(19);UY 585 PRINT&29,16;CHR$(19);ZV$ 596 WAIT(100) 597 GOTO 441 598 PRINT&30,0" POCET VEKTORU VYCERPAN-KONEC! " 599 GOSUB 11000 600 CLS 601 POKE 20,2 605 POKE 19,30 610 END 1000 REM 1006 GOSUB3000 1010 DIM A(2,15) 1011 DIM B(2,15) 1012 IFS=0THENS=5 1013 IFC=0THENC=5 1014 DIM V(2,15) 1100 DIM CI$(13) 1105 LET CI$(1)="6" 1110 LET CI$(2)="5" 1115 LET CI$(3)="4" 1120 LET CI$(4)="3" 1125 LET CI$(5)="2" 1130 LET CI$(6)="1" 1135 LET CI$(7)="0" 1140 LET CI$(8)="-1" 1145 LET CI$(9)="-2" 1150 LET CI$(10)="-3" 1155 LET CI$(11)="-4" 1160 LET CI$(12)="-5" 1165 LET CI$(13)="-6" 1170 DIM OX$(31) 1175 FOR I=3 TO 13 STEP 2 1180 LET OX$(I)="-" 1185 NEXT I 1190 FOR I=17 TO 27 STEP 2 1195 LET OX$(I)="+" 1200 NEXT I 1205 OX$(4)="6":OX$(6)="5":OX$(8)="4":OX$(10)="3" 1210 OX$(12)="2":OX$(14)="1":OX$(16)="0" 1215 OX$(15)=" " 1220 OX$(18)="1":OX$(20)="2":OX$(22)="3":OX$(24)="4" 1225 OX$(26)="5":OX$(28)="6" 1230 LET DM=-6:LET HM=6 :REM MEZE SOURADNIC 1235 LET A=HM-DM+1 :LET B=DM 1245 DIM KX(14),KY(14) :REM TAB.KONVERZI SOURADNIC 1250 LET KX(0)=4 1255 LET KX(1)=4 :REM X=-6 1260 LET KX(2)=6 :REM X=-5 1265 LET KX(3)=8 :REM X=-4 1270 LET KX(4)=10 :REM X=-3 1275 LET KX(5)=12 :REM X=-2 1280 LET KX(6)=14 :REM X=-1 1285 LET KX(7)=16 :REM X=0 1290 LET KX(8)=18 :REM X=1 1295 LET KX(9)=20 :REM X=2 1300 LET KX(10)=22 :REM X=3 1305 LET KX(11)=24 :REM X=4 1310 LET KX(12)=26 :REM X=5 1315 LET KX(13)=28 :REM X=6 1320 LET KX(14)=28 1325 LET KY(0)=26 1330 LET KY(1)=26 :REM Y=-6 1335 LET KY(2)=24 :REM Y=-5 1340 LET KY(3)=22 :REM Y=-4 1345 LET KY(4)=20 :REM Y=-3 1350 LET KY(5)=18 :REM Y=-2 1355 LET KY(6)=16 :REM Y=-1 1360 LET KY(7)=14 :REM Y=0 1365 LET KY(8)=12 :REM Y=1 1370 LET KY(9)=10 :REM Y=2 1375 LET KY(10)=8 :REM Y=3 1380 LET KY(11)=6 :REM Y=4 1385 LET KY(12)=4 :REM Y=5 1390 LET KY(13)=2 :REM Y=6 1395 LET KY(14)=2 1400 DIM NZ(3,3),UZ(3,1) 1405 LET NZ(1,1)=10:NZ(1,2)=10:NZ(1,3)=20 1410 LET NZ(2,1)=60:NZ(2,2)=50:NZ(2,3)=30 1415 LET NZ(3,1)=2:NZ(3,2)=4:NZ(3,3)=2 1420 LET UZ(1,1)=5 1425 LET UZ(2,1)=80 1430 LET UZ(3,1)=1 1435 WAIT(30) 1440 RETURN 1990 REM 1995 REM *** ZAKLADNI RASTR *** 1996 REM 2000 REM 2005 PRINT"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" 2010 FOR I=1 TO 28 2015 PRINT"\MMMMMMMMMMMMMMMMMMMMMMMMMMMMM\" 2020 NEXT I 2025 PRINT"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" 2030 RETURN 2990 REM 2995 REM **POPIS CINNOSTI PROGRAMU** 2996 REM 3000 CLS 3001 GOSUB 2000 3530 PRINT&2,10"POKYNY" 3535 PRINT&3,10"------" 3565 PRINT&5,2"Zpusob zadavani bodu:" 3570 PRINT& 6,2"N...nahodne generovani" 3575 PRINT& 7,2"D...cteni ze souboru DATA" 3580 PRINT& 8,2"K...cteni z klavesnice" 3585 PRINT&13,2"Dalsi pokyny:" 3586 PRINT&14,2"P...mene pokusu nez 5" 3590 PRINT&15,2"C...mene vektoru nez 10" 3591 REM NEBO VICE (max. = 15) 3595 PRINT&17,2"V...prubezne vysledky" 3600 PRINT&18,2"E...ukonci program" 3605 PRINT&20,2"Jinym cernym tlacitkem" 3610 PRINT&21,2"se program pousti dale!" 3620 PRINT&23,2"Pokud nebude zadan pokyn" 3625 PRINT&24,2"D nebo K, budou body" 3630 PRINT&25,2"generovany nahodne." 3641 GOSUB 3700 3642 RETURN 3645 REM 3650 REM ***CTENI POKYNU*** 3655 REM 3700 PRINT&30,0"ZADEJ POKYN";SPC(19) 3705 LET P$=INKEY$ 3710 IF P$="" THEN 3705 :REM POKYN DOSUD NEZADAN 3715 IF P$="N" THEN 3800 :REM NAHODNE GENEROVANI 3720 IF P$="D" THEN 3850 :REM BODY ZE SOUBORU DATA 3725 IF P$="K" THEN 3900 :REM BODY Z KLAVESNICE 3726 IF P$="P" THEN 3870 3730 IF P$="C" THEN 3930 :REM JINY POCET VEKTORU 3735 IF P$="V" THEN 3960 :REM VYSLEDKY 3740 IF P$="E" THEN 3985 :REM UKONCENI PROGRAMU 3745 PRINT&30,0;SPC(30):IF ZP=0THENZP=1 3750 RETURN 3775 REM 3776 REM ***NAHODNE GENEROVANI*** 3777 REM 3800 LET ZP=1 3805 PRINT&30,0"NAHODNE GENEROVANI BODU";SPC(6) 3810 WAIT(30) 3815 GOTO 3700 3849 REM ***BODY ZE SOUBORU DATA*** 3850 LET ZP=2 3855 PRINT&30,0"BODY ZE SOUBORU DATA";SPC(10) 3860 WAIT(30) 3865 GOTO 3700 3869 REM *JINY POCET POKUSU* 3870 PRINT&30,0;SPC(30) 3871 Q$="" 3872 PRINT&30,0 3873 INPUT "ZADEJ POCET POKUSU";Q$ 3874 IF LEN(Q$)=0 THEN 3870 3875 IF LEN(Q$)>1 THEN Q$=LEFT$(Q$,1) 3876 IF Q$<"0" OR Q$>"9" THEN 3882 3877 S=VAL(Q$) 3878 IF S>O AND S<6 THEN 3700 3879 PRINT&30,0"MAX. JE 5 POKUSU!";SPC(13) 3880 WAIT(30) 3881 GOTO 3870 3882 PRINT&30,0"NUTNO ZADAT CISLO!";SPC(12) 3883 GOTO 3870 3899 REM ***BODY Z KLAVESNICE*** 3900 LET ZP=3 3905 PRINT&30,0"ZADAVANI BODU Z KLAVESNICE";SPC(4) 3910 WAIT(30) 3915 GOTO 3700 3929 REM *** JINY POCET VEKTORU*** 3930 PRINT&30,0;SPC(30) 3935 PRINT&30,0 3936 LET S$="" 3937 INPUT "ZADEJ POCET VEKTORU";S$ 3938 IF LEN(S$)=0 THEN 3930 3939 IF LEN(S$)>2 THEN LET S$=LEFT$(S$,2) 3940 IF LEFT$(S$,1)<"0" OR LEFT$(S$,1)="9" THEN 3945 3941 IF RIGHT$(S$,1)<"0" OR RIGHT$(S$,1)>"9" THEN 3945 3942 LET C=VAL(S$) 3943 IF C>0 AND C<16 THEN 3700 3944 PRINT&30,0CHR$(19)"MAX. JE 15 VEKTORU!";CHR$(18);SPC(11) 3945 WAIT(30) 3946 GOTO 3935 3947 PRINT&30,0"NUTNO ZADAT CISLO";SPC(13) 3948 WAIT(30) 3949 GOTO 3935 3955 REM ***VYSLEDKY*** 3960 PRINT&30,0"VYSLEDKY ZATIM ZADNE NEJSOU!";SPC(2) 3961 WAIT(30) 3965 GOTO 3700 3980 REM ***UKONCENI PROGRAMU*** 3985 PRINT&30,0"PROGRAM UKONCEN";SPC(15) 3986 WAIT(30) 3987 POKE 20,2 3988 POKE 19,30 3989 CLS 3990 END 3997 REM 3998 REM ***NAKRESLENI OS*** 3999 REM 4000 CLS 4005 FOR I=3 TO 25 STEP 2 4010 PRINT&I,16;CHR$(15);"T" 4015 NEXT I 4020 FOR I=2 TO 14 STEP 2 4025 PRINT&I,16;CI$(I/2) 4030 NEXT I 4035 FOR I=16 TO 26 STEP 2 4040 PRINT&I,15;CI$(I/2) 4045 NEXT I 4050 PRINT&0,16"y" 4055 PRINT&14,0" -6-5-4-3-2-1 0+1+2+3+4+5+6 x" 4060 RETURN 4990 REM 4995 REM **GENEROVANI NAHODNYCH SOURADNIC** 4996 REM 5000 LET PS=PS+1 5005 LET XA=INT(A*RND(0))+B 5010 LET YA=INT(A*RND(0))+B 5015 LET XB=INT(A*RND(0))+B 5020 LET YB=INT(A*RND(0))+B 5021 IF XA=XB AND YA=YB THEN 5015 5025 RETURN 5090 REM 5096 REM **CTENI SOURADNIC ZE SOUBORU DATA** 5097 REM 5100 LET PS=PS+1 5105 READ XA,YA,XB,YB 5110 RETURN 5115 REM ** SOUBOR DATA ** 5120 DATA 1,1,4,3,-2,-3,1,-2 5121 DATA -6,3,2,5,2,-2,4,4 5122 DATA -3,0,-2,1,4,3,6,6 5123 DATA -6,6,6,-6,-3,1,3,5 5124 DATA 2,-5,4,-1,-2,-2,0,0 5125 DATA -4,-3,4,6,-6,-6,0,6 5126 DATA -1,1,-3,4,2,1,5,4 5127 DATA 4,1,5,5 5190 REM 5195 REM ***ZADAVANI BODU Z KLAVESNICE*** 5196 REM 5200 PRINT&30,0;SPC(31); 5205 PRINT&30,0 5206 IF U=0 THEN 5210 5207 PRINTCHR$(19);" URCI SOUR. X BODU A :";CHR$(18);:GOSUB15000:XA$=V$ 5208 GOTO 5211 5210 PRINTCHR$(19);" ZADEJ SOUR. X BODU A :";CHR$(18);:GOSUB15000:XA$=V$ 5211 LET N$="" 5212 LET N$=XA$ 5213 LET KOL=1 5215 IF LEN(N$)=0 THEN 5375 5220 IF LEN(N$)>2 THEN LET N$=LEFT$(N$,2) 5230 IF LEN(N$)=2 THEN 5260 5235 IF N$<"0" OR N$>"9" THEN 5415 5240 IF KOL<>1 THEN 5280 5245 LET XA=VAL(N$) 5246 IF U=1 THEN 5251 5250 IF XA>HM OR XA"9" THEN 5415 5270 IF RIGHT$(N$,1)<"0" OR RIGHT$(N$,1)>"9" THEN 5415 5275 IF KOL=1 THEN 5245 5280 IF KOL<>2 THEN 5325 5285 LET YA=VAL(N$) 5286 IF U=1 THEN 5295 5290 IF YA>HM OR YA3 THEN 5359 5330 LET XB=VAL(N$) 5331 IF U=1 THEN 5340 5335 IF XB>HM OR XBHM OR YB"E" THEN 5435 5420 PRINT&30,0;SPC(30) 5425 PRINT&30,0"PROGRAM UKONCEN POKYNEM E!";SPC(6) 5430 GOTO 5390 5435 IF N$<>"V" THEN 5455 5440 GOSUB 11000 5445 V=1 5450 GOTO 5371 5455 PRINT&30,0;SPC(30) 5456 PRINT&30,0"ZADANA SOURADNICE NENI CISLO!!" 5460 WAIT(30) 5465 SOU=SOU+1 5470 IF SOU<5 THEN 5410 5475 PRINT&30,0"5 CHYB PRI ZADAVANI SOUR-KONEC" 5476 WAIT(30) 5480 GOTO 5391 5485 PRINT&30,0;SPC(30) 5490 PRINT&30,0"SOURAD. MIMO INTERVAL <-6,6>!!" 5491 WAIT(30) 5495 SOU=SOU+1 5500 IF SOU<5 THEN 5410 5505 GOTO 5475 5535 PRINT&30,0"ZADAL JSI OBA BODY STEJNE1";SPC(4) 5540 WAIT(30) 5550 SOU=SOU+1 5560 IF SOU<5 THEN 5295 5565 GOTO 5475 5990 REM 5995 REM **KRESLENI BODU A,B** 5996 REM 6000 LET POM=A(1,PS) 6005 LET QOM=A(2,PS) 6010 LET I=KY(QOM+7) 6015 LET J=KX(POM+7) 6020 IF POM=-1 AND QOM<0 THEN 6045 6025 IF QOM=0 AND POM<>-1 THEN 6065 6030 PRINT&I,J"@" 6035 GOTO 6085 6040 REM *OSA y POSKOZENA BODEM A* 6045 LET QOM$=STR$(QOM) 6050 PRINT&I,J"@";QOM$ 6055 GOTO 6085 6060 REM *OSA x POSKOZENA BODEM A* 6065 PRINT&I,J"@" 6070 FOR K=J+1 TO 28 6075 PRINT&I,K;OX$(K) 6080 NEXT K 6085 PRINT&I-1,J-1"A" 6086 IF J-1<>15 THEN 6090 6087 IF I-1=1 THEN 6090 6088 PRINT&I-1,16"T" 6090 LET POM=B(1,PS) 6095 LET QOM=B(2,PS) 6100 LET L=KY(QOM+7) 6105 LET M=KX(POM+7) 6110 IF POM=-1 AND QOM<0 THEN 6135 6115 IF QOM=0 AND POM<>-1 THEN 6155 6120 PRINT&L,M"@" 6125 GOTO 6215 6130 REM OSA y POSKOZENA BODEM B* 6135 LET QOM$=STR$(QOM) 6140 PRINT&L,M"@";QOM$ 6145 GOTO 6215 6150 REM *OSA x POSKOZENA BODEM B* 6155 PRINT&L,M"@" 6160 IF I=L AND J>M THEN 6185 6165 FOR K=M+1 TO 28 6170 PRINT&L,K;OX$(K) 6175 NEXT K 6180 GOTO 6215 6185 FOR K=M+1 TO J-1 6190 PRINT&L,K;OX$(K) 6195 NEXT K 6200 PRINT&I,J"@" 6205 FOR K=J+1 TO 28 6210 PRINT&L,K;OX$(K) 6215 PRINT& L-1,M-1"B" 6216 IF M-1<>15 THEN 6220 6217 IF L-1=1 THEN 6220 6218 PRINT&L-1,16"T" 6220 RETURN 6990 REM 6995 REM ***USPESNA ZNELKA*** 6996 REM 7000 N=1 7005 POKE 23,UZ(1,N) 7010 POKE 24,UZ(2,N) 7015 CALL HEX(F973) 7020 RETURN 7090 REM 7095 REM ***NEUSPESNA ZNELKA*** 7096 REM 7100 N=3 7105 POKE 23,NZ(1,N) 7110 POKE 24,NZ(2,N) 7115 CALL HEX(F973) 7120 WAIT(NZ(3,N)) 7125 RETURN 7990 REM 7995 REM *VYPOCET SOURADNIC VEKTORU* 7996 REM 8000 UX=B(1,PS)-A(1,PS) 8005 UY=B(2,PS)-A(2,PS) 8010 UX$=STR$(UX) 8015 UY$=STR$(UY) 8020 Z1$="AB=(" 8025 Z2$=";" 8030 Z3$=")" 8035 ZV$=Z1$+UX$+Z2$+UY$+Z3$ 8040 RETURN 8990 REM 8995 REM ***NAKRESLENI POMOCNYCH CAR*** 8996 REM 9000 IF I=14 OR J=16 THEN 9460 9005 IF L=14 OR M=16 THEN Q2=1 9010 IF I=L THEN 9215 9015 IF J=M THEN 9165 9016 KOL=1 9017 O=I 9018 P=J 9019 IF Q=1 THEN 9070 9020 IF O>14 THEN 9045 9025 FOR K=O+1 TO 13 9030 PRINT&K,P"." 9035 NEXT K 9040 GOTO 9070 9045 FOR K=15 TO O-1 9050 PRINT&K,P"." 9055 NEXT K 9065 IF Q1=1 THEN 9136 9070 IF P=14 AND O>14 THEN 9136 9075 IF P>14 THEN 9120 9080 FOR K=P+1 TO 15 9085 PRINT&O,K"." 9090 NEXT K 9095 IF O>14 THEN 9110 9100 PRINT&O,16;CI$(O/2) 9105 GOTO 9136 9110 PRINT&O,15;CI$(O/2) 9115 GOTO 9136 9120 FOR K=17 TO P-1 9125 PRINT&O,K"." 9130 NEXT K 9135 PRINT&O,P"@" 9136 IF Q2=1 THEN 9470 9140 IF KOL=2 THEN 9470 9145 KOL=2 9150 O=L 9155 P=M 9160 GOTO 9019 9165 IF I<14 AND L>14 THEN 9016 9170 IF I>14 AND L<14 THEN 9016 9175 IF I<14 AND I14 THEN 9198 9177 N=L 9178 V=I 9179 GOTO 9182 9180 N=I 9181 V=L 9182 FOR K=N+1 TO V-1 9185 PRINT&K,J"." 9190 NEXT K 9194 FOR K=V+1 TO 13 9195 PRINT&K,J"." 9196 NEXT K 9197 GOTO 9210 9198 IF I>L THEN 9202 9199 N=L 9200 V=I 9201 GOTO 9204 9202 N=I 9203 V=L 9204 FOR K=15 TO N-1 9205 PRINT&K,J"." 9206 NEXT K 9207 FOR K=N+1 TO V-1 9208 PRINT&K,J"." 9209 NEXT K 9210 Q=1 9211 GOTO 9016 9215 IF J>16 AND M<16 THEN 9225 9220 IF J<16 AND M>16 THEN 9016 9225 FOR K=M+1 TO 15 9230 PRINT&L,K"." 9235 NEXT K 9240 IF L>14 THEN 9255 9245 PRINT&L,16;CI$(L/2) 9250 GOTO 9260 9255 PRINT&I,15;CI$(L/2) 9260 FOR K=17 TO J-1 9265 PRINT&I,K"." 9270 NEXT K 9275 PRINT&I,J"@" 9280 Q1=1 9285 GOTO 9016 9290 IF J<16 AND J16 THEN 9385 9300 N=M 9305 V=J 9310 GOTO 9325 9315 N=J 9320 V=M 9325 FOR K=N+1 TO V-1 9330 PRINT&I,K"." 9335 NEXT K 9340 PRINT&I,N"@" 9345 FOR K=N+1 TO 15 9350 PRINT&I,K"." 9355 NEXT K 9360 IF I>14 THEN 9375 9365 PRINT&I,16;CI$(I/2) 9370 GOTO 9280 9375 PRINT&I,15;CI$(I/2) 9380 GOTO 9280 9385 IF J>M THEN 9405 9390 N=J 9395 V=M 9400 GOTO 9415 9405 N=M 9410 V=J 9415 FOR K=17 TO N-1 9420 PRINT&I,K"." 9425 NEXT K 9430 PRINT&I,N"@" 9435 FOR K=N+1 TO V-1 9440 PRINT&I,K"." 9445 NEXT K 9450 PRINT&I,V"@" 9455 GOTO 9280 9460 IF L=14 OR M=16 THEN 9490 9465 GOTO 9145 9470 IF J-1<>M+1 THEN 9490 9475 PRINT&I-1,J-1"A" 9480 IF M-1<>J+1 THEN 9490 9485 PRINT&L-1,M-1"B" 9490 RETURN 9995 REM *URCOVANI SOURADNIC VEKTORU* 9996 REM 10000 SOU=0 :V=0 10003 PRINT&30,0;SPC(30) 10005 PRINT&30,0 10010 PRINTCHR$(19);" URCI SOUR. X VEKTORU AB :";CHR$(18);:GOSUB15000:XZ$=V$ 10015 N$="" 10017 KOL=1 10020 N$=XZ$ 10025 IF LEN(N$)=0 THEN 10230 10026 Q=0 :Q1=0 10030 IF LEN(N$)>3 THEN N$=LEFT$(N$,3) 10035 IF LEN(N$)=3 THEN 10080 10040 IF LEN(N$)=2 THEN 10080 10045 IF N$<"0" OR N$>"9" THEN 10150 10050 IF KOL<>1 THEN 10240 10055 XZ=VAL(N$) 10056 PRINT&30,0;SPC(30) 10057 PRINT&30,0 10058 PRINTCHR$(19);" URCI SOUR. Y VEKTORU AB :";CHR$(18);:GOSUB15000:YZ$=V$ 10060 KOL=2 10065 N$="" 10070 N$=YZ$ 10075 GOTO 10025 10080 IF LEFT$(N$,1)="-" OR LEFT$(N$,1)="+" THEN 10100 10085 Q=1 10090 IF LEFT$(N$,1)=" " THEN 10100 10095 IF LEFT$(N$,1)<"0" OR LEFT$(N$,1)>"9" THEN 10150 10100 IF RIGHT$(N$,1)<"0" OR RIGHT$(N$,1)>"9" THEN 10150 10105 IF LEN(N$)=2 THEN 10050 10110 IF Q=0 THEN 10135 10115 IF MID$(N$,2,1)="-" THEN 10135 10120 IF MID$(N$,2,1)="+" THEN 10135 10121 Q1=1 10125 IF MID$(N$,2,1)=" " THEN 10135 10130 IF MID$(N$,2,1)="0" OR MID$(N$,2,1)>"9" THEN 10150 10135 IF Q=0 AND Q1=1 THEN 10150 10140 IF Q=0 AND MID$(N$,2,1)=" " THEN 10150 10145 GOTO 10050 10150 PRINT&30,0;SPC(30) 10151 IF N$="E" THEN 10250 10152 IF N$<>"V" THEN 10155 10153 GOSUB 11000 10154 V=1 :GOTO 10245 10155 PRINT&30,0"ZADANA SOURADNICE NENI CISLO!!" 10156 WAIT(30) 10160 SOU=SOU+1 10165 IF SOU>5 THEN 10180 10170 ON KOL GOTO 10003,10056 10175 PRINT&30,0;SPC(30) 10180 PRINT&30,0"5x JSI NEZADAL SOUR JAKO CISLO!" 10185 WAIT(30) 10190 PRINT&30,0;SPC(30) 10195 PRINT&30,0"PROGRAM UKONCEN!!!" 10200 GOTO 10255 10230 PRINT&30,0"NEZADAL JSI SOURADNICI!!";SPC(7) 10235 GOTO 10156 10240 YZ=VAL(N$) 10245 RETURN 10250 PRINT&30,0"PROGRAM UKONCEN POKYNEM E!";SPC(4) 10255 WAIT(50) 10260 GOSUB 11000 10261 CLS 10265 POKE 20,2 10270 POKE 19,30 10275 END 10990 REM 10995 REM ***VYSLEDKY*** 10996 REM 11000 CLS 11005 Q=0 :Q1=0 :POM=1 :MI=0 11010 FOR K=1 TO PS 11011 IF V(1,K)=0 THEN 11022 11015 Q=Q+V(1,K) 11016 IF V(2,K)=0 THEN 11022 11020 Q1=Q1+V(2,K) 11021 GOTO 11025 11022 MI=MI+1 11025 NEXT K 11030 PRINT&1,9" V Y S L E D K Y " 11035 PRINT&3,0"Vysledky jsou uvedeny v nasle-" 11040 PRINT&4,0"dujici tabulce takto:" 11045 PRINT&5,0"-1.radek-cislo vektoru" 11050 PRINT&6,0"-2.radek - pocet pokusu na" 11055 PRINT&7,0"spravne urceni souradnic" 11060 PRINT&8,0"-3.radek-pocet pokusu na" 11065 PRINT&9,0"spravny zapis sour. do vzorce" 11069 PRINT&8,0"-3.radek-pocet pokusu na" 11070 PRINT&10,0"POZOR-6 ZNAMENA VYCERPANI POK." 11080 FOR K=13 TO 17 STEP 2 11090 PRINT&K,0"-----------------------------" 11100 NEXT K 11110 FOR K=20 TO 24 STEP 2 11115 PRINT&K,0"--------------------" 11120 NEXT K 11125 IF PS=0 THEN 11195 11130 IF PS>9 THEN 11169 11135 S=(PS*3)-1 11140 FOR K=2 TO S STEP 3 11145 PRINT&12,K;POM 11150 PRINT&14,K;V(1,POM) 11155 PRINT&16,K;V(2,POM) 11156 POM=POM+1 11160 NEXT K 11165 GOTO 11210 11170 FOR K=2 TO 26 STEP 3 11171 PRINT&12,K;POM 11172 PRINT&14,K;V(1,POM) 11173 PRINT&16,K;V(2,POM) 11174 POM=POM+1 11175 NEXT K 11176 FOR K=1 TO 16 STEP 3 11177 PRINT&19,K;POM 11178 IF POM=PS THEN 11181 11179 POM=POM+1 11180 NEXT K 11181 POM=10 11182 FOR K=2 TO 17 STEP 3 11183 PRINT&21,K;V(1,POM) 11184 PRINT&23,K;V(2,POM) 11185 IF POM=PS THEN 11210 11186 POM=POM+1 11187 NEXT K 11195 PRINT&12,5"JESTE NEBYL VYPOCTEN" 11200 PRINT&14,10"ZADNY VEKTOR!!!" 11210 MI=PS-MI 11212 IF MI=0 THEN 11217 11213 A=Q/MI 11215 B=Q1/MI 11216 GOTO 11220 11217 B=0 :A=0 11220 PRINT&26,0"Prumerny pocet pokusu na:" 11225 PRINT&27,0"-urceni sour. vektoru=";CHR$(19);A 11230 PRINT&28,0"-zapis sour. do vzorce";CHR$(19);B 11235 WAIT(30) 11240 PRINT&29,0"Az budes chtit pokracovat," 11245 PRINT&30,0"stiskni lib. cernou klavesu" 11250 IF INKEY$="" THEN 11250 11255 RETURN 11990 REM 11995 REM ***NAPOVEDA*** 11996 REM 12000 PRINT&1,3" NAPOVEDA " 12001 PRINT&30,0;SPC(30) 12002 PX=0 :PY=0 12005 IF QOM=2 THEN 12200 12015 PRINT&27,0" Ux=Xb-Xa " 12021 WAIT(100) 12025 IF J=M THEN 12175 12030 IF J>M THEN 12160 12031 IF L=14 THEN PX=1 12032 N=J :V=M 12035 FOR K=N+1 TO V-1 12040 PRINT&14,K"\" 12045 NEXT K 12050 IF PX=0 THEN 12080 12055 PRINT&14,V"@" 12060 FOR K=V+1 TO 28 12065 PRINT&14,K;OX$(K) 12070 NEXT K 12075 GOTO 12095 12080 FOR K=V TO 28 12085 PRINT&14,K;OX$(K) 12090 NEXT K 12095 WAIT(100) 12096 IF PX=1 THEN 12120 12100 FOR K=N+1 TO 28 12105 PRINT&14,K;OX$(K) 12110 NEXT K 12115 GOTO 12175 12120 FOR K=N+1 TO V-1 12125 PRINT&14,K;OX$(K) 12130 NEXT K 12135 PRINT&14,V"@" 12140 FOR K=V+1 TO 28 12145 PRINT&14,K;OX$(K) 12150 NEXT K 12155 GOTO 12175 12160 IF I=14 THEN PX=1 12165 N=M :V=J 12170 GOTO 12035 12175 FOR K=27 TO 30 12180 PRINT&K,0;SPC(30) 12181 NEXT K 12185 IF QOM=1 THEN 12430 12210 PRINT&27,0" Uy=Yb-Ya " 12220 WAIT(100) 12225 IF I=L THEN 12415 12230 IF I>L THEN 12405 12235 N=I :V=L 12240 FOR K=N+1 TO V-1 12245 PRINT&K,16"\" 12250 NEXT K 12251 IF N<=14 AND V<=14 THEN 12280 12255 IF N>=14 AND V>=14 THEN 12276 12256 FOR K=16 TO V-2 STEP 2 12257 PRINT&K,15" \" 12258 NEXT K 12265 FOR K=17 TO 28 12270 PRINT&14,K;OX$(K) 12271 NEXT K 12272 GOTO 12280 12276 FOR K=N+2 TO V-2 STEP 2 12277 PRINT&K,15" \" 12278 NEXT K 12280 WAIT(100) 12285 FOR K=N+1 TO V-1 STEP 2 12290 PRINT&K,16;CHR$(15);"T" 12295 NEXT K 12300 IF N>14 THEN 12380 12305 IF V>14 THEN 12330 12310 FOR K=N+2 TO V-2 STEP 2 12315 PRINT&K,16;CI$(K/2) 12320 NEXT K 12325 GOTO 12415 12330 FOR K=N+2 TO 14 STEP 2 12335 PRINT&K,16;CI$(K/2) 12340 NEXT K 12345 FOR K=16 TO V-2 STEP 2 12350 PRINT&K,15;CI$(K/2) 12355 NEXT K 12360 FOR K=17 TO 28 12365 PRINT&14,K;OX$(K) 12370 NEXT K 12375 GOTO 12415 12380 FOR K=N+2 TO V-2 STEP 2 12385 PRINT&K,15;CI$(K/2) 12390 NEXT K 12400 GOTO 12415 12405 N=L :V=I 12410 GOTO 12240 12415 FOR K=27 TO 30 12420 PRINT&K,0;SPC(30) 12425 NEXT K 12430 PRINT&1,0;SPC(14) 12435 RETURN 15000 REM INPUT 15005 PRINT&30,27; 15010 INPUT YV 15025 IF ABS(YV)>6THEN15005 15030 V$=STR$(YV) 15032 PRINT&30,27" " 15035 RETURN