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
10 DEG 20 GRAPHICS 8 30 COLOR 1 40 SETCOLOR 2,0,0 50 A=200 60 B=80 70 R=80 80 A1=100 90 B1=80 100 R1=75 110 PLOT 20,80:DRAWTO 300,80 120 FOR ALFA=0 TO 45 130 X1=INT(R1*COS(ALFA)+0.5) 140 Y1=INT(R1*SIN(ALFA)+0.5) 150 PLOT A-X1,B-Y1 160 PLOT A-X1,B-Y1 170 PLOT A-X1,B+Y1 180 PLOT A-Y1,B-X1 190 PLOT A-Y1,B+X1 200 X1=INT(R*COS(ALFA)+0.5) 210 Y1=INT(R*SIN(ALFA)+0.5) 220 PLOT A1+X1,B1-Y1 230 PLOT A1+X1,B1+Y1 240 PLOT A1+Y1,B1-X1 250 PLOT A1+Y1,B1+X1 260 NEXT ALFA 270 PLOT 140,40:DRAWTO 140,156 280 PLOT 165,40:DRAWTO 165,156 290 PLOT 20,60:DRAWTO 165,60:DRAWTO 300,85 300 PLOT 40,75:DRAWTO 40,156 310 PLOT 275,75:DRAWTO 275,156 320 ? " F H H' F'" 330 ? "" 340 FOR T=0 TO 2000:NEXT T 350 GRAPHICS 0 360 DIM R$(5) 370 I=0:F=0:P=0 380 ? "" 390 ?:? "" 400 ? "" 410 ? "" 420 ? "" 430 ?:?:? "K vypoctu cocky je treba zadat index" 440 ?:? "lomu ,oba polomery krivosti r1,r2" 450 ?:? "(v souladu se znamenkovou konvenci)" 460 ?:? "a tloustku -d- projektovane cocky;" 470 ?:? "" 480 ?:? "predpoklada se n=n'=1 (tzn.,ze cocka" 490 ? "je obklopena z obou stran vzduchem)":? 500 FOR T=0 TO 4000:NEXT T 510 ? "" 520 R1=0:R2=0:D=0:P=0:F=0 530 ?:? "-zadej index lomu skla cocky "; 540 INPUT N 550 IF N>2 OR N<=1 THEN 960 560 ?:? "Zadej polomery krivosti:" 570 ?:? "r1= "; 580 INPUT R1 590 ?:? "r2= "; 600 INPUT R2 610 ?:? "Zadej tloustku cocky " 620 ?:? "d= ";:INPUT D 630 IF R1>0 AND R2>0 THEN 870 640 IF R1<0 AND R2<0 THEN 870 650 F=(N*R1*R2)/((N-1)*(N*(R2-R1)+(N-1)*D)) 660 F=INT(F*10000)/10000 670 M=1/(F/1000):M=INT(M*100)/100 680 H=((R1-R2-D)*(N-1)*D)/(N*(R1-R2)-(N-1)*D) 690 SH1=R2*D/(N*(R1-R2)-(N-1)*D) 700 SH1=INT(SH1*10000)/10000 710 SH2=R1*D/(N*(R1-R2)-(N-1)*D) 720 SH2=INT(SH2*10000)/10000 730 H=INT(H*10000)/10000 740 IF F<0 THEN 860 750 IF F>0 THEN 970 760 ?:? "" 770 ?:? "Ohniskova vzdalenost/lamavost" 780 ?:? "f'= ";F;" mm / ";M;" dioptrii;" 790 ?:? "vzdalenost predmetove hl.r.od vrcholu " 800 ? "sH = ";SH2;" mm" 810 ?:? "vzdalenost obrazove hl.rov.od vrcholu " 820 ? "s'H'= ";SH1;" mm" 830 ?:? "vzdalenost obou hlavnich rovin od sebe " 840 ? "i = ";H;" mm" 850 FOR T=0 TO 5000:NEXT T:GOTO 1030 860 ?:? "pocitana cocka je ;":GOTO 760 870 ?:? "pocitana cocka je ;":GOTO 650 880 GOTO 1030 890 ?:? "Chces ve vypoctech pokracovat "; 900 INPUT R$ 910 IF R$="ANO" THEN 510 920 ? "":?:? "Dekuji za pozornost -" 930 ?:? "- Tvuj je k optickym vypoctum" 940 ?:? " VZDY PRIPRAVEN !" 950 END 960 ?:? "Zadal jsi spatne index lomu !":GOTO 530 970 Q=ABS(R1) 980 X=ABS(D*(D/2-R2)/(D-R2+R1)) 990 P=SQR(8*Q*X-4*X^2):P=INT(P*10)/10 1000 ?:? "Pocitana cocka je ;pro zadane" 1010 ?:? "rozmery muze mit max.prumer ";P;" mm;" 1020 GOTO 760 1030 IF ABS(R1)<=40 OR ABS(R2)<=40 THEN GOTO 1680 1040 REM 1050 GRAPHICS 7:COLOR 3:SETCOLOR 2,8,4 1060 IF R1<0 THEN R2=-R2 1070 IF R1<0 THEN D=-D 1080 FOR Z=5 TO 155 1090 POSITION Z,40:? #6;"A" 1100 NEXT Z 1110 IF F>0 AND P<=80 THEN 1130 1120 IF F<0 OR P>80 THEN GOTO 1140 1130 FOR Y=-INT(P/2) TO INT(P/2):GOTO 1150 1140 FOR Y=-38 TO 38 1150 X1=-SQR(R1^2-Y^2) 1160 R3=ABS(R1) 1170 U=80+R3-D/2 1180 POSITION X1+U,Y+40:? #6;"B" 1190 NEXT Y 1200 IF F>0 AND P<=80 THEN 1340 1210 IF F<0 OR P>80 THEN GOTO 1220 1220 FOR X4=INT(-SQR(R1^2-1600)+80+ABS(R1)-D/2) TO INT(80-SQR(R2^2-1600)+D/2+R2) 1230 IF R2<0 THEN 1250 1240 GOTO 1260 1250 FOR X4=INT(-SQR(R1^2-1600)+80+ABS(R1)-D/2) TO INT(80+SQR(R2^2-1600)+D/2+R2) 1260 POSITION X4,2:? #6;"B":NEXT X4 1270 FOR X4=INT(-SQR(R1^2-1600)+80+ABS(R1)-D/2) TO INT(80-SQR(R2^2-1600)+D/2+R2) 1280 IF R2<0 THEN 1300 1290 GOTO 1310 1300 FOR X4=INT(-SQR(R1^2-1600)+80+ABS(R1)-D/2) TO INT(80+SQR(R2^2-1600)+D/2+R2) 1310 POSITION X4,78:? #6;"B":NEXT X4 1320 FOR Y=-38 TO 38 1330 GOTO 1350 1340 FOR Y=-INT(P/2) TO INT(P/2) 1350 X2=-SQR(R2^2-Y^2) 1360 IF R2<0 THEN 1380 1370 IF R2>0 THEN 1390 1380 X2=-X2 1390 POSITION X2+R2+80+D/2,Y+40:? #6;"B" 1400 NEXT Y 1410 FOR Y=10 TO 70 1420 POSITION 80-D/2+SH2,Y:? #6;"A" 1430 POSITION 80+D/2+SH1,Y:? #6;"A" 1440 NEXT Y 1450 IF P<30 AND F>0 THEN GOTO 1510 1460 IF F<0 THEN 1570 1470 FOR X=5 TO (80+D/2+SH1) 1480 POSITION X,25:? #6;"C" 1490 NEXT X 1500 DRAWTO 155,45 1510 FOR Y=35 TO 75 1520 POSITION 138,Y:? #6;"A":POSITION 22,Y:? #6;"A" 1530 NEXT Y 1540 ? " F F'" 1550 ? "predmetovy <- prostor +> obrazovy" 1560 ? "":GOTO 1640 1570 FOR X=5 TO (80+D/2+SH1) 1580 POSITION X,25:? #6;"C":NEXT X 1590 DRAWTO 155,5 1600 FOR Y=35 TO 75 1610 POSITION 38,Y:? #6;"A":NEXT Y 1620 ? " (F)" 1630 ? "" 1640 IF R1<0 THEN 1700 1650 FOR T=0 TO 1000:NEXT T 1660 GRAPHICS 0 1670 GOTO 1710 1680 ? "":?:? "Bohuzel cocku nemohu pri svych gra-" 1690 ?:? "fickych moznostech nakreslit -":?:?:?:GOTO 890 1700 ? "Cocka je znazornena v obracene poloze":GOTO 1650 1710 ? "Chces tutez cocku prepocitat pro":? "jine sklo "; 1720 INPUT R$ 1730 IF R$="ANO" THEN 1750 1740 IF R$="NE" THEN 1760 1750 ?:? "Zadej novy index lomu = ";:INPUT N:GOTO 1830 1760 ? "Chces cocku prepocitat na jinou tloustku ?":INPUT R$ 1770 IF R$="ANO" THEN 610 1780 IF R$="NE" THEN 1790 1790 ? "Chces cocku prepocitat pro jiny tvar?" 1800 INPUT R$ 1810 IF R$="ANO" THEN 560 1820 IF R$="NE" THEN 890 1830 IF N>2 OR N<=1 THEN 1850 1840 GOTO 630 1850 ?:? "Zadal jsi spatne - znova !":GOTO 1750
References
Listing downloads
Copyright holder