/[james]/archive/accelerate/Accelera.opl
ViewVC logotype

Annotation of /archive/accelerate/Accelera.opl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 21 - (hide annotations) (download)
Thu Mar 13 11:51:30 2003 UTC (21 years, 3 months ago) by james
File size: 1930 byte(s)
Initial import.

1 james 21 PROC m:
2     GLOBAL a$(10),s$(10),t$(25),u$(25),v$(25)
3     STATUSWIN ON
4     FONT 12,0
5     gAT RND*gWIDTH,RND*gHEIGHT
6     DO
7     IF i:
8     c:
9     ELSE
10     a$="" :s$="" :t$="" :u$="" :v$=""
11     ENDIF
12     gLINETO RND*gWIDTH,RND*gHEIGHT
13     UNTIL 0
14     ENDP
15    
16     PROC i:
17     LOCAL d%
18     dINIT
19     dTEXT "","Uniform acceleration: enter 3 values",$302
20     dEDIT a$,"Acceleration (a) ms-ý"
21     dEDIT s$,"Displacement (s) m"
22     dEDIT t$,"Time (t) s"
23     dEDIT u$,"Initial velocity (u) ms-û"
24     dEDIT v$,"Final velocity (v) ms-û"
25     dBUTTONS "Exit",-27,"Clear all",-9,"Calculate",13
26     d%=DIALOG
27     IF d%=0 :STOP :ENDIF
28     RETURN (d%=13)
29     ENDP
30    
31     PROC c:
32     LOCAL a,s,t,u,v,t%,u1,u2,v1,v2,t1,t2
33    
34     ONERR error1
35     IF a$<>"" :a=EVAL(a$) :ENDIF
36     IF s$<>"" :s=EVAL(s$) :ENDIF
37     IF t$<>"" :t=EVAL(t$) :ENDIF
38     IF u$<>"" :u=EVAL(u$) :ENDIF
39     IF v$<>"" :v=EVAL(v$) :ENDIF
40     ONERR OFF
41    
42     t%=-(a$<>"")*10000-(s$<>"")*1000-(t$<>"")*100-(u$<>"")*10-(v$<>"")
43    
44     ONERR error2
45     IF t%=00111 :s=0.5*(u+v)*t :a=(v-u)/t
46     ELSEIF t%=01011 :t=s/(0.5*(u+v)) :a=(v-u)/t
47     ELSEIF t%=01101 :u=(2*s)/t-v :a=(v-u)/t
48     ELSEIF t%=01110 :v=(2*s)/t-u :a=(v-u)/t
49     ELSEIF t%=10011 :t=(v-u)/a :s=0.5*(u+v)*t
50     ELSEIF t%=10101 :u=v-a*t :s=0.5*(u+v)*t
51     ELSEIF t%=10110 :v=u+a*t :s=0.5*(u+v)*t
52     ELSEIF t%=11001 :u1=SQR(v*v-2*a*s) :t1=(v-u1)/a :u2=-u1 :t2=(v-u2)/a :u=&7fffffff
53     ELSEIF t%=11010 :v1=SQR(u*u+2*a*s) :t1=(v1-u)/a :v2=-v1 :t2=(v2-u)/a :v=&7fffffff
54     ELSEIF t%=11100 :u=(s-0.5*a*t*t)/t :v=u+a*t
55     ELSE ONERR OFF :GIPRINT "Enter 3 values!",1 :RETURN
56     ENDIF
57     ONERR OFF
58    
59     a$=GEN$(a,10)
60     s$=GEN$(s,10)
61     IF u=&7fffffff OR v=&7fffffff
62     t$=GEN$(t1,10)+" or "+GEN$(t2,10)
63     ELSE
64     t$=GEN$(t,10)
65     ENDIF
66     IF u=&7fffffff
67     u$=GEN$(u1,10)+" or "+GEN$(u2,10)
68     ELSE
69     u$=GEN$(u,10)
70     ENDIF
71     IF v=&7fffffff
72     v$=GEN$(v1,10)+" or "+GEN$(v2,10)
73     ELSE
74     v$=GEN$(v,10)
75     ENDIF
76     RETURN
77    
78     error1::
79     ONERR OFF
80     GIPRINT "Entry error: "+ERR$(ERR),1
81     RETURN
82     error2::
83     ONERR OFF
84     GIPRINT "Calculation error: "+ERR$(ERR),1
85     RETURN
86     ENDP

  ViewVC Help
Powered by ViewVC 1.1.26