sábado, 4 de junio de 2011

Calculo de voladizos de hormigon armado (programacion)


10
q=0:l=0:c=0:e=0:b=0:h=0:bmin=0:hmin=0
screen 9
cls

color 1,6
locate 8,15 :print "Carga lineal (T/m) :"
locate 9,15 :PRINT "Luz (m) ..........:"
locate 10,15:print "Carga puntual (T).:"
locate 11,15:print "Excentricidad (m) :"
locate 12,15:print "Ancho (cm) ........:"
locate 13,15:print "Canto (cm) ........:"
locate 8,36 :input ,q


if q>0 then locate 9,36 :input ,l
locate 10,36:input ,c
if c>0 or l=0 then locate 11,36:input ,e

if l=0 and e=0 then goto 10
11
locate 12,36:input ,b
locate 13,36:input ,h


' Momento flector
m=q*l/2+c*e
mmin=b*h*fnmax(l,e)*2.4/(2*10^4)+1*fnmax(l,e)

if m>0.000255*b*h^2 or b*h=0 then
if b*h>0 then
bmin=1+int(m/(0.000255*h^2))
hmin=1+int(sqr(m/(0.000255*b)))
end if
color 4,2
locate 7,15:Print "HAY QUE AUMENTAR LA ESCUADRIA ";b;"x";hmin;"--";bmin;"x";h
goto 11
end if
color 4,2
locate 7,15:print "DATOS CONFORMES O COMPATIBLES ENTRE SI "


' Seccion de acero
a=0.2805*b*h*0.11666*(1-sqr(1-320*m/(b*h*0.11666*h))) ' seccion
if a<0.00131*b*h then a=0.00131*b*h ' Seccion minima de acero

nr=fnmax((1+a\3.14),(1+b\20)) ' Numero de barras
if nr<2 then nr=2          ' Numero minimo de barras = 2
dr=1+int(10*sqr(1.273*a/nr))  ' Diametro de la armadura
gosub ajuste ' se ajustan los diametros calculados a los diametros comerciales

d1$="\ \####,.###"
locate 14,15:print using d1$;"Momento (mT) ...............: ";m
locate 15,15:print using d1$;"Seccion de acero (cm2)......: ";a
locate 16,15:print using d1$;"Numero de barras ...........: ";nr
locate 17,15:print using d1$;"Diametro de la armadura (mm): ";dr
21

locate 20,15:print "Calculara otra mensula (s/n) ?"

a$=input$(1)
select case a$
case "s" : goto 10
case "n" : end
case else: goto 21
end select
end

def fnMAX(a,b)
if a>=b then fnMAX=a else fnMAX=b
end def

ajuste:
if dr<=10 THEN dr=10
IF dr>10 AND dr<=12 THEN dr=12
IF dr>12 AND dr<=16 THEN dr=16
IF dr>16 AND dr<=20 THEN dr=20
RETURN

No hay comentarios: