Программа 9. Устойчивость
> | restart: |
> | BucklModule:=module() |
> | export SolvP,runB1: |
> | SolvP:=proc() local sigma,a, |
> | b,E,F,rho,l,mu,lambda: |
> | E:=2e5: |
> | use Maplets[Tools] in |
> | a:=Get('Ta'::float); #Константы материала |
> | b:=Get('Tb'::float); #Константы материала |
> | rho:=Get('Tr'::float); #Радиус инерции |
> | l:=Get('Tl'::float); #Длина |
> | F:=Get('TF'::float);#площадь |
> | if Get('C1') then mu:=1; |
> | elif Get('C2') then mu:=0.7; |
> | elif Get('C3') then mu:=0.5; |
> | else mu:=2; fi; |
> | lambda:=mu*l/rho: #Гибкость |
> | Set(Tlambda=lambda): |
> | if lambda>100 then #Критич.напр |
> | sigma:=evalf((Pi/lambda)^2*E); Set(T10="Эйлера"): |
> | else sigma:=a-b*lambda: Set(T10="Ясинского"): |
> | fi; |
> | Set(Pkr=sigma*F/10): |
> | end use; |
> | sigma; |
> | end proc; |
> | runB1:=proc() |
> | local mplt,I,R,GB,i,l; |
> | use Maplets:-Elements in |
> | GB:=ButtonGroup[GG](); |
> | I[1]:=Image[im1]("1.GIF"): |
> | I[2]:=Image[im2]("2.GIF"): |
> | I[3]:=Image[im3]("3.GIF"): |
> | I[4]:=Image[im4]("4.GIF"): |
> | R[1]:=RadioButton['C1']("1",group='GG'): |
> | R[2]:=RadioButton['C2']("0.7",group='GG'): |
> | R[3]:=RadioButton['C3']("0.5",group='GG'): |
> | R[4]:=RadioButton['C4']("2",group='GG'): |
> | for i to 4 do l[i]:=Label(image=im||i): od: |
> | mplt:=Maplet(seq(I[i],i=1..4),Window("Устойчивость", |
> | [["a=",TextField['Ta'](width=10,'value'=310.0),"МПа,", |
> | "b=",TextField['Tb'](width=10,'value'=1.14),"МПа"], |
> | ["i=",TextField['Tr'](width=10,'value'=3.77),"см,", |
> | "l=",TextField['Tl'](width=10,'value'=380.0),"см"], |
> | ["F=",TextField['TF']('value'=58.2),"см2"], |
> | ["lambda=",TextField['Tlambda']()," "], |
> | ["sigma=",TextField['sigm']()," МПа"], |
> | ["P=",TextField['Pkr'](),"кН"], |
> | ["Формула ",TextField['T10']()," "], |
> | [seq(l[i],i=1..4)], |
> | [seq(R[i],i=1..4)],Button("Run",Evaluate(sigm=SolvP))] |
> | ),#Window |
> | GB):#Maplet |
> | Maplets:-Display(mplt): |
> | end use; |
> | end proc; |
> | end module: |
> | BucklModule:-runB1(): |
Warning, imaginary unit `I` used as a local variable in procedure BucklModule:-runB1
> |