Professional Documents
Culture Documents
MARCO TERICO
PROGRAMACIN
La biblioteca <stdio.h>
Ordena al compilador que incluya en el programa, las funciones de entrada
salida (en nuestro caso hay una: printf, scanf).
stdio.h no es ms que un fichero biblioteca, que contiene una serie de funciones
(instrucciones), en nuestro caso de entrada-salida por pantalla.
La biblioteca <math.h>
Esta librera nos va a permitir utilizar algunas operaciones matemticas como
Logaritmos: log(), log10();sin(), cos(), tan(); raz cuadrada: sqrt(); potencia:
pow(base, exponente),valor absoluto: abs(), redondeo de nmeros: ceil(), etc.
{
Inicio
printf( ); scanf();
}
TIPO DE DATOS
Asignacin de variables.
FICSA|U.N.P.R.G.
Mejorados de pantalla
printf("\n\n\n\n\n\n");
/* 6 lineas en blanco */
printf("\t\t");
/* 2 tabuladores */
FICSA|U.N.P.R.G.
{
float a, b;
printf("\nEscribe el primer nmero a= ");
scanf("%f",&a);
printf("\nEscribe el segundo nmero b= ");
scanf("%f",&b);
if (a==b){ printf ("\nLos dos nmeros son iguales\n");}
if (a!=b) {printf("\nLos dos nmeros son distintos\n");}
if (a>b) printf("\nEl nmero %f es mayor que %f\n ",a,b);
else printf("\nEl nmero %f no es mayor que %f\n",a,b);
if ((a>b) && (100>a))
{
printf("\nEl nmero %f es mayor que %f ",a,b);
printf("\nAdems los dos son menores de 100");
}
else
{
printf("\nEl nmero %f no es mayor que %f ",a,b);
printf(" O uno de los dos nmeros es mayor de 100");
}
}
FICSA|U.N.P.R.G.
(a == b) a igual a b
(a != b) a diferente a b
((a>b) && (100>a))
a es mayor que b y adems 100 es mayor que a
Observa tambin que cada relacin hemos de encerrarla entre parntesis.
}
Que quiere decir: Si se cumple la condicin se ejcutar la sentencia1 y la
sentencia2, en caso contrario se ejecutar la 3 y la 4.
La Estructura WHILE
void main()
{
int x;
x=0;
while (x<6)
{
printf("\nEl valor de x es %d ",x);
x=x+1;
}
}
Que quiere decir: mientras se cumpla la condicin, ejecuta las sentencias que
hay entre llaves.
Observemos nuestro programa:
1) Definimos una variable entera (int) de nombre: x
FICSA|U.N.P.R.G.
i++
j--
La Estructura FOR:
FICSA|U.N.P.R.G.
for(x=1;x<=10;x=x+1)
Las lneas de programa de nuestro for se repetiran: desde x=1 hasta x=10 de 1
en 1, es decir 10 veces.
Si escribiramos: for(x=23;x<=76;x=x+4), querra decir: repite las lneas de
programa desde x=23 hasta x=76 de 4 en 4.
La estructura de programacin do while
void main()
{
int x=0;
do{
x=x+1;
printf("\nEl valor de x es %d ",x);
}while(x<=6);
}
Estructura de do-while
FICSA|U.N.P.R.G.
do {
sentencia 1;
sentencia 2;
-----------} while(condicin)
FICSA|U.N.P.R.G.
EJERCICIO DE 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.
Ast = 8 5/8
fc= 350 Kg/cm2
fy= 4200 Kg/cm2
Estribos 3/8
FICSA|U.N.P.R.G.
DIAGRAMA DE FLUJO
INICIO
Columna Rectangular
Datos de inicio
Mb[1][1]=3
Mb[2][1]=4
Mb[3][1]=5
Ingresar:
-fc: (fc)-Dimensin menor de columna
-fy: (fy)-Dimensin mayor de columna
-Ejes de acero: ejes
f=barra -2
Acero=Mb[f][3]
Ast= 0
i=0
FICSA|U.N.P.R.G.
no
i<eje
As[i]=Acero*n[i]
Ast=Ast+As[i]
i=i+1
Ag=bw*h
Pno=(0.85*fc*(Ag-Ast)+Ast*fy)/100
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
FICSA|U.N.P.R.G.
i=0
no
i<eje
si
fs[i]= 6*(cb-d[i])/cb
fs[i+1]= fs[i]
no
fs[i]>4.2
si
fs[i]=4.2
no
fs[i]<-4.2
si
fs[i]=-4.2
i=i+1
Clculo de fuerzas
i=0
FICSA|U.N.P.R.G.
no
i<eje
si
F[i]=As[i]*fs[i]
Mostrar: F[i]
no
F[i]>0
si
Compresin
no
F[i]<0
si
Tensin
i=i+1
Cc=0.85*fc*bw*a/1000
Pnb=Cc
FICSA|U.N.P.R.G.
i=0
no
i<eje
si
Pnb=Pnb+F[i]
i=i+1
Pnb
num=Ag*0.85*fc*h/2
den=Ag*0.85*fc
i=0
no
i<eje
si
num=num+As[i]*d[i]*fy
den=den+As[i]*fy
i=i+1
Yo=num/den
Yo
FICSA|U.N.P.R.G.
Mnb=Cc*(Yo-a/2)/100
i=0
no
i<eje
si
Mnb=Mnb +(F[i]*(Yo-d[i]))/100
i=i+1
Mnb
eb=Mnb/Pnb
eb
FIN
FICSA|U.N.P.R.G.
PROGRAMACION EN C++
FICSA|U.N.P.R.G.
FICSA|U.N.P.R.G.
Haga clic en Aceptar. Se crear una carpeta con el nombre asignado en la carpeta
Mis documentos \ Visual Studio 2008 \ Projects.
Aparece el siguiente cuadro de dilogo:
FICSA|U.N.P.R.G.
\t\n");
\t
COLUMNA RECTANGULAR
\n");
\t \n");
FICSA|U.N.P.R.G.
FICSA|U.N.P.R.G.
FICSA|U.N.P.R.G.
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);
FICSA|U.N.P.R.G.
RESULTADOS FINALES
FICSA|U.N.P.R.G.
EJERCICIO DE APLICACIN N2
Para la seccion de la columna que se muestra en la figura, determine la capacidad
nominal de carga axial y de momento para una excentricidad de e=1.5e b.
Consideraciones: AB en traccion:
Ast = 3 N9
fc= 420Kg/cm2
fy= 3500 Kg/cm2
Estribos 3/8
FICSA|U.N.P.R.G.
DIAGRAMA DE FLUJO
INICIO
Datos de inicio:
Fc, fy,b,h,recubrimiento(recb)
No
varillas<=2||
varillas>=13
Si
No existe N de barra ingresado
varillas<=2||
varillas>=13
Si
FICSA|U.N.P.R.G.
Ingreso de N de barra para estribo: varillae
No
No
varillae<=2||
varillae>=13
Si
barillae<=2||
barillae>=13
No
Mb[1][1]=3;Mb[1][2]=0.95;Mb[1][3]=0.71;
Mb[2][1]=4Mb[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;
i=barillas-2;
dacero=Mb[i][2];
A=Mb[i][3];
j=barillae-2;
estribo=Mb[j][2];
FICSA|U.N.P.R.G.
FICSA|U.N.P.R.G.
SI
Introducir nuevo valor de c: cb
K==1
NO
a=B1*cb
Cc=0.85*(fc/1000)*(b/(2*h))*a*a
FIN
fs1=6*(cb-d1)/cb;
Fs1=fs1*As1
fs2=6*(cb-d2)/cb;
Fs2=fs2*As2
PROGRAMACION EN C++
Pnb=Cc+Fs1+Fs2
Mnb=(Cc*(yo-(2*a/3))+Fs1*(yo-d1)+Fs2*(yo-d2))/100
eb=Mnb/Pnb
FICSA|U.N.P.R.G.
PROGRAMACIN EN C++
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
float
Mb[10][3],e,eb,fc,fy,estribo,b,h,A1,A2,x,dacero1,dacero2,d2,recb,As1,As2,
res,sen,d1,B1,a,cb,fs1,fs2,Fs1,Fs2,Cc,yo,Ag,Pnb,Mnb;
int i,o,j,k,varillas1,varillas2,varillae;
printf("
printf("
printf("
\t\n");
\t
COLUMNA TRIANGULAR
\n");
\t \n");
FICSA|U.N.P.R.G.
printf("\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
");
FICSA|U.N.P.R.G.
FICSA|U.N.P.R.G.
FICSA|U.N.P.R.G.
2)No/ su
FICSA|U.N.P.R.G.
return 0;
}
FICSA|U.N.P.R.G.