PROGRAM free_fall ! example of strong typing OPTION TYPO PUBLIC y,v,a,g,t,dt,nshow ! declare variables LOCAL counter CALL initial CALL print_table LET counter = 0 DO while y >= 0 CALL Euler LET counter = counter + 1 IF mod(counter,nshow) = 0 then CALL print_table END IF LOOP CALL print_table END SUB initial DECLARE PUBLIC y,v,a,g,t,dt LET t = 0 LET y = 10 LET v = 0 LET g = 9.8 LET a = -g LET dt = 0.01 END SUB SUB Euler DECLARE PUBLIC y,v,a,g,t,dt LET y = y + v*dt LET a = -g LET v = v + a*dt LET t = t + dt END SUB SUB print_table DECLARE PUBLIC y,v,a,t,nshow IF t = 0 then INPUT prompt "number of time steps between output = ": nshow CLEAR ! might want to omit this graphics statement PRINT "time (s)", "y (m)", "velocity (m/s)", "accel (m/s*s))" PRINT END IF PRINT t,y,v,a END SUB