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

99 lines
2.8 KiB
QBasic

100 REM N(I)=NUMBER OF ELECTRONIC CHARGE UNITS FOR PARTICLE I
105 REM COPYRIGHT 1971 - STATE UNIVERSITY OF NEW YORK
115 REM (NORMALLY DISTRIBUTED WITH MEAN 3 AND DEVIATION 3)
120 REM M(I)=MASS OF PARTICLE I, BASED ON R(I)
125 REM R(I)=RADIUS OF PARTICLE I
130 REM (AVERAGE RADIUS R, 1 PERCENT UNIFORMLY DISTRIBUTED ERROR)
135 REM MODEL DEVELOPED BY A. CAGGIANO AND D. SCARL
140 REM PROGRAMMED BY C. LOSIK, JULY 1971
145 REM LATEST REVISION: 8-25-72
150 REM Q=RND(-1)
155 RANDOMIZE
160 DIM N(4),M(4),R(4)
165 PRINT " ","MILLIKAN OIL DROP EXPERIMENT"
170 PRINT
175 REM V:VOLTAGE, INITIALLY ZERO
180 LET V=0
185 REM H:VISCOSITY COEFFICIENT BETWEEN LATEX SPHERE AND AIR
190 LET H=.000018
195 REM G:ACCELERATION DUE TO GRAVITY
200 LET G=9.8
205 REM Q:COULOMBS PER ELECTRONIC CHARGE UNIT
210 LET Q=1.6E-19
215 REM D:DENSITY OF LATEX SPHERE
220 LET D=1000
225 REM R:AVERAGE RADIUS OF LATEX SPHERE
230 LET R=5.E-07
235 REM D9:PLATE SEPARATION
240 LET D9=.02
245 REM P1:VALUE OF 'PI'
250 LET P1=3.14159
255 REM M:AVERAGE MASS OF LATEX SPHERE
260 LET M=4*P1*R*R*R*D/3
265 REM K1,K2, AND K3 ARE USEFUL CONSTANTS
270 LET K1=Q/D9
275 LET K2=G*D9*M
280 LET K3=6*P1*H
285 LET N0=0
290 PRINT "INSTRUCTIONS (1=YES, 0=NO)";
295 INPUT I
300 IF I=0 THEN 360
305 IF I <> 1 THEN 290
310 PRINT
315 PRINT "INSTRUCTIONS -- AFTER EACH QUESTION MARK,";
320 PRINT " (V= ?), YOU MAY:"
325 PRINT
330 PRINT "TYPE IN VOLTAGE BETWEEN -1000 AND 1000 (IN ORDER TO MAKE"
335 PRINT "THE VELOCITY PRINTED OUT AS CLOSE TO ZERO AS POSSIBLE),"
340 PRINT "REQUEST CALCULATION OF CHARGE FOR STOPPED DROP";
345 PRINT " (TYPE IN 2000),";
350 PRINT "REQUEST NEW BATCH OF DROPS (TYPE IN 3000),"
355 PRINT "OR END THE PROGRAM (TYPE IN 4000)."
360 PRINT
365 PRINT
370 PRINT " ","NO ELECTRIC FIELD"
375 PRINT
380 PRINT "DROP:",N0+1,N0+2,N0+3,N0+4
385 PRINT " ","---","---","---","---"
390 IF N0>0 THEN 415
395 PRINT " VELOCITY"
400 PRINT "(METERS/SEC)"
405 PRINT "( X 10^-6 )"
410 REM GENERATE RANDOM CHARGE, RADIUS, AND MASS
415 FOR I=1 TO 4
420 LET N(I)=INT(3+3*COS(6.283*RND(1))*SQR(-2*LOG(RND(1)))+.5)
425 IF ABS(N(I)-4)>4 THEN 420
430 LET R(I)=R*(.99+.02*RND(I))
435 LET M(I)=4*P1*R(I)*R(I)*R(I)*D/3
440 NEXT I
445 PRINT " ",
450 FOR I=1 TO 4
455 PRINT .1*INT(1.E+07*(K1*V*N(I)-M(I)*G)/(K3*R(I))+.5),
460 NEXT I
465 PRINT " "
470 PRINT "V=";V;" ";
475 INPUT I
480 IF ABS(I)>1000 THEN 495
485 LET V=I
490 GOTO 445
495 PRINT
500 IF I <> 2000 THEN 565
505 PRINT
510 PRINT "CALCULATION FOR WHICH DROP";
515 INPUT I
520 FOR J=1 TO 4
525 IF N0+J-I=0 THEN 540
530 NEXT J
535 GOTO 505
540 PRINT
545 PRINT "CHARGE ON DROP";I;" IS";.01*INT(1.E+21*K2/V+.5);
550 PRINT " X 10^-19 COULOMBS."
555 PRINT
560 GOTO 470
565 IF I <> 3000 THEN 580
570 LET N0=N0+4
575 GOTO 375
580 IF I <> 4000 THEN 470
585 END
*U*:7-,