You are on page 1of 38

Gp:=G1;CX,CY;CXAp,CYAp;Tta();PE_c:=2400;PE_asf:=2240;fc:=280;fy:=4200;PE_ace:

=7850.00;E_ace:=2000000;Ec:=250998;Peso_vereda:=0.45;Peso_baranda:=0.20;Peso_atie
zadores:=0.1;t_asf:=0.05;LP:=19;hV:=112.1;hc:=132.1;tL:=20;vpA:=0;Lviga:=LP;DatA_P
red:={};nV:=4;Sv:=3;nCarr:=2;LCarr:=3.6;LCalzd:=10.3;Lverd:=0.90;Lvold:=1.1;AP:=11.
20;Ldex:=1.00;V_bfs:=35.5;V_bfi:=40.5;V_tfs:=1.9;V_tfi:=3.2;V_hc:=hV;V_tw:=1.1;V_b
p:=0;V_tp:=0;V_d:=V_hc+V_tfs+V_tfi;V_As:=581;V_P:=615.75;V_Ap:=162.5;V_Icg:=5
855911.59;V_Sx:=75526.54;V_Ycg:=77.536;V_Lp:=30.74;V_Pvig:=67.74;V_Pp:=11.48;
V_Peso:=79.22;tViga:=0;A_fs;Y_fs;AYs;A_al;Y_al;AYal;A_fi;Y_fi;AYi;A_pl;Y_pl;AYpl
;Io_fs:=1;Io_al:=1;Io_fi:=1;Io_pl:=1;I_fs:=1;I_al:=1;I_fi:=1;I_pl:=1;nAE:=1;mgi:=1;mge:=
2;Mu_R:=0;Mu_S:=0;Mu_F:=0;FMOUSE()BEGIN LOCAL m,m1,mx,my,v;REPEAT
REPEAT m:=MOUSE;m1:=B→R(m(1));UNTIL SIZE(m1)>0;mx:=m1(1);my:=m1(2);IF
my≥17 AND my≤43 THEN CASE IF mx≥28 AND mx≤54 THEN v:=1;END;IF mx≥61
AND mx≤87 THEN v:=1;END;IF mx≥92 AND mx≤118 THEN v:=1;END;IF mx≥123
AND mx≤149 THEN v:=1;END;IF mx≥154 AND mx≤180 THEN v:=1;END;IF mx≥185
AND mx≤211 THEN v:=1;END;END;END;UNTIL
v==1;END;MenP:={"Define","Draw","Load","Option","Analize","Result"};Blue:=RGB(0,
0,#CDh);Green:=RGB(0,#CDh,0);Red:=RGB(#CDh,0,0);White:=RGB(255,255,255);Blac
k:=RGB(0,0,0);Plomo:=RGB(192,192,192);LigthBlue:=RGB(33,115,231);DarkBlue:=RG
B(33,115,231);Fondo:=RGB(239,247,247);AzulTit:=RGB(33,84,163);MCuad:=RGB(246,
143,71);FCuad:=RGB(192,192,192);RedA:=RGB(195,56,56);RedB:=RGB(255,181,181);
CTexto:=RGB(33,115,231);CTexto2:=RGB(195,56,56);vdA:=0;vd2:=0;vd3:=0;vd4:=0;vd
5:=0;vd6:=0;vap1:=0;vap2:=0;vap3:=0;vap4:=0;vap5:=0;vap6:=0;FGROBP();FMOUSEP()
;FGROBI();FDAT_PRED();FMOUSED();FDATGEN();RYJUIES();GGRTYH();FDAT_T
RANS();XAB();TFW();FPRE_A();FPRE_B();FPRE_C();FCAL_TA();Graf_Rec();GCalzd
();GVerd();GVigT();PosVig();FDAT_VI();FSECVI_A();GRec();GVigaI();FVERFVI();TG
E();FANCHE();FMETR();GPLCarga();FPP();REGpp();Epp();GPLCarga2();MMu();GBOT
V();EXPORT programName()BEGIN FGROBP();END;FANCH();FGROBP()BEGIN
FMOUSEP();END;FMOUS()BEGIN LOCAL m,m1,mx,my,v;REPEAT REPEAT
m:=MOUSE;m1:=B→R(m(1));UNTIL SIZE(m1)>0;mx:=m1(1);my:=m1(2);IF my≥17
AND my≤43 THEN CASE IF mx≥28 AND mx≤54 THEN v:=1;END;IF mx≥61 AND
mx≤87 THEN v:=2;END;IF mx≥92 AND mx≤118 THEN v:=3;END;IF mx≥123 AND
mx≤149 THEN v:=4;END;IF mx≥154 AND mx≤180 THEN v:=1;END;IF mx≥185 AND
mx≤211 THEN v:=5;END;END;END;UNTIL v==6;END;FCAL_T()BEGIN LOCAL
esc,Lverd_e,xc_e,yc_e,LCalzd_e,t_e,tv_e;LOCAL
AP_e,Lvold_e,b_e,h_e,Sv_e;esc:=280/AP;xc_e:=160;yc_e:=167.5;LCalzd_e:=LCalzd*esc;
Lverd_e:=Lverd*esc;AP_e:=AP*esc;t_e:=5;tv_e:=10;Lvold_e:=Lvold*esc;Sv_e:=Sv*esc;
GCalzd(LCalzd_e,xc_e,yc_e,t_e,Black);GVerd(Lverd_e,LCalzd_e,xc_e,yc_e,tv_e,t_e,Blac
k);GVerd(-Lverd_e,-
LCalzd_e,xc_e,yc_e,tv_e,t_e,Black);b_e:=10;h_e:=40;PosVig(AP_e,Lvold_e,b_e,h_e,xc_e,
yc_e,t_e,Sv_e,Black);END;GVer(LV,LC,x,y,tv,t,col)BEGIN LOCAL
x1,x2,x3,x4,x5;LOCAL y1,y2,y3,y4,y5;x1:=x-LC/2;x2:=x1;x3:=x1-LV;x4:=x3;x5:=x1-
0.1*LV;y1:=y-t/2;y2:=y1+t;y3:=y2;y4:=y3-
tv;y5:=y4;LINE_P(x1,y1,x2,y2,col);LINE_P(x2,y2,x3,y3,col);LINE_P(x3,y3,x4,y4,col);LI
NE_P(x4,y4,x5,y5,col);LINE_P(x5,y5,x1,y1,col);LINE_P(x3,y-t/2,x1,y-
t/2,col);END;GCalz(L,xc_r,yc_r,t,col)BEGIN LOCAL x,x2,y,y2;x2:=xc_r-
L/2;x:=xc_r+L/2;y2:=yc_r+t/2;y:=yc_r-
t/2;LINE_P(x,y,x2,y,col);LINE_P(x,y2,x2,y2,col);LINE_P(x,y,x,y2,col);LINE_P(x2,y,x2,y
2,col);END;PosVTY(LTv,Vv,b,h,x,y,t,S,col)BEGIN LOCAL x1,x2,x3,i;LOCAL
y1,y2,y3;x1:=x-LTv/2+Vv;y1:=y;GVigT(b,h,x1,y1,t,col);x2:=x+LTv/2-
Vv;y2:=y;GVigT(b,h,x2,y2,t,col);FOR i:=1 TO nV-2 DO x3:=x1+S*i;y3:=y;IF
odd(nV)==1 THEN GVigT(b,h,x3,y3,t,col)ELSE
GVigT(b,h,x3,y3,t,col)END;END;END;GVigTA(b,h,x,y,t,col)BEGIN LOCAL
x1,x2,x3,x4,x5;LOCAL y1,y2,y3,y4,y5;x1:=x-
b/2;x2:=x+b/2;x3:=x1;x4:=x2;y1:=y+t/2;y2:=y+t/2;y3:=y+h;y4:=y3;LINE_P(x1,y1,x2,y2,c
ol);LINE_P(x2,y2,x4,y4,col);LINE_P(x3,y3,x4,y4,col);LINE_P(x3,y3,x1,y1,col);LINE_P(
x,y-10,x,y+h+10,Plomo);END;AAC;FSECVI_B();FMOUSEP()BEGIN LOCAL
SALIR,mx,my,v,t;DIMGROB_P(Gp,320,240,White);RECT_P(Gp,1,16,317,228,Blue,Whit
e);REPEAT FGROBI();BLIT_P(G0,Gp);t:=B→R(WAIT(-1));IF TYPE(t)==6 THEN IF
t(1)==3 THEN mx:=t(2);my:=t(3);CASE IF mx≥40 AND mx≤200 THEN CASE IF my≥40
AND my≤60 THEN INPUT({{PE_c,[0],{25,25,0}},{PE_asf,[0],{25,20,1}},{fc,[0],
{75,20,1}},{fy,[0],{25,20,2}},{PE_ace,[0],{75,20,2}},{E_ace,[0],{25,20,3}},{Ec,[0],
{75,20,3}},{tViga,[0],{25,20,4}},{LP,[0],{25,25,5}},{hV,[0],{75,20,6}},{hc,[0],
{60,25,8}},{tL,[0],{60,20,9}}}," DATOS GENERALES ",{" PE concreto : "," PE
Asfalto : "," fc : "," fy : ","PE Acero : "," E acero: "," E concreto: "," Exterior=0,
Interior=1 : "," Long. Puente: "," Peralte Viga: "," Peralt. V comp. : "," espsor losa: "},
{"kg/m^3","kg/m^3","kg/cm^2","kg/cm^2"," ","kg/cm^2","kg/cm^2","Exterior=0,
Interior=1:","METROS","CENTIMETRO","CENTIMETRO"},
{PE_c,PE_asf,fc,fy,PE_ace,E_ace,Ec,tViga,LP,hV,hc,tL},
{PE_c,PE_asf,fc,fy,PE_ace,E_ace,Ec,tViga,LP,hV,hc,tL});END;IF my≥60 AND my≤80
THEN FDAT_TRANS();FSECVI_A();FSECVI_B();END;IF my≥80 AND my≤100 THEN
FDAT_VI();v:=1;END;IF my≥100 AND my≤120 THEN
V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,
2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);FVERFVI();END;IF my≥120 AND my≤140
THEN FANCHE();FSECVI_A();FSECVI_B();v:=1;END;IF my≥140 AND my≤160
THEN FSECVI_A();v:=1;END;END;END;IF vdA==1 THEN TEXTOUT_P("Y:
",Gp,100,100,1,Black);END;END;END;END;IF TYPE(t)==0 THEN
SALIR:=t;END;UNTIL SALIR==4;END;FDATGEN()BEGIN INPUT({{PE_c,[0],
{25,25,0}},{PE_asf,[0],{25,25,1}},{fc,[0],{25,25,3}},{fy,[0],{25,25,4}}},"
CARACTERISTICAS DEL EDIFICIO ",{" PE concreto = "," PE asfalto = ","f'c = ","fy= :
"},{"Numero de pisos","Altura del primer nivel: [m]","Altura tipica del resto de pisos:
[m]","Espacios entre ejes en la direccion X:"},{PE_c,PE_asf,fc,fy},
{PE_c,PE_asf,fc,fy});END;Tta()BEGIN TEXTOUT_P("SECCION VIGA 'I' DE
ACERO",80,3,2,White);END;FGROBI()BEGIN
RECT_P(Gp,32,229,339,240,White);LINE_P(Gp,104,228,104,240,Plomo);LINE_P(Gp,14
0,228,140,240,Plomo);LINE_P(Gp,166.5,228,166.5,240,Plomo);IF A==0 THEN
RECT_P(Gp,1,228,31,240,Plomo);ELSE
RECT_P(Gp,1,228,31,240,Plomo);END;RECT_P(Gp,0,0,340,240,White);TEXTOUT_P("
DATOS GENERALES",Gp,40,40,3,Black);TEXTOUT_P("SECCION TRANSVERSAL
PUENTE",Gp,40,60,3,Black);TEXTOUT_P("SECCION
VIGA",Gp,40,80,3,Black);TEXTOUT_P("VERIFICACION
SECCION",Gp,40,100,3,Black);TEXTOUT_P("REPORTE
GENERAL",Gp,40,120,3,Black);TEXTOUT_P("Autor: Rocky
Ayala",Gp,200,220,1,Black);TEXTOUT_P("PROGRAMA PUENTES VERSION SUPER
BETA",Gp,15,5,3,Black);CASE IF vap1==1 THEN BLIT_P(Gp,"Mo",-CXAp,-
CYAp);END;IF vap2==1 THEN BLIT_P(Gp,"Fi",-CXAp,-CYAp);END;IF vap3==1
THEN BLIT_P(Gp,"Em",-CXAp,-CYAp);END;IF vap4==1 THEN BLIT_P(Gp,"SEm",-
CXAp,-CYAp);END;IF vap5==1 THEN BLIT_P(Gp,"Re",-CXAp,-
CYAp);END;END;END;FUNM();FD_VI()BEGIN LOCAL
R_bfs:={},R_bfi:={},R_tfs:={},R_tfi:={},R_hc:={},R_tw:={},R_bp:={},R_tp:={};LOCA
L
R_d:={},R_As:={},R_P:={},R_Ap:={},R_Icg:={},R_Sx:={},R_Ycg:={},R_Lp:={};LOC
AL R_Pvig:={},R_Pp:={},R_Peso:={};LOCAL mx,my;RECT(Fondo);RECT_P({0,1},
{320,17},DarkBlue,AzulTit);Tta();TEXTOUT_P("bfs:",160,27,2);TEXTOUT_P("bfi:",240
,27,2);R_bfs:={{185,25},{225,40}};R_bfi:={{265,25},
{305,40}};TEXTOUT_P("tfs:",160,47,2);TEXTOUT_P("tfi:",240,47,2);R_tfs:={{185,45},
{225,60}};R_tfi:={{265,45},
{305,60}};TEXTOUT_P("hc:",160,67,2);TEXTOUT_P("tw:",240,67,2);R_hc:={{185,65},
{225,80}};R_tw:={{265,65},
{305,80}};TEXTOUT_P("bp:",160,87,2);TEXTOUT_P("tp:",240,87,2);R_bp:={{185,85},
{225,100}};R_tp:={{265,85},
{305,100}};TEXTOUT_P("Lp:",160,107,2);R_Lp:={{185,105},{225,120}};LOCAL
cTxt,shm:=0;RECT_P({1,25},{151,220},AzulTit,White);REPEAT
FSECVI_A();RECT_P({240,110},{320,124},Fondo);IF shm==3 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("P= "+V_P+"
kg/m",240,110,1,cTxt);R_P:={{240,110},{320,124}};RECT_P({160,123},
{235,137},Fondo);IF shm==1 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("A= "+V_As+"
cm2",160,123,1,cTxt);R_As:={{160,123},{235,137}};RECT_P({240,123},
{320,137},Fondo);IF shm==2 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ap= "+V_Ap+"
cm2",240,123,1,cTxt);R_Ap:={{240,123},{320,137}};RECT_P({160,137},
{340,152},Fondo);IF shm==4 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("I_cg= "+V_Icg+"
cm4",160,137,1,cTxt);R_Icg:={{160,137},{340,152}};RECT_P({160,152},
{340,167},Fondo);IF shm==5 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Sx= "+V_Sx+"
cm3",160,152,1,cTxt);R_Sx:={{160,152},{340,167}};RECT_P({160,167},
{340,182},Fondo);IF shm==6 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ycg= "+V_Ycg+"
cm",160,167,1,cTxt);R_Ycg:={{160,167},{340,182}};RECT_P({160,182},
{340,197},Fondo);IF shm==7 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pvig= "+V_Pvig+"
tn",160,182,1,cTxt);R_Pvig:={{160,182},{340,197}};RECT_P({160,197},
{340,212},Fondo);IF shm==8 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pp= "+V_Pp+"
tn",160,197,1,cTxt);R_Pp:={{160,197},{340,212}};RECT_P({160,212},
{342,227},Fondo);IF shm==9 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);R_Peso:={{160,212},
{342,227}};XAB(STRING(V_bfs,1),R_bfs,AzulTit,White);XAB(STRING(V_bfi,1),R_bfi,
AzulTit,White);XAB(STRING(V_tfs,1),R_tfs,AzulTit,White);XAB(STRING(V_tfi,1),R_tf
i,AzulTit,White);XAB(STRING(V_hc,1),R_hc,AzulTit,White);XAB(STRING(V_tw,1),R_
tw,AzulTit,White);XAB(STRING(V_bp,1),R_bp,AzulTit,White);XAB(STRING(V_tp,1),
R_tp,AzulTit,White);XAB(STRING(V_Lp,1),R_Lp,AzulTit,White);WAIT(-1)▶AAC;IF
TYPE(AAC)=6 THEN IF AAC(1)==0 THEN mx:=AAC(2);my:=AAC(3);CASE IF
R_bfs(1,1)<mx<R_bfs(2,1)AND R_bfs(1,2)<my<R_bfs(2,2)THEN
GGRTYH(V_bfs,R_bfs,"Ancho de ala patin superior
(cm)")▶V_bfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bfi(1,1)<mx<R_bfi(2,1)AND R_bfi(1,2)<my<R_bfi(2,2)THEN
GGRTYH(V_bfi,R_bfi,"Ancho de ala patin inferior
(cm)")▶V_bfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfs(1,1)<mx<R_tfs(2,1)AND R_tfs(1,2)<my<R_tfs(2,2)THEN
GGRTYH(V_tfs,R_tfs,"Espesor de ala patin superior
(cm)")▶V_tfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfi(1,1)<mx<R_tfi(2,1)AND R_tfi(1,2)<my<R_tfi(2,2)THEN
GGRTYH(V_tfi,R_tfi,"Espesor de ala patin inferior
(cm)")▶V_tfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_hc(1,1)<mx<R_hc(2,1)AND R_hc(1,2)<my<R_hc(2,2)THEN
GGRTYH(V_hc,R_hc,"Altura del alma (cm)")▶V_hc;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tw(1,1)<mx<R_tw(2,1)AND
R_tw(1,2)<my<R_tw(2,2)THEN GGRTYH(V_tw,R_tw,"Espesor del alma
(cm)")▶V_tw;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bp(1,1)<mx<R_bp(2,1)AND R_bp(1,2)<my<R_bp(2,2)THEN
GGRTYH(V_bp,R_bp,"Ancho de la platabanda (cm)")▶V_bp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tp(1,1)<mx<R_tp(2,1)AND
R_tp(1,2)<my<R_tp(2,2)THEN GGRTYH(V_tp,R_tp,"Espesor de la platabanda patin
inferior (cm)")▶V_tp;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_Lp(1,1)<mx<R_Lp(2,1)AND R_Lp(1,2)<my<R_Lp(2,2)THEN
GGRTYH(V_Lp,R_Lp,"Longitud de platabanda (m)")▶V_Lp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_As(1,1)<mx<R_As(2,1)AND
R_As(1,2)<my<R_As(2,2)THEN TGE("Area de viga metalica y platabanda","
="+V_As);shm:=1;END;IF R_Ap(1,1)<mx<R_Ap(2,1)AND
R_Ap(1,2)<my<R_Ap(2,2)THEN TGE("Area de la platabanda","
="+V_Ap);shm:=2;END;IF R_P(1,1)<mx<R_P(2,1)AND R_P(1,2)<my<R_P(2,2)THEN
TGE("Peso de viga/metro (kg/m)"," ="+V_P);shm:=3;END;IF
R_Icg(1,1)<mx<R_Icg(2,1)AND R_Icg(1,2)<my<R_Icg(2,2)THEN TGE("Momento de
inercia (vig+plat)"," ="+V_Icg);shm:=4;END;IF R_Sx(1,1)<mx<R_Sx(2,1)AND
R_Sx(1,2)<my<R_Sx(2,2)THEN TGE("Modulo seccion (ala inferior)","
="+V_Sx);shm:=5;END;IF R_Ycg(1,1)<mx<R_Ycg(2,1)AND
R_Ycg(1,2)<my<R_Ycg(2,2)THEN TGE("H de fibra inf. al c.g.","
="+V_Ycg);shm:=6;END;IF R_Pvig(1,1)<mx<R_Pvig(2,1)AND
R_Pvig(1,2)<my<R_Pvig(2,2)THEN TGE("Peso de vigas longitudinales","
="+V_Pvig);shm:=7;END;IF R_Pp(1,1)<mx<R_Pp(2,1)AND
R_Pp(1,2)<my<R_Pp(2,2)THEN TGE("Peso de platabandas longitudinales","
="+V_Pp);shm:=8;END;IF R_Peso(1,1)<mx<R_Peso(2,1)AND
R_Peso(1,2)<my<R_Peso(2,2)THEN TGE("Peso total de viga + platabanda","
="+V_Peso);shm:=9;END;END;END;ELSE IF AAC=4 THEN BREAK;END
END;UNTIL 0;END;FSas_B()BEGIN LOCAL
h,hcF,tA,tB;V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(
V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);LOCAL esc;LOCAL xc:=76,yc:=122.5;IF
V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=155/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=155/V_d;END;END;LOCAL Gp:=G0;GVigaI(xc,yc,esc,Gp);END;FDAT_V()BEGIN
LOCAL
R_bfs:={},R_bfi:={},R_tfs:={},R_tfi:={},R_hc:={},R_tw:={},R_bp:={},R_tp:={};LOCA
L
R_d:={},R_As:={},R_P:={},R_Ap:={},R_Icg:={},R_Sx:={},R_Ycg:={},R_Lp:={};LOC
AL R_Pvig:={},R_Pp:={},R_Peso:={};LOCAL mx,my;RECT(Fondo);RECT_P({0,1},
{320,17},DarkBlue,AzulTit);TEXTOUT_P("SECCION VIGA 'I' DE
ACERO",80,3,2,White);TEXTOUT_P("bfs:",160,27,2);TEXTOUT_P("bfi:",240,27,2);R_b
fs:={{185,25},{225,40}};R_bfi:={{265,25},
{305,40}};TEXTOUT_P("tfs:",160,47,2);TEXTOUT_P("tfi:",240,47,2);R_tfs:={{185,45},
{225,60}};R_tfi:={{265,45},
{305,60}};TEXTOUT_P("hc:",160,67,2);TEXTOUT_P("tw:",240,67,2);R_hc:={{185,65},
{225,80}};R_tw:={{265,65},
{305,80}};TEXTOUT_P("bp:",160,87,2);TEXTOUT_P("tp:",240,87,2);R_bp:={{185,85},
{225,100}};R_tp:={{265,85},
{305,100}};TEXTOUT_P("Lp:",160,107,2);R_Lp:={{185,105},
{225,120}};V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(
V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);LOCAL cTxt,shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);REPEAT
FSECVI_A();V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUN
D(V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);RECT_P({240,110},{320,124},Fondo);IF
shm==3 THEN cTxt:=Red;ELSE cTxt:=AzulTit;END;TEXTOUT_P("P= "+V_P+"
kg/m",240,110,1,cTxt);R_P:={{240,110},{320,124}};RECT_P({160,123},
{235,137},Fondo);IF shm==1 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("A= "+V_As+"
cm2",160,123,1,cTxt);R_As:={{160,123},{235,137}};RECT_P({240,123},
{320,137},Fondo);IF shm==2 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ap= "+V_Ap+"
cm2",240,123,1,cTxt);R_Ap:={{240,123},{320,137}};RECT_P({160,137},
{340,152},Fondo);IF shm==4 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("I_cg= "+V_Icg+"
cm4",160,137,1,cTxt);R_Icg:={{160,137},{340,152}};RECT_P({160,152},
{340,167},Fondo);IF shm==5 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Sx= "+V_Sx+"
cm3",160,152,1,cTxt);R_Sx:={{160,152},{340,167}};RECT_P({160,167},
{340,182},Fondo);IF shm==6 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ycg= "+V_Ycg+"
cm",160,167,1,cTxt);R_Ycg:={{160,167},{340,182}};RECT_P({160,182},
{340,197},Fondo);IF shm==7 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pvig= "+V_Pvig+"
tn",160,182,1,cTxt);R_Pvig:={{160,182},{340,197}};RECT_P({160,197},
{340,212},Fondo);IF shm==8 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pp= "+V_Pp+"
tn",160,197,1,cTxt);R_Pp:={{160,197},{340,212}};RECT_P({160,212},
{342,227},Fondo);IF shm==9 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);R_Peso:={{160,212},{342,227}};WAIT(-1)▶AAC;IF TYPE(AAC)=6
THEN IF AAC(1)==0 THEN mx:=AAC(2);my:=AAC(3);CASE IF
R_bfs(1,1)<mx<R_bfs(2,1)AND R_bfs(1,2)<my<R_bfs(2,2)THEN
GGRTYH(V_bfs,R_bfs,"Ancho de ala patin superior
(cm)")▶V_bfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bfi(1,1)<mx<R_bfi(2,1)AND R_bfi(1,2)<my<R_bfi(2,2)THEN
GGRTYH(V_bfi,R_bfi,"Ancho de ala patin inferior
(cm)")▶V_bfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfs(1,1)<mx<R_tfs(2,1)AND R_tfs(1,2)<my<R_tfs(2,2)THEN
GGRTYH(V_tfs,R_tfs,"Espesor de ala patin superior
(cm)")▶V_tfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfi(1,1)<mx<R_tfi(2,1)AND R_tfi(1,2)<my<R_tfi(2,2)THEN
GGRTYH(V_tfi,R_tfi,"Espesor de ala patin inferior
(cm)")▶V_tfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_hc(1,1)<mx<R_hc(2,1)AND R_hc(1,2)<my<R_hc(2,2)THEN
GGRTYH(V_hc,R_hc,"Altura del alma (cm)")▶V_hc;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tw(1,1)<mx<R_tw(2,1)AND
R_tw(1,2)<my<R_tw(2,2)THEN GGRTYH(V_tw,R_tw,"Espesor del alma
(cm)")▶V_tw;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bp(1,1)<mx<R_bp(2,1)AND R_bp(1,2)<my<R_bp(2,2)THEN
GGRTYH(V_bp,R_bp,"Ancho de la platabanda (cm)")▶V_bp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tp(1,1)<mx<R_tp(2,1)AND
R_tp(1,2)<my<R_tp(2,2)THEN GGRTYH(V_tp,R_tp,"Espesor de la platabanda patin
inferior (cm)")▶V_tp;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_Lp(1,1)<mx<R_Lp(2,1)AND R_Lp(1,2)<my<R_Lp(2,2)THEN
GGRTYH(V_Lp,R_Lp,"Longitud de platabanda (m)")▶V_Lp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_As(1,1)<mx<R_As(2,1)AND
R_As(1,2)<my<R_As(2,2)THEN TGE("Area de viga metalica y platabanda","
="+V_As);shm:=1;END;IF R_Ap(1,1)<mx<R_Ap(2,1)AND
R_Ap(1,2)<my<R_Ap(2,2)THEN TGE("Area de la platabanda","
="+V_Ap);shm:=2;END;IF R_P(1,1)<mx<R_P(2,1)AND R_P(1,2)<my<R_P(2,2)THEN
TGE("Peso de viga/metro (kg/m)"," ="+V_P);shm:=3;END;IF
R_Icg(1,1)<mx<R_Icg(2,1)AND R_Icg(1,2)<my<R_Icg(2,2)THEN TGE("Momento de
inercia (vig+plat)"," ="+V_Icg);shm:=4;END;IF R_Sx(1,1)<mx<R_Sx(2,1)AND
R_Sx(1,2)<my<R_Sx(2,2)THEN TGE("Modulo seccion (ala inferior)","
="+V_Sx);shm:=5;END;IF R_Ycg(1,1)<mx<R_Ycg(2,1)AND
R_Ycg(1,2)<my<R_Ycg(2,2)THEN TGE("H de fibra inf. al c.g.","
="+V_Ycg);shm:=6;END;IF R_Pvig(1,1)<mx<R_Pvig(2,1)AND
R_Pvig(1,2)<my<R_Pvig(2,2)THEN TGE("Peso de vigas longitudinales","
="+V_Pvig);shm:=7;END;IF R_Pp(1,1)<mx<R_Pp(2,1)AND
R_Pp(1,2)<my<R_Pp(2,2)THEN TGE("Peso de platabandas longitudinales","
="+V_Pp);shm:=8;END;IF R_Peso(1,1)<mx<R_Peso(2,1)AND
R_Peso(1,2)<my<R_Peso(2,2)THEN TGE("Peso total de viga + platabanda","
="+V_Peso);shm:=9;END;END;END;ELSE IF AAC=4 THEN BREAK;END
END;UNTIL 0;END;FDAT_TRANS()BEGIN LOCAL
R_nCarr:={},R_LCarr:={},R_nV:={},R_Sv:={},R_Lverd:={},R_Lvold:={};LOCAL
R_AP:={},R_LCalzd:={},R_dex:={};LOCAL mx,my;RECT(Fondo);RECT_P({0,1},
{320,17},DarkBlue,AzulTit);GBOTV();V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi
*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);R_nCarr:={{70,23},
{120,38}};R_LCarr:={{210,23},{260,38}};R_LCalzd:={{70,43},
{120,58}};R_nV:={{210,43},{260,58}};R_Sv:={{70,63},
{120,78}};R_Lverd:={{210,63},{260,78}};R_Lvold:={{70,83},
{120,98}};R_dex:={{210,83},{260,98}};REPEAT RECT_P({1,115},
{318,220},AzulTit,White);XAB(STRING(nCarr,1),R_nCarr,AzulTit,White);XAB(STRIN
G(LCarr,1),R_LCarr,AzulTit,White);XAB(STRING(nV,1),R_nV,AzulTit,White);XAB(ST
RING(Sv,1),R_Sv,AzulTit,White);XAB(STRING(Lverd,1),R_Lverd,AzulTit,White);XAB
(STRING(Lvold,1),R_Lvold,AzulTit,White);XAB(STRING(LCalzd,1),R_LCalzd,AzulTit,
White);XAB(STRING(Ldex,1),R_dex,AzulTit,White);FCAL_TA();RECT_P({155,101},
{320,114},Fondo);TEXTOUT_P(ROUND(AP,2)+"
m",155,101,2,AzulTit);TEXTOUT_P(ROUND(AP,2)+"
m",155,101,2,AzulTit);V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:
=ROUND(V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw
+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);L
ocal
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);WAIT(-1)▶AAC;IF TYPE(AAC)=6 THEN
IF AAC(1)==0 THEN mx:=AAC(2);my:=AAC(3);CASE IF
R_nCarr(1,1)<mx<R_nCarr(2,1)AND R_nCarr(1,2)<my<R_nCarr(2,2)THEN
GGRTYH(nCarr,R_nCarr,"Ingrese la cantidad de carriles
(und)")▶nCarr;nCarr:=IP(nCarr);LCalzd:=ROUND(LCarr*nCarr,2);AP:=ROUND(LCalzd
+2*(Lverd),2);nV:=nCarr+1;Sv:=ROUND((AP-2*Lvold)/(nV-1),2);END;IF
R_LCarr(1,1)<mx<R_LCarr(2,1)AND R_LCarr(1,2)<my<R_LCarr(2,2)THEN
GGRTYH(LCarr,R_LCarr,"Longitud de cada carril
(m)")▶LCarr;LCalzd:=ROUND(LCarr*nCarr,2);AP:=ROUND(LCalzd+2*(Lverd),2);nV:=
IP((AP-2*Lvold)/Sv+1);Sv:=ROUND((AP-2*Lvold)/(nV-1),2);END;IF
R_LCalzd(1,1)<mx<R_LCalzd(2,1)AND R_LCalzd(1,2)<my<R_LCalzd(2,2)THEN
GGRTYH(LCalzd,R_LCalzd,"Longitud de la calzada
(m)")▶LCalzd;AP:=ROUND(LCalzd+2*(Lverd),2);END;IF
R_nV(1,1)<mx<R_nV(2,1)AND R_nV(1,2)<my<R_nV(2,2)THEN
GGRTYH(nV,R_nV,"Numero de vigas (und)")▶nV;nV:=IP(nV);Sv:=ROUND((AP-
2*Lvold)/(nV-1),2);END;IF R_Sv(1,1)<mx<R_Sv(2,1)AND
R_Sv(1,2)<my<R_Sv(2,2)THEN GGRTYH(Sv,R_Sv,"Espacimiento de viga, de eje a eje
(m)")▶Sv;nV:=IP((AP-2*Lvold)/Sv+1);END;IF R_Lverd(1,1)<mx<R_Lverd(2,1)AND
R_Lverd(1,2)<my<R_Lverd(2,2)THEN GGRTYH(Lverd,R_Lverd,"Longitud de la vereda
(m)")▶Lverd;AP:=ROUND(LCalzd+2*(Lverd),2);END;IF
R_Lvold(1,1)<mx<R_Lvold(2,1)AND R_Lvold(1,2)<my<R_Lvold(2,2)THEN
GGRTYH(Lvold,R_Lvold,"Longitud del volado
(m)")▶Lvold;AP:=ROUND(LCalzd+2*(Lverd),2);nV:=IP((AP-
2*Lvold)/Sv+1);Sv:=ROUND((AP-2*Lvold)/(nV-1),2);END;IF
R_dex(1,1)<mx<R_dex(2,1)AND R_dex(1,2)<my<R_dex(2,2)THEN
GGRTYH(Ldex,R_dex,"Distancia de extremo de losa al eje de la viga exterior
(m)")▶Ldex;END;END;END;ELSE IF AAC=4 THEN BREAK;END END;UNTIL
0;END;FDT_VI()BEGIN LOCAL
R_bfs:={},R_bfi:={},R_tfs:={},R_tfi:={},R_hc:={},R_tw:={},R_bp:={},R_tp:={};LOCA
L
R_d:={},R_As:={},R_P:={},R_Ap:={},R_Icg:={},R_Sx:={},R_Ycg:={},R_Lp:={};LOC
AL R_Pvig:={},R_Pp:={},R_Peso:={};LOCAL mx,my;RECT(Fondo);RECT_P({0,1},
{320,17},DarkBlue,AzulTit);Tta();V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_t
fi,2);V_Ap:=ROUND(V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);TEXTOUT_P("bfs:",160,27,2);TEXTOUT_
P("bfi:",240,27,2);R_bfs:={{185,25},{225,40}};R_bfi:={{265,25},
{305,40}};TEXTOUT_P("tfs:",160,47,2);TEXTOUT_P("tfi:",240,47,2);R_tfs:={{185,45},
{225,60}};R_tfi:={{265,45},
{305,60}};TEXTOUT_P("hc:",160,67,2);TEXTOUT_P("tw:",240,67,2);R_hc:={{185,65},
{225,80}};R_tw:={{265,65},
{305,80}};TEXTOUT_P("bp:",160,87,2);TEXTOUT_P("tp:",240,87,2);R_bp:={{185,85},
{225,100}};R_tp:={{265,85},
{305,100}};TEXTOUT_P("Lp:",160,107,2);R_Lp:={{185,105},{225,120}};LOCAL
cTxt,shm:=0;RECT_P({1,25},{151,220},AzulTit,White);REPEAT
FSECVI_A();RECT_P({240,110},{320,124},Fondo);IF shm==3 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("P= "+V_P+"
kg/m",240,110,1,cTxt);R_P:={{240,110},{320,124}};RECT_P({160,123},
{235,137},Fondo);IF shm==1 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("A= "+V_As+"
cm2",160,123,1,cTxt);R_As:={{160,123},{235,137}};RECT_P({240,123},
{320,137},Fondo);IF shm==2 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ap= "+V_Ap+"
cm2",240,123,1,cTxt);R_Ap:={{240,123},{320,137}};RECT_P({160,137},
{340,152},Fondo);IF shm==4 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("I_cg= "+V_Icg+"
cm4",160,137,1,cTxt);R_Icg:={{160,137},{340,152}};RECT_P({160,152},
{340,167},Fondo);IF shm==5 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Sx= "+V_Sx+"
cm3",160,152,1,cTxt);R_Sx:={{160,152},{340,167}};RECT_P({160,167},
{340,182},Fondo);IF shm==6 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ycg= "+V_Ycg+"
cm",160,167,1,cTxt);R_Ycg:={{160,167},{340,182}};RECT_P({160,182},
{340,197},Fondo);IF shm==7 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pvig= "+V_Pvig+"
tn",160,182,1,cTxt);R_Pvig:={{160,182},{340,197}};RECT_P({160,197},
{340,212},Fondo);IF shm==8 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pp= "+V_Pp+"
tn",160,197,1,cTxt);R_Pp:={{160,197},{340,212}};RECT_P({160,212},
{342,227},Fondo);IF shm==9 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);R_Peso:={{160,212},
{342,227}};XAB(STRING(V_bfs,1),R_bfs,AzulTit,White);XAB(STRING(V_bfi,1),R_bfi,
AzulTit,White);XAB(STRING(V_tfs,1),R_tfs,AzulTit,White);XAB(STRING(V_tfi,1),R_tf
i,AzulTit,White);XAB(STRING(V_hc,1),R_hc,AzulTit,White);XAB(STRING(V_tw,1),R_
tw,AzulTit,White);XAB(STRING(V_bp,1),R_bp,AzulTit,White);XAB(STRING(V_tp,1),
R_tp,AzulTit,White);XAB(STRING(V_Lp,1),R_Lp,AzulTit,White);V_As:=ROUND(V_bf
s*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,2);V_P:=ROUND(PE
_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);WAIT(-1)▶AAC;IF TYPE(AAC)=6 THEN
IF AAC(1)==0 THEN mx:=AAC(2);my:=AAC(3);CASE IF
R_bfs(1,1)<mx<R_bfs(2,1)AND R_bfs(1,2)<my<R_bfs(2,2)THEN
GGRTYH(V_bfs,R_bfs,"Ancho de ala patin superior
(cm)")▶V_bfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bfi(1,1)<mx<R_bfi(2,1)AND R_bfi(1,2)<my<R_bfi(2,2)THEN
GGRTYH(V_bfi,R_bfi,"Ancho de ala patin inferior
(cm)")▶V_bfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfs(1,1)<mx<R_tfs(2,1)AND R_tfs(1,2)<my<R_tfs(2,2)THEN
GGRTYH(V_tfs,R_tfs,"Espesor de ala patin superior
(cm)")▶V_tfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfi(1,1)<mx<R_tfi(2,1)AND R_tfi(1,2)<my<R_tfi(2,2)THEN
GGRTYH(V_tfi,R_tfi,"Espesor de ala patin inferior
(cm)")▶V_tfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_hc(1,1)<mx<R_hc(2,1)AND R_hc(1,2)<my<R_hc(2,2)THEN
GGRTYH(V_hc,R_hc,"Altura del alma (cm)")▶V_hc;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tw(1,1)<mx<R_tw(2,1)AND
R_tw(1,2)<my<R_tw(2,2)THEN GGRTYH(V_tw,R_tw,"Espesor del alma
(cm)")▶V_tw;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bp(1,1)<mx<R_bp(2,1)AND R_bp(1,2)<my<R_bp(2,2)THEN
GGRTYH(V_bp,R_bp,"Ancho de la platabanda (cm)")▶V_bp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tp(1,1)<mx<R_tp(2,1)AND
R_tp(1,2)<my<R_tp(2,2)THEN GGRTYH(V_tp,R_tp,"Espesor de la platabanda patin
inferior (cm)")▶V_tp;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_Lp(1,1)<mx<R_Lp(2,1)AND R_Lp(1,2)<my<R_Lp(2,2)THEN
GGRTYH(V_Lp,R_Lp,"Longitud de platabanda (m)")▶V_Lp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_As(1,1)<mx<R_As(2,1)AND
R_As(1,2)<my<R_As(2,2)THEN TGE("Area de viga metalica y platabanda","
="+V_As);shm:=1;END;IF R_Ap(1,1)<mx<R_Ap(2,1)AND
R_Ap(1,2)<my<R_Ap(2,2)THEN TGE("Area de la platabanda","
="+V_Ap);shm:=2;END;IF R_P(1,1)<mx<R_P(2,1)AND R_P(1,2)<my<R_P(2,2)THEN
TGE("Peso de viga/metro (kg/m)"," ="+V_P);shm:=3;END;IF
R_Icg(1,1)<mx<R_Icg(2,1)AND R_Icg(1,2)<my<R_Icg(2,2)THEN TGE("Momento de
inercia (vig+plat)"," ="+V_Icg);shm:=4;END;IF R_Sx(1,1)<mx<R_Sx(2,1)AND
R_Sx(1,2)<my<R_Sx(2,2)THEN TGE("Modulo seccion (ala inferior)","
="+V_Sx);shm:=5;END;IF R_Ycg(1,1)<mx<R_Ycg(2,1)AND
R_Ycg(1,2)<my<R_Ycg(2,2)THEN TGE("H de fibra inf. al c.g.","
="+V_Ycg);shm:=6;END;IF R_Pvig(1,1)<mx<R_Pvig(2,1)AND
R_Pvig(1,2)<my<R_Pvig(2,2)THEN TGE("Peso de vigas longitudinales","
="+V_Pvig);shm:=7;END;IF R_Pp(1,1)<mx<R_Pp(2,1)AND
R_Pp(1,2)<my<R_Pp(2,2)THEN TGE("Peso de platabandas longitudinales","
="+V_Pp);shm:=8;END;IF R_Peso(1,1)<mx<R_Peso(2,1)AND
R_Peso(1,2)<my<R_Peso(2,2)THEN TGE("Peso total de viga + platabanda","
="+V_Peso);shm:=9;END;END;END;ELSE IF AAC=4 THEN BREAK;END
END;UNTIL 0;END;FSVI_B()BEGIN LOCAL
h,hcF,tA,tB;V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(
V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);LOCAL esc;LOCAL xc:=76,yc:=122.5;IF
V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=155/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=155/V_d;END;END;LOCAL
Gp:=G0;GVigaI(xc,yc,esc,Gp);END;FCAL_TA()BEGIN LOCAL
esc,Lverd_e,xc_e,yc_e,LCalzd_e,t_e,tv_e;LOCAL
AP_e,Lvold_e,b_e,h_e,Sv_e;esc:=280/AP;xc_e:=160;yc_e:=167.5;LCalzd_e:=LCalzd*esc;
Lverd_e:=Lverd*esc;AP_e:=AP*esc;t_e:=5;tv_e:=10;Lvold_e:=Lvold*esc;Sv_e:=Sv*esc;
GCalzd(LCalzd_e,xc_e,yc_e,t_e,Black);GVerd(Lverd_e,LCalzd_e,xc_e,yc_e,tv_e,t_e,Blac
k);GVerd(-Lverd_e,-
LCalzd_e,xc_e,yc_e,tv_e,t_e,Black);b_e:=10;h_e:=40;PosVig(AP_e,Lvold_e,b_e,h_e,xc_e,
yc_e,t_e,Sv_e,Black);END;GVerd(LV,LC,x,y,tv,t,col)BEGIN LOCAL
x1,x2,x3,x4,x5;LOCAL y1,y2,y3,y4,y5;x1:=x-LC/2;x2:=x1;x3:=x1-LV;x4:=x3;x5:=x1-
0.1*LV;y1:=y-t/2;y2:=y1+t;y3:=y2;y4:=y3-
tv;y5:=y4;LINE_P(x1,y1,x2,y2,col);LINE_P(x2,y2,x3,y3,col);LINE_P(x3,y3,x4,y4,col);LI
NE_P(x4,y4,x5,y5,col);LINE_P(x5,y5,x1,y1,col);LINE_P(x3,y-t/2,x1,y-
t/2,col);END;GCalzd(L,xc_r,yc_r,t,col)BEGIN LOCAL x,x2,y,y2;x2:=xc_r-
L/2;x:=xc_r+L/2;y2:=yc_r+t/2;y:=yc_r-
t/2;LINE_P(x,y,x2,y,col);LINE_P(x,y2,x2,y2,col);LINE_P(x,y,x,y2,col);LINE_P(x2,y,x2,y
2,col);END;PosVig(LTv,Vv,b,h,x,y,t,S,col)BEGIN LOCAL x1,x2,x3,i;LOCAL
y1,y2,y3;x1:=x-LTv/2+Vv;y1:=y;GVigT(b,h,x1,y1,t,col);x2:=x+LTv/2-
Vv;y2:=y;GVigT(b,h,x2,y2,t,col);FOR i:=1 TO nV-2 DO x3:=x1+S*i;y3:=y;IF
odd(nV)==1 THEN GVigT(b,h,x3,y3,t,col)ELSE
GVigT(b,h,x3,y3,t,col)END;END;END;GVigT(b,h,x,y,t,col)BEGIN LOCAL
x1,x2,x3,x4,x5;LOCAL y1,y2,y3,y4,y5;x1:=x-
b/2;x2:=x+b/2;x3:=x1;x4:=x2;y1:=y+t/2;y2:=y+t/2;y3:=y+h;y4:=y3;LINE_P(x1,y1,x2,y2,c
ol);LINE_P(x2,y2,x4,y4,col);LINE_P(x3,y3,x4,y4,col);LINE_P(x3,y3,x1,y1,col);LINE_P(
x,y-10,x,y+h+10,Plomo);END;FDAT_PRED()BEGIN LOCAL
R_LP:={},R_hV:={},R_hc:={},R_tL:={};LOCAL mx,my;RECT(Fondo);RECT_P({0,1},
{320,17},DarkBlue,AzulTit);TEXTOUT_P("",70,3,2,White);TEXTOUT_P("L=",10,28,2);
TEXTOUT_P("Peralte
Viga:",5,48,2);TEXTOUT_P("h=",10,63,2);TEXTOUT_P("hc=",10,83,2);TEXTOUT_P("
Espesor de
losa:",5,103,2);TEXTOUT_P("t1=",10,118,2);TEXTOUT_P("t2=",10,138,2);TEXTOUT_
P("t=",110,128,2);R_LP:={{35,25},{75,40}};R_hV:={{105,60},
{160,75}};R_hc:={{105,80},{160,95}};R_tL:={{125,125},{160,140}};REPEAT
XAB(STRING(LP,1),R_LP,AzulTit,White);XAB(STRING(hV,1),R_hV,AzulTit,White);X
AB(STRING(hc,1),R_hc,AzulTit,White);XAB(STRING(tL,1),R_tL,AzulTit,White);WAIT
(-1)▶AAC;IF TYPE(AAC)=6 THEN IF AAC(1)==0 THEN
mx:=AAC(2);my:=AAC(3);CASE IF R_LP(1,1)<mx<R_LP(2,1)AND
R_LP(1,2)<my<R_LP(2,2)THEN GGRTYH(LP,R_LP,"Ingrese la longitud del puente
(m)")▶LP;FPRE_A(LP);END;IF R_hV(1,1)<mx<R_hV(2,1)AND
R_hV(1,2)<my<R_hV(2,2)THEN GGRTYH(hV,R_hV,"Ingrese el peralte minimo de la
viga (cm)")▶hV;FPRE_B(LP);END;IF R_hc(1,1)<mx<R_hc(2,1)AND
R_hc(1,2)<my<R_hc(2,2)THEN GGRTYH(hc,R_hc,"Ingrese el peralte minimo de la viga
compuesta (cm)")▶hc;FPRE_C(LP);END;IF R_tL(1,1)<mx<R_tL(2,1)AND
R_tL(1,2)<my<R_tL(2,2)THEN GGRTYH(tL,R_tL,"Elija un espesor para la losa
(cm)")▶tL;END;END;END;ELSE IF AAC=4 THEN BREAK;END END;UNTIL
0;V_hc:=hV-V_tfs-V_tfi;END;FPRE_A(L)BEGIN LOCAL
h,hcF,tA,tB;h:=1/30*100*L;hcF:=1/25*100*L;tA:=hcF-
h;tB:=(0.10+Sv/30)*100;DatA_Pred:={h,hc,tA,tB};RECT_P({28,63},
{104,78},Fondo);TEXTOUT_P(ROUND(h,2)+" cm"+" ➩ ",28,63,2);RECT_P({33,83},
{104,98},Fondo);TEXTOUT_P(ROUND(hcF,2)+" cm"+" ➩
",33,83,2);RECT_P({29,118},{104,133},Fondo);TEXTOUT_P(ROUND(tA,2)+"
cm",29,118,2);RECT_P({29,138},{104,153},Fondo);TEXTOUT_P(ROUND(tB,2)+"
cm",29,138,2);hV:=ROUND(h,2);hc:=ROUND(hcF,2);IF tA<tB THEN
tL:=CEILING(tA);ELSE
tL:=CEILING(tB);END;Lviga:=LP+1.25;END;FPRE_B(L)BEGIN LOCAL tA,tB;tA:=hc-
hV;tB:=(0.10+Sv/30)*100;RECT_P({29,118},
{104,133},Fondo);TEXTOUT_P(ROUND(tA,2)+" cm",29,118,2);IF tA<tB THEN
tL:=CEILING(tA);ELSE
tL:=CEILING(tB);END;Lviga:=LP+1.25;END;FPRE_C(L)BEGIN LOCAL tA,tB;tA:=hc-
hV;tB:=(0.10+Sv/30)*100;RECT_P({29,118},
{104,133},Fondo);TEXTOUT_P(ROUND(tA,2)+" cm",29,118,2);IF tA<tB THEN
tL:=CEILING(tA);ELSE
tL:=CEILING(tB);END;Lviga:=LP+1.25;END;FDAT_VI()BEGIN LOCAL
R_bfs:={},R_bfi:={},R_tfs:={},R_tfi:={},R_hc:={},R_tw:={},R_bp:={},R_tp:={};LOCA
L
R_d:={},R_As:={},R_P:={},R_Ap:={},R_Icg:={},R_Sx:={},R_Ycg:={},R_Lp:={};LOC
AL R_Pvig:={},R_Pp:={},R_Peso:={};LOCAL mx,my;RECT(Fondo);RECT_P({0,1},
{320,17},DarkBlue,AzulTit);Tta();TEXTOUT_P("bfs:",160,27,2);TEXTOUT_P("bfi:",240
,27,2);R_bfs:={{185,25},{225,40}};R_bfi:={{265,25},
{305,40}};TEXTOUT_P("tfs:",160,47,2);TEXTOUT_P("tfi:",240,47,2);R_tfs:={{185,45},
{225,60}};R_tfi:={{265,45},
{305,60}};TEXTOUT_P("hc:",160,67,2);TEXTOUT_P("tw:",240,67,2);R_hc:={{185,65},
{225,80}};R_tw:={{265,65},
{305,80}};TEXTOUT_P("bp:",160,87,2);TEXTOUT_P("tp:",240,87,2);R_bp:={{185,85},
{225,100}};R_tp:={{265,85},
{305,100}};TEXTOUT_P("Lp:",160,107,2);R_Lp:={{185,105},{225,120}};LOCAL
cTxt,shm:=0;RECT_P({1,25},{151,220},AzulTit,White);REPEAT
FSECVI_A();RECT_P({240,110},{320,124},Fondo);IF shm==3 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("P= "+V_P+"
kg/m",240,110,1,cTxt);R_P:={{240,110},{320,124}};RECT_P({160,123},
{235,137},Fondo);IF shm==1 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("A= "+V_As+"
cm2",160,123,1,cTxt);R_As:={{160,123},{235,137}};RECT_P({240,123},
{320,137},Fondo);IF shm==2 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ap= "+V_Ap+"
cm2",240,123,1,cTxt);R_Ap:={{240,123},{320,137}};RECT_P({160,137},
{340,152},Fondo);IF shm==4 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("I_cg= "+V_Icg+"
cm4",160,137,1,cTxt);R_Icg:={{160,137},{340,152}};RECT_P({160,152},
{340,167},Fondo);IF shm==5 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Sx= "+V_Sx+"
cm3",160,152,1,cTxt);R_Sx:={{160,152},{340,167}};RECT_P({160,167},
{340,182},Fondo);IF shm==6 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Ycg= "+V_Ycg+"
cm",160,167,1,cTxt);R_Ycg:={{160,167},{340,182}};RECT_P({160,182},
{340,197},Fondo);IF shm==7 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pvig= "+V_Pvig+"
tn",160,182,1,cTxt);R_Pvig:={{160,182},{340,197}};RECT_P({160,197},
{340,212},Fondo);IF shm==8 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Pp= "+V_Pp+"
tn",160,197,1,cTxt);R_Pp:={{160,197},{340,212}};RECT_P({160,212},
{342,227},Fondo);IF shm==9 THEN cTxt:=Red;ELSE
cTxt:=AzulTit;END;TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);TEXTOUT_P("Peso.Viga= "+V_Peso+"
tn",160,212,1,cTxt);R_Peso:={{160,212},
{342,227}};XAB(STRING(V_bfs,1),R_bfs,AzulTit,White);XAB(STRING(V_bfi,1),R_bfi,
AzulTit,White);XAB(STRING(V_tfs,1),R_tfs,AzulTit,White);XAB(STRING(V_tfi,1),R_tf
i,AzulTit,White);XAB(STRING(V_hc,1),R_hc,AzulTit,White);XAB(STRING(V_tw,1),R_
tw,AzulTit,White);XAB(STRING(V_bp,1),R_bp,AzulTit,White);XAB(STRING(V_tp,1),
R_tp,AzulTit,White);XAB(STRING(V_Lp,1),R_Lp,AzulTit,White);WAIT(-1)▶AAC;IF
TYPE(AAC)=6 THEN IF AAC(1)==0 THEN mx:=AAC(2);my:=AAC(3);CASE IF
R_bfs(1,1)<mx<R_bfs(2,1)AND R_bfs(1,2)<my<R_bfs(2,2)THEN
GGRTYH(V_bfs,R_bfs,"Ancho de ala patin superior
(cm)")▶V_bfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bfi(1,1)<mx<R_bfi(2,1)AND R_bfi(1,2)<my<R_bfi(2,2)THEN
GGRTYH(V_bfi,R_bfi,"Ancho de ala patin inferior
(cm)")▶V_bfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfs(1,1)<mx<R_tfs(2,1)AND R_tfs(1,2)<my<R_tfs(2,2)THEN
GGRTYH(V_tfs,R_tfs,"Espesor de ala patin superior
(cm)")▶V_tfs;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_tfi(1,1)<mx<R_tfi(2,1)AND R_tfi(1,2)<my<R_tfi(2,2)THEN
GGRTYH(V_tfi,R_tfi,"Espesor de ala patin inferior
(cm)")▶V_tfi;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_hc(1,1)<mx<R_hc(2,1)AND R_hc(1,2)<my<R_hc(2,2)THEN
GGRTYH(V_hc,R_hc,"Altura del alma (cm)")▶V_hc;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tw(1,1)<mx<R_tw(2,1)AND
R_tw(1,2)<my<R_tw(2,2)THEN GGRTYH(V_tw,R_tw,"Espesor del alma
(cm)")▶V_tw;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_bp(1,1)<mx<R_bp(2,1)AND R_bp(1,2)<my<R_bp(2,2)THEN
GGRTYH(V_bp,R_bp,"Ancho de la platabanda (cm)")▶V_bp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_tp(1,1)<mx<R_tp(2,1)AND
R_tp(1,2)<my<R_tp(2,2)THEN GGRTYH(V_tp,R_tp,"Espesor de la platabanda patin
inferior (cm)")▶V_tp;shm:=0;RECT_P({1,25},{151,220},AzulTit,White);END;IF
R_Lp(1,1)<mx<R_Lp(2,1)AND R_Lp(1,2)<my<R_Lp(2,2)THEN
GGRTYH(V_Lp,R_Lp,"Longitud de platabanda (m)")▶V_Lp;shm:=0;RECT_P({1,25},
{151,220},AzulTit,White);END;IF R_As(1,1)<mx<R_As(2,1)AND
R_As(1,2)<my<R_As(2,2)THEN TGE("Area de viga metalica y platabanda","
="+V_As);shm:=1;END;IF R_Ap(1,1)<mx<R_Ap(2,1)AND
R_Ap(1,2)<my<R_Ap(2,2)THEN TGE("Area de la platabanda","
="+V_Ap);shm:=2;END;IF R_P(1,1)<mx<R_P(2,1)AND R_P(1,2)<my<R_P(2,2)THEN
TGE("Peso de viga/metro (kg/m)"," ="+V_P);shm:=3;END;IF
R_Icg(1,1)<mx<R_Icg(2,1)AND R_Icg(1,2)<my<R_Icg(2,2)THEN TGE("Momento de
inercia (vig+plat)"," ="+V_Icg);shm:=4;END;IF R_Sx(1,1)<mx<R_Sx(2,1)AND
R_Sx(1,2)<my<R_Sx(2,2)THEN TGE("Modulo seccion (ala inferior)","
="+V_Sx);shm:=5;END;IF R_Ycg(1,1)<mx<R_Ycg(2,1)AND
R_Ycg(1,2)<my<R_Ycg(2,2)THEN TGE("H de fibra inf. al c.g.","
="+V_Ycg);shm:=6;END;IF R_Pvig(1,1)<mx<R_Pvig(2,1)AND
R_Pvig(1,2)<my<R_Pvig(2,2)THEN TGE("Peso de vigas longitudinales","
="+V_Pvig);shm:=7;END;IF R_Pp(1,1)<mx<R_Pp(2,1)AND
R_Pp(1,2)<my<R_Pp(2,2)THEN TGE("Peso de platabandas longitudinales","
="+V_Pp);shm:=8;END;IF R_Peso(1,1)<mx<R_Peso(2,1)AND
R_Peso(1,2)<my<R_Peso(2,2)THEN TGE("Peso total de viga + platabanda","
="+V_Peso);shm:=9;END;END;END;ELSE IF AAC=4 THEN BREAK;END
END;UNTIL 0;END;FSECVI_B()BEGIN LOCAL
h,hcF,tA,tB;V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(
V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);LOCAL esc;LOCAL xc:=76,yc:=122.5;IF
V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=155/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=155/V_d;END;END;LOCAL
Gp:=G0;GVigaI(xc,yc,esc,Gp);END;FSECVI_A()BEGIN LOCAL
h,hcF,tA,tB;V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(
V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);LOCAL esc;LOCAL xc:=76,yc:=122.5;IF
V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=155/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=155/V_d;END;END;LOCAL
Gp:=G0;GVigaI(xc,yc,esc,Gp);END;GVigaI(x,y,esc,Gp)BEGIN LOCAL
H_vig:=V_d*esc;LOCAL hfs,bfs,yfs;bfs:=esc*V_bfs;hfs:=esc*V_tfs;yfs:=y-
H_vig/2+hfs/2;GRec(bfs,hfs,x,yfs,RedA,RedB,Gp);LOCAL
bal,hal,yal;bal:=esc*V_tw;hal:=esc*V_hc;yal:=y+V_tfs-
V_tfi;GRec(bal,hal,x,yal,RedA,RedB,Gp);LOCAL
bfi,hfi,yfi;bfi:=esc*V_bfi;hfi:=esc*V_tfi;yfi:=y+H_vig/2-
hfi/2;GRec(bfi,hfi,x,yfi,RedA,RedB,Gp);LOCAL
bpl,hpl,ypl;bpl:=esc*V_bp;hpl:=esc*V_tp;ypl:=y+H_vig/2+hpl/2;GRec(bpl,hpl,x,ypl,Red,
Red,Gp);END;GRec(b,h,x,y,borde,relleno,Gp)BEGIN LOCAL x1,x2,x3,x4,x5;LOCAL
y1,y2,y3,y4,y5;x1:=x-b/2;x2:=x1+b;x3:=x1;x4:=x2;y1:=y-
h/2;y2:=y1;y3:=y+h/2;y4:=y3;RECT_P(Gp,x1,y1,x4,y4,borde,relleno);END;FVERFVI()B
EGIN LOCAL x,y;DIMGROB_P(G2,320,2880,Fondo);LOCAL Viga;IF tViga==0 THEN
Viga:="EXTERIOR";ELSE Viga:="INTERIOR";END;LOCAL s:=0;RECT_P(G2,{0,1},
{320,17},DarkBlue,AzulTit);TEXTOUT_P("VERIFICACION DE LA VIGA
"+Viga,G2,80,s+3,2,White);TEXTOUT_P("1.PROPORCION DEL
ALMA",G2,5,s+25,3,CTexto2);s:=s+25;TEXTOUT_P("Dv/tw ≤
150",G2,35,s+20,2,CTexto);IF V_hc/V_tw ≤ 150 THEN TEXTOUT_P(" ☞
"+ROUND(V_hc/V_tw,2)+" ≤ 150 ( CUMPLE ‼ )",G2,35,s+40,2,CTexto);ELSE
TEXTOUT_P(" ☞ "+ROUND(V_hc/V_tw,2)+" ≤ 150 ( NO CUMPLE
‼ )",G2,35,s+40,2,Red);END;s:=s+40;TEXTOUT_P("2.PROPORCION EN LAS
ALAS",G2,5,s+20,3,CTexto2);TEXTOUT_P("A) Ancho de las alas (Relacion de
esbeltez)",G2,20,s+40,2,CTexto);TEXTOUT_P("Evitar distorsiones en el ala producidos
por el proceso",G2,35,s+60,2,CTexto);TEXTOUT_P("de
soldadura",G2,35,s+80,2,CTexto);s:=s+80;TEXTOUT_P("bf/2*tf ≤
12",G2,35,s+20,2,CTexto);s:=s+20;TEXTOUT_P("» Ala
superior:",G2,30,s+20,2,CTexto2);IF V_bfs/(2*V_tfs)≤ 12 THEN TEXTOUT_P(" ☞
"+ROUND(V_bfs/(2*V_tfs),2)+" ≤ 150 ( CUMPLE ‼ )",G2,35,s+40,2,CTexto);ELSE
TEXTOUT_P(" ☞ "+ROUND(V_bfs/(2*V_tfs),2)+" ≥ 150 ( NO CUMPLE
‼ )",G2,35,s+40,2,Red);END;s:=s+40;TEXTOUT_P("» Ala
Inferior:",G2,30,s+20,2,CTexto2);IF V_bfi/(2*V_tfi)≤ 12 THEN TEXTOUT_P(" ☞
"+ROUND(V_bfi/(2*V_tfi),2)+" ≤ 150 ( CUMPLE ‼ )",G2,35,s+40,2,CTexto);ELSE
TEXTOUT_P(" ☞ "+ROUND(V_bfi/(2*V_tfi),2)+" ≥ 150 ( NO CUMPLE
‼ )",G2,35,s+40,2,Red);END;s:=s+40;TEXTOUT_P("B) Relación entre ancho del ala y
altura del alma",G2,20,s+20,2,CTexto);TEXTOUT_P("Para que se cumplan las ecuaciones
que determinan la ",G2,35,s+40,2,CTexto);TEXTOUT_P("capacidad a
flexión",G2,35,s+60,2,CTexto);TEXTOUT_P("» base minima de las alas sup. e
inf.:",G2,30,s+80,2,CTexto2);LOCAL
bf:=ROUND(MIN(V_bfs,V_bfi),2);TEXTOUT_P("Min(bfs,bfi) ="+bf+"
cm",G2,35,s+100,2,CTexto);s:=s+100;TEXTOUT_P("bf ≥ D/6",G2,35,s+20,2,CTexto);IF
bf ≥ V_hc/6 THEN TEXTOUT_P(" ☞ "+ROUND(bf,2)+" ≥ "+ROUND(V_hc/6,2)+"
( CUMPLE ‼ )",G2,35,s+40,2,CTexto);ELSE TEXTOUT_P(" ☞ "+ROUND(bf,2)+" ≤
"+ROUND(V_hc/6,2)+" ( NO CUMPLE
‼ )",G2,35,s+40,2,Red);END;s:=s+40;TEXTOUT_P("C) Mínimo espesor de las
alas",G2,20,s+20,2,CTexto);TEXTOUT_P("» base minima de las alas sup. e
inf.:",G2,30,s+40,2,CTexto2);LOCAL
tf:=ROUND(MIN(V_tfs,V_tfi),2);TEXTOUT_P("Min(bfs,bfi) ="+tf+"
cm",G2,35,s+60,2,CTexto);s:=s+40;TEXTOUT_P("tf ≥ 1.1xtw",G2,35,s+60,2,CTexto);IF
tf ≥ 1.1*V_tw THEN TEXTOUT_P(" ☞ "+ROUND(tf,2)+" ≥
"+(1.1*ROUND(1.1*V_tw,2))+" ( CUMPLE ‼ )",G2,35,s+40,2,CTexto);ELSE
TEXTOUT_P(" ☞ "+ROUND(tf,2)+" ≤ "+(1.1*ROUND(1.1*V_tw,2))+" ( NO CUMPLE
‼ )",G2,35,s+40,2,Red);END;s:=s+60;TEXTOUT_P("D) Comprobacion si la seccion es
muy mono-simétricas",G2,20,s+20,2,CTexto);LOCAL WDC;TEXTOUT_P("1.1≥≤
CARGAS MUERTA [DC]",G2,15,s+80,2,CTexto2);x:=0;y:=0;LOCAL mx,my;REPEAT
WAIT(-1)▶AAC;IF TYPE(AAC)=6 THEN IF AAC(1)==0 THEN
mx:=x+AAC(2);my:=y+AAC(3);CASE IF FALSE THEN
END;END;BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;ELSE IF AAC=4 THEN
BREAK;END END;IF ISKEYDOWN(12)THEN
y:=MIN(y+120*ISKEYDOWN(12),2400);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;IF
ISKEYDOWN(2)THEN y:=MAX(y-
120*ISKEYDOWN(2),0);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);CONTINUE;END;UNTI
L 0;END;RCHK(Dato,RYJUI,ColorA,ColorB)BEGIN
RECT_P(RYJUI(1),RYJUI(2),ColorA,ColorB);TEXTOUT_P(Dato,RYJUI(1)+4,1);END;F
ANCHE()BEGIN LOCAL
x:=100,y:=100;DIMGROB_P(G2,5000,5000,Fondo);RECT_P(G2,{0,1},
{320,17},DarkBlue,AzulTit);TEXTOUT_P("ANCHO
EFECTIVO",G2,80,3,2,White);LOCAL Viga;IF tViga==0 THEN
Viga:="EXTERIOR";ELSE Viga:="INTERIOR";END;LOCAL
be1,be2,be3,be,be_I,be_E,s;LOCAL Ac_E,Ac_I,Io_E,Io_I,b_efect;s:=0;IF tViga==1
THEN TEXTOUT_P("1. ANCHO EFECTIVO
INTERIOR",G2,5,25,3,CTexto);be1:=ROUND(LP/Sv,2);IF be1 ≥ 5 THEN
be_I:=Sv*100;TEXTOUT_P("L/S= "+be1+" m ≥ 5
",G2,15,45,2,CTexto);TEXTOUT_P("be= "+be_I+" cm ⇨ Ancho
efectivo",G2,15,65,2,CTexto2);ELSE be_I:=1/5*LP*100;TEXTOUT_P("L/S= "+be1+" m
< 5 ",G2,15,45,2,CTexto);TEXTOUT_P("be= "+be_I+" cm ⇨ Ancho
efectivo",G2,15,65,2,CTexto2);END;LOCAL esc;LOCAL xc:=76,yc:=170;IF
V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=70/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=70/V_d;END;END;s:=s+65+90;b_efect:=be_I;ELSE TEXTOUT_P("1. ANCHO
EFECTIVO EXTERIOR",G2,5,25,3,CTexto);be1:=LP/Sv;IF be1 ≥ 5 THEN
be_I:=Sv*100;ELSE
be_I:=1/5*LP*100;END;be_E:=be_I/2+MIN(be_I/2,Lvold*100);TEXTOUT_P("be = "+
(ROUND(be_E,2))+" cm ⇨ Ancho efectivo",G2,15,45,2,CTexto2);LOCAL esc;LOCAL
xc:=76,yc:=170;IF V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=70/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=70/V_d;END;END;s:=s+45+90;b_efect:=be_E;END;TEXTOUT_P("2.
PROPIEDADES DE LA SECCION NO
COMPUESTA",G2,5,s+20,3,CTexto);TEXTOUT_P("» Area de los
elementos:",G2,20,s+40,2,CTexto2);TEXTOUT_P("Afs = "+A_fs+"
cm2",G2,35,s+60,2,CTexto);TEXTOUT_P("Aw = "+A_al+"
cm2",G2,35,s+80,2,CTexto);TEXTOUT_P("Afi = "+A_fi+"
cm2",G2,35,s+100,2,CTexto);TEXTOUT_P("Ap = "+A_pl+"
cm2",G2,35,s+120,2,CTexto);s:=s+100;TEXTOUT_P("» Distancia desde la fibra inferior a
centroide:",G2,20,s+40,2,CTexto2);TEXTOUT_P("yfs = "+ROUND(Y_fs,2)+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("yw = "+ROUND(Y_al,2)+"
cm",G2,35,s+80,2,CTexto);TEXTOUT_P("yfi = "+ROUND(Y_fi,2)+"
cm",G2,35,s+100,2,CTexto);TEXTOUT_P("ypl = "+ROUND(Y_pl,2)+"
cm",G2,35,s+120,2,CTexto);TEXTOUT_P("ycg = "+ROUND(V_Ycg,2)+"
cm",G2,35,s+140,2,CTexto);s:=s+120;TEXTOUT_P("» Momento de inercia alrededor del
eje X:",G2,20,s+40,2,CTexto2);TEXTOUT_P("Ixfs = "+ROUND(Io_fs,2)+"
cm4",G2,35,s+60,2,CTexto);TEXTOUT_P("Ixw = "+ROUND(Io_al,2)+"
cm4",G2,35,s+80,2,CTexto);TEXTOUT_P("Ixfi = "+ROUND(Io_fi,2)+"
cm4",G2,35,s+100,2,CTexto);TEXTOUT_P("Ixpl = "+ROUND(Io_pl,2)+"
cm4",G2,35,s+120,2,CTexto);TEXTOUT_P("Ixcg = "+ROUND(V_Icg,2)+"
cm4",G2,35,s+140,2,CTexto);s:=s+140;TEXTOUT_P("3. PROPIEDADES SECC. COMP.
A CORTO PLAZO",G2,5,s+20,3,CTexto);s:=s+20;TEXTOUT_P("» Relacion
modular:",G2,20,s+20,2,CTexto2);nAE:=ROUND(E_ace/Ec,3);TEXTOUT_P("n = Es/Ec
= "+nAE,G2,35,s+40,2,CTexto);IF FP(nAE)>=0.5 THEN
nAE:=ROUND(CEILING(nAE),3);ELSE nAE:=FLOOR(nAE)
+0.5;END;TEXTOUT_P("n = "+nAE,G2,35,s+60,2,CTexto2);s:=s+60;TEXTOUT_P("»
Ancho seccion equivalente de losa a Corto
Plazo:",G2,20,s+20,2,CTexto2);TEXTOUT_P("bs_ST = b_efectivo /
n",G2,35,s+40,2,CTexto);LOCAL bs_ST:=ROUND(b_efect/nAE,2);TEXTOUT_P("bs_ST
= "+bs_ST+" cm",G2,35,s+60,2,CTexto);TEXTOUT_P("» Area de la losa aquivalente a
Corto Plazo:",G2,20,s+80,2,CTexto2);LOCAL
As_ST:=ROUND(b_efect/nAE*tL,3);Io_E:=ROUND(b_efect/nAE*tL^3/12,3);TEXTOUT
_P("Area de la losa aquivalente :",G2,35,s+100,2,CTexto);TEXTOUT_P("As_ST = be / n *
t = "+As_ST+" cm2",G2,35,s+120,2,CTexto);TEXTOUT_P("Area gruesa de la secc.
compuesta a Corto Plazo",G2,35,s+140,2,CTexto);LOCAL
Ag_ST:=ROUND(A_fs+A_al+A_fi+A_pl+As_ST,2);TEXTOUT_P("Ag_ST = Asf + Asi +
Aw + Ap + As_ST = "+Ag_ST+" cm2",G2,35,s+160,2,CTexto);s:=s+160;TEXTOUT_P("»
Distancia desde fibra inferior a centroide de:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente a corto plazo",G2,35,s+40,2,CTexto);LOCAL
ys:=ROUND(5+V_tfs+V_tfi+V_hc+tL/2,2);TEXTOUT_P("ys = d + t_srec + ts/2 = "+ys+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL
ycg:=ROUND((A_fs*Y_fs+A_fi*Y_fi+A_al*Y_al+As_ST*ys)/(A_fs+A_fi+A_al+As_ST)
,2);TEXTOUT_P("ycg = A_fs*Y_fs + A_fi*Y_fi+ A_w*Y_w+As_ST*ys
",G2,35,s+100,2,CTexto);TEXTOUT_P("ycg = "+ycg+"
cm",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Momento de inercia de alrededor
de eje X para:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente",G2,35,s+40,2,CTexto);LOCAL
Ixs:=ROUND(bs_ST*tL^3/12,2);TEXTOUT_P("Ixs = (bs_ST + ts^3)/12 = "+Ixs+"
cm4",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL Ix_LT:=(Io_fs+A_fs*(Y_fs-ycg)^2)+
(Io_al+A_al*(Y_al-ycg)^2)+(Io_fi+A_fi*(Y_fi-ycg)^2)+(Io_pl+A_pl*(Y_pl-ycg)^2)+
(Ixs+As_ST*(ys-ycg)^2);Ix_LT:=ROUND(Ix_LT,2);TEXTOUT_P("Ix_LT = (Ixfs
+Afs(yfs-ycg)^2) + ... ",G2,35,s+100,2,CTexto);TEXTOUT_P("Ix_LT = "+Ix_LT+"
cm4",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Modulo elastico para la
seccion:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Dist. desde el centroide a la fibra mas
comprimida",G2,35,s+40,2,CTexto);LOCAL y_comp:=ROUND(hV-
ycg,2);TEXTOUT_P("yc = d1 - ycg = "+y_comp+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Dist. desde el centroide a la fibra mas
tracionada",G2,35,s+80,2,CTexto);LOCAL y_tracc:=ROUND(ycg,2);TEXTOUT_P("yt =
ycg = "+y_tracc+" cm",G2,35,s+100,2,CTexto);TEXTOUT_P("Mod. seccion elastico
alrededor eje mayor a comp.",G2,35,s+120,2,CTexto);LOCAL
S_LTc:=ROUND(Ix_LT/y_comp,2);TEXTOUT_P("S_LTc = Ix_LT/yc = "+S_LTc+"
cm3",G2,35,s+140,2,CTexto);TEXTOUT_P("Mod. seccion elastico alrededor eje mayor a
trac.",G2,35,s+160,2,CTexto);LOCAL
S_LTt:=ROUND(Ix_LT/y_tracc,2);TEXTOUT_P("S_LTt = Ix_LT/yt = "+S_LTt+"
cm3",G2,35,s+180,2,CTexto);s:=s+180;TEXTOUT_P("3. PROPIEDADES SECC. COMP.
A LARGO PLAZO",G2,5,s+20,3,CTexto);s:=s+20;TEXTOUT_P("» Relacion
modular:",G2,20,s+20,2,CTexto2);nAE:=ROUND(E_ace/Ec,3);TEXTOUT_P("n = Es/Ec
= "+nAE,G2,35,s+40,2,CTexto);IF FP(nAE)>=0.5 THEN
nAE:=ROUND(CEILING(nAE),3);ELSE nAE:=FLOOR(nAE)
+0.5;END;TEXTOUT_P("n = "+nAE,G2,35,s+60,2,CTexto2);s:=s+60;TEXTOUT_P("»
Ancho seccion equivalente de losa a Corto
Plazo:",G2,20,s+20,2,CTexto2);TEXTOUT_P("bs_ST = b_efectivo /
3*n",G2,35,s+40,2,CTexto);LOCAL
bs_ST:=ROUND(b_efect/(3*nAE),2);TEXTOUT_P("bs_ST = "+bs_ST+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("» Area de la losa aquivalente a Corto
Plazo:",G2,20,s+80,2,CTexto2);LOCAL
As_ST:=ROUND(b_efect/(3*nAE)*tL,3);Io_E:=ROUND(b_efect/nAE*tL^3/12,3);TEXT
OUT_P("Area de la losa aquivalente :",G2,35,s+100,2,CTexto);TEXTOUT_P("As_ST =
be / n * t = "+As_ST+" cm2",G2,35,s+120,2,CTexto);TEXTOUT_P("Area gruesa de la
secc. compuesta a Corto Plazo",G2,35,s+140,2,CTexto);LOCAL
Ag_ST:=ROUND(A_fs+A_al+A_fi+A_pl+As_ST,2);TEXTOUT_P("Ag_ST = Asf + Asi +
Aw + Ap + As_ST = "+Ag_ST+" cm2",G2,35,s+160,2,CTexto);s:=s+160;TEXTOUT_P("»
Distancia desde fibra inferior a centroide de:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente a corto plazo",G2,35,s+40,2,CTexto);LOCAL
ys:=ROUND(5+V_tfs+V_tfi+V_hc+tL/2,2);TEXTOUT_P("ys = d + t_srec + ts/2 = "+ys+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL
ycg:=ROUND((A_fs*Y_fs+A_fi*Y_fi+A_al*Y_al+As_ST*ys)/(A_fs+A_fi+A_al+As_ST)
,2);TEXTOUT_P("ycg = A_fs*Y_fs + A_fi*Y_fi+ A_w*Y_w+As_ST*ys
",G2,35,s+100,2,CTexto);TEXTOUT_P("ycg = "+ycg+"
cm",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Momento de inercia de alrededor
de eje X para:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente",G2,35,s+40,2,CTexto);LOCAL
Ixs:=ROUND(bs_ST*tL^3/12,2);TEXTOUT_P("Ixs = (bs_ST + ts^3)/12 = "+Ixs+"
cm4",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL Ix_LT:=(Io_fs+A_fs*(Y_fs-ycg)^2)+
(Io_al+A_al*(Y_al-ycg)^2)+(Io_fi+A_fi*(Y_fi-ycg)^2)+(Io_pl+A_pl*(Y_pl-ycg)^2)+
(Ixs+As_ST*(ys-ycg)^2);Ix_LT:=ROUND(Ix_LT,2);TEXTOUT_P("Ix_LT = (Ixfs
+Afs(yfs-ycg)^2) + ... ",G2,35,s+100,2,CTexto);TEXTOUT_P("Ix_LT = "+Ix_LT+"
cm4",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Modulo elastico para la
seccion:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Dist. desde el centroide a la fibra mas
comprimida",G2,35,s+40,2,CTexto);LOCAL y_comp:=ROUND(hV-
ycg,2);TEXTOUT_P("yc = d1 - ycg = "+y_comp+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Dist. desde el centroide a la fibra mas
tracionada",G2,35,s+80,2,CTexto);LOCAL y_tracc:=ROUND(ycg,2);TEXTOUT_P("yt =
ycg = "+y_tracc+" cm",G2,35,s+100,2,CTexto);TEXTOUT_P("Mod. seccion elastico
alrededor eje mayor a comp.",G2,35,s+120,2,CTexto);LOCAL
S_LTc:=ROUND(Ix_LT/y_comp,2);TEXTOUT_P("S_LTc = Ix_LT/yc = "+S_LTc+"
cm3",G2,35,s+140,2,CTexto);TEXTOUT_P("Mod. seccion elastico alrededor eje mayor a
trac.",G2,35,s+160,2,CTexto);LOCAL
S_LTt:=ROUND(Ix_LT/y_tracc,2);TEXTOUT_P("S_LTt = Ix_LT/yt = "+S_LTt+"
cm3",G2,35,s+180,2,CTexto);s:=s+180;TEXTOUT_P("4. CAL. DEL MOMENTO
PLASTICO DE LA SECCION",G2,5,s+20,3,CTexto);s:=s+20;TEXTOUT_P("» Ala
superior: compresion y ala inferior: trAAC",G2,20,s+20,2,CTexto2);LOCAL
bc:=V_bfs,tc:=V_tfs,bt:=V_bfi,tt:=V_tfi;TEXTOUT_P("bc = "+bc+" cm ⇒ Ala Sup.
",G2,35,s+40,2,CTexto);TEXTOUT_P("tc = "+tc+" cm ⇒ Ala Sup.
",G2,35,s+60,2,CTexto);TEXTOUT_P("bt = "+bt+" cm ⇒ Ala Inf.
",G2,35,s+80,2,CTexto);TEXTOUT_P("tt = "+tt+" cm ⇒ Ala Inf.
",G2,35,s+100,2,CTexto);TEXTOUT_P("» Fuerzas
plasticas",G2,20,s+120,2,CTexto2);s:=s+120;TEXTOUT_P("☞ Fuerza plastica de la losa
de concreto",G2,35,s+20,2,CTexto);LOCAL
Ps:=ROUND(0.85*fc*b_efect*tL/100,2);TEXTOUT_P(" Ps = 0.85*fc*beff*ts= "+Ps+"
kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("☞ Fuerza plastica de ala a
compresion",G2,35,s+20,2,CTexto);LOCAL
Pc:=ROUND(fy*bc*tc/100,2);TEXTOUT_P(" Pc = Fy*bc*tc= "+Pc+"
kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("☞ Fuerza plastica del
alma",G2,35,s+20,2,CTexto);LOCAL
Pw:=ROUND(fy*(V_tfs+V_tfi+V_hc)*V_tw/100,2);TEXTOUT_P(" Pw = Fy*D*tw=
"+Pw+" kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("☞ Fuerza plastica del ala a
trAAC",G2,35,s+20,2,CTexto);LOCAL Pt:=ROUND(fy*bt*tt/100,2);TEXTOUT_P(" Pt =
Fy*bt*tt= "+Pt+" kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("» Verificacion del
eje neutro",G2,20,s+20,2,CTexto2);LOCAL FPV,eqA;CASE IF(Pt+Pw)≥(Pc+Ps)THEN
TEXTOUT_P("CASO I: Eje neutro en el alma (Pt+Pw ≥
Pc+Ps)",G2,25,s+40,2,CTexto);FPV:=(Pt+Pw)/(Pc+Ps);eqA:="(Pt+Pw)/(Pc+Ps)";END;IF(
Pt+Pw+Pc)≥(Ps)THEN TEXTOUT_P("CASO II: Eje neutro en el ala superior (Pt+Pw+Pc

Ps)",G2,25,s+40,2,CTexto);FPV:=(Pt+Pw+Pc)/(Ps);eqA:="(Pt+Pw+Pc)/(Ps)";END;IF(Pt+
Pw+Pc)<(Ps)THEN TEXTOUT_P("CASO III: Eje neutro en la losa (Pt+Pw+Pc ≥
Ps)",G2,25,s+40,2,CTexto);FPV:=(Pt+Pw+Pc)/(Ps);eqA:="(Pt+Pw)/(Pc+Ps)";END;END;T
EXTOUT_P("Se utiliza la siguiente ecuacion:",G2,25,s+60,2,CTexto);TEXTOUT_P("Y
=ts*"+eqA,G2,35,s+80,2,CTexto);LOCAL YF:=ROUND(FPV*tL,2);TEXTOUT_P("Y
="+YF+" cm",G2,35,s+100,2,CTexto);s:=s+100;TEXTOUT_P("» Dist. desde el eje neutro
hasta la:",G2,20,s+20,2,CTexto2);TEXTOUT_P("☞ Fuerza plastica al ala de
compresion",G2,35,s+40,2,CTexto);LOCAL dc:=ROUND(tL+5+tc/2-
YF,2);TEXTOUT_P("dc = "+dc+" cm",G2,35,s+60,2,CTexto);TEXTOUT_P("☞ Fuerza
plastica en alma",G2,35,s+80,2,CTexto);LOCAL dw:=ROUND(tL+5+tc+
(V_tfs+V_tfi+V_hc)/2-YF,2);TEXTOUT_P("dw = "+dw+"
cm",G2,35,s+100,2,CTexto);TEXTOUT_P("☞ Fuerza plastica en ala a
trAAC",G2,35,s+120,2,CTexto);LOCAL dt:=ROUND(tL+5+tc+(V_tfs+V_tfi+V_hc)+tt/2-
YF,2);TEXTOUT_P("dt = "+dt+"
cm",G2,35,s+140,2,CTexto);s:=s+140;TEXTOUT_P("Momento plastico de la seccion
es:",G2,25,s+20,2,CTexto);TEXTOUT_P("Mpl =Ps*Y^2/(2*ts)+
(Pc*dc+Pw*dw+Pt*dt)"+eqA,G2,35,s+40,2,CTexto);LOCAL
Mpl:=ROUND(Ps*(YF/100)^2/(2*tL)+
(Pc*dc/100+Pw*dw/100+Pt*dt/100),2);TEXTOUT_P("Mpl = "+Mpl+"
kN.m",G2,35,s+60,2,CTexto);x:=0;y:=0;LOCAL mx,my;REPEAT WAIT(-1)▶AAC;IF
TYPE(AAC)=6 THEN IF AAC(1)==0 THEN mx:=x+AAC(2);my:=y+AAC(3);CASE IF
FALSE THEN END;END;BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;ELSE IF AAC=4
THEN BREAK;END END;IF ISKEYDOWN(12)THEN
y:=MIN(y+120*ISKEYDOWN(12),4760);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;IF
ISKEYDOWN(2)THEN y:=MAX(y-
120*ISKEYDOWN(2),0);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);CONTINUE;END;UNTI
L 0;END;FANCH()BEGIN LOCAL
x:=100,y:=100;DIMGROB_P(G2,5000,5000,Fondo);RECT_P(G2,{0,1},
{320,17},DarkBlue,AzulTit);TEXTOUT_P("ANCHO
EFECTIVO",G2,80,3,2,White);LOCAL Viga;IF tViga==0 THEN
Viga:="EXTERIOR";ELSE Viga:="INTERIOR";END;LOCAL
be1,be2,be3,be,be_I,be_E,s;LOCAL Ac_E,Ac_I,Io_E,Io_I,b_efect;s:=0;IF tViga==1
THEN TEXTOUT_P("1. ANCHO EFECTIVO
INTERIOR",G2,5,25,3,CTexto);be1:=ROUND(LP/Sv,2);IF be1 ≥ 5 THEN
be_I:=Sv*100;TEXTOUT_P("L/S= "+be1+" m ≥ 5
",G2,15,45,2,CTexto);TEXTOUT_P("be= "+be_I+" cm ⇨ Ancho
efectivo",G2,15,65,2,CTexto2);ELSE be_I:=1/5*LP*100;TEXTOUT_P("L/S= "+be1+" m
< 5 ",G2,15,45,2,CTexto);TEXTOUT_P("be= "+be_I+" cm ⇨ Ancho
efectivo",G2,15,65,2,CTexto2);END;LOCAL esc;LOCAL xc:=76,yc:=170;IF
V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=70/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=70/V_d;END;END;s:=s+65+90;b_efect:=be_I;ELSE TEXTOUT_P("1. ANCHO
EFECTIVO EXTERIOR",G2,5,25,3,CTexto);be1:=LP/Sv;IF be1 ≥ 5 THEN
be_I:=Sv*100;ELSE
be_I:=1/5*LP*100;END;be_E:=be_I/2+MIN(be_I/2,Lvold*100);TEXTOUT_P("be = "+
(ROUND(be_E,2))+" cm ⇨ Ancho efectivo",G2,15,45,2,CTexto2);LOCAL esc;LOCAL
xc:=76,yc:=170;IF V_bfs≥V_bfi THEN IF V_bfs≥V_d THEN esc:=120/V_bfs;ELSE
esc:=70/V_d;END;ELSE IF V_bfi≥V_d THEN esc:=120/V_bfi;ELSE
esc:=70/V_d;END;END;s:=s+45+90;b_efect:=be_E;END;TEXTOUT_P("2.
PROPIEDADES DE LA SECCION NO
COMPUESTA",G2,5,s+20,3,CTexto);TEXTOUT_P("» Area de los
elementos:",G2,20,s+40,2,CTexto2);TEXTOUT_P("Afs = "+A_fs+"
cm2",G2,35,s+60,2,CTexto);TEXTOUT_P("Aw = "+A_al+"
cm2",G2,35,s+80,2,CTexto);TEXTOUT_P("Afi = "+A_fi+"
cm2",G2,35,s+100,2,CTexto);TEXTOUT_P("Ap = "+A_pl+"
cm2",G2,35,s+120,2,CTexto);s:=s+100;TEXTOUT_P("» Distancia desde la fibra inferior a
centroide:",G2,20,s+40,2,CTexto2);TEXTOUT_P("yfs = "+ROUND(Y_fs,2)+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("yw = "+ROUND(Y_al,2)+"
cm",G2,35,s+80,2,CTexto);TEXTOUT_P("yfi = "+ROUND(Y_fi,2)+"
cm",G2,35,s+100,2,CTexto);TEXTOUT_P("ypl = "+ROUND(Y_pl,2)+"
cm",G2,35,s+120,2,CTexto);TEXTOUT_P("ycg = "+ROUND(V_Ycg,2)+"
cm",G2,35,s+140,2,CTexto);s:=s+120;TEXTOUT_P("» Momento de inercia alrededor del
eje X:",G2,20,s+40,2,CTexto2);TEXTOUT_P("Ixfs = "+ROUND(Io_fs,2)+"
cm4",G2,35,s+60,2,CTexto);TEXTOUT_P("Ixw = "+ROUND(Io_al,2)+"
cm4",G2,35,s+80,2,CTexto);TEXTOUT_P("Ixfi = "+ROUND(Io_fi,2)+"
cm4",G2,35,s+100,2,CTexto);TEXTOUT_P("Ixpl = "+ROUND(Io_pl,2)+"
cm4",G2,35,s+120,2,CTexto);TEXTOUT_P("Ixcg = "+ROUND(V_Icg,2)+"
cm4",G2,35,s+140,2,CTexto);s:=s+140;TEXTOUT_P("3. PROPIEDADES SECC. COMP.
A CORTO PLAZO",G2,5,s+20,3,CTexto);s:=s+20;TEXTOUT_P("» Relacion
modular:",G2,20,s+20,2,CTexto2);nAE:=ROUND(E_ace/Ec,3);TEXTOUT_P("n = Es/Ec
= "+nAE,G2,35,s+40,2,CTexto);IF FP(nAE)>=0.5 THEN
nAE:=ROUND(CEILING(nAE),3);ELSE nAE:=FLOOR(nAE)
+0.5;END;TEXTOUT_P("n = "+nAE,G2,35,s+60,2,CTexto2);s:=s+60;TEXTOUT_P("»
Ancho seccion equivalente de losa a Corto
Plazo:",G2,20,s+20,2,CTexto2);TEXTOUT_P("bs_ST = b_efectivo /
n",G2,35,s+40,2,CTexto);LOCAL bs_ST:=ROUND(b_efect/nAE,2);TEXTOUT_P("bs_ST
= "+bs_ST+" cm",G2,35,s+60,2,CTexto);TEXTOUT_P("» Area de la losa aquivalente a
Corto Plazo:",G2,20,s+80,2,CTexto2);LOCAL
As_ST:=ROUND(b_efect/nAE*tL,3);Io_E:=ROUND(b_efect/nAE*tL^3/12,3);TEXTOUT
_P("Area de la losa aquivalente :",G2,35,s+100,2,CTexto);TEXTOUT_P("As_ST = be / n *
t = "+As_ST+" cm2",G2,35,s+120,2,CTexto);TEXTOUT_P("Area gruesa de la secc.
compuesta a Corto Plazo",G2,35,s+140,2,CTexto);LOCAL
Ag_ST:=ROUND(A_fs+A_al+A_fi+A_pl+As_ST,2);TEXTOUT_P("Ag_ST = Asf + Asi +
Aw + Ap + As_ST = "+Ag_ST+" cm2",G2,35,s+160,2,CTexto);s:=s+160;TEXTOUT_P("»
Distancia desde fibra inferior a centroide de:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente a corto plazo",G2,35,s+40,2,CTexto);LOCAL
ys:=ROUND(5+V_tfs+V_tfi+V_hc+tL/2,2);TEXTOUT_P("ys = d + t_srec + ts/2 = "+ys+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL
ycg:=ROUND((A_fs*Y_fs+A_fi*Y_fi+A_al*Y_al+As_ST*ys)/(A_fs+A_fi+A_al+As_ST)
,2);TEXTOUT_P("ycg = A_fs*Y_fs + A_fi*Y_fi+ A_w*Y_w+As_ST*ys
",G2,35,s+100,2,CTexto);TEXTOUT_P("ycg = "+ycg+"
cm",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Momento de inercia de alrededor
de eje X para:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente",G2,35,s+40,2,CTexto);LOCAL
Ixs:=ROUND(bs_ST*tL^3/12,2);TEXTOUT_P("Ixs = (bs_ST + ts^3)/12 = "+Ixs+"
cm4",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL Ix_LT:=(Io_fs+A_fs*(Y_fs-ycg)^2)+
(Io_al+A_al*(Y_al-ycg)^2)+(Io_fi+A_fi*(Y_fi-ycg)^2)+(Io_pl+A_pl*(Y_pl-ycg)^2)+
(Ixs+As_ST*(ys-ycg)^2);Ix_LT:=ROUND(Ix_LT,2);TEXTOUT_P("Ix_LT = (Ixfs
+Afs(yfs-ycg)^2) + ... ",G2,35,s+100,2,CTexto);TEXTOUT_P("Ix_LT = "+Ix_LT+"
cm4",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Modulo elastico para la
seccion:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Dist. desde el centroide a la fibra mas
comprimida",G2,35,s+40,2,CTexto);LOCAL y_comp:=ROUND(hV-
ycg,2);TEXTOUT_P("yc = d1 - ycg = "+y_comp+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Dist. desde el centroide a la fibra mas
tracionada",G2,35,s+80,2,CTexto);LOCAL y_tracc:=ROUND(ycg,2);TEXTOUT_P("yt =
ycg = "+y_tracc+" cm",G2,35,s+100,2,CTexto);TEXTOUT_P("Mod. seccion elastico
alrededor eje mayor a comp.",G2,35,s+120,2,CTexto);LOCAL
S_LTc:=ROUND(Ix_LT/y_comp,2);TEXTOUT_P("S_LTc = Ix_LT/yc = "+S_LTc+"
cm3",G2,35,s+140,2,CTexto);TEXTOUT_P("Mod. seccion elastico alrededor eje mayor a
trac.",G2,35,s+160,2,CTexto);LOCAL
S_LTt:=ROUND(Ix_LT/y_tracc,2);TEXTOUT_P("S_LTt = Ix_LT/yt = "+S_LTt+"
cm3",G2,35,s+180,2,CTexto);s:=s+180;TEXTOUT_P("3. PROPIEDADES SECC. COMP.
A LARGO PLAZO",G2,5,s+20,3,CTexto);s:=s+20;TEXTOUT_P("» Relacion
modular:",G2,20,s+20,2,CTexto2);nAE:=ROUND(E_ace/Ec,3);TEXTOUT_P("n = Es/Ec
= "+nAE,G2,35,s+40,2,CTexto);IF FP(nAE)>=0.5 THEN
nAE:=ROUND(CEILING(nAE),3);ELSE nAE:=FLOOR(nAE)
+0.5;END;TEXTOUT_P("n = "+nAE,G2,35,s+60,2,CTexto2);s:=s+60;TEXTOUT_P("»
Ancho seccion equivalente de losa a Corto
Plazo:",G2,20,s+20,2,CTexto2);TEXTOUT_P("bs_ST = b_efectivo /
3*n",G2,35,s+40,2,CTexto);LOCAL
bs_ST:=ROUND(b_efect/(3*nAE),2);TEXTOUT_P("bs_ST = "+bs_ST+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("» Area de la losa aquivalente a Corto
Plazo:",G2,20,s+80,2,CTexto2);LOCAL
As_ST:=ROUND(b_efect/(3*nAE)*tL,3);Io_E:=ROUND(b_efect/nAE*tL^3/12,3);TEXT
OUT_P("Area de la losa aquivalente :",G2,35,s+100,2,CTexto);TEXTOUT_P("As_ST =
be / n * t = "+As_ST+" cm2",G2,35,s+120,2,CTexto);TEXTOUT_P("Area gruesa de la
secc. compuesta a Corto Plazo",G2,35,s+140,2,CTexto);LOCAL
Ag_ST:=ROUND(A_fs+A_al+A_fi+A_pl+As_ST,2);TEXTOUT_P("Ag_ST = Asf + Asi +
Aw + Ap + As_ST = "+Ag_ST+" cm2",G2,35,s+160,2,CTexto);s:=s+160;TEXTOUT_P("»
Distancia desde fibra inferior a centroide de:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente a corto plazo",G2,35,s+40,2,CTexto);LOCAL
ys:=ROUND(5+V_tfs+V_tfi+V_hc+tL/2,2);TEXTOUT_P("ys = d + t_srec + ts/2 = "+ys+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL
ycg:=ROUND((A_fs*Y_fs+A_fi*Y_fi+A_al*Y_al+As_ST*ys)/(A_fs+A_fi+A_al+As_ST)
,2);TEXTOUT_P("ycg = A_fs*Y_fs + A_fi*Y_fi+ A_w*Y_w+As_ST*ys
",G2,35,s+100,2,CTexto);TEXTOUT_P("ycg = "+ycg+"
cm",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Momento de inercia de alrededor
de eje X para:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Losa
equivalente",G2,35,s+40,2,CTexto);LOCAL
Ixs:=ROUND(bs_ST*tL^3/12,2);TEXTOUT_P("Ixs = (bs_ST + ts^3)/12 = "+Ixs+"
cm4",G2,35,s+60,2,CTexto);TEXTOUT_P("Seccion compuesta a corto
plazo",G2,35,s+80,2,CTexto);LOCAL Ix_LT:=(Io_fs+A_fs*(Y_fs-ycg)^2)+
(Io_al+A_al*(Y_al-ycg)^2)+(Io_fi+A_fi*(Y_fi-ycg)^2)+(Io_pl+A_pl*(Y_pl-ycg)^2)+
(Ixs+As_ST*(ys-ycg)^2);Ix_LT:=ROUND(Ix_LT,2);TEXTOUT_P("Ix_LT = (Ixfs
+Afs(yfs-ycg)^2) + ... ",G2,35,s+100,2,CTexto);TEXTOUT_P("Ix_LT = "+Ix_LT+"
cm4",G2,35,s+120,2,CTexto);s:=s+120;TEXTOUT_P("» Modulo elastico para la
seccion:",G2,20,s+20,2,CTexto2);TEXTOUT_P("Dist. desde el centroide a la fibra mas
comprimida",G2,35,s+40,2,CTexto);LOCAL y_comp:=ROUND(hV-
ycg,2);TEXTOUT_P("yc = d1 - ycg = "+y_comp+"
cm",G2,35,s+60,2,CTexto);TEXTOUT_P("Dist. desde el centroide a la fibra mas
tracionada",G2,35,s+80,2,CTexto);LOCAL y_tracc:=ROUND(ycg,2);TEXTOUT_P("yt =
ycg = "+y_tracc+" cm",G2,35,s+100,2,CTexto);TEXTOUT_P("Mod. seccion elastico
alrededor eje mayor a comp.",G2,35,s+120,2,CTexto);LOCAL
S_LTc:=ROUND(Ix_LT/y_comp,2);TEXTOUT_P("S_LTc = Ix_LT/yc = "+S_LTc+"
cm3",G2,35,s+140,2,CTexto);TEXTOUT_P("Mod. seccion elastico alrededor eje mayor a
trac.",G2,35,s+160,2,CTexto);LOCAL
S_LTt:=ROUND(Ix_LT/y_tracc,2);TEXTOUT_P("S_LTt = Ix_LT/yt = "+S_LTt+"
cm3",G2,35,s+180,2,CTexto);s:=s+180;TEXTOUT_P("4. CAL. DEL MOMENTO
PLASTICO DE LA SECCION",G2,5,s+20,3,CTexto);s:=s+20;TEXTOUT_P("» Ala
superior: compresion y ala inferior: trAAC",G2,20,s+20,2,CTexto2);LOCAL
bc:=V_bfs,tc:=V_tfs,bt:=V_bfi,tt:=V_tfi;TEXTOUT_P("bc = "+bc+" cm ⇒ Ala Sup.
",G2,35,s+40,2,CTexto);TEXTOUT_P("tc = "+tc+" cm ⇒ Ala Sup.
",G2,35,s+60,2,CTexto);TEXTOUT_P("bt = "+bt+" cm ⇒ Ala Inf.
",G2,35,s+80,2,CTexto);TEXTOUT_P("tt = "+tt+" cm ⇒ Ala Inf.
",G2,35,s+100,2,CTexto);TEXTOUT_P("» Fuerzas
plasticas",G2,20,s+120,2,CTexto2);s:=s+120;TEXTOUT_P("☞ Fuerza plastica de la losa
de concreto",G2,35,s+20,2,CTexto);LOCAL
Ps:=ROUND(0.85*fc*b_efect*tL/100,2);TEXTOUT_P(" Ps = 0.85*fc*beff*ts= "+Ps+"
kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("☞ Fuerza plastica de ala a
compresion",G2,35,s+20,2,CTexto);LOCAL
Pc:=ROUND(fy*bc*tc/100,2);TEXTOUT_P(" Pc = Fy*bc*tc= "+Pc+"
kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("☞ Fuerza plastica del
alma",G2,35,s+20,2,CTexto);LOCAL
Pw:=ROUND(fy*(V_tfs+V_tfi+V_hc)*V_tw/100,2);TEXTOUT_P(" Pw = Fy*D*tw=
"+Pw+" kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("☞ Fuerza plastica del ala a
trAAC",G2,35,s+20,2,CTexto);LOCAL Pt:=ROUND(fy*bt*tt/100,2);TEXTOUT_P(" Pt =
Fy*bt*tt= "+Pt+" kN",G2,35,s+40,2,CTexto);s:=s+40;TEXTOUT_P("» Verificacion del
eje neutro",G2,20,s+20,2,CTexto2);LOCAL FPV,eqA;CASE IF(Pt+Pw)≥(Pc+Ps)THEN
TEXTOUT_P("CASO I: Eje neutro en el alma (Pt+Pw ≥
Pc+Ps)",G2,25,s+40,2,CTexto);FPV:=(Pt+Pw)/(Pc+Ps);eqA:="(Pt+Pw)/(Pc+Ps)";END;IF(
Pt+Pw+Pc)≥(Ps)THEN TEXTOUT_P("CASO II: Eje neutro en el ala superior (Pt+Pw+Pc

Ps)",G2,25,s+40,2,CTexto);FPV:=(Pt+Pw+Pc)/(Ps);eqA:="(Pt+Pw+Pc)/(Ps)";END;IF(Pt+
Pw+Pc)<(Ps)THEN TEXTOUT_P("CASO III: Eje neutro en la losa (Pt+Pw+Pc ≥
Ps)",G2,25,s+40,2,CTexto);FPV:=(Pt+Pw+Pc)/(Ps);eqA:="(Pt+Pw)/(Pc+Ps)";END;END;T
EXTOUT_P("Se utiliza la siguiente ecuacion:",G2,25,s+60,2,CTexto);TEXTOUT_P("Y
=ts*"+eqA,G2,35,s+80,2,CTexto);LOCAL YF:=ROUND(FPV*tL,2);TEXTOUT_P("Y
="+YF+" cm",G2,35,s+100,2,CTexto);s:=s+100;TEXTOUT_P("» Dist. desde el eje neutro
hasta la:",G2,20,s+20,2,CTexto2);TEXTOUT_P("☞ Fuerza plastica al ala de
compresion",G2,35,s+40,2,CTexto);LOCAL dc:=ROUND(tL+5+tc/2-
YF,2);TEXTOUT_P("dc = "+dc+" cm",G2,35,s+60,2,CTexto);TEXTOUT_P("☞ Fuerza
plastica en alma",G2,35,s+80,2,CTexto);LOCAL dw:=ROUND(tL+5+tc+
(V_tfs+V_tfi+V_hc)/2-YF,2);TEXTOUT_P("dw = "+dw+"
cm",G2,35,s+100,2,CTexto);TEXTOUT_P("☞ Fuerza plastica en ala a
trAAC",G2,35,s+120,2,CTexto);LOCAL dt:=ROUND(tL+5+tc+(V_tfs+V_tfi+V_hc)+tt/2-
YF,2);TEXTOUT_P("dt = "+dt+"
cm",G2,35,s+140,2,CTexto);s:=s+140;TEXTOUT_P("Momento plastico de la seccion
es:",G2,25,s+20,2,CTexto);TEXTOUT_P("Mpl =Ps*Y^2/(2*ts)+
(Pc*dc+Pw*dw+Pt*dt)"+eqA,G2,35,s+40,2,CTexto);LOCAL
Mpl:=ROUND(Ps*(YF/100)^2/(2*tL)+
(Pc*dc/100+Pw*dw/100+Pt*dt/100),2);TEXTOUT_P("Mpl = "+Mpl+"
kN.m",G2,35,s+60,2,CTexto);x:=0;y:=0;LOCAL mx,my;REPEAT WAIT(-1)▶AAC;IF
TYPE(AAC)=6 THEN IF AAC(1)==0 THEN mx:=x+AAC(2);my:=y+AAC(3);CASE IF
FALSE THEN END;END;BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;ELSE IF AAC=4
THEN BREAK;END END;IF ISKEYDOWN(12)THEN
y:=MIN(y+120*ISKEYDOWN(12),4760);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;IF
ISKEYDOWN(2)THEN y:=MAX(y-
120*ISKEYDOWN(2),0);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);CONTINUE;END;UNTI
L 0;END;GBOTV()BEGIN
V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,
2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);TEXTOUT_P("SECCION TRANSVERSAL
VIGA",80,3,2,White);TEXTOUT_P("N.Carriles:",10,25,2);TEXTOUT_P("L.Carril:",160,
25,2);TEXTOUT_P("L.Calzd:",10,45,2);TEXTOUT_P("N.Vigas:",160,45,2);TEXTOUT_
P("S:",10,65,2);TEXTOUT_P("L.Verd:",160,65,2);TEXTOUT_P("L.Vold:",10,85,2);TEX
TOUT_P("d.e.x:",160,85,2);TEXTOUT_P("Ancho.Puente =
",70,102,2,AzulTit);TEXTOUT_P("Ancho.Puente =
",70,102,2,AzulTit);END;FMETR()BEGIN LOCAL
x,y;DIMGROB_P(G2,320,2880,Fondo);LOCAL Viga;IF tViga==0 THEN
Viga:="EXTERIOR";ELSE Viga:="INTERIOR";END;RECT_P(G2,{0,1},
{320,17},DarkBlue,AzulTit);TEXTOUT_P("METRADO DE CARGAS VIGA
"+Viga,G2,80,3,2,White);y:=0;TEXTOUT_P("1.CARGAS PERMANENTES [DC y
DW]",G2,5,25,3,CTexto2);LOCAL WDC;TEXTOUT_P("1.1 CARGAS MUERTA
[DC]",G2,15,y+45,2,CTexto2);y:=y+45;IF tViga==0 THEN LOCAL
Wl,Wverd,Wb,Wv,Wac;TEXTOUT_P("A) Peso de la losa del tablero
[Wl]",G2,20,y+20,2,CTexto);Wl:=(Ldex+Sv/2)*tL*PE_c/100000;TEXTOUT_P("Wl =
"+Wl+" tn/m",G2,35,y+40,2,CTexto);TEXTOUT_P("B) Peso de las veredas
[Wverd]",G2,20,y+60,2,CTexto);Wverd:=Peso_vereda;TEXTOUT_P("Wverd =
"+Wverd+" tn/m",G2,35,y+80,2,CTexto);TEXTOUT_P("C) Peso Baranda
[Wb]",G2,20,y+100,2,CTexto);Wb:=Peso_baranda;TEXTOUT_P("Wb = "+Wb+"
tn/m",G2,35,y+120,2,CTexto);TEXTOUT_P("D) Peso Viga de acero
[Wv]",G2,20,y+140,2,CTexto);Wv:=V_P/1000;TEXTOUT_P("Wv = "+Wv+"
tn/m",G2,35,y+160,2,CTexto);TEXTOUT_P("E) Peso atiezadores y conectores
[Wac]",G2,20,y+180,2,CTexto);Wac:=Peso_atiezadores;TEXTOUT_P("Wac = "+Wac+"
tn/m",G2,40,y+200,2,CTexto);WDC:=Wl+Wverd+Wb+Wv+Wac;y:=y+200;ELSE
LOCAL Wl,Wv,Wac;TEXTOUT_P("A) Peso de la losa del tablero
[Wl]",G2,20,y+20,2,CTexto);Wl:=Sv*tL/100000*PE_c;TEXTOUT_P("Wl = "+Wl+"
tn/m",G2,35,y+40,2,CTexto);TEXTOUT_P("B) Peso Viga de acero
[Wv]",G2,20,y+60,2,CTexto);Wv:=V_P/1000;TEXTOUT_P("Wv = "+V_P/1000+"
tn/m",G2,35,y+80,2,CTexto);TEXTOUT_P("C) Peso atiezadores y conectores
[Wac]",G2,20,y+100,2,CTexto);TEXTOUT_P("Wac = "+Peso_atiezadores+"
tn/m",G2,35,y+120,2,CTexto);WDC:=Wl+Wv+Wac;y:=y+120;END;TEXTOUT_P("»
Peso por carga muerta:",G2,20,y+20,2,CTexto2);TEXTOUT_P("W_DC = "+WDC+"
tn/m",G2,35,y+40,2,CTexto);TEXTOUT_P("» Lineas de
influencia:",G2,20,y+60,2,CTexto2);y:=y+40;LOCAL
esc,b,h,xc:=160,yc:=y+80,Gp:=G2,Area;esc:=240/LP;b:=LP*esc;h:=5;GPLCarga(b,h,xc,yc
,RedA,RedB,Gp,WDC,esc);Area:=0.5*LP*LP/4;y:=y+160;TEXTOUT_P("» Momento
maximo por sobrecarga:",G2,20,y+20,2,CTexto2);LOCAL M_dc:={},j,var;FOR j:=1 TO 5
DO ROUND(0.5*0.1*j*LP*WDC*LP*(1-
0.1*j),2)▶M_dc(j);var:=ROUND(0.1*LP*j,2);TEXTOUT_P("0."+j+"L ="+var+" m →
M_DW= "+M_dc(j)+" tn-m",G2,35,y+20+20*j,2,CTexto);END;y:=y+20*j;LOCAL
WDW;TEXTOUT_P("1.2 CARPETA ASFALTICA E INSTALACIONES
[DW]",G2,15,y+20,2,CTexto2);TEXTOUT_P("A) Peso por superficie de rodameinto
[Wdw]",G2,20,y+40,2,CTexto);IF tViga==0 THEN LOCAL
Wdw;Wdw:=ROUND(t_asf*(Lvold-Lverd+Sv/2)*PE_asf/1000,2);TEXTOUT_P("Wdw =
"+(t_asf)+"x"+(Lvold-Lverd+Sv/2)+"x"+(PE_asf/1000)+"= "+Wdw+"
tn/m",G2,35,y+60,2,CTexto);WDW:=Wdw;ELSE LOCAL
Wdw;Wdw:=t_asf*Sv*PE_asf/100000;TEXTOUT_P("Wdw = "+(t_asf)+"x"+(Sv)+"x"+
(PE_asf/1000)+"= "+Wdw+"
tn/m",G2,35,y+60,2,CTexto);WDW:=Wdw;END;y:=y+60;TEXTOUT_P("» Peso por
superficie de rodamiento:",G2,20,y+20,2,CTexto2);TEXTOUT_P("W_DW = "+WDW+"
tn/m",G2,35,y+40,2,CTexto);TEXTOUT_P("» Lineas de
influencia:",G2,20,y+60,2,CTexto2);y:=y+40;LOCAL
esc,b,h,xc:=160,yc:=y+80,Gp:=G2,Area;esc:=240/LP;b:=LP*esc;h:=5;GPLCarga(b,h,xc,yc
,RedA,RedB,Gp,WDW,esc);Area:=0.5*LP*LP/4;y:=y+160;TEXTOUT_P("» Momento
maximo por sobrecarga:",G2,20,y+20,2,CTexto2);LOCAL M_dw:={},j,var;FOR j:=1 TO 5
DO ROUND(0.5*0.1*j*LP*WDW*LP*(1-
0.1*j),2)▶M_dw(j);var:=ROUND(0.1*LP*j,2);TEXTOUT_P("0."+j+"L ="+var+" m →
M_DW= "+M_dw(j)+" tn-
m",G2,35,y+20+20*j,2,CTexto);END;y:=y+20*j;TEXTOUT_P("2.CARGAS
TRANSITORIAS [LL y IM]",G2,5,y+20,3,CTexto2);TEXTOUT_P("2.1 MOMENTO
POR CARGA HL-93 [LL]",G2,15,y+40,2,CTexto2);LOCAL P:=3.6;TEXTOUT_P("A)
Camion de carga HL-93 [P=3.6 ton]",G2,20,y+60,2,CTexto);TEXTOUT_P("» Lineas de
influencia para HL-93 + s/c:",G2,20,y+80,2,CTexto2);y:=y+80;LOCAL
esc,b,h,xc:=160,yc:=y+80,Gp:=G2,Area;esc:=240/LP;b:=LP*esc;h:=5;LOCAL
v1,v2,v3,h1,h2,h3,Coor:={};Coor:=GPLCarga2(b,h,xc,yc,RedA,RedB,Gp,WDC,esc);v1:=
ROUND(Coor(4)/esc,3);v2:=ROUND(Coor(5)/esc,3);v3:=ROUND(Coor(6)/esc,3);h1:=R
OUND(Coor(1)/esc,3);h2:=ROUND(Coor(2)/esc,3);h3:=ROUND(Coor(3)/esc,3);y:=y+16
0;TEXTOUT_P("xc ="+LP/2+" m → yc
="+LP/4,G2,35,y+20,2,CTexto);TEXTOUT_P("x1 ="+h1+" m → y1
="+v1,G2,35,y+40,2,CTexto);TEXTOUT_P("x2 ="+h2+" m → y2 ="+v2+"
(max)",G2,35,y+60,2,CTexto);TEXTOUT_P("x3 ="+h3+" m → y3
="+v3,G2,35,y+80,2,CTexto);TEXTOUT_P("» Calculo de reAACes sin considerar la
s/c:",G2,20,y+100,2,CTexto2);LOCAL
R2,R1;R2:=ROUND((h1*P+h2*4*P+h3*4*P)/LP,3);R1:=ROUND(9*P-
R2,3);TEXTOUT_P("R1 ="+R1+" tn",G2,35,y+120,2,CTexto);TEXTOUT_P("R2
="+R2+" tn",G2,35,y+140,2,CTexto);TEXTOUT_P("» Momento maximo por camion HL-
93 + s/c:",G2,20,y+160,2,CTexto2);LOCAL
M_ll:={},M_sc:=0.96,Msc:={};y:=y+140;FOR j:=1 TO 5 DO
ROUND(0.5*0.1*j*LP*M_sc*LP*(1-0.1*j),2)▶Msc(j);CASE IF 0.1*LP*j≤h1 THEN
ROUND(0.1*j*LP*R1,2)▶M_ll(j);var:=ROUND(0.1*LP*j,2);TEXTOUT_P("0."+j+"L
="+var+" m → M_ll= "+M_ll(j)+" + "+Msc(j)+"= "+(M_ll(j)+Msc(j))+" tn-
m",G2,35,y+20+20*j,2,CTexto);END;IF h1<0.1*LP*j≤h2 THEN ROUND(0.1*j*LP*R1-
P*(0.1*j*LP-h1),2)▶M_ll(j);var:=ROUND(0.1*LP*j,2);TEXTOUT_P("0."+j+"L
="+var+" m → M_ll= "+M_ll(j)+" + "+Msc(j)+"= "+(M_ll(j)+Msc(j))+" tn-
m",G2,35,y+20+20*j,2,CTexto);END;IF 0.1*LP*j>h2 THEN ROUND(0.1*j*LP*R1-
P*(0.1*j*LP-h1)-4*P*(0.1*j*LP-
h2),2)▶M_ll(j);var:=ROUND(0.1*LP*j,2);TEXTOUT_P("0."+j+"L ="+var+" m → M_ll=
"+M_ll(j)+" + "+Msc(j)+"= "+(M_ll(j)+Msc(j))+" tn-
m",G2,35,y+20+20*j,2,CTexto);END;END;END;y:=y+20*j;LOCAL
M_LL:={};TEXTOUT_P("2.2 MOMENTO POR CARGA IMPACTO
[IM]",G2,15,y+20,2,CTexto2);TEXTOUT_P("» El momento M_camion + M_sc + M_im
sera:[M (ll+im)]",G2,20,y+40,2,CTexto2);FOR j:=1 TO 5 DO ROUND(1.33*M_ll(j)
+Msc(j),2)▶M_LL(j);var:=ROUND(0.1*LP*j,2);TEXTOUT_P("0."+j+"L ="+var+" m →
M (ll+im)= "+M_LL(j)+" tn-
m",G2,35,y+40+20*j,2,CTexto);END;y:=y+160;TEXTOUT_P("2.3 FACTOR DE
DISTRIBUCION DE CARGA",G2,15,y,2,CTexto2);TEXTOUT_P("1.2 Momento
distribuido a la viga ",G2,15,y+20,2,CTexto2);LOCAL yB,Mll,M_cam:={};IF tViga==0
THEN TEXTOUT_P("Incluye el factor de multiple presencia para
nV≥3",G2,20,y+40,2,CTexto);TEXTOUT_P("A) Factor de distribucion de carga [Metodo
LRFD]",G2,20,y+60,2,CTexto);TEXTOUT_P("S ="+Sv+"
m",G2,35,y+80,2,CTexto);TEXTOUT_P("L ="+LP+"
m",G2,35,y+100,2,CTexto);TEXTOUT_P("n ="+nAE,G2,35,y+120,2,CTexto);LOCAL
Aviga:=V_As*1e-4;TEXTOUT_P("As ="+Aviga+" m2",G2,35,y+140,2,CTexto);LOCAL
Iviga:=V_Icg*1e-8;TEXTOUT_P("Iv ="+Iviga+" m4",G2,180,y+80,2,CTexto);LOCAL
eg:=ROUND(V_d/100+V_tp/100-V_Ycg/100+tL/200,3);TEXTOUT_P("eg ="+eg+"
m",G2,180,y+100,2,CTexto);LOCAL
Kg:=ROUND(nAE*(Iviga+Aviga*eg^2),3);TEXTOUT_P("Kg ="+Kg+"
m4",G2,180,y+120,2,CTexto);LOCAL tviga:=tL/100;TEXTOUT_P("ts ="+tviga+"
m",G2,180,y+140,2,CTexto);TEXTOUT_P("» Factores de
distribución:",G2,20,y+160,2,CTexto2);TEXTOUT_P("1 via
cargada",G2,70,y+185,2,CTexto2);TEXTOUT_P("2 o mas vias
cargadas",G2,190,y+185,2,CTexto2);RECT_P(G2,30,y+180,315,y+180,RedA);RECT_P(G
2,30,y+200,315,y+200,RedA);RECT_P(G2,30,y+220,315,y+220,RedA);RECT_P(G2,30,y
+240,315,y+240,RedA);RECT_P(G2,30,y+180,30,y+240,RedA);RECT_P(G2,170,y+180,1
70,y+220,RedA);RECT_P(G2,315,y+180,315,y+240,RedA);LOCAL
mgi1,mgi2;mgi1:=ROUND(0.06+((Sv/4.3)^0.4)*((Sv/LP)^0.3)*((Kg/(LP*tviga^3))^0.1),3
);mgi2:=ROUND(0.07+((Sv/2.9)^0.6)*((Sv/LP)^0.2)*((Kg/
(LP*tviga^3))^0.1),3);TEXTOUT_P(mgi1,G2,90,y+205,2,CTexto);TEXTOUT_P(mgi2,G2
,230,y+205,2,CTexto);IF mgi1>mgi2 THEN mgi:=mgi1;ELSE
mgi:=mgi2;END;TEXTOUT_P("mgi= "+mgi,G2,140,y+225,2,CTexto);TEXTOUT_P("»
Comprobando el rango de aplicabilidad:",G2,20,y+245,2,CTexto2);y:=y+245;IF
1.1≤Sv≤4.9 THEN TEXTOUT_P("☞ 1.1≤S≤4.9 (✔)",G2,35,y+20,2,CTexto);ELSE
TEXTOUT_P("☞ S<1.1 o S>4.9 (✘)",G2,35,y+20,2,Red);END;IF 0.11<tL/100<0.30
THEN TEXTOUT_P("☞ 0.11≤ts≤0.30 (✔)",G2,35,y+35,2,CTexto);ELSE
TEXTOUT_P("☞ ts<0.11 o ts>0.30 (✘)",G2,35,y+35,2,Red);END;IF 6<LP<73 THEN
TEXTOUT_P("☞ 6.0≤L≤73 (✔)",G2,35,y+50,2,CTexto);ELSE TEXTOUT_P("☞ L<6.0 o
L>73 (✘)",G2,35,y+50,2,Red);END;IF 3≤nV THEN TEXTOUT_P("☞ Nb≥3
(✔)",G2,35,y+65,2,CTexto);ELSE TEXTOUT_P("☞ Nb<3
(✘)",G2,35,y+65,2,Red);END;IF 4*(10^-3)≤Kg≤3 THEN TEXTOUT_P("☞ 0.004≤Kg≤3
(✔)",G2,35,y+80,2,CTexto);ELSE TEXTOUT_P("☞ Kg<0.004 o Kg>3
(✘)",G2,35,y+80,2,Red);END;y:=y+80;TEXTOUT_P("B) Momentos de carga viva para
las Viga "+Viga,G2,20,y+20,2,CTexto);yB:=y+20;FOR j:=1 TO 5 DO
ROUND(M_LL(j)*mgi,2)▶M_cam(j);var:=ROUND(0.1*LP*j,2);TEXTOUT_P("0."+j+"L
="+var+" m → M (ll+im)= "+M_cam(j)+" tn-
m",G2,35,y+20+20*j,2,CTexto);END;y:=y+20*j;ELSE
END;TEXTOUT_P("3.RESUMEN MOMENTOS - VIGA
"+Viga,G2,5,y+20,3,CTexto2);TEXTOUT_P("Momentos maximos de cada caso de
carga",G2,20,y+40,2,CTexto);TEXTOUT_P("Carga",G2,60,y+60,2,CTexto2);TEXTOUT_
P("DC",G2,40,y+80,2,CTexto2);TEXTOUT_P("DW",G2,40,y+100,2,CTexto2);TEXTOU
T_P("LL+IM",G2,40,y+120,2,CTexto2);TEXTOUT_P("M+ (t-m)
",G2,150,y+60,2,CTexto2);TEXTOUT_P(M_dc(5),G2,140,y+80,2,CTexto);TEXTOUT_P(
M_dw(5),G2,140,y+100,2,CTexto);TEXTOUT_P(M_cam(5),G2,140,y+120,2,CTexto);RE
CT_P(G2,30,y+55,240,y+55,RedA);RECT_P(G2,30,y+75,240,y+75,RedA);RECT_P(G2,3
0,y+95,240,y+95,RedA);RECT_P(G2,30,y+115,240,y+115,RedA);RECT_P(G2,30,y+135,
240,y+135,RedA);RECT_P(G2,30,y+55,30,y+135,RedA);RECT_P(G2,120,y+55,120,y+13
5,RedA);RECT_P(G2,240,y+55,240,y+135,RedA);y:=y+140;TEXTOUT_P("3.1 DISEÑO
POR ESTADO LIMITE",G2,15,y+20,2,CTexto2);TEXTOUT_P("» Filosofia de
diseño:",G2,20,y+40,2,CTexto2);TEXTOUT_P("∑ni*ɣi*Qi<ɸRn
",G2,15,y+60,2,CTexto);TEXTOUT_P("» Factores de
carga:",G2,20,y+80,2,CTexto2);y:=y+80;RECT_P(G2,80,y+25,300,y+25,RedA);RECT_P(
G2,30,y+45,300,y+45,RedA);RECT_P(G2,30,y+65,300,y+65,RedA);RECT_P(G2,30,y+65
,300,y+65,RedA);RECT_P(G2,30,y+85,300,y+85,RedA);RECT_P(G2,30,y+105,300,y+10
5,RedA);TEXTOUT_P("Resistencia",G2,85,y+30,2,RedA);TEXTOUT_P("Servicio",G2,1
75,y+30,2,RedA);TEXTOUT_P("Fatiga",G2,260,y+30,2,RedA);TEXTOUT_P("ɣDC",G2,
35,y+50,2,RedA);TEXTOUT_P("ɣDW",G2,35,y+70,2,RedA);TEXTOUT_P("ɣLL+IM",G
2,35,y+90,2,RedA);RECT_P(G2,30,y+45,30,y+105,RedA);RECT_P(G2,80,y+25,80,y+105
,RedA);RECT_P(G2,165,y+25,165,y+105,RedA);RECT_P(G2,240,y+25,240,y+105,RedA
);RECT_P(G2,300,y+25,300,y+105,RedA);y:=y+100;LOCAL
Rnd:=1,Rnr:=1,Rni:=1;LOCAL R_Rnd:={},R_Rnr:={},R_Rni:={};TEXTOUT_P("»
Factor de modificacion de carga:",G2,20,y+20,2,CTexto2);LOCAL
yA:=y+20;TEXTOUT_P("nD =",G2,20,y+40,2,CTexto);R_Rnd:={{50,y+37},
{90,y+52}};TEXTOUT_P("nR =",G2,125,y+40,2,CTexto);R_Rnr:={{150,y+37},
{190,y+52}};TEXTOUT_P("nI =",G2,225,y+40,2,CTexto);R_Rni:={{250,y+37},
{290,y+52}};TEXTOUT_P("Comprobando nD x nR x nI ≥
0.95",G2,20,y+60,2,CTexto);LOCAL nR:=1,yB:=y+80;TEXTOUT_P("☞ nD x nR x nI =
"+nR+" ≥ 0.95 (✔)",G2,30,yB,2,CTexto);TEXTOUT_P("» Momentos Ultimos segun
RLFD:",G2,20,y+100,2,CTexto2);y:=y+100;LOCAL
yC:=y;MMu(y,nR,M_dc(5),M_dw(5),M_cam(5));x:=0;y:=0;LOCAL mx,my;REPEAT
REGpp(STRING(Rnd,1),R_Rnd,AzulTit,White,G2);REGpp(STRING(Rnr,1),R_Rnr,Azul
Tit,White,G2);REGpp(STRING(Rni,1),R_Rni,AzulTit,White,G2);WAIT(-1)▶AAC;IF
TYPE(AAC)=6 THEN IF AAC(1)==0 THEN mx:=x+AAC(2);my:=y+AAC(3);CASE IF
R_Rnd(1,1)<mx<R_Rnd(2,1)AND R_Rnd(1,2)<my<R_Rnd(2,2)THEN RECT_P(G2,
{20,yA},{320,yA+15},Fondo);TEXTOUT_P("» Factor de modificacion de carga:
Ductibilidad",G2,20,yA,2,CTexto2);Epp(Rnd,R_Rnd,G2,x,y)▶Rnd;RECT_P(G2,{20,yA},
{320,yA+15},Fondo);TEXTOUT_P("» Factor de modificacion de
carga:",G2,20,yA,2,CTexto2);nR:=Rnd*Rnr*Rni;RECT_P(G2,{20,yB},
{320,yB+15},Fondo);IF nR≥ 0.95 THEN TEXTOUT_P("☞ nD x nR x nI = "+nR+" ≥ 0.95
(✔)",G2,30,yB,2,CTexto);ELSE TEXTOUT_P("☞ nD x nR x nI = "+nR+" < 0.95
(✘)",G2,30,yB,2,Red);END;MMu(yC,nR,M_dc(5),M_dw(5),M_cam(5));END;IF
R_Rnr(1,1)<mx<R_Rnr(2,1)AND R_Rnr(1,2)<my<R_Rnr(2,2)THEN RECT_P(G2,
{20,yA},{320,yA+15},Fondo);TEXTOUT_P("» Factor de modificacion de carga:
Redundancia",G2,20,yA,2,CTexto2);Epp(Rnr,R_Rnr,G2,x,y)▶Rnr;RECT_P(G2,{20,yA},
{320,yA+15},Fondo);TEXTOUT_P("» Factor de modificacion de
carga:",G2,20,yA,2,CTexto2);nR:=Rnd*Rnr*Rni;RECT_P(G2,{20,yB},
{320,yB+15},Fondo);IF nR≥ 0.95 THEN TEXTOUT_P("☞ nD x nR x nI = "+nR+" ≥ 0.95
(✔)",G2,30,yB,2,CTexto);ELSE TEXTOUT_P("☞ nD x nR x nI = "+nR+" < 0.95
(✘)",G2,30,yB,2,Red);END;MMu(yC,nR,M_dc(5),M_dw(5),M_cam(5));END;IF
R_Rni(1,1)<mx<R_Rni(2,1)AND R_Rni(1,2)<my<R_Rni(2,2)THEN RECT_P(G2,
{20,yA},{320,yA+15},Fondo);TEXTOUT_P("» Factor de modificacion de carga:
Importancia",G2,20,yA,2,CTexto2);Epp(Rni,R_Rni,G2,x,y)▶Rni;RECT_P(G2,{20,yA},
{320,yA+15},Fondo);TEXTOUT_P("» Factor de modificacion de
carga:",G2,20,yA,2,CTexto2);nR:=Rnd*Rnr*Rni;RECT_P(G2,{20,yB},
{320,yB+15},Fondo);IF nR≥ 0.95 THEN TEXTOUT_P("☞ nD x nR x nI = "+nR+" ≥ 0.95
(✔)",G2,30,yB,2,CTexto);ELSE TEXTOUT_P("☞ nD x nR x nI = "+nR+" < 0.95
(✘)",G2,30,yB,2,Red);END;MMu(yC,nR,M_dc(5),M_dw(5),M_cam(5));END;END;BLIT
_P(G0,0,0,G2,x,y,320+x,240+y);END;ELSE IF AAC=4 THEN BREAK;END END;IF
ISKEYDOWN(12)THEN
y:=MIN(y+120*ISKEYDOWN(12),2400);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;IF
ISKEYDOWN(2)THEN y:=MAX(y-
120*ISKEYDOWN(2),0);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);CONTINUE;END;UNTI
L 0;END;MMu(y,nR,M_dc,M_dw,M_cam)BEGIN RECT_P(G2,{0,y+25},
{320,y+65},Fondo);RECT_P(G2,80,y+25,300,y+25,RedA);RECT_P(G2,15,y+45,300,y+4
5,RedA);RECT_P(G2,15,y+65,300,y+65,RedA);TEXTOUT_P("Resia",G2,90,y+30,2,Red
A);TEXTOUT_P("icio",G2,180,y+30,2,RedA);TEXTOUT_P("F",G2,260,y+30,2,RedA);T
EXTOUT_P("M",G2,20,y+50,2,RedA);Mu_R:=ROUND(nR*(1.25*M_dc+1.50*M_dw+1.
75*M_cam),2);Mu_S:=ROUND(nR*(M_dc+M_dw+M_cam),2);Mu_F:=ROUND(nR*(0.7
5*M_cam),2);TEXTOUT_P(Mu_R,G2,85,y+50,2,CTexto);TEXTOUT_P(Mu_S,G2,175,y
+50,2,CTexto);TEXTOUT_P(Mu_F,G2,252,y+50,2,CTexto);RECT_P(G2,15,y+45,15,y+6
5,RedA);RECT_P(G2,80,y+25,80,y+65,RedA);RECT_P(G2,165,y+25,165,y+65,RedA);R
ECT_P(G2,240,y+25,240,y+65,RedA);RECT_P(G2,300,y+25,300,y+65,RedA);END;GPL
Carga2(b,h,x,y,borde,relleno,Gp,Carga,esc)BEGIN LOCAL x1,x2,x3,x4,x5;LOCAL
y1,y2,y3,y4,y5;x1:=x-b/2;x2:=x1+b;x3:=x1;x4:=x2;y1:=y-
h/2;y2:=y1;y3:=y+h/2;y4:=y3;RECT_P(Gp,x1,y1,x4,y4,borde,relleno);x3:=x1-5;x4:=x2-
7;TEXTOUT_P("▲",Gp,x3,y4-7,7,borde);TEXTOUT_P("●",Gp,x4,y4-7,7,borde);LOCAL
i;FOR i:=0 TO x4-35 STEP 12 DO TEXTOUT_P("↓ ",Gp,x1+i,y4-
35,7,relleno);END;TEXTOUT_P("W_sc=0.96 tn/m",Gp,250,y-42,1,Plomo);LOCAL
a:=0.725*esc,c:=4*esc;LINE_P(Gp,{x-a,y-h/2},{x-a,y-h/2-
40},Red);TEXTOUT_P("▼",Gp,{x-a-4,y-h/2-10},4,Red);TEXTOUT_P("4P",Gp,{x-
a+4,y-45},1,RedA);LINE_P(Gp,{x-a+c,y-h/2},{x-a+c,y-h/2-
40},Red);TEXTOUT_P("▼",Gp,{x-a+c-4,y-h/2-10},4,Red);TEXTOUT_P("4P",Gp,{x-
a+c+4,y-45},1,RedA);LINE_P(Gp,{x-a-c,y-h/2},{x-a-c,y-h/2-
40},Red);TEXTOUT_P("▼",Gp,{x-a-c-4,y-h/2-10},4,Red);TEXTOUT_P("P",Gp,{x-a-
c+4,y-45},1,RedA);LOCAL a:=LP/2-
0.725;LINE_P(Gp,x1,y4+b/4+4,x1+a*esc,y4+b/4+4,Plomo);TEXTOUT_P("x="+a+"
m",Gp,(x1+a*esc)/2,y+b/4+10,2,Plomo);LINE_P(Gp,{x1,y4},
{x,y4+b/4},borde);LINE_P(Gp,{x2,y4},{x,y4+b/4},borde);LOCAL
yv,yb,v1,v2,v3,h1,h2,h3;yv:=LP/4;yb:=LP/2;h1:=(a-
4)*esc;h2:=a*esc;h3:=(a+4)*esc;y5:=y4+b/8-10;v1:=((a-4)*yv/yb)*esc;v2:=((LP-
a)*yv/yb)*esc;v3:=((LP-a-4)*yv/yb)*esc;LINE_P(Gp,{x1+h1,y},
{x1+h1,y+h/2+v1},Plomo);TEXTOUT_P(ROUND(v1/esc,3),Gp,x1+h1+3,y+h,2,Plomo);L
INE_P(Gp,{x1+h2,y},
{x1+h2,y+h/2+v2},Plomo);TEXTOUT_P(ROUND(v2/esc,3),Gp,x1+h2+3,y-
h+v2/2,2,Plomo);LINE_P(Gp,{x1+h3,y},
{x1+h3,y+h/2+v3},Plomo);TEXTOUT_P(ROUND(v3/esc,3),Gp,x1+h3+3,y-
h+v3,2,Plomo);RETURN({h1,h2,h3,v1,v2,v3});END;GPLCarga(b,h,x,y,borde,relleno,Gp,
Carga,esc)BEGIN LOCAL x1,x2,x3,x4,x5;LOCAL y1,y2,y3,y4,y5;x1:=x-
b/2;x2:=x1+b;x3:=x1;x4:=x2;y1:=y-
h/2;y2:=y1;y3:=y+h/2;y4:=y3;RECT_P(Gp,x1,y1,x4,y4,borde,relleno);x3:=x1-5;x4:=x2-
7;TEXTOUT_P("▲",Gp,x3,y4-7,7,borde);TEXTOUT_P("●",Gp,x4,y4-
7,7,borde);LINE_P(Gp,x1,y4+b/4+4,x2,y4+b/4+4,Plomo);TEXTOUT_P(LP+"
m",Gp,x,y+b/4+10,2,Plomo);LOCAL i;FOR i:=0 TO x4-35 STEP 12 DO TEXTOUT_P("↓
",Gp,x1+i,y4-35,7,relleno);END;TEXTOUT_P("W_DC="+ROUND(Carga,2)+"
tn/m",Gp,x,y-45,2,Plomo);LINE_P(Gp,{x1,y4},{x,y4+b/4},borde);LINE_P(Gp,{x2,y4},
{x,y4+b/4},borde);LOCAL yv;yv:=LP/4;y5:=y4+b/8-10;LINE_P(Gp,{x,y},
{x,y4+b/4},Plomo);TEXTOUT_P(yv,Gp,x+5,y5,2,Plomo);END;GGRTYH(Dato,RYJUI,A
yuda)BEGIN
V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,
2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw
+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,2);V_P:=ROUND(PE_ace*V_As/10^4,2);L
ocal
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);LOCAL
NDato:=STRING(Dato,1),mx,my;NDato▶Dato;REPEAT
XAB(NDato+"∣",RYJUI,MCuad,FCuad);RECT_P({5,225},
{320,240},Fondo);TEXTOUT_P(Ayuda,5,227,2);AAC:=B→R(WAIT(-1));IF
TYPE(AAC)=0 THEN CASE IF AAC==4 THEN Dato▶NDato;BREAK;END;IF
AAC==30 THEN IFERR EXPR(NDato)THEN Dato▶NDato;END;BREAK;END;IF
AAC==19 THEN IF DIM(NDato)≤1 THEN ""▶NDato;ELSE LEFT(NDato,DIM(NDato)-
1)▶NDato;END;END;DEFAULT NDato+TFW▶NDato;END;ELSE IF SIZE(AAC)<1
AND NOT(RYJUI(1,1)<AAC(2)<RYJUI(2,1)AND
RYJUI(1,2)<AAC(3)<RYJUI(2,2))THEN IFERR EXPR(NDato)THEN
Dato▶NDato;END;BREAK;END;END;UNTIL
0;V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_t
p,2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);RECT_P({5,223},
{320,240},Fondo);EXPR(NDato)▶NDato;XAB(STRING(NDato,1),RYJUI,AzulTit,White
);NDato;END;TGE(Ayuda,Valor)BEGIN RECT_P({5,225},
{320,240},Fondo);TEXTOUT_P(Ayuda+Valor,5,227,2);END;XAB(Dato,RYJUI,ColorA,
ColorB)BEGIN
RECT_P(RYJUI(1),RYJUI(2),ColorA,ColorB);TEXTOUT_P(Dato,RYJUI(1)+4,1);END;F
PP()BEGIN LOCAL R_LP:={},R_hV:={},R_hc:={},R_tL:={};LOCAL
mx,my;DIMGROB_P(G2,320,1200,Fondo);RECT(G2,Fondo);RECT_P(G2,{0,1},
{320,17},DarkBlue,AzulTit);TEXTOUT_P("PREDIM (VIGA
I)",G2,70,3,2,White);TEXTOUT_P("L=",G2,10,28,2);R_LP:={{35,25},
{75,40}};R_hV:={{35,150},{75,165}};LOCAL x,y;LOCAL x:=0,y:=0;REPEAT
REGpp(STRING(LP,1),R_LP,AzulTit,White,G2);REGpp(STRING(LP,1),R_hV,AzulTit,
White,G2);WAIT(-1)▶AAC;IF TYPE(AAC)=6 THEN IF AAC(1)==0 THEN
mx:=x+AAC(2);my:=y+AAC(3);CASE IF R_LP(1,1)<mx<R_LP(2,1)AND
R_LP(1,2)<my<R_LP(2,2)THEN Epp(LP,R_LP,"In (m)",G2)▶LP;END;IF
R_hV(1,1)<mx<R_hV(2,1)AND R_hV(1,2)<my<R_hV(2,2)THEN
Epp(LP,R_hV,G2,x,y)▶LP;TEXTOUT_P("AAAAAAA",G2,70,100,2);END;END;BLIT_
P(G0,0,0,G2,x,y,320+x,240+y);END;ELSE IF AAC=4 THEN BREAK;END END;IF
ISKEYDOWN(12)THEN
y:=MIN(y+120*ISKEYDOWN(12),960);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);END;IF
ISKEYDOWN(2)THEN y:=MAX(y-
120*ISKEYDOWN(2),0);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);CONTINUE;END;UNTI
L 0;END;Epp(Dato,RYJUI,G2,x,y)BEGIN
V_As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,
2);V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);LOCAL
NDato:=STRING(Dato,1),mx,my;NDato▶Dato;REPEAT
REGpp(NDato+"∣",RYJUI,MCuad,FCuad,G2);BLIT_P(G0,0,0,G2,x,y,320+x,240+y);AAC
:=B→R(WAIT(-1));IF TYPE(AAC)=0 THEN CASE IF AAC==4 THEN
Dato▶NDato;BREAK;END;IF AAC==30 THEN IFERR EXPR(NDato)THEN
Dato▶NDato;END;BREAK;END;IF AAC==19 THEN IF DIM(NDato)≤1 THEN
""▶NDato;ELSE LEFT(NDato,DIM(NDato)-1)▶NDato;END;END;DEFAULT
NDato+TFW▶NDato;END;ELSE IF SIZE(AAC)<1 AND
NOT(RYJUI(1,1)<AAC(2)<RYJUI(2,1)AND RYJUI(1,2)<AAC(3)<RYJUI(2,2))THEN
IFERR EXPR(NDato)THEN Dato▶NDato;END;BREAK;END;END;UNTIL
0;EXPR(NDato)▶NDato;REGpp(STRING(NDato,1),RYJUI,AzulTit,White,G2);NDato;V_
As:=ROUND(V_bfs*V_tfs+V_hc*V_tw+V_bfi*V_tfi,2);V_Ap:=ROUND(V_bp*V_tp,2);
V_P:=ROUND(PE_ace*V_As/10^4,2);Local
hc;hc:=V_tfs+V_tfi+V_hc;V_d:=hc;A_fs:=V_bfs*V_tfs;Y_fs:=V_tfs/2+V_hc+V_tfi+V_tp
;AYs:=A_fs*Y_fs;A_al:=V_tw*V_hc;Y_al:=V_hc/2+V_tfi+V_tp;AYal:=A_al*Y_al;A_fi:
=V_bfi*V_tfi;Y_fi:=V_tfi/2+V_tp;AYi:=A_fi*Y_fi;A_pl:=V_bp*V_tp;Y_pl:=V_tp/2;AY
pl:=A_pl*Y_pl;LOCAL
S_Area,S_Y;S_Area:=A_fs+A_al+A_fi+A_pl;S_Y:=AYs+AYal+AYi+AYpl;LOCAL
V_Yp,do_fs,do_al,do_fi,do_pl;V_Ycg:=ROUND(S_Y/S_Area,3);V_Yp:=hc-
V_Ycg;do_fs:=V_Yp-V_tfs/2;do_al:=V_Yp-V_tfs-V_hc/2;do_fi:=V_Ycg-V_tp-
V_tfi/2;do_pl:=V_Ycg-
V_tp/2;Io_fs:=V_bfs*(V_tfs^3)/12;Io_al:=V_tw*(V_hc^3)/12;Io_fi:=V_bfi*(V_tfi^3)/12;I
o_pl:=V_bp*(V_tp^3)/12;I_fs:=Io_fs+A_fs*do_fs^2;I_al:=Io_al+A_al*do_al^2;I_fi:=Io_fi
+A_fi*do_fi^2;I_pl:=Io_pl+A_pl*do_pl^2;V_Icg:=ROUND(I_fs+I_al+I_fi+I_pl,2);V_Sx:
=ROUND(V_Icg/V_Ycg,2);V_Pvig:=ROUND((V_As-
V_Ap)/10^4*PE_ace/1000*Lviga*nV,2);V_Pp:=ROUND((A_pl/10^4)*PE_ace/1000*V_L
p*nV,2);V_Peso:=ROUND(V_Pvig+V_Pp,2);END;REGpp(Dato,RYJUI,ColorA,ColorB,G
2)BEGIN
RECT_P(G2,RYJUI(1),RYJUI(2),ColorA,ColorB);TEXTOUT_P(Dato,G2,RYJUI(1)+4,1);
END;ICON Fi
89504E470D0A1A0A0000000D49484452000000140000001208030000006C0E0E220000
00BD504C5445FFFFFFE2E2E2ECEBEB676566787677C5C4C5231F20242021D3D3D3
FCFCFC474547252F42252A37555254A3A1A2215CB12156A3B3B2B2F0F0F0302E302
3395E2173E72434503A373AF7F7F7817F7F2422252167CB2162C0232021918F8FDAD
ADA25212322467C22406E292628E6E5E55D5B5C252833216FDD216BD525252B6F6C
6DBCBBBB21539B224D8DCCCBCBF9F9F93F3D3F2531492172E62171E3252D3E4C4
94BFEFEFE7D7B7C215196215FB8214C8B8A8889939192A9A7A8BEBDBEEEEFC3B
60000003F74524E5300000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000259
AB7EE0000008149444154780195CAD51A82501000E183C2DAEDDADD126B2B58EF
FF5882419DBD712EFF6F849F9210724955360D52E9B865B2B97C218E452895A112B5
6AAD8ED868B622D8EE74117BFD41D886A331BA4DA6B310CE174B0F576B3D3003
4CCF102DA09F6DB6BBFD070FC7D3F94D4417B09D6F57B8913B03D31F7867120F26
F1647A015DF81AED767ECA440000000049454E44AE426082;TFW()BEGIN LOCAL
Val=AAC,Rs;CASE IF 31≤Val<35 THEN 25▶Rs END;IF Val=35 THEN RETURN
"/";END;IF 36≤Val<40 THEN 33▶Rs END;IF Val=40 THEN RETURN "*";END;IF
41≤Val<45 THEN 41▶Rs END;IF Val=45 THEN RETURN "-";END;IF Val=47 THEN
RETURN "0";END;IF Val=48 THEN RETURN ".";END;IF Val=50 THEN RETURN
"+";END;DEFAULT RETURN "";END;STRING(Val-Rs,1);END;FMOUSED()BEGIN
LOCAL m,m1,mx,my,v;REPEAT REPEAT m:=MOUSE;m1:=B→R(m(1));UNTIL
SIZE(m1)>0;mx:=m1(1);my:=m1(2);IF my≥17 AND my≤43 THEN CASE IF mx≥28
AND mx≤54 THEN v:=1;END;IF mx≥61 AND mx≤87 THEN v:=1;END;IF mx≥92 AND
mx≤118 THEN v:=1;END;IF mx≥123 AND mx≤149 THEN v:=1;END;IF mx≥154 AND
mx≤180 THEN v:=1;END;IF mx≥185 AND mx≤211 THEN v:=1;END;END;END;UNTIL
v==1;END;

You might also like