Программа 50. Задача 68. Устойчивость. Маплет
| > | 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,W,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: |
| > | W:=width=9: |
| > | mplt:=Maplet(seq(I[i],i=1..4),Window("Устойчивость", |
| > | [[ BoxColumn(["a=",TextField['Ta'](W,'value'=310.0),"МПа,"], |
| > | ["b=",TextField['Tb'](W,'value'=1.14),"МПа"], |
| > | ["i=",TextField['Tr'](W,'value'=3.77),"см,"], |
| > | ["l=",TextField['Tl'](W,'value'=380.0),"см"], |
| > | ["F=",TextField['TF'](W,'value'=58.2),"см2"]), |
| > | BoxColumn(BoxRow("lambda=",TextField['Tlambda'](W)," "), |
| > | BoxRow("sigma= ",TextField['sigm'](W),"МПа"), |
| > | BoxRow("P= ",TextField['Pkr'](W),"кН"), |
| > | BoxRow("Формула ",TextField['T10'](W)," "))], |
| > | [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
| > |