Программа 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

>