P180 ORACLE 180 Fri25 Dec ITV 2001:31 256**********a 256**********a Telesoftware and Education Project  GAVE ANIMATION  In this program transverse, longitudinal or Rayleigh waves incident at and reflected from a stationary reflector are combined and shown in a series of eleven consecutive positions. A variable speed animation of these eleven diagrams illustrates the formation of standing waves at selected frequencies, amplitudes and decay rate.
P180 ORACLE 180 Fri25 Dec ITV 2001:00 35607145NISN0' WAVES 35607145NISN0' 130 GOSUB 100 : RETURN |{131 ! ---DISPLA Y INSTRUCTIONS-----|e132 GOSUB 95|—133 ; CUR(5,0) GRN "The display routine will now display"|$134 ; CUR(6,0) GRN "10 pag es in sequence with the interval"|*135 ; CUR(7,0) GRN "between pages determined by the use"|m136 ; CUR(8,0) GRN "of ""+" " to speed it up and ""-"" to slow it "| v137 ; CUR(9,0) GRN "down"|%138 PRINT CU R(11,0) GRN "The animation is more convi ncing at"||139 PRINT CUR(12,0) GRN "fast er speeds."|"140 ; CUR(15,0) FLSH YEL "P RESS 0 TO STOP DISPLAY"| 141 GOSUB 99|d1 42 RETURN |3143 ! KEY VALIDATOR--------- |9144 GET A$ : A=ASCII(A$)-48 : IF A>-1 AND A<9 THEN A0=-1 ELSE A0=0|{145 RETURN |6|
P180 ORACLE 180 Fri25 Dec ITV 2000:32 35607143NISN0' WAVES 35607145NISN0' 113 GOSUB 143 : IF A0 THEN K=A ELSE 113| 9114 GOSUB 99|d115 GOSUB 95|a116 ; CUR(5 ,0) YEL "Input an amplitude between "|w1 17 ; CUR(6,0) YEL "0 and 8 for the incid ent wave"; : GOSUB 143|<118 IF A0 THEN ; RED A$; : A1=A ELSE 116|&119 ; CUR(8,0) CYA "(This means that you can assign"|{ 120 ; CUR(9,0) CYA "an attenuation to th e reflector)"|i121 ; CUR(11,0) YEL "Inpu t an amplitude between"|—122 ; CUR(12,0) YEL "0 and 8 for the reflected wave"; : GOSUB 143|%123 IF A0 THEN ; RED A$; : A 2=A ELSE 121|?124 ; CUR(15,0) CYA "How m any wavelengths would"|"125 ; CUR(16,0) CYA "you like to see in the incident"|61 26 ; CUR(17,0) CYA "wave (1 to 8)"; : GO SUB 144|.127 IF A0 AND A>0 THEN ; MAG A$ ; : T1=40/A ELSE 126|)128 ; CUR(19,0) CY A "and in the reflected wave ? "; : GOSU B 144|-129 IF A0 AND A>0 THEN ; MAG A$; : T2=40/A ELSE 128|.|
P180 ORACLE 180 Fri25 Dec ITV 2018:00 16 K=0|;17 GOSUB 95|218 ; CU  DD " Do you want instructions ? "|i19 ; CUR(7 ,0) RED "Answer" YEL "Y" DD "or" YEL "N ";| 20 ; CUR(9,0) YEL "If you answer ' N' thd program will"| 21 ; CU YEL "demonstrate the supdrposition of "| 22 ; CUR(11,0) YEL "incident and reflected transverse "|>|
P180 ORACLE 180 Fri25 Dec ITV 2020:30 35607145NISN0' WAVES 35607145N BN0' 113 GOSUB 143 : IF A0 THEN K=A ELSE 113| 9114 GOSUB 99|d111 GOSUB 95|a116 ; CUR(5 ,0) YEL "Inp1t an amplitude between "|w1 17 ; CUR(6,0) YEL "0 and 8 for the incid ent wave"; : GOSUB 143|<118 IF A0 THEN ; RED A$; : A1=A ELSE 116|&119 ; CUR(8,0) CYA "(This means that you can assign"|{ 120 ; CUR(9,0) CYA "an attenuation to th e reflector)"|i121 ; CU YELI t an —lplitude between"|—122 ; CUR(12,0) YEL "0 and 8 for the reflected wave"; : GOSUB 143|%123 IF A0 THEN ; RED A$; : A 2=A ELSE 121|?124 ; CUR(15,0) CYA "How m any wavelengths would"|"125 ; CUR(16,0) CYA "you like to see in the incident"|61 26 ; CU CYAGO SUB 144|.127 IF A0 AND A>0 THEN ; MAG A$
P180 ORACLE 180 Fri25 Dec ITV 2000:32 35607145NISN0' GAVES 35607145NISN0' 23 ; CUR(12,0) YEL "waves";|$24 GET A$ : IF A$="Y" OR A$="y" THEN GOSUB 101|025 N=10 : ! MAX NO OF PAGES=10560/96|i26 GO SUB 40|(27 GOSUB 65|028 GOSUB 94|329 ; C UR(5,0) RED "TO FINISH .............. PR
P180 ORACLE 180 Fri25 Dec ITV 2012:00 35607145NISN0' WAVES 35607145NISN0' 94 ! ------TITLE HEADER---------|895 ; C HR$(12)|:96 ; CUR(0,11) RED NWBG GRN DBL E "WAVES " BLBG|'97 RETURN |,98 ; CUR (23,0) YEL "POSITION NUMBER" RED I+1; : RE$VRN |%99 ! --------PROMPT ROUTINE---- -------|n100 ; CUR(23,5) MAG "TO CONTINU E, PRESS SPACEBAR"; : GET A$ : RETURN |x 101 ! ------INSTRUCTIONS 1 -------|÷102 GOSUB 95|=103 ; CUR(5,0) GRN "This progr am enables you to see the"|*104 ; GRN "w ay in which a stationary wave may"|{105 ; GRN "be formed from the sum of an inci dent"|8106 ; GRN "and a reflected wave." ||107 ; : ; YEL "First select the wave t ype"|p108 ; : ; RED "For transverse wave s...........Press 1"|6109 ; : ; RED "For longitudinal waves.........Press 2"|911 0 ; : ; RED "For Rayleigh waves .......N ....Press 3"|g111 GOSUB 143 : IF A<0 OR A>3 THEN 111 ELSE T=A|-112 ; : ; GRN "In put a decay rate between 0 and 8";|n|
P180 ORACLE 180 Fri25 Dec ITV 2051:01 35607145NISN0' WAVES 35607145NISN0' 49 Z1=-A2*EXP(K*(J-144)/200)*COS(((J -72)/T2+I/1.5)*PI)|%50 X=J|—51 O N T GOTO 52,54,58|!52 IF X<72 THEN T XPOINT X,Y+60 : TXPOINT X,Z+36 : TXPOINT X,12+(Y+Z)/2|653 GOTO 61|d54 P= X+Y : IF P>3 AND P<72 THEN TXPOINT P,19 : TXPOINT P,60 : TXPOINT P,61|t55 P= X+Z : IF P>3 AND P<72 THEN TXPOINT P,35 : TXPOINT P,36 : TXPOINT P,37|v56 P= X+(Y+Z)/2 : IF P>3 AND P<72 THEN TXPOINT P,11 : TXPOINT P,12 : TXPOINT P,13 : IF I AND (P=X) THEN TXPOINT P,9|p57 GO TO 61|h58 P=X+Y1 : IF P>3 AND P<72 T HEN TXPOINT P,60-Y|b59 P=X+Z1 : IF P >3 AND P<72 THEN TXPOINT P,36-Z|h60 P=X+(Y1+Z1)/2 : IF P>3 AND P<72 THEN TXP OINT P,12M(Y+Z)/2|w61 NEXT J |,62 GO SUB 87|s63 NEXT I |m64 RETURN |&65 ! --- --- DISPLAY SECTION--------|)66 GOSUB 95 |667 GOSUB 132|?68 K=250 : ! INITIAL DEL AY PERIOD|—69 FOR I=0 TO N|y|
P180 ORACLE 180 Fri21 Dec ITV 2040:00 ; GRN "bd formed from thd sum of an inci dent"|8106 ; GRN "and a reflected wave." ||107 ; : ; YEL "First sdlect the wave t ype"|p108 ; : ; DD "For transverse wave s...........Press 1"|6109 ; : ; RED "For longitudinal wavds. ...... Press 2"|911 0 ; : ; RDD "For Rayleigh waves ........ ... Press 3"|g111 GOSUB 143 : IF A<0 OR A>3 THEN 111 ELSE T=A|-112 ; : ; GRN "In put a decay rate between 0 and 8";|n|
P180 ORACLE 180 Fri25 Dec ITV 2103:00 35607145NISN0' WAVES 35607141NISN0' 49 Z1=-A2*EXP(K*(J-144)/200)*COS(((J -72)/T2+I/1.5)*PI)<$50 X=J|—51 O N T GOTO 52,54,58|!52 IF X<72 THEN T XPOINT X,Y+60 : TXPOINT X,Z+36 : TXPOINT X,12+(Y X)/2|653 GOTO 61|d54 P= X+Y : IF P>3 AND P<72 THEN TXPOINT P,59 : TXPOINT P,60 : TXPOINT P,61|t55 P= X+Z : IF P>3 AND P<72 THEN TXPOINT P,35 : TXPOINT P,36 : TXPOINT P,37|v56 P= X+(Y+Z)/2 : IF P>3 AND P<72 THEN TXPOINT P,11 : TXPOINT P,12 : TXPOINT P,13 : IF I AND (P=X) THEN TXPOINT P,9|p57 GO TO 61|h58 P=X+Y1 : IF P>3 AND P<72 T HEN TXPOINT P,60-Y|b59 P=X+Z1 : IF P >3 AND P<72 THEN TXPOINT P,36-Z|h60 P=X+(Y1+Z1)/2 : IF P>3 AND P<72 THEN TXP OINT P,12-(Y£Z)/2|w61 NEXT J |,62 GO SUB 87|s63 NEXT I |m64 RETURN |&65 ! --- -- DISPLAY SECTION--------<)66 GOSUB 95
P180 ORACLE 180 Fri25 Dec ITV 2001:30 35607145NISN0' WAVES 35607145NISN0' 70 S=CALL(31281,A0(I)) : ! HARDWARE SU BROUTINE THAT COPIES $FLETEXT PAGES F NL BUFFER (OR ANY GIVEN ADDRESS)|)71 FOR J=1 TO K : NEXT J : ! DELAY BETWEEN PAG ES|872 NEXT I |m73 IF SYS(5) THEN GET A$ ELSE 69|f74 ! SPEED OF ANIMATION|.75 A= ASCII(A$)|%76 IF A=48 THEN 80|y77 IF A=4 5 THEN K=2*K|>78 IF A=43 THEN K=K/2+1|>7 9 GOTO 69|t80 RETURN |$81 ! --GRAPHICS S ET-G COLOUR IN COL1|k82 ; CHR$(12) : FOR J=0 TO 23 : ; CUR(J,0) CHR$(145+J/8) CU R(J,37) CYA "" MID$(R$,J+1,1); : NEXT J : GOSUB 98|l83 ; CUR(0,0) RED "INCIDENT WAVE" CUR(8,0) GRN "REFLECTED WAVE" CUR (16,0) YEL " INCIDENT + REFLECTED"|w84 R ETURN |(85 ! *** PAGE STORE SUBROUTINE * **| 86 ! IN GRAPHICS MEMORY|l87 FOR J=0 TO 319|i88 D=J+(J/40)*88+31744|889 P OKE A0(I)+J,PEEK(D)|"90 POKE A0(I)+J+3 20,PEEK(D+40)|i91 POKE A0(I)+J+640,PEE K(D+80)|s92 NEXT J |p93 DTURN |(|
P180 ORACLE 180 Fri25 Dec ITV 2001:00 130 GOSUB 100 : BDTURN |{131 ! ---DISPLA Y INSTRUCTIONS-----|e132 GOSQB 95|—133 ; CUR 5,0) GRN "The display routine will now display"|$134 ; CU  GRN es in sequence with the interval"|*135 ; CUR(7,0) GRN "between pagds determined by the use"|m136 ; CUR(8,0) GRN "of ""+" " to speed it qp and ""-"" to slow it "| v137 ; CUR(9,0) GRN "down"|%138 PRINT CU R(11,0) GRN "The animation is more convi ncing at"||139 PRINT CUR(12,0) GRN "fast er speeds."|"140 ; CUR(15,0) FLSH YEL "P RESS 0 TO STOP DISPLAY"| 141 GOSUB 99|d1 42 RETURN |3143 ! KEY VALIDATOR--------- |9144 GET A$ : A=ASCII(A$) 48 : IF A>-1 |6|
P180 ORACLE 180 Fri25 Dec ITV 2000:33 ESS 1"|a30 ; : ; MAG "TO SE@ OTHEB GAVES ......NPRESS 2"|q31 ; : ; RED "TO DSTAR T...............PRESS 3"|i32 GOSUB 143|9 33 IF NOT A0 THEN 32|'34 IF A<1 OR A>3 T HEN 32 ELSE T=T+1 : IF T>3 THEN T=1|035 ON A GOTO 36,26,17|,36 GOSUB 94|237 GOTO 65000|z38 ! *****SUBROUTINES START HERE ******|k39 ! ----WAVE DRAc ROUTIN ---- J=2 TO 74 S DP 2| 45 I=I|t46 Y= A1*EXP(-K*J/200)*SIN(( 72-@ /T1+I/3.5)*P I)|<47 Y1=A1*EXP(-K*J/200)*CNB(((72- J)/T1+I/3.5)*PI)|i48 Z=A2*EXP(K*(J-1 44)/200)*SIN(( J$72)/T2+I/5.5)*PI)|+|
P180 ORACLE 180 Fri25 Dec ITV 2000:00 35607145NISN0' WAVES 35607145NISN0' 1 INTEGER : OPTION BASE 0|92 ! WAVES BY J K WILKINSON|c3 ! CARDINAL NEWMAN SCH OOL, HOVE|:4 ! DEMONSTRATES SUMMATION OF WAVES|b5 ! BY SUPERPOSITION OF INCIDENT AND|g6 ! REFLECTED WAVES GIVING ANIMAT ED|.7 ! DISPLAY OF BEHAVIOUR|$8 A9$=SPAC E$(10560)|,9 DEF FNP(X9)=PEEK(X9)+SWAP%( PEEK(X9+1)) |-10 A9=FNP(FNP(SYS(12))+6)| 211 ! A9$ GIVES 10 PAGE STORE,INCREASE POSSIBLE WITHIN LIMIT MEMORY|(12 DI M A0(10)|<13 A1=8 : A2=8 : T1=20 : T2=20 : T=1|b14 ! AMPLITUDES AND PERIODS OF W AVES|>15 R$=" R E F L E C T O R "|{ 16 K=0|;17 GOSUB 95|218 ; CUR(5,0) RED " Do you want instructions ? "|i19 ; CUR(7 ,0) RED "Answer" YEL "Y" RED "or" YEL "N ";|<20 ; CUR(9,0) YEL "If you answer ' N' the program will"| 21 ; CUR(10,0) YEL "demonstrate the superposition of "| 22 ; CUR(11,0) YEL "incident and reflected transverse "|>|
P180 ORACLE 180 Fri25 Dec ITV 2000:00 35607145NISN0' WAVES 35607145NISN0' 94 ! ------TITLE HEADER---------|895 ; C HR$(12)|:96 ; CUR(0,11) RED NWBG GRN DBL E "WAVES " BLBG|'97 RE PRN |,98 ; CUR (23,0) YEL "@OS TION N MBER" RED I+1; : RE TRN <$99 ! --------P OMPTROUTINE F, PRESS SPACEBA GETARETURN 101 ! ------INSTRUCTIONS 1 -------|÷102 GOSUB 95|=103 ; CUR(5,0) GRN "This progr am enables you to see tha"|*104 ; GRN "w ay in which a stationary wave may"|{105 ; GRN bef formed from the sum of an inci dent"|8106 ; GRN "and a reflected wave." ||107 ; : ; YEL "Firsd select the wave t ype"|p108 ; : ; RED "For transverse wave s...........Prdss 1"|6109 ; : ; RED "For
P180 ORACLE 180 Fri25 Dec ITV 2018:01 35607145NISN0' WAFES 35607141NISN0' 1 INTEGER : OPTION BASE 0|92 ! WAVES BY J K WILKINSON|c3 ! CARDINAL NEWMAN SCH OOL, HOVE|:4 ! DEMONSTRA @S SUMMATION OF WAVES|b5 ! BY SUPERPOSI HON OF INCIDENT AND|g6 ! REFLEC DD WAVES GIVING ANIMAT ED|.7 ! DISPLAY OF BEHAVIOUR|$8 A9 =SPAC E$ 10560)|,9 DEF FNP(X9)=PEEK(X9)+SWAP%( PEEK X8+1)) |-10 A9=FNP(FNP(SYS(12))+6)| 211 ! A9$ GIVES 10 PAGE STORE,INCREASE POSSIBLE GITHIN LIMIT MEMORY|(12 DI M A0(10)|<13 A1=8 : A2=8 : T1=20 : T2=20 : T=1|b14 ! AMPLI TDES AND PERIODS OF W AVES|>15 R$=" R E F L E C T O R "|{
P180 ORACLE 180 Fri25 Dec ITV 2106:30 35607143NISN0' WAVES 35607145NISN0' 23 ; CUR(12,0) YEL "waves";|%24 GET A$ : IF A$="Y" OR A$="y" THEN GOSUB 101|025 N=10 : ! MAX NO OF PAGES=10560/96|i26 GO SUB 40|(27 GOSUB 65|028 GOSUB 94|329 ; C UR(5,0) RED "TO FINISH ...............PR ESS 1"|a30 ; : ; MAG "TO SEE OTHER WAVES .......PRESS 2"|q31 ; : ; RED "TO RESTAR T..............NPRESS 3"|i32 GOSUB 143|9 33 IF NOT A0 THEN 32|'34 IF A<1 OR A>3 T HEN 32 ELSE T=T+1 : IF T>3 THEN T=1|035 ON A GOTO 36,26,17|,36 GOSUB 94|237 GOTO 65000|z38 ! *****SUBROUTINES START HERE ******|k39 ! ----WAVE DRAg ROUTINE------ --|,40 FOR I=0 TO N|n41 GOSUB 81|f42 GOSUB 98|s43 A0(I)=A9+I*960|b44 FOR J=2 TO 74 STEP 2| 45 I=I|t46 Y= A1*EXP(-K*J/200)*SIN(((72-J)/T1+I/3.5)*P I)|<47 Y1=A1*EXP(-K*J/200)*COS(((72- J)/T1+I/5.5)*PI)|i48 Z=A2*EXP(K*(J-1 44)/200)*SIN((XK.72)/T2+I/5.5)*PI)|+|
P180 ORACLE 180 Fri25 Dec ITV 2040:02 35607145NISN0' WAVES 35607145NISN0' 94 ! ------TITLE HEADER---------|895 ; C HR$(12)|:96 ; CUR(0,11) RED NWBG GRN DBL E "WAVES " BLBG|'97 RETURN |,98 ; CUR (23,0) YEL "POSITION NUM@ER" DD I+1; : RE PRN |%99 ! --------@ROMPT ROUTIN --- -------|n100 ; CUR(23,5) MAG "TO CONTINU D, PRESS SPACEBAR"; : GET A$ : RETURN |x 101 ! ------INST PCTIONS 1 -------|÷102 GOSUB 95<=103 ; CUR(5,0) GRN "This progr am enables yoq to see the"|*104 ; GRN "w ay in which a stadionary wave may"|{105