Вы находитесь на странице: 1из 41

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Per, DECANA DE AMRICA)

FACULTAD DE INGENIRIA GEOLOGICA, GEOGRAFICA, MINERA, METALURGICA Y CIVIL

E.A.P. DE INGENIERA CIVIL

TEMA: PRCTICA 1

CURSO

ALGORITMO Y PROGRAMACIN

PROFESOR

PERCY VIVANCO MUOZ

ALUMNA

KATHERINE GONZALES ROQUE

CDIGO

11160239

Ciudad Universitaria, mayo del 2011

PRCTICA 1
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 A,V,pi=3.141516; cout<<"CILINDRO"<<endl<<endl; cout<<"Ingrese el radio del cilindro:"; cin>>r; cout<<endl; cout<<"Ingrese la altura del cilindro:"; cin>>h; cout<<endl; A=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<iostream> #include<cstdlib> using namespace std; int main() { int h,m,T,H,M; cout<<"%de Mujeres y %de Hombres:"; cout<<endl<<endl; cout<<"Ingrese el numero de mujeres:"; cin>>m; cout<<endl; cout<<"Ingrese el numero de hombres:"; cin>>h; cout<<endl; T=m+h; M=(m*100)/T; H=100-M; cout<<"El %de mujeres es:"<<M<<"%"; cout<<endl<<endl; cout<<"El %de hombres es:"<<H<<"%";

cout<<endl<<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 T,D,A,N,S,d,a,n,s;

cout<<"El % de desaprobados, aprobados, notables y sobresalientes de la asignatura:"<<endl<<endl; cout<<"Inserte personas desaprobadas:"; cin>>D; cout<<endl; cout<<"Inserte personas aprobadas:"; cin>>A; cout<<endl; cout<<"Inserte personas notables:"; cin>>N; cout<<endl;

cout<<"Personas sobresalientes:"; cout<<A-N; T=D+A; a=(A*100)/T; d=100-a; n=(N*100)/T; S=A-N; s=(S*100)/T; cout<<endl<<"El%de personas que superaron asignatura: "; cout<<a<<"%"<<endl; cout<<"El porcentaje de desaprobados es:"; cout<<d<<"%"<<endl; cout<<"El porcentaje de aprobados es:"; cout<<a<<"%"<<endl; cout<<"El porcentaje de notables es:"; cout<<n<<"%"<<endl; cout<<"El porcentaje de sobresalientes es:"; cout<<s<<"%"<<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,mm; cout<<"Conversion 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<<"Inserte la cantidad de agua en pulgadas:"; cin>>b; cout<<endl;

mm=b*25.5; cout<<"La cantidad de agua en mm es:"<<mm<<"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 x,y; cout<<"Precio final de un auto"<<endl; cout<<"Ingrese el precio de costo del auto: "; cin>>x; y=x*(1.1872); cout<<"El precio de venta final es "<<y<<endl; system("PAUSE"); return EXIT_SUCCESS; }

6.- Desglosar cierta cantidad de segundos a su equivalente en das, horas, minutos y segundos.

#include<iostream> #include<cstdlib> using namespace std; int main() { int N,D,H,M,S; cout<<"Desglosndo los segundos"<<endl<<endl; cout<<"Inserte el numero de segundos a desglosar:"; cin>>N; D=N/(24*60*60); H=(N-(D*24*60*60))/(60*60); M=(N-(D*24*60*60)-(H*60*60))/60; S=(N-(D*24*60*60)-(H*60*60)-M*60); cout<<"Dias:"<<D; cout<<endl; cout<<"Horas:"<<H; cout<<endl; cout<<"Minutos:"<<M; cout<<endl; cout<<"Segundos:"<<S;

cout<<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<<"LA FUERZA DE ATRACCION ENTRE DOS MASAS"; cout<<endl<<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 que separa a los cuerpos:"; cin>>d; cout<<endl;

F=(G*m*M)/(d*d); cout<<"La fuerza 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+iT*P) Donde: M = Capital final o Monto, C = Capital Inicial, i = Tipo de inters nominal

N = Numero de periodos por ao,

T = Numero de aos

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

#include<iostream> #include<cstdlib> #include <math.h> using namespace std; int main() { int A,P; float C,I,M; cout<<"Calculo del monto final de un capital a cierta tasa de interes"<<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>>P; cout<<endl; cout<<"Ingrese el numero de aos: "; cin>>A; cout<<endl; M=C*pow((100+I)/100,A*P); cout<<"El monto final es:"<<M; system("PAUSE"); return EXIT_SUCCESS; }

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. ?

RSPTA: 107274

#include<iostream> #include<cstdlib> #include<math.h> using namespace std; int main() { int P,T; 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 compuesto:"; cin>>I; cout<<endl; cout<<"Ingrese el periodo de capitalizacion:"; cin>>P; cout<<endl; cout<<"Ingrese el numero de aos:";

cin>>T; cout<<endl; C=M/pow((100+I/100),P*T); 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,M,J; cout<<"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[]) { long double x,y,z,a,b; cout<<"Conversion de unidades de longitud"<<endl; cout<<"Ingrese la medida en metros: "; cin>>x; y=x*100; z=y/(2.54); a=z/12; b=a/3; cout<<"La longitud en cm es "<<y<<endl; cout<<"La longitud en pulgadas es "<<z<<endl; cout<<"La longitud en pies es "<<a<<endl; cout<<"La longitud en yardas es "<<b<<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 d,v,t; cout<<"Tiempo transcurrido en una determinada distancia"<<endl<<endl; cout<<"Ingrese la distancia en km:"; cin>>d; cout<<endl; cout<<"Ingrese la velocidad promedio en km/h:"; cin>>v; cout<<endl; t=d/v; cout<<"El tiempo 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> #include <math.h> using namespace std; int main(int argc, char *argv[]) { float l,d,D,V; float pi=3.141516; cout<<"Programa para hallar el volumen de un tonel"<<endl; cout<<"Ingrese la longitud del tonel: "; cin>>l; cout<<"Ingrese el diametro mayor: "; cin>>D; cout<<"Ingrese el diametro menor: ";

cin>>d; V=pi*l*pow((d/2)+((2*((D/2)-(d/2)))/3),2); cout<<"El volumen del tonel es: "<<V; cout<<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[]) { float pi=3.1415926; long double a,b,c,v,v2,v3; cout<<"Volumen de un tonel"<<endl; cout<<"Ingrese la altura del tonel(en cm): "; cin>>a; cout<<"Ingrese el radio mayor del tonel(en cm): "; cin>>b; cout<<"Ingrese el radio menor(en cm): "; cin>>c; v=((pi*a)*(2*b*b+c*c))/3; v2=v/1000000; v3=v/1000; cout<<"El volumen del tonel en cc es "<<v<<"; en metros cubicos es "<<v2<<endl; cout<<"y en litros es "<<v3<<"."<<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)/(x2x1). 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)? RSPTA: La pendiente=1 El punto medio=(5.5,9.5)

#include<iostream> #include<cstdlib>

using namespace std;

int main() { float a,b,c,d,m,x,y; cout<<"PENDIENTE\n"; cout<<".........\n"; cout<<"Ingrese el primer pto:\n"; cin>>a>>b; cout<<"Ingrese el segundo pto:\n"; cin>>c>>d; m=(b-d)/(a-c); cout<<"La pendiente es:"<<m; cout<<endl<<endl; x=(a+c)/2; y=(b+d)/2; cout<<"El pto medio es:"<<x<<","<<y; 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 RSPTA: 6.44826

#include<iostream> #include<cstdlib> #include<math.h> using namespace std; int main() { long double a,b; cout<<"Calculo de la raiz cuarta de un numero"<<endl<<endl; cout<<"Ingrese el numero:"; cin>>a; cout<<endl; b=pow(a,0.25); cout<<endl; cout<<"La raiz cuarta es "<<b; cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

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 p=pi*(3*(a+b)(sqrt(((3*a)+b)*(a+(3*b))))). 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.

RSPTA: El rea de la elipse es 50.2643 y su permetro es29.3182 #include<iostream> #include<cstdlib> #include<math.h> using namespace std; int main() { double A,p,a,b,pi=3.141516; cout<<"Area y perimetro de una elipse"<<endl<<endl; cout<<"Ingrese el radio menor de la elipse:"; cin>>a; cout<<endl; cout<<"Ingrese el radio mayor de la elipse:"; cin>>b; cout<<endl; A=pi*a*b; p=pi*(3*(a+b)-(sqrt(((3*a)+b)*(a+(3*b))))); cout<<"El area de la elipse es:"<<A; cout<<endl<<endl;

cout<<"El perimetro de la elipse es:"<<p; cout<<endl<<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.

RSPTA: 2.98858 #include <cstdlib> #include <iostream> #include <math.h> using namespace std; int main(int argc, char *argv[]) { float x,y,h; cout<<"Programa para hallar el valor de la altura que forma una escalera con un edificio"<<endl; cout<<"Ingrese la medida de la escalera: "; cin>>x; cout<<"Ingrese el valor del angulo formado por la escalera con la horizontal: "; cin>>y; h=x*sin(y*M_PI/180); cout<<"El valor de la altura es: "<<h; cout<<endl; system("PAUSE");

return EXIT_SUCCESS; }

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<<endl; cout<<"Ingrese el primer punto de paso: "; cin>>a>>b; cout<<"Ingrese el segundo punto de paso: "; cin>>c>>d; cout<<"Ingrese el tercer punto de paso: "; 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; cout<<endl; d=sqrt(pow((a-c),2)+pow((b-d),2))+sqrt(pow((e-a),2)+pow((f-b),2))+sqrt(pow((ce),2)+pow((d-f),2)); cout<<"El perimetro es:"<<d;

cout<<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,m,n,A; cout<<"Programa para hallar el 3er lado, los otros dos angulos y el area del triangulo"<<endl; cout<<"Ingrese el 1er lado: "; cin>>x; cout<<"Ingrese el 2do 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 3er lado mide: "<<l; cout<<endl; m=(asin((x*sin(z*M_PI/180))/l))*180/M_PI; cout<<"El valor del angulo opuesto al 1er lado es: "<<m;

cout<<endl; n=(asin((y*sin(z*M_PI/180))/l))*180/M_PI; cout<<"El valor del angulo opuesto al 2do lado es: "<<n; cout<<endl; A=(x*y*sin(z*M_PI/180))/2; cout<<"El valor del area del triangulo es: "<<A; cout<<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<iostream> #include<cstdlib> using namespace std; int main() { float D,d,V,T,t; cout<<"Velocidad en un tiempo y distancia determinado"<<endl<<endl; cout<<"Ingrese la distancia en metros:"; cin>>d; cout<<endl; D=d/1000; cout<<"La distancia en km es:"<<D; cout<<endl<<endl; cout<<"Ingrese el tiempo en minutos:"; cin>>t; cout<<endl<<endl; T=t/60; cout<<"El tiempo en horas es:"<<T; cout<<endl<<endl; V=D/T;

cout<<"La Velocidad promedio en km/h:"<<V; cout<<endl<<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,h,m,s; cout<<"Adicion de tiempos"<<endl; cout<<"Ingrese el primer tiempo(formato: HH MM): "; cin>>a>>b; cout<<"Ingrese el segundo tiempo(formato: MM SS): "; cin>>c>>d; e=a*3600+(b+c)*60+d; h=(e-e%3600)/3600; m=(e%3600-(e%3600)%60)/60; s=(e%3600)%60; cout<<"La nueva hora es "<<h<<"h:"<<m<<"min:"<<s<<" 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<iostream> #include<cstdlib> #include<math.h> using namespace std; int main() { float C,a,b,c; double A,B; cout<<"Ley de senos"<<endl<<endl; cout<<"Ingrese el lado conocido C:"; cin>>C; cout<<"Ingrese a,b,c en radianes:"; cin>>a>>b>>c; cout<<endl<<endl; A=C*sin(a)/sin(c); B=C*sin(b)/sin(c); cout<<"El lado A es:"<<A<<endl; cout<<"El lado B es:"<<B<<endl;

system("PAUSE"); return EXIT_SUCCESS; }

Вам также может понравиться