Escolar Documentos
Profissional Documentos
Cultura Documentos
CDIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
float x;
cout<<"Ingrese un valor\t";
cin>>x;
if(x>=10)
{
do
{
x=x-5;
}
while(x>50);
}
else
{
if(x<5)
x=7.5;
else
x=5;
}
cout<<"Valor =\t"<<x;
getch();
}
CODIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
float z,x,y;
int i=0;
x=0;
cout<<"Ingrese un valor\t";
cin>>z;
do
{
i=i+1;
x=x +5;
if(x>5)
{
y=4
}
else
{
y=0
}
z=x+y
}while(z>50)
cout<<"Valor =\t"<<x;
getch();
}
2.3 En cada una de las tarjetas de un conjunto de cartas ndice, se registra un valor para la
concentracin de un contaminante en un lago. Al final del conjunto, se coloca una carta
marcada como fin de datos. Escriba un algoritmo para determinar la suma, el promedio y el
mximo de dichos valores.
#include <iostream.h>
#include <conio.h>
#include <math.h>
//
void main()
{
int n;
int c[50];
float suma,promedio,maximo;
suma=0;
cout<<"CONTAMINANTE EN UN LAGO\n";
cout<<"Ingrese el numero de cartas\t";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Valor contaminante de la carta "<<i<<"\t";
cin>>c[i];
suma=suma+c[i];
}
cout<<"\nfin de los datos\n";
maximo=c[1];
for(int i=1;i<=n;i++)
{
if(maximo<c[i])
{
maximo=c[i];
}
}
cout<<"MAXIMO DE LOS DATOS = \t"<<maximo<<"\n";
getch();
}
2.5 Desarrolle, depure y documente un programa para determinar las races de una ecuacin
cuadrtica, , en cualquier lenguaje de alto nivel, o de macros, de su eleccin. Utilice un
procedimiento de subrutina para calcular las races (sean reales o complejas). Ejecute
corridas de prueba para los casos en que a) a=1, b =6, c=2, b) a=0, b=-4, c=1.6, c) a=3, b=2.5,
c=7.
CODIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
float a,b,c,d;
float r1,r2;
cout<<"Ingrese el valor para a\t";
cin>>a;
cout<<"Ingrese el valor para b\t";
cin>>b;
cout<<"Ingrese el valor para c\t";
cin>>c;
d=pow(b,2)-4*a*c;
if(a==0)
{
cout<<"\nNo se pueden obtener las raices\n";
}
else
{
if(d<0)
{
cout<<"\nLas raices son imaginaria\n";
}
else
{
valor1(a,b,c);
valor2(a,b,c);
}
}
getch();
}
2.6 La funcin coseno puede evaluarse por medio de la serie finita siguiente:
Escriba un algoritmo para implementar esta frmula de modo que calcule e imprima los
valores de cos x conforme se agregue cada trmino de la serie. En otras palabras, calcule e
imprima la secuencia de valores para:
Hasta el trmino de orden a que usted elija. Para cada uno de los valores anteriores, calcule y
haga que se muestre el error porcentual relativo.
CODIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <math.h>
Factorial(int n)
{
int temp=n-1;
int r=n;
while (temp>=1)
{
r=r*temp;
temp--;
}
return r;
}
void main()
{
float n;
int t;
cout<<"Ingrese el valor a calcular\t";
cin>>n;
int a=-1;
int b=2;
cout<<"Ingrese hasta el termino a calcular\t";
cin>>t;
float v=1;
float q=0;
for(int i=1;i<=t;i++)
{
cout<<"\nvalor\t"<<i<<"\t"<<v;
v=v+(((pow(n,b))/Factorial(b))*(-1));
b=b+2;
}
float val=0;
val=((cos(n)-v)/(cos(n)))*1;
cout<<"\n\nERROR\t"<<val;
getch();
}
2.7 Escriba el algoritmo para el problema 2.6 en forma de a) diagrama de flujo estructurado,
y b) seudocdigo.
2.8) Desarrolle depure y documente un programa para el problema 2.6 en cualquier lenguaje
de alto nivel o de macros, de su eleccin. Emplee la funcin coseno de la biblioteca de su
computadora para determinar el valor verdadero. Haga que el programa imprima en cada
paso la serie de aproximacin y el error. Como caso de prueba, utilice el programa para
calcular valores desde cos(1.25) hasta incluir el termino xn/10!. Interprete los resultados.
#include <iostream.h>
#include <conio.h>
#include <math.h>
Factorial(int n)
{
int temp=n-1;
int r=n;
while (temp>=1)
{
r=r*temp;
temp--;
}
return r;
}
void main()
{
float n;
int t;
cout<<"Ingrese el valor a calcular\t";
cin>>n;
int a=-1;
int b=2;
cout<<"Ingrese hasta el termino a calcular\t";
cin>>t;
float v=1;
float q=0;
for(int i=1;i<=t;i++)
{
cout<<"\nvalor\t"<<i<<"\t"<<v;
v=v+(((pow(n,b))/Factorial(b))*(-1));
b=b+2;
}
float val=0;
val=((cos(n)-v)/(cos(n)))*1;
cout<<"\n\nERROR\t"<<val;
getch();
}
2.9 El algoritmo siguiente est diseado para determinar la calificacin de un curso que
consiste en cuestionarios, tareas y un examen final.
Paso 2: Introducir factores de ponderacin para los cuestionarios (C), tareas (T) y examen
final (E).
Paso 5: Si el curso tiene una calificacin final, continuar con el paso 6. Si no, ir al paso 9.
CODIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
int pr[20];
int tr[20];
char cl;
char nom;
int preg,tar;
float C,T,E;
cout<<"Ingrese la clave del curso\t";
cin>>cl;
cout<<"Ingrese el nombre del curso\t";
cin>>nom;
cout<<"Valor de ponderacion para los cuestionarios\t";
cin>>C;
cout<<"Valor de ponderacion para las tareas\t";
cin>>T;
cout<<"Valor de ponderacion para el examen final\t";
cin>>E;
cout<<"Ingrese el numero de preguntas\t";
cin>>preg;
float suma;
float vp,vt;
float PC,PT;
suma=0;
for(int i=1;i<=preg;i++)
{
cout<<"Ingrese el valor de la pregunta "<<i<<"\t";
cin>>vp;
pr[i]=vp;
suma=suma+ pr[i];
}
PC=suma/preg;
cout<<"Ingrese el numero de tareas\t";
cin>>tar;
suma=0;
int op;
for(int i=1;i<=tar;i++)
{
cout<<"Ingrese el valor de la tarea "<<i<<"\t";
cin>>vt;
tr[i]=vt;
suma=suma+ tr[i];
}
PT=suma/tar;
cout<<"EL curso tiene una calificacion final\n";
cout<<"1. si\n";
cout<<"2. no\n";
cout<<"Escoja una opcion\t";
cin>>op;
float cf,CP,F;
switch(op)
{
case 1:
cout<<"Ingrese la calificacion final\t";
cin>>F;
CP=((C*PC+T*PT+E*F)/(C+T+E))*1;
break;
case 2:
CP=((C*PC+T*PT)/(C+T))*1;
break;
}
getch();
}
2.10 El mtodo antiguo de dividir y promediar, para obtener el valor aproximado de la raz
cuadrada de cualquier numero positivo a se puede formular como
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
float a,d;
cout<<"Ingrese un valor\t";
cin>>a;
float tol,x,y,e;
if(a>0)
{
tol=pow(10,-2);
x=a/2;
do
{
y=(x+a/x)/2;
e=fabs((y-x)/y);
x=y;
}while(e>tol);
getch();
}
2.11 Se invierte cierta cantidad de dinero en una cuenta en la que el inters se capitaliza al
final del periodo. Debe determinarse el valor futuro, F, que se obtiene con cierta tasa de
inters, i, despus de n periodos, por medio de la formula siguiente:
Escriba un programa que calcule el valor futuro de una inversin para cada ao, desde 1
hasta n. La entrada para la funcin debe incluir la inversin inicial, P, la tasa de inters, i, (en
forma decimal), y el nmero de aos, n, para el que ha de calcularse el valor futuro. La salida
debe consistir en una tabla con encabezado y columnas para n y F. Corra el programa para
P=$100000, I=0.06, y n=5 aos.
CODIGO EN C++
#include <conio.h>
#include <math.h>
void main()
{
int n;
float P,F,i,a;
cout<<"Ingrese la cantidad de dinero\t";
cin>>P;
cout<<"Ingrese el valor del interes\t";
cin>>i;
cout<<"Ingrese el numero de anios\t";
cin>>n;
cout<<"\nPeriodo\t \t Valor\n";
for(int i=1;i<=n;i++)
{
a=pow((1+i),n);
F= P*(a);
cout<<i<<"\t\t"<<F<<"\n";
//P=F;
}
getch();
}
2.12 Las formulas econmicas estn disponibles para calcular los pagos anuales de
prstamos. Suponga que obtiene un prstamo cierta cantidad de dinero P y acuerda
devolverla en n pagos anuales con una tasa de inters de i. La frmula para calcular el pago
anual A es:
Escriba un programa para calcular A. Prubelo con P=$55000 y una tasa de inters de 66%
(i=0.066). Calcule los resultados para n=1, 2, 3, 4 y 5, y muestre los resultados en forma de
tabla con encabezados y columnas para n y A.
CODIGO EN C++
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
//PRESTAMOS
void Prestamo()
{
int P,n;
float i,a,a1;
cout<<"Ingrese el valor del prestamo\t";
cin>>P;
cout<<"Ingrese el valor del interes\t";
cin>>i;
cout<<"\n\nPeriodo\t\t Valor\n";
for(int n=1;n<=5;n++)
{
a1=pow(1+i,n);
a=P*((i*a1)/(a1-1));
cout<<n<<"\t\t";
cout<<a<<"\n";
}
getch();
}
void main()
{
Prestamo();
}
2.13 La temperatura promedio diaria para cierta rea se aproxima por medio de la funcin
siguiente.
2.14 Desarrolle, depure y pruebe un programa en cualquier lenguaje de alto nivel, o de
macros, de su eleccin, a fin de calcular la velocidad del paracadas que cae como se explic
en el ejemplo 1.2. Disee el programa de modo que permita al usuario introducir calores
para el coeficiente de arrastre y masa. Pruebe el programa con la reproduccin de los
resultados el ejemplo 1.2. Repita el clculo pero utilice tamaos de paso de 1 y 0.5. Compare
sus resultados con la solucin analtica que se obtuvo previamente en el Ejemplo 1.1. Un
tamao de paso ms pequeo. Hace que los resultados sean mejores o peores? Explique sus
resoluciones.
CODIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <windows.h>
//METODO DE LA BURBUJA
void main()
{
srand(time(NULL));
int n=20;
int v[21];
int k;
for(int i=1;i<=n;i++)
{
v[i]= rand()%20+1;
}
cout<<"\nVALORES INGRESADOS\n";
for(int i=1;i<=n;i++)
{
cout<<v[i]<<endl;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
if(v[j]>v[j+1])
{
k=v[j+1];
v[j+1]=v[j];
v[j]=k;
}
}
}
cout<<"\n\nVALORES ORDENADOS\n";
for(int i=1;i<=n;i++)
{
cout<<v[i]<<endl;
}
getch();
}
2.16 En la figura P2.16 se muestra un tanque cilndrico con base cnica. Si el nivel del lquido
est muy bajo en la parte cnica, el volumen simplemente es el volumen del cono de lquido.
Si el nivel del lquido esta entre la parte cilndrica, el volumen total del lquido incluye la
parte cnica llena y la parte cilndrica parcialmente llena. Escriba un procedimiento bien
estructurado de funcin para calcular el volumen del tanque como funcin de los valores
(como If/Then, ElseIf, Else, End If). Disee la funcin de modo que produzca el volumen en
todos los casos en los que la profundidad sea menor que 3R. Genere un mensaje de error
(Sobrepasado) si se rebasa la altura del tanque, es decir, d> 3R. Prubelo con los datos
siguientes:
CODIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
float d,v;
int R=1;
cout<<"CALCULAR EL VOLUMEN DEL TANQUE\n";
cout<<"INGRESE EL DIAMETRO DEL TANQUE\t";
cin>>d;
cout<<"INGRESE EL NIVEL DEL LIQUIDO\t";
cin>>R;
if(R<=3)
{
if(R=1)
{
v=(3.14*d*R)/3;
}
if(R=2)
{
v= ((3.14*d*R)/3)+(3.14*d*R);
}
if(R=3)
{
v= ((3.14*d*R)/3)+(3.14*d*2*R);
}
}
else
{
cout<<"Sobrepasado";
}
cout<<"El volumen es\t"<<v;
getch();
}
2.17 Se requieren dos distancias para especificar la ubicacin de un punto en relacin con el
origen en un espacio de dos dimensiones (Vase la figura P2.17).
Es relativamente fcil calcular las coordenadas cartesianas (x,y) sobre la base de las
coordenadas polares (r,). El proceso inverso no es tan simple. El radio se calcula con la
frmula que sigue:
Si las coordenadas quedan dentro del primer o cuarto cuadrante (p, ej, x>0), entonces se
emplea una formula sencilla para el clculo de .
La dificultad surge en los dems casos. La tabla siguiente resume las posibilidades:
2.18 Desarrolle un procedimiento bien estructurado de funcin que lea una calificacin
numrica entre 0 y 100 y devuelva una letra de acuerdo con el esquema siguiente:
Letra Criterio
A 90 <=calificacin numrica <=100
B 80 <=calificacin numrica <=90
C 70 <=calificacin numrica <=80
D 60 <=calificacin numrica <=70
F calificacin numrica <=100
CODIGO EN C++
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
// CALIFICACION NUMERICA ENTRE 0 Y 100
void main()
{
int c;
cout<<"INGRESE LA CALIFICACION\n";
cin>>c;
if(c>=0 && c<=100)
{
if(c>=90 && c<=100)
{
cout<<"A";
}
else {
if(c>=80 && c< 90)
{
cout<<"B";
}
else{
if(c>=70 && c<=80)
{
cout<<"C";
}
else{
if(c>=60 && c<70)
{
cout<<"D";
}
else{
if(c< 60)
{
cout<<"F";
}
}
}
}
}
}
else
{
cout<<"Numero fuera del rango permitido";
}
getch();
}
2.19 Desarrolle un procedimiento bien estructurado de funcin para determinar a) la
factorial de un nmero; b) el valor ms pequeo de un vector, y c) el promedio de los calores
de un vector.
CODIGO EN C++
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
int m=v[1];
for(int i=1;i<=n;i++)
{
if(m>v[i])
{
m=v[i];
}
}
cout<<"\n\nValor menor =\t" <<m;
getch();
}
//FUNCION QUE CALCULA EL PROMEDIO DE VALORES DE UN VECTOR
void Promedio()
{
int v[50];
int n,val,suma;
float promedio;
suma=0;
promedio=0;
cout<<"Ingrese el numero de elementos del vector\t";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Ingrese el elemento "<<i<<"\t";
cin>>val;
v[i]=val;
}
cout<<"\n\nElementos ingresados\n" ;
for(int i=1;i<=n;i++)
{
cout<<v[i]<<"\t";
suma=suma+v[i];
}
promedio=suma/n;
cout<<"\nEl promedio es: "<<promedio;
getch();
}
void main()
{
int op;
cout<<"1. Calcular el factorial de un numero\n";
cout<<"2. Calcular el valor mas pequeo de un vector\n";
cout<<"3. Calcular el promedio de los valores de un vector\n";
cout<<"Escoja una opcion\n";
cin>>op;
switch(op)
{
case 1:
Factorial();
break;
case 2:
ValorPequenio();
break;
case 3:
Promedio();
}
}
2.20 Desarrolle programas bien estructurados para a) determinar la raz cuadrada de la suma
de los cuadrados de los elementos de un arreglo bidimensional (p, ej., una matriz), y b)
normalizar una matriz por medio de dividir cada rengln entre el valor absoluto mximo en
el rengln de modo que el elemento mayor en cada rengln sea 1.
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
int m[5][5];
int c,f,val;
float suma,r;
suma=0;
r=0;
cout<<"Ingrese el numero de filas\t";
cin>>f;
cout<<"Ingrese el numero de columnas\t";
cin>>c;
for(int i=1;i<=c;i++)
{
for(int j=1;j<=f;j++)
{
cout<<"Ingrese un valor para la posicion "<<i<<","<<j<<"\t";
cin>>val;
m[i][j]=val;
suma=suma + pow(val,2);
}
}
cout<<"valores ingresados\n";
for(int i=1;i<=c;i++)
{
for(int j=1;j<=f;j++)
{
cout<<m[i][j]<<"\t";
suma=suma + pow(val,2);
}
cout <<"\n";
}
r=sqrt(suma);
cout<<"La raz cuadrada de la suma de los cuadrados es \t",r;
getch();
}