10  REM ****  HP TIME-SHARED BASIC PROGRAM LIBRARY  *******************
20  REM
30  REM           BOHR:  ENERGY LEVEL DIAGRAMS
40  REM
50  REM           36313  (A833)  REV A -- 10/71
60  REM
70  REM ****  CONTRIBUTED PROGRAM  ************************************
80  REM JOHN HOSIE, NORTHPORT HIGH - 7/23/69
90  REM BOHR - COPYRIGHT 1971, POLYTECHNIC INSTITUTE OF BROOKLYN
100  LET T=2
110  REM  REVISED BY C.LOSIK  8-21-70 
120  REM  M IS WHICH PROBLEM, L IS A SERIES WAVELENGTH,A AND B ARE
130  REM  UPPER AND LOWER LIMITS OF POSSIBLE SERIES VALUES
140  PRINT "YOU MAY VIEW THE 1. LYMAN  2.BALMER  OR 3. PASCHEN"
150  PRINT "SERIES BY TYPING IN THE NUMBER OF THE SERIES YOU WANT"
160  PRINT "DISPLAYED, OR TYPE 4 FOR AN ENERGY LEVEL DIAGRAM."
170  PRINT 
180  PRINT "  CHOOSE THE NUMBER OF THE PART YOU WOULD LIKE TO SEE.";
190  PRINT 
200  LET G=1
210  DIM S[10]
220  LET J=0
230  INPUT M
240  FOR Q=1 TO 4
250  IF M=Q THEN 290
260  NEXT Q
270  PRINT "1, 2, 3, OR 4 ONLY, PLEASE!"
280  GOTO 230
290  PRINT 
300  IF M=4 THEN 1270
310  LET N=M+1
320  LET D=12400*M^2/13.6
330  LET D1=INT(.01*D)
340  GOTO 510
350  FOR I=A TO B STEP -1
360  LET E=13.6*(1/M^2-1/N^2)
370  LET L=12400/E
380  LET P=INT(.01*L)
390  IF I=D1 THEN 490
400  IF I=P THEN 430
410  PRINT 100*I" A"
420  GOTO 470
430  LET J=J+1
440  LET S[J]=L
450  PRINT 100*I" A----------"L
460  LET N=N+1
470  NEXT I
480  GOTO 660
490  PRINT 100*I" A----------"12400*M*M/13.6"-----SERIES LIMIT"
500  GOTO 470
510  LET Y=12400*(M^2*N^2)/(13.6*(N^2-M^2))
520  LET Y=INT(.01*Y)
530  IF Y<15 THEN 560
540  IF Y<70 THEN 590
550  IF Y<190 THEN 620
560  LET A=15
570  LET B=5
580  GOTO 350
590  LET A=70
600  LET B=30
610  GOTO 350
620  LET A=190
630  LET B=78
640  IF G>1 THEN 760
650  GOTO 350
660  PRINT 
670  PRINT "  ACCORDING TO THE BOHR THEORY EACH OF THESE LINES RESULTS"
680  PRINT "FROM THE EMISSION OF A PHOTON DURING THE TRANSITION OF THE"
690  PRINT "ORBITAL ELECTRON OF AN EXCITED HYDROGEN ATOM FROM A HIGHER"
700  PRINT "ENERGY STATE (ORBIT) TO A LOWER ONE.  IN A PARTICULAR SERIES"
710  PRINT "THE TRANSITION (JUMP) IS ALWAYS INTO THE SAME LOWER LEVEL"
720  PRINT "(ORBIT) FROM ANY HIGHER ONE."
730  LET G=G+1
740  PRINT "  LET'S SEE IF YOU CAN DETERMINE WHICH TWO ORBITS THE ELECTRON"
750  PRINT "JUMPED BETWEEN TO GIVE THE LINES THAT HAVE BEEN DISPLAYED."
760  PRINT "  THE LOWEST ENERGY LEVEL (GROUND STATE) IS NUMBERED ONE."
770  PRINT "HIGHER ENERGY LEVELS HAVE HIGHER NUMBERS IN SEQUENCE."
780  LET F=1
790  PRINT 
800  PRINT 
810  PRINT "  FOR EXAMPLE: FROM 4 TO 1 ENTER AS 4,1";
820  LET T=T+1
830  INPUT N,M1
840  PRINT 
850  IF N>M1 THEN 910
860  IF F <> 1 THEN 890
870  PRINT "HEY!! FROM A HIGHER TO A LOWER ENERGY LEVEL."
880  GOTO 790
890  PRINT "OOPS - FROM HIGHER TO LOWER."
900  GOTO 790
910  LET L1=12400*(M1^2*N^2)/(13.6*(N^2-M1^2))
920  IF ABS(L1-S[F])<.005 THEN 980
930  IF F>1 THEN 960
940  PRINT "NOPE!! TRY AGAIN."
950  GOTO 790
960  PRINT "SORRY.  TRY AGAIN!  YOUR FINAL ENERGY LEVEL SHOULD BE"M
970  GOTO 790
980  IF F=1 THEN 1020
990  IF M=1 THEN 1100
1000  IF F=2 THEN 1060
1010  GOTO 1100
1020  PRINT "GOOD START.  THAT GIVES A WAVELENGTH OF"L1
1030  PRINT "THE NEXT LINE IS FORMED BY WHICH TRANSITION";
1040  LET F=F+1
1050  GOTO 830
1060  PRINT "BY GEORGE!! I THINK YOU'VE GOT IT!! THE WAVELENGTH IS"L1
1070  PRINT "TRY ONE MORE - THE NEXT ONE.  ENTER NOW.";
1080  LET F=F+1
1090  GOTO 830
1100  PRINT 
1110  PRINT "  ANY TRANSITION FROM A HIGHER ENERGY LEVEL INTO THE"
1120  IF M=1 THEN 1170
1130  IF M=2 THEN 1200
1140  PRINT "THIRD ENERGY LEVEL CAUSES THE EMISSION OF A PHOTON OF THE"
1150  PRINT "PASCHEN SERIES."
1160  GOTO 1210
1170  PRINT "GROUND STATE IS ACCOMPANIED BY THE EMISSION OF A PHOTON OF"
1180  PRINT "LIGHT BELONGING TO THE LYMAN SERIES."
1190  GOTO 1210
1200  PRINT "SECOND ENERGY LEVEL YIELDS A PHOTON OF THE BALMER SERIES."
1210  PRINT 
1220  PRINT "IF YOU WOULD LIKE TO TRY ANOTHER SERIES TYPE IN THE NUMBER"
1230  PRINT "OF THAT SERIES.  IF YOU WANT TO GO ON TO A NEW PART OF"
1240  PRINT "THE PROGRAM TYPE 4"
1250  PRINT "WHICH?";
1260  GOTO 230
1270  PRINT 
1280  PRINT "  YOU WILL NOW GET AN ENERGY LEVEL DIAGRAM FOR HYDROGEN."
1290  PRINT "IT SHOWS THE ENERGY OF THE ELECTRON IN THE VARIOUS ENERGY"
1300  PRINT "LEVELS.  THE DIFFERENCE BETWEEN THE ENERGY OF THE ELECTRON"
1310  PRINT "IN A HIGHER LEVEL AND THAT IN A LOWER LEVEL IS THE ENERGY"
1320  PRINT "OF THE EMITTED PHOTON.   E(PHOTON) = E (HIGHER) - E (LOWER)"
1330  PRINT 
1340  PRINT "        CONTINUUM"
1350  PRINT 
1360  PRINT "N= .....INFINITY..... E=    000000"
1370  LET N=6
1380  FOR I=1 TO 40
1390  LET Y=INT(40/N^2+.56)
1400  IF I=Y THEN 1430
1410  PRINT 
1420  GOTO 1450
1430  PRINT "N="N"  --------------- E= -"INT(1360/N^2)/100+.000001
1440  LET N=N-1
1450  NEXT I
1460  PRINT 
1470  LET T=Q=2
1480  PRINT "FIND THE ENERGIES OF THE PHOTONS GIVEN OFF FOR THE"
1490  PRINT "TRANSITIONS GIVEN BELOW."
1500  LET J=0
1510  FOR I=0 TO T*Q
1520  LET Y3=RND(I)
1530  NEXT I
1540  FOR I=1 TO 20
1550  LET Y3=INT(1+(5*RND(I)))
1560  LET Y4=INT(1+(5*RND(I+1)))
1570  IF Y4>Y3 THEN 1590
1580  NEXT I
1590  PRINT 
1600  PRINT "FROM LEVEL"Y4" TO LEVEL"Y3" THE ENERGY OF THE PHOTON IS?";
1610  INPUT E1
1620  LET J=J+1
1630  PRINT 
1640  LET E=-13.6*(1/(Y4^2)-1/(Y3^2))
1650  IF ABS(E1-E)>.005 THEN 1690
1660  IF J=6 THEN 1740
1670  PRINT "GOOD. TRY ANOTHER"
1680  GOTO 1540
1690  PRINT "THE ENERGY OF LEVEL"Y4" IS"-13.6/(Y4^2)
1700  PRINT "THE ENERGY OF LEVEL"Y3" IS"-13.6/(Y3^2)
1710  PRINT 
1720  PRINT "THEIR DIFFERENCE = PHOTON ENERGY ="E
1730  IF J<6 THEN 1540
1740  PRINT "THANK YOU, AND GOODBYE."
1750  END 
