Escolar Documentos
Profissional Documentos
Cultura Documentos
INTRODUCCION
II. OBJETIVOS
GENERAL
ESPECFICOS
VIGA DE SECCION T
El ancho efectivo de las losas que acta como ala de una viga T, deber
evaluarse en base a los siguientes lmites:
- Menor o igual a la cuarta parte de la longitud de la viga.
- Menor o igual al ancho del alma ms ocho veces el espesor de la losa, a
cada lado del alma.
Menor o igual al ancho del alma ms la distancia libre a la siguiente
alma.
DISEO DE VIGAS T
PASOS DE LA PROGRAMACIN.
- Lmite de fluencia.(kg/cm2)
- N de varillas
- Dimetro de varillas y de estribos. (cm)
- N de capas: se debe seleccionar
DATOS
DIMENSIONES
CONCRETO
El valor de la resistencia del concreto, se ingresa en las unidades descritas
en el programa (kg/cm2).
ACERO
Varillas
CALCULO
TIPO DE SECCIN
INICIO
Ingresar bw y recubrimiento
Ass=0; i=0
no
i<c
si
f=barra-2;
db[i]=tab[f][2];
Asu[i]=tab[f][3];
db[i]<=2.54
si
sb=2.54 no
sb=db[i]
espocup[i]=(n[i]*db[i])+((n[i]-1)*sb)
As[i]=Asu[i]*n[i];
sumas=As[i]+sumas
y=adi+db[i]/2;
num=num+(As[i]*y)
adi=adi+db[i]+2.54
i=i+1
emay=espocup[0];i=0
no
i<c-1
no
emay<= espocup[i+1];
si
emay=espocup[i+1];
i=i+1
no
bmin>bw
si
Ingresar valores de: -b , h, hf, fc, fy, tipo de zona ssmica (ek)
si si
K=0.5 K=0.755
yg=num/Ass; d=h-(rc+ds+yg)
Valor de d, yg
p=Ass/(b*d)
pmin1=sqrt(fc)*(0.8/fy); pmin2=14/fy
si
pmin1 pmin=pmin1
>pmin2
no
pmin=pmin2
B1=0.85-(0.05*(fc-280)/70)
no
B1>0.85 B1<0.65
si si
B1=0.85 B1=0.65
no
Valor de B1
-pv=B1*0.85*(fc/fy)*(6000/(6000+fy))
-Asf=0.85*fc*(b-bw)*hf/fy
-pf=Asf/(bw*d)
-pmax=k*(bw/b)*(pv+pf)
si
no
p<pmax No cumple con las
normas del ACI
si
a=Ass*fy/(0.85*fc*b)
Valor de a
no
a<hf
si
Mu=0.9*Ass*(fy/1000)*((d-
(a/2))/100)
Momento ultimo: Mu
a>hf
si
As1=Ass-Asf
a1=As1*fy/(0.85*fc*bw)
Mu1=0.9*As1*(fy/1000)*((d-a1/2)/100)
Mu2=0.9*Asf*(fy/1000)*((d-hf/2)/100)
Mu=Mu1+Mu2
Momento ultimo: Mu
FIN
CODIFICACION DEL PROGRAMA
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
do
{
printf("\n\n\t\t\t\t ANALISIS DE VIGAS T");
printf("\n\n\t\t\t\t ===================");
do
{
printf("\n\n Valor de 'numero de capas de acero': ");
scanf("%d",&c);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
printf("\n -Valor de 'bw'(cm): ");
scanf("%f",&bw);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
printf("\n -Valor de 'recubrimiento'(cm): ");
scanf("%f",&rc);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
Ass=0;
y=0;
for(i=0;i<c;i++)
{
printf("\n\n CAPA %d",i+1);
f=barra-2;
db[i]=tab[f][2];//diametro de cada acero
Asu[i]=tab[f][3];//acero por unidad
printf("\n .Diametro del acero es %0.2f cm y su area es %0.2f
cm2",db[i],Asu[i]);
if(db[i]<=2.54)
{
sb=2.54;
}
else
{
sb=db[i];
}
espocup[i]=(n[i]*db[i])+((n[i]-1)*sb);
y=adi+db[i]/2;
num=num+(As[i]*y);
adi=adi+db[i]+2.54;
emay=espocup[0];
nb=n[0];
for(i=0;i<c;i++)
{
if(emay<=espocup[i])
{
emay=espocup[i];
nb=n[i];
}
}
j=barraest-2;
ds=tab[j][2];
printf("\n\n Diametro del acero es %0.2f cm ",ds);
bmin=2*(rc+ds)+emay;
printf("\n El bmin es: %f",bmin);
if(bmin>bw)
{
printf("\n\a ##Dimension minimo de ancho minimo de viga
mayor que el introducido. \n *Ingrese nuevos diametros de acero");
printf("\n ...........................................................
.................................");
}
}while(bmin>bw);
do
{
printf("\n -Valor de f'c(kg/cm2): ");
scanf("%f",&fc);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
printf("\n -Valor de fy (kg/cm2): ");
scanf("%f",&fy);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
printf("\n -Tipo de zona(elija una de las opciones");
printf("\n\n 1=Alto riesgo sismico \t\t 2=Bajo riesgo
sismico \n\n la opcion que usted elige es:");
scanf("%d",&ek);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
if(ek==1)
{
k=0.5;
}
if(ek==2)
{
k=0.75;
}
printf("\n\n el valor elegido de k es: %0.2f",k);
}while(elec==1);
yg=num/Ass;
d=h-(rc+ds+yg);
printf("\n\n El valor de 'd' es: %0.2f cm",d);
p=Ass/(b*d); //cuantia
printf("\n\n **El valor de la cuantia es 'p': %0.5f",p);
pmin1=sqrt(fc)*(0.8/fy);
printf("\n\n ..El valor de la cuantia min1 es : %0.5f",pmin1);
pmin2=14/fy;
printf("\n ..El valor de la cuantia min2 es : %0.5f",pmin2);
if(pmin1>pmin2)
{
pmin=pmin1;
}
else
{
pmin=pmin2;
}
B1=0.85-(0.05*(fc-280)/70);
if(B1>0.85)
{
B1=0.85;
}
if(B1<0.65)
{
B1=0.65;
}
printf("\n\n\tEl valor de B1 es: %f",B1);
pv=B1*0.85*(fc/fy)*(6000/(6000+fy));
printf("\n\n El valor de r' es :%0.5f",pv);
Asf=0.85*fc*(b-bw)*hf/fy;
printf("\n\n El valor de Asf es :%0.2f cm2",Asf);
pf=Asf/(bw*d);
printf("\n\n El valor de rf es :%0.5f",pf);
pmax=k*(bw/b)*(pv+pf);
printf("\n\n El valor de Cuanta maxima es : %f",pmax);
if(pmin<p)
{
if(p<pmax)
{
printf("\n\n Conforme a las normas del ACI");
}
else
{
printf("\n\n No Conforme a las normas del ACI");
}
}
else
{
printf("\n\n No Conforme a las normas del ACI");
}
a=Ass*fy/(0.85*fc*b);
printf("\n\n El valor de 'a' es: %0.2f",a);
if(a<hf)
{
printf("\n\n /*\Usar seccion rectangular 'a' = %0.2f cm <
hf = %0.2f cm", a,hf);
Mu=0.9*Ass*(fy/1000)*((d-(a/2))/100);
As1=Ass-Asf;
printf("\n\n El valor de As1 es :%0.2f cm2",As1);
a1=As1*fy/(0.85*fc*bw);
printf("\n\n El valor del nnuevo 'a' es:%0.2f cm",a1);
Mu1=0.9*As1*(fy/1000)*((d-a1/2)/100);
Mu2=0.9*Asf*(fy/1000)*((d-hf/2)/100);
Mu=Mu1+Mu2;
printf("\n\n El Momento Ultimo es: %0.2f T-m", Mu);