1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-03-01 17:26:38 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

203 lines
5.8 KiB
QBasic
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
50 REM SLITS--COPYRIGHT 1971, STATE UNIVERSITY OF NEW YORK
51 REM LATEST REVISION 8-27-72
100 REM YOUNG'S DOUBLE SLIT EXPERIMENT
101 REM A.C. CAGGIANO
102 REM REVISED 7/28/70 (L. BRAUN, D. PESSEL)
103 REM IMPORTANT VARIABLES: L-DISTANCE BETWEEN SLITS+SCREEN;
104 REM W-WAVELENGTH; D-SLIT SEPARATION(CENTER TO CENTER)
105 REM
106 REM U: PRINT PARAMETER FOR UNKNOWN WAVELENGTH
107 LET U=0
110 PRINT " ", "YOUNG'S DOUBLE SLIT EXPERIMENT"
111 PRINT
120 REM ILLUSTRATIVE RUN
130 LET L=2
140 LET W=6000
150 LET D=.5
160 REM PLOT ROUTINE
170 GOSUB 855
171 PRINT
180 PRINT "ABOVE IS AN ILLUSTRATIVE RUN WITH PRE-DETERMINED"
181 PRINT "VALUES FOR WAVELENGTH (W), DISTANCE BETWEEN SLITS"
182 PRINT "AND SCREEN (L), AND SLIT SEPARATION - CENTER TO"
183 PRINT "CENTER (D). NOW YOU MAY VARY THESE PARAMETERS,"
184 PRINT "ONE AT A TIME."
186 PRINT
187 PRINT "*****"
188 PRINT
190 REM D INPUT SUBROUTINE
200 GOSUB 922
210 REM PLOT ROUTINE
220 GOSUB 855
221 PRINT
230 PRINT "WOULD YOU LIKE TO TRY ANOTHER VALUE OF D (1-YES, 0-NO)";
240 INPUT Q1
250 IF Q1>0 THEN 200
260 PRINT
261 PRINT "*****"
262 PRINT
270 REM RESET D
280 LET D=.5
290 REM W INPUT SUBROUTINE
300 GOSUB 944
310 REM PLOT SUBROUTINE
320 GOSUB 855
321 PRINT
330 PRINT "WOULD YOU LIKE TO TRY ANOTHER VALUE OF W (1-YES, 0-N0)";
340 INPUT Q2
350 IF Q2>0 THEN 300
360 PRINT
361 PRINT "*****"
362 PRINT
370 REM RESET W
380 LET W=6000
390 REM L INPUT SUBROUTINE
400 GOSUB 902
410 REM PLOT SUBROUTINE
420 GOSUB 855
421 PRINT
430 PRINT "WOULD YOU LIKE TO TRY ANOTHER VALUE OF L (1-YES, 0-NO)";
440 INPUT Q3
450 IF Q3>0 THEN 400
460 PRINT
461 PRINT "*****"
462 PRINT
470 REM RESET L
480 LET L=2
490 PRINT "YOU WILL NOW BE GIVEN A LIGHT SOURCE OF UNKNOWN"
491 PRINT "WAVELENGTH. YOU WILL SPECIFY THE SLIT SEPARATION (D),"
492 PRINT "AND THE DISTANCE FROM SLITS TO SCREEN (L)."
507 REM Q5 DETERMINES IF W IS TO BE CHANGED
508 LET Q5=0
520 REM D INPUT SUBROUTINE
530 GOSUB 922
550 REM L INPUT SUBROUTINE
560 GOSUB 902
565 REM CHANGE W?
566 IF Q5>0 THEN 601
570 REM RANDOMLY DETERMINE WAVELENGTH
580 RANDOMIZE
590 LET W=1000*INT(3*RND(X)+4.5)
600 REM PLOT SUBROUTINE (UNKNOWN W)
601 LET U=1
605 GOSUB 855
606 PRINT
610 PRINT "WOULD YOU LIKE A PLOT FOR OTHER VALUES OF D AND L ";
611 PRINT "(1-YES, 0-NO)";
620 INPUT Q5
630 IF Q5>0 THEN 530
640 PRINT "WHAT DO YOU THINK THE UNKNOWN WAVELENGTH (W) IS";
650 INPUT W1
660 IF ABS(W1-W)<.1*W THEN 700
670 PRINT "YOU ARE MORE THEN 10% OFF. TO HELP YOU, YOU MAY ";
680 PRINT "OBTAIN MORE PLOTS."
690 GO TO 610
700 PRINT "PRETTY GOOD! THE WAVELENGTH WAS "W" ANGSTROMS."
701 PRINT "WOULD YOU LIKE TO TRY ANOTHER UNKNOWN WAVELENGTH";
702 PRINT "(1-YES, 0-NO)";
703 INPUT Q6
704 IF Q6<1 THEN 967
705 PRINT "YOU MAY SPECIFY A NEW SLIT SEPARATION (D) AND DISTANCE"
706 PRINT "FROM SLITS TO SCREEN (L)."
707 GO TO 508
849 REM
850 REM PLOT ROUTINE
855 PRINT
856 PRINT
857 REM U>0 DO NOT PRINT WAVELENGTH
858 IF U>0 THEN 870
860 PRINT "L ="L"METERS W ="W"ANGSTROMS D ="D"MILLIMETERS"
861 PRINT
865 GO TO 875
870 PRINT "L ="L"METERS W = ? ANGSTROMS D ="D"MILLIMETERS"
871 PRINT
875 PRINT "DISTANCE (MM'S FROM CENTER)"
880 REM A:PLOT LOWER LIMIT (MM'S); B:UPPER LIMIT (MM'S)
881 LET A=-.26
882 LET B=.26
883 REM R:PRELIMINARY CALC. FOR INTENSITY; 10E4:CONVERSION FACTOR
884 LET R=(3.1416*D*10E4)/(W*L)
885 REM LOOP TO CALCULATE PATTERN AND PLOT IT
886 FOR X=A TO B STEP .02
887 REM Y:INTENSITY
888 REM 20:SCALE FACTOR FOR PLOT; X:DISTANCE (MM'S)
889 LET Y=20*COS(R*X)*COS(R*X)
890 IF ABS(X)<.0001 THEN 893
891 PRINT TAB(8);INT(X*100+.5)/100;TAB(15); "."; TAB(INT(Y+15.5)); "*"
892 GO TO 895
893 PRINT "...............O....INTENSITY......*"
895 NEXT X
896 LET U=0
897 PRINT
898 RETURN
899 REM
900 REM L INPUT SUBROUTINE
902 PRINT "WHAT IS THE NEW DISTANCE FROM SLITS TO SCREEN (L) ";
903 PRINT "IN METERS";
904 INPUT L
905 REM 1000: CONVERT L(METERS) TO L(MILLIMETERS)
906 IF 1000*L>= 10*D THEN 912
907 PRINT "THIS DISTANCE IS TOO SMALL FOR GOOD INTERFERENCE PATTERNS."
908 PRINT "TRY ANOTHER VALUE."
910 GO TO 902
912 IF L<=5 THEN 918
913 PRINT "ALTHOUGH ANY DISTANCE LARGER THAN "10*D/1000" METERS"
914 PRINT "IS VALID, ABOVE 5 METERS BECOMES HARD TO SEE.";
915 PRINT " TRY ANOTHER VALUE."
916 GO TO 902
918 RETURN
919 REM
920 REM D INPUT SUBROUTINE
922 PRINT "WHAT IS THE NEW SLIT SEPARATION (D) IN MILLIMETERS";
924 INPUT D
926 IF D>=.1 THEN 932
928 PRINT "SLITS ARE SO CLOSE THEY APPROXIMATE A SINGLE SLIT."
929 PRINT "TRY ANOTHER VALUE."
930 GO TO 922
932 IF D<=.1*1000*L THEN 940
933 PRINT "FOR A VALID INTERFERENCE PATTERN, THE SLIT SEPARATION"
934 PRINT "SHOULD BE LESS THAN ".1*1000*L" MILLIMETERS. TRY";
935 PRINT " ANOTHER VALUE."
938 GO TO 922
940 RETURN
941 REM
942 REM W INPUT SUBROUTINE
944 PRINT "WHAT IS THE NEW WAVELENGTH (W) IN ANGSTROMS";
946 INPUT W
947 IF W>=3000 THEN 954
948 IF W<1000 THEN 959
949 PRINT "A WAVELENGTH OF "W" IS ULTRAVIOLET LIGHT AND NOT VISIBLE."
950 GO TO 956
954 IF W<=8000 THEN 965
955 PRINT "A WAVELENGTH OF "W" IS INFRARED LIGHT AND NOT VISIBLE."
956 PRINT "THE INTERFERENCE PATTERN WILL BE VISIBLE USING DETECTORS"
957 PRINT "ONLY. TRY ANOTHER WAVELENGTH."
958 GO TO 944
959 PRINT "A WAVELENGTH OF "W" IS X-RAYS AND NOT VISIBLE."
960 GO TO 956
965 RETURN
966 REM
967 PRINT
968 PRINT "*****"
969 PRINT
970 REM MISCELLANEOUS RUNS
972 PRINT "WOULD YOU LIKE A PLOT WITH YOUR OWN VALUES FOR WAVELENGTH"
973 PRINT " (W), SLIT SEPARATION (D), AND DISTANCE FROM SLITS TO"
974 PRINT "SCREEN (L) (1-YES, 0-NO)";
976 INPUT Q9
980 IF Q9<1 THEN 995
982 GOSUB 944
984 GOSUB 922
986 GOSUB 902
988 GOSUB 855
990 PRINT "ANOTHER ONE (1-YES, 0-NO)"
992 INPUT Q8
993 IF Q8>0 THEN 982
994 REM
995 PRINT
996 PRINT "**********"
997 PRINT
998 PRINT "HOPE YOU HAD FUN!"
999 END
`*U*!3[