color 5,3
dim l$(200)
dim a$(200)
dim ndp$(200)
dim l(200)
dim a(200)
dim sup(200)
dim carga(200)
dim zap$(200)
f#=0.7
m#=0.6
print "si necesita ayuda pulse a"
ayuda$=input$(1)
if ayuda$="a" then gosub ayuda
input "Nombre del fichero ",fichero$
if fichero$= "" then fichero$="cargas"
fichero$=fichero$+".bas"
open fichero$ for input as #1
  input #1, rt               :' resistencia del suelo kg/cm2
  input #1, n1%,c1#  :' Numero de plantas y carga tipo1
  input #1, n2%,c2#  :' Numero de plantas y carga tipo2
  input #1, ndz
  for n=1 to ndz
    input #1, ndp$(n),l$(n),a$(n)
  next n
close #1
cu#=n1%*c1#+n2%*c2#
pp=(n1%+n2%)*2.4*3*((0.25+(0.15/(n1%+n2%))*(n1%+n2%-1))^2)
for n=1 to ndz
  ndll=len(l$(n)) :' numero de letras de largo
  ndla=len(a$(n)) :' numero de letras de ancho
  l(n)=val(l$(n))
  a(n)=val(a$(n))
  if  right$(l$(n),1)="f" then  l(n)=val(l$(n))+f#
  if  right$(a$(n),1)="f" then  a(n)=val(a$(n))+f#
  if  right$(l$(n),1)="m" then  l(n)=val(l$(n))+m#
  if  right$(a$(n),1)="m" then  a(n)=val(a$(n))+m#
  if  right$(l$(n),1)<>"m" and right$(a$(n),1)<>"m"then zap$(n)="me"
  sup(n)=l(n)*a(n)
  carga(n)=sup(n)*cu#+pp
next n
print str$(n1%)+"  plantas de carga "+str$(c1#)+"t."
print str$(n2%)+"  plantas de carga "+str$(c2#)+"t."
print "Carga unitaria = "_
      +str$(n1%)+" x "+str$(c1#)+" + "+str$(n2%)+" x "+str$(c2#)+" = "_
      +str$(cu#)+" t."
print
print "Numero   Largo   Ancho    Superficie  Carga    Peso       Peso     Total "
print "                                     unitaria  Forjados   Pilares  Carga"
print "           m       m         m2         T        T          T        T"
print "-------------------------------------------------------------------------"
  d1$="\    \   \   \   \   \    ####,.##   ###,.##   ###,.##   ###,.##  ###,.## "
for n=1 to ndz
  if n mod 15=0 then input "Para seguir pulse una tecla ",aa
  print  using d1$; ndp$(n);l$(n);a$(n);sup(n);cu#;sup(n)*cu#;pp;carga(n)
next n
'  cimentacion de zapatas
    print
    PRINT_
    " ZAPATA       DIMENSIONES        ARMADURAS        SECCION   "
    print_
    "            cm x  cm  x cm                        cm2Xcm2"
    print_
    "-------------------------------------------------------------"
d1$="\      \   ### \\ ### \\ ###   ##\\##\\##\\##  ##,.##\\##,.##"
    print
    print
    FOR n=1 TO ndz
'     a=3*n-3
      h=30
'     m=n-1
      if zap$(n)<>"me" then la=10*INT((SQR(2300*carga(n)/rt)+10)/10) else_
                           la=10*INT((SQR(1150*carga(n)/rt)+10)/10)
      IF la<60 THEN la=60
      IF la<150 THEN al=30 ELSE al=10*(1+la\50)
      rtc=1000*carga(n)/la^2
      if  zap$(n)="me" then rtc=2*rtc
      mxz=0.8*rtc*la*(0.5*la-0.35*h)^2/10^5
      myz=0.8*rtc*la*(0.25*la-0.35*h)^2/10^5
      ppx=0.5*la*al*0.11666
      ppy=2*ppx
      ax=0.2805*ppx*(1-SQR(1-320*mxz/(ppx*(al-5))))
      ay=0.2805*ppy*(1-SQR(1-320*myz/(ppy*(al-5))))
      az=0.2805*ppy*(1-SQR(1-320*mxz/(ppy*(al-5))))
      nx=fnMAX(1+la\40,1+ax\3.1416)
      ny=fnMAX(1+la\20,1+ay\3.1416)
      nz=fnMAX(1+la\20,1+az\3.1416)
      FOR ff=1 TO 3
        d(1)=11.284*SQR(ax/nx)
        d(2)=11.284*SQR(ay/ny)
        d(3)=11.284*SQR(az/nz)
        GOSUB redondos2
      NEXT ff
      if  zap$(n)="me" then
        PRINT using d1$;ndp$(n);la;"X";la;"X";al;_
                            nz;"R";d(3);"X";nz;"R";d(3);az;"X";az
      else
        PRINT using d1$;ndp$(n);la;"X";la/2;"X";al;_
                            nx;"R";d(1);"X";ny;"R";d(2);ax;"X";ay
      end if
 next n
end
ayuda:
cls
print "Los datos se introduciran en un fichero de texto."
print "Ese fichero se debe crear con un procesador de textos, en forma"
print "ascii, por ejemplo en Wordstar con la entrada N, con el formato"
print "siguiente:"
print
print "3,1                numero de plantas y carga del tipo 1"
print "7,0.7              numero de plantas y carga del tipo 2"
print "5                  numero de pilares"
print "4,3.2f             largo y ancho de cada superficie de carga"
print "3,5.5              la letra f al final significa que hay una fachada"
print "3m,5               la letra m significa que hay una medianera en"
print "3,2                esa direccion"
print "4,4.3"
print "0,0                Al final se pondran dos ceros"
print
print
print "Si desea acceder a un procesador de textos sin salir del programa"
print "pulse p"
aa$=input$(1)
if aa$="p" then
  cls
  chdir "c:\ws"
  shell "ws"
  chdir "c:\b\ca"
  cls
end if
input "Para seguir pulse ",aa 
cls
return
def fnMAX(a,b)
if a>=b then fnMAX=a else fnMAX=b
end def
redondos:
 IF drp>=0 AND drp<=12 THEN drp=12
 IF drp>12 AND drp<=14 THEN drp=14
 IF drp>14 AND drp<=16 THEN drp=16
 IF drp>16 AND drp<=20 THEN drp=20
RETURN
redondos2:
FOR ff=1 TO 3
 IF d(ff)<=10 THEN d(ff)=10
 IF d(ff)>10 AND d(ff)<=12 THEN d(ff)=12
 IF d(ff)>12 AND d(ff)<=14 THEN d(ff)=14
 IF d(ff)>14 AND d(ff)<=16 THEN d(ff)=16
 IF d(ff)>16 AND d(ff)<=20 THEN d(ff)=20
NEXT ff
RETURN
No hay comentarios:
Publicar un comentario