Академический Документы
Профессиональный Документы
Культура Документы
FICSA|U.N.P.R.G.
Aplicacin N1
Para la seccion de la columna que se muestra en la figura, determine los
siguientes puntos del diagrama nominal de interaccion:
a) carga concentrica.
b) condicion balanceada.
c) un punto de falla en la zona de fluencia del acero en traccion.
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
DIAGRAMA DE FLUJO
INICIO
Introducir las libreras stdio.h, math.h
Declarar las variables necesarias:
int i,j......
float Mb[10][3], ,fc,fy......
Ingresar:
-fc: (fc)-Ancho de columna menor
-fy: (fy)-Ancho mayor
-Ejes de acero: ejes
Columna Rectangular
Datos de inicio
Mb[1][1]=3
Mb[2][1]=4
Mb[3][1]=5
f=barra -2
Acero=Mb[f][3]
Ast= 0
i=0
i<eje
si
no
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
Cantidad de acero linea i+1 : n[i]
Distancia de centro de acero a capa superior :dn[i]
As[i]=Acero*n[i]
Ast=Ast+As[i]
i=i+1
Condicion carga concentrada
Ag=bw*h Pno=(0.85*fc*(Ag-Ast)+Ast*fy)/100
Area total : Ast
Area concreto : Ag
Resistencia nominal : Pno
Condicion balanceada
ey=fy/2000000
eb=6000*D/(6000+fy)
B1=0.85-(0.05-(fy-280))/70
a=0.8*cb
Mostrar:
-Cb
-B1
-a
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
i=0
i<eje
si
no
fs[i]= 6*(cb-d[i])/cb
fs[i+1]= fs[i]
fs[i]>4.2
si
no
fs[i]=4.2
fs[i]<-4.2
si
no
fs[i]=-4.2
i=i+1
Clculo de fuerzas
i=0
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
i<eje
si
no
F[i]=As[i]*fs[i]
Mostrar: F[i]
F[i]>0
si
no
Compresin
F[i]<0
si
no
Tensin
i=i+1
Cc=0.85*fc*bw*a/1000
Pnb=Cc
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
i=0
i<eje
si
no
Pnb=Pnb+F[i]
i=i+1
Pnb
num=Ag*0.85*fc*h/2
den=Ag*0.85*fc
i=0
i<eje
si
no
num=num+As[i]*d[i]*fy
den=den+As[i]*fy
i=i+1
Yo=num/den
Yo
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
Mnb=Cc*(Yo-a/2)/100
i=0
i<eje
si
no
Mnb=Mnb +(F[i]*(Yo-d[i]))/100
i=i+1
Mnb
eb=Mnb/Pnb
eb
FIN
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
PROGRAMACION EN C++
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
float
fc,fy,bw,h,Mb[11][3],B1,dc,D,Pno,Ag,Ast,Acero,As[10],d[10],ey,cb,a,fs[10]
,F[10],Cc,num,den,Mnb,yo,eb,Pnb;
int i,j,f,o,eje,n[6],barra;
printf(" \t\n");
printf(" \t COLUMNA RECTANGULAR \n");
printf(" \t \n");
printf("\n DATOS DE INICIO: ");
printf("\n ~~~~~~~~~~~~~~~~ \n");
Mb[1][1]=3; Mb[1][2]=0.95; Mb[1][3]=0.71;
Mb[2][1]=4; Mb[2][2]=1.27; Mb[2][3]=1.27;
Mb[3][1]=5; Mb[3][2]=1.59; Mb[3][3]=1.98;
Mb[4][1]=6; Mb[4][2]=1.91; Mb[4][3]=2.85;
Mb[5][1]=7; Mb[5][2]=2.22; Mb[5][3]=3.88;
Mb[6][1]=8; Mb[6][2]=2.54; Mb[6][3]=5.07;
Mb[7][1]=9; Mb[7][2]=2.86; Mb[7][3]=6.41;
Mb[8][1]=10;Mb[8][2]=3.18; Mb[8][3]=7.92;
Mb[9][1]=11;Mb[9][2]=3.49; Mb[9][3]=9.58;
Mb[10][1]=12;Mb[10][2]=3.81; Mb[10][3]=11.4;
printf("\n\n * fc (kg/cm2): ");
scanf("%f",&fc);
printf("\n * fy (kg/cm2): ");
scanf("%f",&fy);
printf("\n * ancho de viga (cm): ");
scanf("%f",&bw);
printf("\n * altura de viga: ");
scanf("%f",&h);
printf("\n * d efectivo: ");
scanf("%f",&D);
printf("\n *Ejes horizontales en la columna: ");
scanf("%d",&eje);
printf("\n\n N barra de acero: ");
scanf("%d",&barra);
f=barra-2;
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
Acero=Mb[f][3];
Ast=0;
printf("\n\n
=================================================================");
for(i=0;i<eje;i++)
{
printf("\n\n **Cantidad de aceros para la la linea %d linea:
",i+1);
scanf("%d",&n[i]);
printf("\n **Distancia del centro de acero eje superior (cm):
");
scanf("%f",&d[i]);
As[i]=Acero*n[i];
printf("\n // Area de acero en la linea %d:
%0.2f",i+1,As[i]);
Ast=Ast+As[i];
printf("\n\n
=================================================================");
}
printf("\n\n ||Condicion de carga concentrada|| ");
printf("\n \n");
printf("\n . El acero total es:%0.2f cm2",Ast);
Ag=bw*h;
printf("\n . El area de concreto es (%0.2f * %0.2f):%0.2f
cm2",bw,h,Ag);
Pno=(0.85*fc*(Ag-Ast)+Ast*fy)/1000;
printf("\n\n La resistencia nominal a la carga axial de la columna
es: %0.2f T",Pno);
printf("\n\n-------------------------------------------------------
---------------------");
printf("\n\n ||Condicion Balanceada|| ");
printf("\n \n");
ey=fy/2000000;
cb=(6000/(6000+fy))*D;
printf("\n\n El valor de cb es: %0.2f ",cb);
B1=0.85-(0.05*(fc-280))/70;
printf("\n\n El valor de B1 es: %0.2f ",B1);
a=0.8*cb;
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
printf("\n\n El valor de a es: %0.2f cm",a);
for(i=0;i<eje;i++)
{
fs[i]=6*(cb-d[i])/cb;
printf("\n\n fs[%d]= %0.2f T/cm2",i+1,fs[i]);
if(fs[i]>4.2)
{
fs[i]=4.2;
printf(" => fs[%d]=%0.2f T/cm2",i+1,fs[i]);
}
if(fs[i]<-4.2)
{
fs[i]=-4.2;
printf(" => fs[%d]=%0.2f T/cm2",i+1,fs[i]);
}
}
printf("\n\n Calculo de fuerzas en el concreto");
printf("\n :::::::::::::::::::::::::::::::::");
for(i=0;i<eje;i++)
{
F[i]=As[i]*fs[i];
printf("\n F[%d]= %0.2f T",i+1,F[i]);
if(F[i]>0)
{
printf(" (Compresion)");
}
if(F[i]<0)
{
printf(" (Tension)");
}
}
Cc=0.85*fc*bw*a/1000;
printf("\n Cc= %0.2f T",Cc);
Pnb=Cc;
for(i=0;i<eje;i++)
{
Pnb=Pnb+F[i];
}
printf("\n Pnb= %0.2f T",Pnb);
num=Ag*0.85*fc*(h/2);
den=Ag*0.85*fc;
for(i=0;i<eje;i++)
{
num=num+As[i]*d[i]*fy;
den=den+As[i]*fy;
}
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
yo=(num/den);
printf("\n\n El valor de yo es: %0.2f cm",yo);
Mnb=Cc*(yo-a/2)/100;
for(i=0;i<eje;i++)
{
Mnb=Mnb+(F[i]*(yo-d[i])/100);
}
printf("\n\n El valor de Mnb es: %0.2f T-m",Mnb);
eb=Mnb/Pnb;
printf("\n\n El valor de la excentricidad balanceada: %0.2f
m",eb);
printf("\n Oprima 0 para salir: ");
scanf("%d",&o);
return 0;
}
EJECUCION DEL PROGRAMA
DATOS DE INGRESO AL PROGRAMA
CONCRETO ARMADO I
FICSA|U.N.P.R.G.
INGRESAMOS CANTIDAD DE ACERO POR GRUPO Y SU d
RESULTADOS FINALES