You are on page 1of 15

Ao del Centenario de Machu Picchu para el Mundo

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


(Universidad del Per, DECANA DE AMERICA)

FIGMMGC
E.A.P. INGENIERA CIVIL

TEMA:
PRACTICA N 1
CURSO

: Algoritmo y Programacion

ALUMNO
11160424

: ERICK EDSON PASACHE LOPERA Cdigo

CICLO
AULA

:
:

I
2011

Ciudad Universitaria, 14 de setiembre del 2011

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE FISICA
Curso: Algortmica I

Problemas secuenciales
PRACTICA # 1

Fecha: SETIEMBRE 2008

1.- Elabore un algoritmo que dados como datos de entrada el radio y la altura de un cilindro
calcular, el rea lateral y el volumen del cilindro.
A = 2 radio*altura
V = radio2*altura
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int r,h;
float S,V;
#define PI 3.1415926535
cout<<"Area lateral y volumen de un Cilindro"<<endl<<endl;
cout<<"Ingrese el radio: ";
cin>>r;
cout<<endl;
cout<<"Ingrese la altura: ";
cin>>h;
cout<<endl;
S=2*PI*r*h;
cout<<"El Area lateral es: "<<A;
cout<<endl<<endl;
V=(PI*r*r)*h;
cout<<"El Volumen es: "<<V;
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
2.- Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo
de estudiantes.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float h,m;
cout<<"Calculando el porcentaje de alumnos"<<endl;
cout<<"ingrese el nmero de alumnos: ";
cin>>h;
cout<<"ingrese el nmero de alumnas: ";
cin>>m;
cout<<"El porcentaje de alumnos es: "<<(h/(h+m))*100<<endl;
cout<<"El porcentaje de alumnas es: "<<(m/(h+m))*100<<endl;
system("PAUSE");

return EXIT_SUCCESS;
}
3.- Queremos conocer los datos estadsticos de una asignatura, por lo tanto, necesitamos un
algoritmo que lea el nmero de desaprobados, aprobados, notables y sobresalientes de una
asignatura, y nos devuelva:
a. El tanto por ciento de alumnos que han superado la asignatura.
b. El tanto por ciento de desaprobados, aprobados, notables y sobresalientes de la
asignatura.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float a,b,c,d,x,y,z;
cout<<"Datos estadisticos"<<endl<<endl;
cout<<"Ingrese el numero de desaprobados: ";
cin>>x;
cout<<"Ingrese el numero de aprobados notables: ";
cin>>y;
cout<<"Ingrese el numero de aprobados sobresalientes: ";
cin>>z;
a=(x*100)/(x+y+z);
b=((y+z)*100)/(x+y+z);
c=(y*100)/(x+y+z);
d=(z*100)/(x+y+z);
cout<<"El porcentaje alumnos desaprobados es "<<a<<"%, el de aprobados totales "<<b<<"%,
"<<endl<<endl;
cout<<"el de aprobados notables "<<c<<"% y el de aprobados sobresalientes
"<<d<<"%."<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
4.- Un departamento de climatologa ha realizado recientemente su conversin al sistema mtrico.
Disear un algoritmo para realizar las siguientes conversiones:
a. Leer la temperatura dada en la escala Celsius e imprimir en su equivalente Fahrenheit (la
frmula de conversin es F=9/5 C+32).
b. Leer la cantidad de agua en pulgadas e imprimir su equivalente en milmetros (25.5 mm
= 1pulgada.
#include<iostream>
#include<cstdlib>
using namespace std;
int main()

{
int a,b;
float f,c;
cout<<"...Convertidor de de unidades...";
cout<<endl<<endl;
cout<<"Ingrese la temperatura en grados celsius: ";
cin>>a;
cout<<endl;
f=(9*a/5)+32;
cout<<"La temperatura en grados Farenheit es: "<<f<<"F";
cout<<endl<<endl;
cout<<"Ingrese la cantidad de agua en pulgadas: ";
cin>>b;
cout<<endl;
c=b*25.5;
cout<<"La cantidad de agua en mm es: "<<c<<"mm";
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

5.- El costo de un automvil nuevo para un comprador es la suma total del costo del vehculo, del
porcentaje de la ganancia del vendedor y de los impuestos locales o estatales aplicables (sobre el
precio de venta). Suponer una ganancia del vendedor del 12% en todas las unidades y un impuesto
del 6% y disear un algoritmo para leer el costo total del automvil e imprimir el costo para el
consumidor.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float a,v,i;
cout<<"Precio de venta del auto"<<endl;
cout<<"Ingrese el precio de costo del auto: ";
cin>>a;
i=a*(0.1872);
cout<<"La ganancia sera: "<<i<<endl;
v=a*(1.1872);
cout<<"El precio de vental final es: "<<v<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

6.- Desglosar cierta cantidad de segundos a su equivalente en das, horas, minutos y segundos.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout<<"Precio de Automoviles"<<endl;
int a;
cout<<"Ingrese el precio de Automovil: ";
cin>>a;
cout<<"Utilidad: "<<a*0.12<<endl;
cout<<"Impuesto: "<<a*0.06<<endl;
cout<<"El precio de venta del auto sera: "<<1.18*a<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
7.- Calcular la fuerza de atraccin entre dos masas, separadas por una distancia, mediante la
siguiente frmula:
F = G*masa1*masa2 / distancia2
Donde G es la constante de gravitacin universal: G = 6.673 * 10 -8 cm3/g.seg2
#include<iostream>
#include<cstdlib>
#include<math.h>
using namespace std;
int main()
{
int m,M,d;
float F,G=6.673*pow(10,-8);
cout<<"FUERZA DE ATRACCION ENTRE DOS MASAS"<<endl;
cout<<"Inserte la masa de un cuerpo: ";
cin>>m;
cout<<endl;
cout<<"Inserte la masa del otro cuerpo: ";
cin>>M;
cout<<endl;
cout<<"Inserte la distancia de separacin: ";
cin>>d;
cout<<endl;
F=(G*m*M)/(d*d);
cout<<"La fuerza de atraccion es: "<<F;
system("PAUSE");
return EXIT_SUCCESS;
}

8.- Calcular el monto final, dados como datos el Capital Inicial, el tipo de Inters, el numero de
periodos por ao, y el numero de aos de la inversin. El clculo del capital final se basa en la
formula del inters compuesto.
M = C(1+i/N)
Donde:
M = Capital final o Monto,
C = Capital Inicial,
i = Tipo de inters nominal
N = Numero de periodos por ao,
T = Numero de aos
#include<iostream>
#include<cstdlib>
#include <math.h>
using namespace std;
int main()
{
int T,N;
float C,i,M;
cout<<"Calculo del monto final"<<endl<<endl;
cout<<"Ingrese el capital inicial: ";
cin>>C;
cout<<endl;
cout<<"Ingrese la tasa de interes: ";
cin>>i;
cout<<endl;
cout<<"Ingrese el numero de periodos por ao: ";
cin>>N;
cout<<endl;
cout<<"Ingrese el numero de aos: ";
cin>>T;
cout<<endl;
M=C*pow((100+i)/100,T*N);
cout<<"El monto final es:"<<M;
system("PAUSE");
return EXIT_SUCCESS;
}

- Si un cliente deposita al Banco la cantidad de $10,000 a inters compuesto con una tasa del 8%
anual. Cual ser el monto que recaude despus de 9 aos?
- Cuanto debe cobrar el cliente dentro de 3 aos si deposita $ 100,000. al 9% anual y
capitalizndose los intereses bimestralmente?

9.- Cul es el capital que debe colocarse a inters compuesto del 8% anual para que despus de
20 aos produzca un monto de $ 500,000. ?
#include<iostream>
#include<cstdlib>
#include<math.h>
using namespace std;
int main()
{
int a,b;
float c,I,M;
cout<<"HALLANDO EL CAPITAL INICIAL"<<endl<<endl;
cout<<"Ingrese el monto final: ";
cin>>M;
cout<<endl;
cout<<"Ingrese la tasa de interes: ";
cin>>I;
cout<<endl;
cout<<"Ingrese el periodo de capitalizacion: ";
cin>>a;
cout<<endl;
cout<<"Ingrese el numero de aos: ";
cin>>b;
cout<<endl;
c=M/pow((100+I/100),a*b);
cout<<"El capital es: "<<c;
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

10.- Un millonario excntrico tena tres hijos: Carlos, Jos y Marta. Al morir dej el siguiente
legado: A Jos le dej 4/3 de lo que le dej a Carlos. A Carlos le dej 1/3 de su fortuna. A Marta le
dejo la mitad de lo que le dej a Jos. Preparar un algoritmo para darle la suma a repartir e imprima
cuanto le toc a cada uno.
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
float H,C,J,M;
cout<<"REPARTIENDO LA HERENCIA...."<<endl<<endl;
cout<<"Ingrese la herencia total: ";
cin>>H;

cout<<endl;
C=H/3;
J=4*H/9;
M=(4*H/9)/2;
cout<<"A Carlos le toco:"<<C;"de la herencia";
cout<<endl;
cout<<"A Jose le toco:"<<J;"de la herencia";
cout<<endl;
cout<<"A Marta le toco:"<<M;"de la herencia";
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
11.- Hacer un algoritmo para ingresar una medida en metros, y que imprima esa medida expresada
en centmetros, pulgadas, pies y yardas. Los factores de conversin son los siguientes:
1 yarda = 3 pies
1 pie = 12 pulgadas
1 metro = 100 centmetros
1 pulgada = 2.54 centmetros
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float m,c,p,f,y;
cout<<"Convertidor de magnitudes: "<<endl<<endl;
cout<<"ingrese el valor en metros: ";
cin>>m;
c=100*m;
cout<<"El valor en centmetros es: "<<c;
cout<<endl;
p=m*2.54/100;
cout<<"El valor en pulgadas es: "<<p;
cout<<endl;
f=m/0.3048;
cout<<"El valor en pies es: "<<f,
cout<<endl;
y=m/0.9144;
cout<<"El valor en yardas es: "<<y;
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;

12.- Escriba un programa para calcular el tiempo transcurrido, en minutos, necesario para hacer un
viaje. La ecuacin es tiempo transcurrido = distancia total/velocidad promedio. Suponga que la
distancia est en kilmetros y la velocidad en kilmetros/hora.
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
float e,v,t;
cout<<"Tiempo transcurrido en una determinada distancia"<<endl<<endl;
cout<<"Ingrese la distancia en km: ";
cin>>e;
cout<<endl;
cout<<"Ingrese la velocidad promedio en km/h: ";
cin>>v;
cout<<endl;
t=e/v;
cout<<"El tiempo transcurrido es: "<<t<<"h";
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
13.- Un tonel es un recipiente, generalmente de madera, muy utilizado para almacenar y mejorar un
vino. La forma de un tonel es muy caracterstica y es un cilindro en el que la parte central es ms
gruesa, es decir, tiene un dimetro mayor que los extremos. Escriba un programa que lea las
medidas de un tonel y nos devuelva su
capacidad, teniendo en cuenta que el volumen (V) de un tonel viene dado por la siguiente frmula:
V = l a2 donde:
l es la longitud del tonel, su altura. a = d/2 + 2/3(D/2 - d/2)
d es el dimetro del tonel en sus extremos.
D es el dimetro del tonel en el centro: D>d
Nota: Observe que si las medidas se dan en centmetros el resultado lo obtenemos en centmetros
cbicos.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
long double a,b,c,d;
#define PI 3.1415926535
cout<<"Volumen de un Tonel"<<endl;
cout<<"Ingrese la altura del tonel (cm): ";
cin>>a;
cout<<"Ingrese el radio mayor del tonel (cm): ";

cin>>b;
cout<<"Ingrese el radio menor (cm): ";
cin>>c;
d=((PI*a)*(2*b*b+c*c))/3;
cout<<endl;
cout<<"El volumen del tonel es "<<d<<"cc."<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
14. Modifique el programa anterior para que, suponiendo que las medidas de entrada son dadas en
centmetros, el resultado lo muestre en: litros, centmetros cbicos y metros cbicos. Recuerde que
1 litro es equivalente a un decmetro cbico. Indique siempre la unidad de medida empleada.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
long double a,b,c,m,n,p;
#define PI 3.1415926535
cout<<"Volumen de un tonel"<<endl;
cout<<"Ingrese la altura del tonel (cm): ";
cin>>a;
cout<<"Ingrese el radio mayor del tonel (cm): ";
cin>>b;
cout<<"Ingrese el radio menor(cm): ";
cin>>c;
m=((PI*a)*(2*b*b+c*c))/3;
n=m/1000000;
p=m/1000;
cout<<endl<<endl;
cout<<"El volumen del tonel en cc es: "<<m<<endl<<endl;
cout<<"En metros cubicos es: "<<n<<endl<<endl;
cout<<"En litros es: "<<p<<"."<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
15. Escriba un programa en C para calcular el valor de la pendiente de una lnea que conecta dos
puntos (x1,y1) y (x2,y2). La pendiente est dada por la ecuacin (y2-y1)/(x2-x1). Haga que el
programa tambin calcule el punto medio de la lnea que une los dos puntos, el cual viene dado por
(x1+x2)/2,(y1+y2)/2. Cul es el resultado que devuelve el programa para los puntos (3,7) y (8,12)?
#include<iostream>
#include<cstdlib>
using namespace std;
int main()

10

{
float m,x,y,a,b,c,d;
cout<<"Calculando de la pendiente de una recta"<<endl;
cout<<"Ingrese la primera coordenada: ";
cin>>a>>b;
cout<<"Ingrese la segunda coordenada: ";
cin>>c>>d;
m=(d-b)/(c-a);
x=(a+c)/2;
y=(b+d)/2;
cout<<"La pendiente de la recta es:"<<m;
cout<<endl;
cout<<"y su punto medio es ("<<x<<","<<y<<")"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
16. Escribe, compila y ejecuta un programa en C ++ que calcule y devuelva la raz cuarta de un
nmero. Prubalo con el nmero 81.0 (deber devolverte 3). Utiliza el programa para calcular la
raz cuarta de 1728.8964
#include<iostream>
#include<cstdlib>
#include<math.h>
using namespace std;
int main()
{
long double a,b;
cout<<"Calculando la raiz cuarta de un numero"<<endl<<endl;
cout<<"Ingrese el numero: ";
cin>>a;
cout<<endl;
if (a<0)
cout<<"No esta definida"<<endl;
else
cout<<endl;
b=pow(a,0.25);
cout<<endl;
cout<<"La raiz cuarta es "<<b;
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

11

17.- El rea de una elipse se obtiene con la frmula ab , donde a es el radio menor de la elipse y b
es el radio mayor, y su permetro se obtiene con la frmula [4(a+b)2]0.5. Realice un programa en
C ++ utilizando estas frmulas y calcule el rea y el permetro de una elipse que tiene un radio
menor de 2.5 cm y un radio mayor de 6.4 cm.
#include<iostream>
#include<cstdlib>
#include<math.h>
using namespace std;
int main()
{
double S,p,a,b;
#define PI 3.1415926535
cout<<"Area y perimetro de una elipse"<<endl;
cout<<"Ingrese el radio menor de la elipse: ";
cin>>a;
cout<<"Ingrese el radio mayor de la elipse: ";
cin>>b;
S=PI*a*b;
p=PI*(3*(a+b)-(sqrt(((3*a)+b)*(a+(3*b)))));
cout<<"El area de la elipse es: "<<S<<endl;
cout<<"El perimetro de la elipse es: "<<p<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
18.- Si coloca una escalera de 3 metros a un ngulo de 85 grados al lado de un edificio, la altura en
la cual la escalera toca el edificio se puede calcular como altura=3 * seno 85. Calcule esta altura
con una calculadora y luego escriba un programa en C que obtenga y visualice el valor de la altura.
Nota: Los argumentos de todas las funciones trigonomtricas (seno, coseno, etc) deben estar
expresados en radianes. Por tanto, para obtener el seno, por ejemplo, de un ngulo expresado en
grados, primero deber convertir el ngulo a radianes.
#include <cstdlib>
#include <iostream>
#include<math.h>
using namespace std;
int main(int argc, char *argv[])
{
int h;
#define PI 3.1415926535
cout<<"Calculando la altura de la escalera"<<endl;
cout<<"ingrese la altura de la escalera: ";
cin>>h;
cout<<"la altura de la esclera con respecto al piso: "<<h*sin(0.47222222*PI)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

12

19.- Dados como datos las coordenadas de los tres puntos P1, P2, P3 que corresponden a los
vrtices de un triangulo, calcule su permetro y rea.
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
int a,b,c,d,e,f,A,P;
cout<<"Hallando el area y perimetro de un triangulo"<<endl;
cout<<"Ingrese la primera coordenada: ";
cin>>a>>b;
cout<<"Ingrese la segunda coordenada: ";
cin>>c>>d;
cout<<"Ingrese la tercera coordenada: ";
cin>>e>>f;
A=abs(((a*d)+(c*f)+(e*b))-((b*c)+(e*d)+(a*f)))/2;
cout<<"El area del triangulo es:"<<A<<endl;
d=sqrt(pow((a-c),2)+pow((b-d),2))+sqrt(pow((e-a),2)+pow((f-b),2))+sqrt(pow((c-e),2)+pow((df),2));
cout<<"El perimetro es:"<<d<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
20.- Ingresar los lados de un triangulo y el ngulo que forman, e imprima el valor del tercer lado,
los otros dos ngulos y el rea del tringulo.
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
float x,y,z,l,p,q,S;
cout<<"HALLANDO EL TERCER LADO DE UN TRIANGULO"<<endl;
cout<<"Ingrese el primer lado: ";
cin>>x;
cout<<"Ingrese el segundo lado: ";
cin>>y;
cout<<"Ingrese el angulo que forman: ";
cin>>z;
l=sqrt(pow(x,2)+pow(y,2)-(2*x*y*cos(z*M_PI/180)));
cout<<"El tercer lado mide: "<<endl;
p=(asin((x*sin(z*M_PI/180))/l))*180/M_PI;

13

cout<<"El valor del angulo opuesto al primer lado es: "<<p<<endl;


q=(asin((y*sin(z*M_PI/180))/l))*180/M_PI;
cout<<"El valor del angulo opuesto al segundo lado es: "<<q<<endl;
S=(x*y*sin(z*M_PI/180))/2;
cout<<"El valor del area del triangulo es: "<<S<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
21.- Calcular la velocidad de un auto en Km/h, ingresando la distancia recorrida en metros y el
tiempo en minutos.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a,b;
cout<<"Calculando el Velocidad en Km/h"<<endl;
cout<<"ingrese el tiempo en minutos: ";
cin>>a;
cout<<"ingrese la distancia en metros :";
cin>>b;
cout<<"El resultado sera: "<<(b/a)*(0.006)<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}
22.- Dado un tiempo expresado en HH:MM y otro tiempo en MM: SS, disee un programa que
calcule la suma de los tiempos y lo exprese en HH:MM:SS.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a,b,c,d,e,f,g,h;
cout<<"Sumando el tiempo....."<<endl;
cout<<"Ingrese el primer tiempo(HH:MM): ";
cin>>a>>b;
cout<<"Ingrese el segundo tiempo(MM:SS): ";
cin>>c>>d;

14

e=a*3600+(b+c)*60+d;
f=(e-e%3600)/3600;
g=(e%3600-(e%3600)%60)/60;
h=(e%3600)%60;
cout<<"La nueva hora es "<<f<<"h:"<<g<<"min:"<<h<<" s."<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

23.- En todo triangulo se cumple que cada lado es proporcional al seno del ngulo opuesto. Esta ley
se llama la ley de los senos Matemticamente.
a
b
c

sen
sen
sen

Si se conocen los ngulos , , y el lado c. Cuanto valen los otros dos lados?
#include <cstdlib>
#include <iostream>
#include<math.h>
using namespace std;
int main(int argc, char *argv[])
{
float a,b,c,d;
#define PI 3.1415926535
cout<<"ingrese los angulos del tringulo: ";
cin>>a;
cout<<": ";
cin>>b;
cout<<": ";
cin>>c;
cout<<"Ingrese el valor del lado opuesto al tercer angulo: ";
cin>>d;
if (a+b+c==180)
cout<<"primer lado: "<<(d*sin(a/180*PI))/sin(c/180*PI)<<endl <<cout<<"Segundo lado:
"<<(d*sin(b/180*PI))/sin(c/180*PI)<<endl;
else
cout<<"no es un triangulo"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

15

You might also like