practica 1

37
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS E.A.P INGENIERIA DE SISTEMAS E INFORMATICA CURSO : ALGORITMICA I CICLO : I ALUMNO : MALLMA HUAMANI EDWIN GRUPO : 3 GRUPO DE LABORATORIO : 2 PRACTICA 1 DE ALGORITMICA PROBLEMA 1 Construya un algoritmo tal, que dado el radio, la generatriz y en la altura de un cono ; calcule Y muestre el área de la base, el área lateral, el área total y su volumen. #include <iostream.h> #include <stdlib.h> void main() { float r,gen,H,AB,AL,AT,V,pi; cout<<"ingrese radio : " ; cin>> r; cout<<"ingrese generatriz : "; cin>>gen; cout<<"ingrese altura : "; cin>>H;

Upload: mali-rodriguez-dominguez

Post on 08-Dec-2014

28 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Practica 1

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

E.A.P INGENIERIA DE SISTEMAS E INFORMATICA

CURSO : ALGORITMICA I

CICLO : I

ALUMNO : MALLMA HUAMANI EDWIN

GRUPO : 3

GRUPO DE LABORATORIO : 2

PRACTICA 1 DE ALGORITMICA

PROBLEMA 1

Construya un algoritmo tal, que dado el radio, la generatriz y en la altura de un cono ; calcule Y muestre el área de la base, el área lateral, el área total y su volumen.

#include <iostream.h>#include <stdlib.h>

void main(){ float r,gen,H,AB,AL,AT,V,pi;

cout<<"ingrese radio : " ; cin>> r; cout<<"ingrese generatriz : "; cin>>gen; cout<<"ingrese altura : "; cin>>H;

pi=3.14; AB=pi*r*r; AL=pi*r*gen; AT=AB+AL; V=1/3.*(AB*H);

Page 2: Practica 1

cout<<"Area de la base : "<<AB<<endl; cout<<"Area lateral : "<<AL<<endl; cout<<"Area total : "<<AT<<endl; cout<<"Volumen : "<<V<<endl<<endl;

system("PAUSE"); return 0;}

PROBLEMA 2

Diseñe un algoritmo que determine el porcentaje de aprobados, desaprobados y ausentes que hubo en un examen.

#include <iostream.h>#include <conio.h>

int main(){ float A,D,AU,T;

cout<<"ingrese el numero de aprobados: "; cin>>A; cout<<"ingrese el numero de desaprobados: "; cin>>D; cout<<"ingrese el numero de ausentes: "; cin>>AU;

T=A+D+AU; A=(A*100/T); D=(D*100/T); AU=(AU*100/T);

cout<<" el porcentaje de aprobados es : "<<A<<" %"<<endl<<endl; cout<<" el porcentaje de desaprobados es : "<<D<<" %"<<endl<<endl; cout<<" el porcentaje de ausentes es : "<<AU<<" %"<<endl<<endl;

getche(); return 0; }

PROBLEMA 3

Desglosar cierta unidad de segundos a su equi9valente de días, horas, minutos y segundos.

Page 3: Practica 1

#include <iostream.h>#include <stdlib.h>

int main(){ int long CS,D,H,M,S; int R1,R2,R3; cout<<"ingrese la cantidad en segundos: "<<endl; cin>>CS; D=CS/(60*60*24); R1=CS%(60*60*24); H=R1/(60*60); R2=R1%(60*60); M=R2/(60); R3=R2%(60); S=R3; cout<<"la cantidad expresado en el formato de dias, horas, minutos y segundos es : "<<D<<":"<<H<<":"<<M<<":"<<S<<endl;

system("PAUSE"); return 0;}

PROBLEMA 4

Diseñe un algoritmo para sumar dos marcas de tiempo dadas en días, horas, minutos y segundos.

#include <iostream.h>#include <stdlib.h>

int main(){ int long F1,F2,S,D1,H1,M1,S1,D2,H2,M2,S2,D3,H3,M3,S3; int R1,R2,R3; cout<<" INGRESE LA PRIMERA FECHA :"<<endl; cout<<"ingrese dia:"; cin>>D1; cout<<"ingrese hora:"; cin>>H1; cout<<"ingrese minutos:"; cin>>M1; cout<<"ingrese segundos:"; cin>>S1; cout<<" INGRESE LA SEGUNDA FECHA :"<<endl;

Page 4: Practica 1

cout<<"ingrese dia:"; cin>>D2; cout<<"ingrese hora:"; cin>>H2; cout<<"ingrese minutos:"; cin>>M2; cout<<"ingrese segundos:"; cin>>S2; F1=D1*24*60*60+H1*60*60+M1*60+S1; F2=D2*24*60*60+H2*60*60+M2*60+S2; S=F1+F2; D3=S/(24*60*60); R1=S%(24*60*60); H3=R1/(60*60); R2=R1%(60*60); M3=R2/(60); R3=R2%(60); S3=R3; cout<<" LA SUMA DE PRIMERA Y SEGUNDA FECHA ES:\n"; cout<<"dia:"<<D3<<endl; cout<<"hora:"<<H3<<endl; cout<<"minutos:"<<M3<<endl; cout<<"segundos:"<<S3<<endl<<endl;

system("PAUSE"); return 0;}

PROBLEMA 5

Un millonario excéntrico tenía tres hijos Carlos, José y marta. Al morir dejo el siguiente legado.A José le dejo 4/3 de lo que dejo a Carlos . A Carlos le dejo 1/3 de su fortuna. A marta le dejo la mitad de lo que le dejo a José. Preparar un algoritmo para dar la suma a repartir e imprima cuanto le toco a cada uno.

#include <iostream.h>#include <stdlib.h>

int main(){ float K,C,J,M;

cout<<"ingrese la cantidad de fortuna: "; cin>>K;

Page 5: Practica 1

C=K/3; J=4*C/3; M=J/2;

cout<<"la cantidad de carlos es :"<<C<<endl; cout<<"la cantidad de jose es :"<<J<<endl; cout<<"la cantidad de marta es :"<<M<<endl;

system("PAUSE"); return 0;}

PROBLEMA 6

Desarolle un algoritmo que dadas dos fechas nos calcule los días entre ambas ( considerar todos los meses con 30 días ).

#include <iostream.h>#include <stdlib.h>

int main(){ int D1,M1,A1,D2,M2,A2; int long F1,F2,R; cout<<"\t\t\tINTRODUZCA LA PRIMERA FECHA\n"; cout<<"introduzca el dia: "; cin>>D1; cout<<"introduzca el mes: "; cin>>M1; cout<<"introduzca el año: "; cin>>A1; cout<<"\t\t\tINTRODUZCA LA SEGUNDA FECHA\n"; cout<<"introduzca el dia: "; cin>>D2; cout<<"introduzca el mes: "; cin>>M2; cout<<"introduzca el año: "; cin>>A2; F1=D1+M1*30+A1*30*12; F2=D2+M2*30+A2*30*12; R=abs(F1-F2);

Page 6: Practica 1

cout<<"\tLA CANTIDAD DE DIAS DE DIFERENCIA ES: "<<R<<endl; cout<<endl; system("PAUSE"); return 0;}

PROBLEMA 7

Diseñe un algoritmo, donde dadas la hora de inicio de un proceso, determinada por los datos hi ,mi ,si (la hora minuto y segundo inicial ), así como la hora final indicada por hf ,mf,sf.determine T el tiempo transcurrido en segundos ´para el proceso.

#include <iostream.h>#include <stdlib.h>

int main(){ int long HI,MI,SI,HF,MF,SF,R,TI,TF,T; cout<<" INGRESE TIEMPO INICIAL:\n"; cout<<"ingrese hora :"; cin>>HI; cout<<"ingrese minutos :"; cin>>MI; cout<<"ingrese segundos :"; cin>>SI; cout<<" INGRESE TIEMPO FINAL:\n"; cout<<"ingrese hora :"; cin>>HF; cout<<"ingrese minutos :"; cin>>MF; cout<<"ingrese segundos :"; cin>>SF; TI=HI*60*60+MI*60+SI; TF=HF*60*60+MF*60+SF; R=abs(TI-TF); cout<<"el proceso demora: "; cout<<R<<"segundos"<<endl; system("PAUSE"); return 0;}

Page 7: Practica 1

PROBLEMA 8

Dados como datos el perímetro de la base, la apotema y la altura de un prisma hexagonal, calcule el área de la base, el área lateral, el área total ye l volumen.

#include <iostream.h>#include <stdlib.h>

float main(){ float H,A,P,AB,AL,AT,V,L;

cout<<"ingrese el perimetro de la base : "; cin>>P; cout<<"ingrese el apotema : "; cin>>A; cout<<"ingrese la altura : "; cin>>H;

L=P/6; AB=(3*sqrt(3)*L*L)/2; AL=P*A; AT=(2*AB)+AL; V=AB*H;

cout<<"area de la base : "<<AB<<endl; cout<<"area lateral : "<<AL<<endl; cout<<"area total : "<<AT<<endl; cout<<"volumen : "<<V<<endl;

system("PAUSE"); return 0;}

PROBLEMA 9

Realizar un programa que pida el usuario la velocidad en m/s y el radio de la circunferenciade la pista, y como resultado el programa devuelve el tiempo que tarda el atleta en dar dos vueltas a la pista , sabiendo que el atleta descansa 1 minuto cada 100 metros.

#include <iostream.h>#include <stdlib.h>

Page 8: Practica 1

int main(){ int U,R; float pi,D,T; cout<<"\ningrese la velocidad (m/s):"; cin>>U; cout<<"\ningrese el radio (m):"; cin>>R; pi=3.1415; D=2*pi*R; T=(2*D)/U+(int((2*D)/1000.)-1)*60 ; cout<<"\n\nEl tiempo que se demora una persona en dar dos vueltas es:"; cout<<T<<" segundos\n";

system("PAUSE"); return 0;}

PROBLEMA 10

Diseñar el algoritmo correspondiente a un programa que pida el total de kilómetros recorridos El precio de la golosina ( por litro) , el dinero de la gasolina gastado en el viaje y el tiempo a que se ha tardado ( en horas y minutos ) y que calcule :. Consumo de gasolina (en litros y euros) por cada 100 km. Consumos de gasolina (en litros y euros) por cada 100 km . velocidad media (en km/h y m/s)#include <iostream.h>#include <stdlib.h>

int main(){ float E,PL,D,H,M,UM1,UM2,KGL,KGE;

cout<<"ingrese el total de kilometros recorridos: "; cin>>E; cout<<"ingrese el precio de gasolina por litro: "; cin>>PL; cout<<"ingrese el dinero de gasolina total gastado: "; cin>>D; cout<<"\ningrese el tiempo \n\n"; cout<<"hora: "; cin>>H; cout<<"minutos: "; cin>>M;

Page 9: Practica 1

UM1=E/(H*3600+M*60); UM2=(1000*E)/(H*3600+M*60); KGL=(D/PL)/E; KGE=(D/E); cout<<"\nel consumo de gasolina en 1km es:\n"; cout<<"\nen litros: "<<KGL<<"lt"<<endl; cout<<"\nen euros: "<<KGE<<" €"<<endl; cout<<"\nel consumo de gasolina en 100km es:\n"; cout<<"\nen litros: "<<KGL*100<<"lt"<<endl; cout<<"\nen euros: "<<KGE*100<<" €"<<endl; cout<<"\nLa velocidad media es: \n"<<UM1<<"en(km/s) y "<<UM2<<"en(m/s)"<<endl; system("PAUSE"); return 0;}

PROBLEMA 11

En todo triangulo se cumple que cada lado es proporcional al seno de ángulo opuesto esta ley de los senos matemáticamente.

sen

C

sen

B

sen

A

Si se conocen los ángulos a b y y el lado c ¿Cuántos valen los otros dos lados?

#include <iostream>#include <cstdlib>#include <math.h>

int main(){ int A1,A2,A3; float pi,L1,L2,L3; cout<<" HALLANDO LOS LADOS DESCONOCIDOS DE UN TRINAGULO"<<endl; cout<<"Ingrese tres angulos en grados sexagesimales: "<<endl; cin>>A1>>A2>>A3; while ((A1+A2+A3)!=180) { cout<<" ERROR LOS ANGULOS DEBEN SUMAR 180 GRADOS SEXAGESIMALES"<<endl; cout<<"Ingrese tres angulos validos : "<<endl; cin>>A1>>A2>>A3;} cout<<"Ingrese el lado que corresponde al tercer angulo :"<<endl; cin>>L3;

Page 10: Practica 1

pi=3.14;

L1=(L3/(sin(A3*pi/180)))*sin(A1*pi/180); L2=(L3/(sin(A3*pi/180)))*sin(A2*pi/180); cout<<"El valor de los otros lados es :"<<L1<<" ; "<<L2<<endl; system ("pause"); return 0;}

PROBLEMA 12

Dado un capital , encuentre los intereses correspondientes considerando tasas de interés determinada y cierto números de periodos financieros . Considere las siguiente formulas :Monto= capital (1 + tasa/100)n

#include <iostream.h>#include <stdlib.h>#include<math.h>

int main(){ float K,T,N,I; cout<<"ingrese el capital: "; cin>>K; cout<<"ingrese la tasa: "; cin>>T; cout<<"ingrese el periodo: "; cin>>N; I=K*(pow(1+T/100.,N))-K; cout<<"el interes es: "<<I<<endl; system("PAUSE"); return 0;}

PROBLEMA 13

Evaluar el resultado de la siguiente función: F(X)=raíz cubica de (5X+7)

#include <iostream.h>#include <stdlib.h>

Page 11: Practica 1

#include <math.h>

int main(){ float X,R; cout<<" PARA HALLAR :F(x)=(5x+7*7*7)\n\n\n"; cout<<" ingrese x="; cin>>X; R=pow((5*X+pow(7,3)),1/3.);

cout<<"\n\nF(x) es igual a: "<<R<<endl;

system("PAUSE"); return 0;}

PROBLEMA 14

Diseñe un algoritmo que lea un numero de tres cifras y determine si es o no capicúa.Un número es capicúa si es al revés de un número.

#include <iostream.h>#include <stdlib.h>

int main(){ int C,D,U;

cout<<"\t\tINGRESE LAS TRES CIFRAS DEL NUMERO A ANALIZAR \n\n"; cout<<"Ingrese la cifra de las centenas ="; cin>>C; cout<<"Ingrese la cifra de las decenas ="; cin>>D; cout<<"Ingrese la cifra de las unidades ="; cin>>U; cout<<endl<<endl;

if(9>=C>0 && 9>D>=0 && 9>U>=0) {if (C==U) cout<<"El numero "<<C<<""<<D<<""<<U<<" (SI ES CAPICUA)\n\n"; else cout<<"El numero "<<C<<""<<D<<""<<U<<" (NO ES CAPICUA)\n\n"<<endl; } else

Page 12: Practica 1

cout<<"ERROR LAS CIFRAS INGRESADAS DEBEN SER DE UNA SOLA CIFRA "<<endl<<endl;

system("PAUSE"); return 0;}

PROBLEMA 15

Diseñe un algoritmo que lea tres números y los imprima de mayor a menor y de menor a mayor.

#include <iostream.h>#include <stdlib.h>

int main(){ int A,B,C,MA,ME,CE; cout<<" INGRESE LOS 3 NUMERO A COMPARAR "<<endl; cout<<"Ingrese primer numero :"<<endl; cin>>A; cout<<"Ingrese segundo numero :"<<endl; cin>>B; cout<<"Ingrese tercer numero :"<<endl; cin>>C; if (A>B) {MA=A; ME=B; } else {MA=B; ME=A; } if (C>MA) MA=C; if (C<MA) ME=C; CE=A+B+C-(MA+ME); cout<<" ASCENDENTE : "; cout<<ME<<" < "<<CE<<" < "<<MA<<endl; cout<<" DESCENDENTE : "; cout<<MA<<" > "<<CE<<" > "<<ME<<endl; system("PAUSE"); return 0;}

PROBLEMA 16

Page 13: Practica 1

Determinar las raíces de una ecuación de segundo grado del tipo : AX2+BX+C=0, considere la formula general de segundo grado. Considerar el caso en que las raíces sean imaginarias.

#include <iostream.h>#include <stdlib.h>#include <stdio.h>#include <math.h>

int main(){ float r1,r2,Re,Im,d,a,b,c;

cout<<"\t\t\tP R O B L E M A 16"<<endl<<endl; cout<<"ingrese el coeficiente de grado 2 : "<<endl; cin>>a; cout<<"ingrese el coeficiente de grado 1 : "<<endl; cin>>b; cout<<"ingrese el coeficiente del termino independiente : "<<endl; cin>>c;

if(a==0 && b==0) { cout<<"\n\n\t\t LA ECUACION NO TIENE SOLUCION "<<endl<<endl; } else { if(a==0) { r1=(-1*c)/b; cout<<"\n\n\t\tLA SOLUCION ES LINEAL"<<endl<<endl; cout<<"la solucion es :"<<endl<<endl; cout<<"la solucion es:"<<r1<<endl<<endl; } else { d=pow(b,2)-4*a*c;

if(d==0) { r1=(-1*b)/(2*a); r2=r1; cout<<"\n\n\t\tLAS RAICES SON IGUALES "<<endl<<endl; cout<<"las raices son :"<<r1<<" y "<<r2<<endl<<endl; } else { if(d>0) { r1=((-1*b)+sqrt(a))/(2*a); r2=((-1*b)-sqrt(a))/(2*a);

Page 14: Practica 1

cout<<"\n\n\t\tLAS RAICES SON REALES Y DIFERENTES "<<endl<<endl; cout<<"las raices son :"<<r1<<" y "<<r2<<endl<<endl; } else { d=-d; Re=(-1*b)/(2*a); Im=sqrt(a)/(2*a);

cout<<"\n\n\t\tLAS RAICES SON IMAGINARIAS "<<endl<<endl; cout<<"la primera raiz es :"<<Re<<" + "<<Im<<" i "<<endl<<endl; cout<<"la segunda raiz es :"<<Re<<" - "<<Im<<" i "<<endl<<endl;

} } } }

system("PAUSE"); return 0;}

PROBLEMA 17

Una tienda ha puesto en oferta la venta al por mayor de de cierto producto, ofreciendo un descuento del 15% por la compra de más de 3 docenas y 10% en caso contrario, Ademas por la compra de más de 3 docenas se obsequia una unidad del producto por cada docena en exceso sobre 3 . Diseñe un algoritmo que determine el monto de la compra, el monto del descuento, el monto a pagar y el número de unidades de obsequio por la compra de cierta cantidad de docenas producto.

#include <iostream.h>#include <stdlib.h>

int main(){ long double x,y,m,xd,C,D,P;

cout<<"Ingrese el numero de docenas : "; cin>>x; cout<<"ingrese el costo por docena : "; cin>>m;

y=x*12;

if(y>36) { D=0.15*m; C=x*m; P=C-D; xd=(y-36)/12;

Page 15: Practica 1

} else D=0.1*m; C=x*m; P=C-D; xd=(y-36)/12;

if(xd<=0) xd=0;

cout<<" monto de la compra : "<<C<<endl; cout<<" monto del descuento : "<<D<<endl; cout<<" monto a pagar : "<<P<<endl; cout<<" numero de unidades de obsequio : "<<xd<<endl;

system("PAUSE"); return 0;}

PROBLEMA 18

Dado tres datos enteros positivos, que representen las longitudes de un posible triangulo, determine si los datos corresponden a un triangulo, En caso afirmativo, escriba si el triangulo es equilátero, isósceles o escaleno, Calcule además su area.

#include <iostream.h>#include <stdlib.h>#include <string.h>

int main(){ float a,b,c,S,A; char mensaje [30];

cout<<"\t\t\tP R O B L E M A 18"<<endl; cout<<"ingrese el primer lado : "<<endl; cin>>a; cout<<"ingrese el segundo lado : "<<endl; cin>>b; cout<<"ingrese el tercer lado : "<<endl; cin>>c;

if(a>0 && b>0 && c>0) { if(a<b+c && b<a+c && c<a+b) { if(a==b && b==c) cout<<"\tEL TRIANGULO ES EQUILATERO"<<endl<<endl;

Page 16: Practica 1

if((a==b && a!=c && b!=c) || (a==c && a!=b && c!=b) || (c==b && c!=a && b!=a)) cout<<"\tEL TRIANGULO ES ISOSCELES"<<endl<<endl; if(a!=b && b!=c && a!=c && a>b-c && a<b+c && c>b-a && c<b+a && b>c-a && b<a+c) cout<<"\tEL TRIANGULO ES ESCALENO"<<endl<<endl;

S=(a+b+c)/2; A=sqrt(S*(S-a)*(S-b)*(S-c));

cout<<"\tel area del triangulo es :"<<A<<endl<<endl; cout<<mensaje<<endl; } else cout<<"\t LOS LADOS INGRESADOS NO CORRESPONDEN A UN TRIANGULO"<<endl<<endl; } else cout<<"\t\t\tLOS DATOS DEBEN SER POSITIVOS"<<endl<<endl;

system("PAUSE"); return 0;}

PROBLEMA 19

Se cuenta con los votos obtenidos por Juan, Pedro y María en una elección democrática a la presidencia de un club. Para ganar la elección se debe obtener como mínimo el 50% de los votos más 1. En caso que no haya un ganador se repite la elección en una segunda vuelta. Van a la segunda vuelta los dos candidatos que obtengan la mas alta votación. Se anula la elección en caso de producirse un empate doble por el segundo lugar o un empate triple. Diseñe un algoritmo que determine el resultado de la elección.

#include <stdio.h>#include <iostream.h>

int main(int argc, char *argv[]){ int VJ,VP,VM,VMIN; char RES[50];

cout<<"Ingrese lo votos a favor de juan :"<<endl; cin>>VJ; cout<<"Ingrese los votos a favor de pedro :"<<endl; cin>>VP; cout<<"Ingrese los votos a favor de maria :"<<endl; cin>>VM;

Page 17: Practica 1

VMIN=((VJ+VP+VM)/2)+1;

if(VJ >= VMIN) RES =[GANA JUAN] else if (VP>=VMIN) RES= [GANA PEDRO] else if(VM>=VMIN) RES= [GANA MARIA]

else

if(VP>VJ && VM>VJ) RES= [PASAN PEDRO Y MARIO] else if (VP>VM && VJ>VM) RES= [PASAN PEDRO Y JUAN] else if(VJ>VP && VM>VP) RES= [PASAN JUAN Y MARIA] else RES= [ANULADO]

cout<<"resultado"<<RES<<endl<<endl; return 0;}

PROBLEMA 20

PROBLEMA 21

A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000, por encima de 1000 y hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. Calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.

#include <iostream.h>#include <stdlib.h>

int main(){ int S,D,F;

cout<<"\t\t\tP R O B L E M A 21 "<<endl; cout<<"\ningrese el sueldo del trabajador :\n ";

Page 18: Practica 1

cin>>S;

if(S<=1000) D=0.1*S; F=S-D;

if(S>1000 && S<=2000) D=0.5*(S-1000); F=S-D;

if(S>2000) D=0.8*(S-2000); F=S-D;

cout<<"\nel descuento del sueldo del trabajador es : "<<D<<endl<<endl; cout<<"\nel sueldo final del trabajador es : "<<F<<endl<<endl;

system("PAUSE"); return 0;}

PROBLEMA 22

Se desea saber cual es el valor a pagar por un cliente de un almacen en una factura, teniendo en cuenta lo siguiente : si los días de vencimiento son <15 se le descuenta el 10% del valor de la factura; si los días de vencimiento son >30 se le recarga un 8% al valor de la factura como interés de mora. Se tiene el nombre del cliente, los días de vencimiento, los días de vencimiento, valor factura. Mostrar el nombre del cliente , el valor de la factura y el valor a pagar.

#include <iostream.h>#include <stdlib.h>

int main(){ int VF,DV,F; char NOMBRE [30], AP [30], AM[30];

cout<<"\t\t\tP R O B L E M A 22 "<<endl;

cout<<"\ningrese el nombre del cliente :\n "<<endl; cin>>NOMBRE; cout<<"\ningrese el apellido paterno del cliente del cliente :\n "<<endl; cin>>AP; cout<<"\ningrese el apellido materno del cliente del cliente :\n "<<endl; cin>>AM; cout<<"\ningrese el valor de la factura :\n"<<endl; cin>>VF,

Page 19: Practica 1

cout<<"\ndias de vencimiento :\n "<<endl; cin>>DV;

system("cls");

if( DV<15 ) F=0.9*VF;

if( DV>30 ) F=0.82*VF;

cout<<"\nel nombre del cliente es : \n"<<NOMBRE<<" "<<AP<<" "<<AM<<endl<<endl; cout<<"\nel valor de la factura es : \n"<<VF<<endl<<endl; cout<<"\nel valor a pagar es : \n"<<F<<endl;

system("PAUSE"); return 0;}

PROBLEMA 23

Se tienen el área y el valor del metro cuadrado de una propiedad y la forma de pago de la cuota inicial. Se pide calcular el precio de venta, el valor de la cuota inicial (40% del valor del terreno). Si la forma de pago es = 1 el recibe un descuento del 15% sobre el valor de la cuota inicial, y si forma de pago es = 2 se le recarga el 10% sobre el valor de la cuota inicial. Mostrar el valor de la propiedad y el valor a pagar de la cuota inicial. (solo hay 2 formas de pago).

#include<iostream.h>

main(){float a,p,pv,ci,pap;int l;

cout<<"escriba el area del terreno: ";cin>>a;cout<<"escriba el precio del metro caudrado: ";cin>>p;cout<<"elija una forma de pago:\n";cout<<"forma 1: descuento del 15% sobre la cuota inicial\n";cout<<"forma 2: recatga del 10% sobre la cuota inicial\n";cin>>l;

pv=a*p;ci=0.40*pv;

switch (l) {

Page 20: Practica 1

case 1:pap=0.85*ci; cout<<"El precio total seria de:"<<pv<<endl; cout<<"El valor a pagar de la cuenta inicial es:"<<pap<<endl<<endl; break; case 2:pap=1.10*ci; cout<<"El precio total seria de:"<<pv<<endl; cout<<"El valor a pagar de la cuenta inicial es:"<<pap<<endl<<endl; break; default:cout<<"no es una forma de pago\n\n"; break; }

system("pause");}

PROBLEMA 24

Diseñar un algoritmo, en que dadas las coordenadas x e y de un punto, indique con un solo mensaje si el punto cumple ó no con la siguiente afirmación “esta en el I o en el III cuadrante del plano cartesiano.”

#include<iostream.h>main(){float x,y,t;

cout<<"ingrese la cooredenada de ...: \n";cout<<"las absisas:";cin>>x;cout<<"las ordenadas:";cin>>y;

t=x/y;

if(t>0) cout<<"El punto pertenece al I y III cuadrante\n\n"; else cout<<"El punto pertenece al II y IV cuadrante\n\n"; system("pause"); }

PROBLEMA 25

PROBLEMA 26

Page 21: Practica 1

Dada la hora del día en horas, minutos y segundos encuentre la hora del siguiente segundo.

#include<iostream.h>main(){int long h,m,s,h1,m1,s1,r1,r2,t; cout<<"ingrese el tiempo del dia: \n";cout<<"ingrese hora: ";cin>>h; cout<<"ingrese minutos: ";cin>>m;cout<<"ingrese segundos: ";cin>>s;

t=h*60*60+m*60+s+1;

if(h<24 && m<59 && s<60) {h1=t/3600; r1=t%3600; m1=r1/60; r2=r1%60; s1=r2; cout<<"la hora del siguiente segundo es: "; cout<<h1<<":"<<m1<<":"<<s1<<endl; } else {if(h==23 && m==59 && s==59) { cout<<"Es el dia siguiente: 00:00:00 "<<endl<<endl; } cout<<"No es una hora correcta\n\n"; } system("pause"); }

PROBLEMA 27

La comisión de un vendedor (C) se determina según el monto vendido en soles (V):Si V<=1000 C es el 10%.Si 1000<V<=2000 C es el 15% por cada sol adicional a los 1000.Si 2000<V C es el 20% por cada sol adicional a los 2000.

a) Diseñar un algoritmo donde dado V, determine C.b) Diseñar un algoritmo donde dado C, determine V.

#include<iostream.h>

Page 22: Practica 1

main(){float v,c; int m;cout<<"elija una opcion para calcular\n";cout<<"1.calcular la comision de un vendedor.\n";cout<<"2.calcular calcular el monto vendido.\n";cin>>m;system("cls");switch(m){ case 1:cout<<"ingrese el monto vendido:"; cin>>v; if(v<=1000) { c=0.1*v; } if(1000<v && v<=2000) { c=(v-1000)*0.15; } if(v>2000) { c=(v-2000)*0.2; } cout<<"entondes la comision del vendedor es:"<<c<<endl;break; case 2:cout<<"ingrese la comision del vendedor: "; cin>>c; if(c<=100) v=c/0.1; if(c<=150) v=(c/0.15)+1000; else v=(c/0.2)+2000; cout<<"entonces el monto vendido es: "<<v<<endl;break; }system("pause");}

PROBLEMA 28

PROBLEMA 29

PROBLEMA 30

Page 23: Practica 1

Diseñe un algoritmo que califique el puntaje obtenido en el lanzamientos de tres dados en base a la cantidad seis obtenidos ,de acuerdo a los siguientes : tres seis , excelentes ; dos seis , muy bien ;un seis .regular , ningún seis ,pésimo .#include <cstdlib>#include <iostream>#include <stdlib.h>

int main() { int a,b,c;

cout<<"Ingrese cualquier numero para lanzar el primer dado"<<endl;cin>>a;cout<<"Ingrese cualquier numero para lanzar el primer dado"<<endl;cin>>b;cout<<"Ingrese cualquier numero para lanzar el primer dado"<<endl;cin>>c; a=rand()%6+1; b=rand()%6+1; c=rand()%6+1; if (a+b+c==18) cout<<"EXCELENTE "<<endl; else if (a+b==12||b+c==12||a+c==12| ) cout<<"MUY BIEN "<<endl; else if (a==6||b==6||c==6) cout<<"REGULAR"<<endl; else cout<<"PESIMO"<<endl;system("pause");return 0 ; }

PROBLEMA 31

Diseñar un algoritmo, donde dado un número natural N, mayor a 100 y menor a 10000,Indique con un mensaje si N es o no capicúa.Nota: asumir que el numero esta en el rango correcto#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){Int x,d1,d2,d3;

Page 24: Practica 1

cout<<"Ingrese un numero de 3 cifras :"<<endl;cin>>x;while (x>=1000||x<100) {cout<<" Verifique que el numero sea de 3 cifras " <<endl; cout<<"Ingrese un numero de 3 cifras :"<<endl;cin>>x;}if (99<x<1000){ d1=x/100; x=x%100; d2=x%10; d3=x/10; if (d1==d3) cout<<"El numero ingresado es capicua" <<endl; else cout<<"El numero ingresado no es capicua" <<endl;}

system("PAUSE"); return EXIT_SUCCESS;}

PROBLEMA 32

Un curso se evalúa de la siguiente forma: se toma 5 practicas calificadas, se determina el promedio de las 4 notas más altas y se le al estudiante una categoría que puede ser A,B,C o D. Según a siguiente tabla :

RANGO CATEGORIA

DESDE 17 A 20 A

DESDE 14 A 16 B

DESDE 10 A 13 C

DESDE 00 A 09 D

Diseñe un algoritmo que muestre el promedio y la categoría que tuvo el alumno evaluado.

#include <cstdlib>#include <iostream>

using namespace std;int main(){

Page 25: Practica 1

int n1,n2,n3,n4,n5,me;

float prom;cout<<"Ingrese la calificacion 1 :";cin>>n1;cout<<"Ingrese la calificacion 2 :";cin>>n2;cout<<"Ingrese la calificacion 3 :";cin>>n3;cout<<"Ingrese la calificacion 4 :";cin>>n4;cout<<"Ingrese la calificacion 5 :";cin>>n5;if (n1<n2&&n1<n3&&n1<n4&&n1<n5) me=n1;else if (n2<=n1&&n2<=n3&&n2<=n4&&n2<=n5) me=n2; else if (n2<=n1&&n2<=n3&&n2<=n4&&n2<=n5) me=n3; else if (n4<=n1&&n4<=n2&&n4<=n3&&n4<=n5) me=n4; else me=n5;

prom=(n1+n2+n3+n4+n5-me)/4.; cout<<"Su promedio es : "<<prom<<endl; if (prom<=9) cout<<"La categoria obtenida es : "<<"D"<<endl; else if (prom<=13) cout<<"La categoria obtenida es : "<<"C"<<endl; else if(prom<=16) cout<<"La categoria obtenida es : "<<"B"<<endl; else cout<<"La categoria obtenida es : "<<"A"<<endl;

system("PAUSE"); return EXIT_SUCCESS; }

PROBLEMA 33

Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40 .el resto se considera horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8;si las horas extras

Page 26: Practica 1

exceden de 8 se pagan las primeras 8 la doble de lo que se pagan las horas normales y el resto al triple.

#include <cstdlib>#include <iostream>

using namespace std;int main(){int nh,t,p;cout<<"Ingrese las horas trabajadas :"<<endl;cin>>nh;cout<<"Ingrese el cobro por el trabajo de una hora normal (en soles) :"<<endl;cin>>p;if (nh>=48)t=p*40+(nh-40)*2*p+(nh-48)*p;elseif (nh>=40)t=p*40+(nh-40)*2*p;elset=nh*p;

cout<<"La cantidad recibida por el cobrador es : "<<t<<" soles "<<endl; system("PAUSE"); return EXIT_SUCCESS; }

PROBLEMA 34

Una empresa ha puesto en oferta 3 productos codificados como A, B, C .El costo de cada producto se muestra en la siguiente tabla :

PRODUCTO COSTO A 1OO.OO B 82.5O C 5O:OO

Adicionalmente la empresa ofreceun descuento del 10%para compras mayores de 500.00,Diseñe el programa que ingrese el código del producto y el número de unidades compradas y determine el monto del descuento y el monto a pagar.

Page 27: Practica 1

#include <cstdlib>#include <iostream>

using namespace std;int main(){int n; char ch;float pa=100,pb=82.5,pc=50,mta,mtb,mtc,mtp,dc,mt;

cout<<"Ingrese el codigo del producto"<<endl;cin>>ch;cout<<"Ingrese el numero de unidades que desea comprar de dicho producto"<<endl;cin>>n;

switch (ch){ case 'A' :mta=n*pa; break; case 'B' :mta=n*pa; break; case 'C' :mtc=n*pa; break; default : cout<<"VERIVIQUE LOS DATOS"<<endl; return 0; break;} mt=mta+mtb+mtc; if (mt>=500){dc=0.1*mt;mtp=mt-dc; cout<<"El monto total de la compra es"<<mt<<endl; cout<<"El descuento total de la compra es"<<dc<<endl; cout<<"El monto a pagar de la compra es"<<mtp<<endl;}else {cout<<"El monto total de la compra es"<<mt<<endl; cout<<"NO HAY DESCUENTOS "<<endl;} system("PAUSE"); return EXIT_SUCCESS; }

PROBLEMA 35

Una librería tiene dos tipos de clientes. Estudiantes (E)Y público en general (P).Además ofrece dos tipos de pagos . Contado © Y Plazos (P).Se pide escribir

Page 28: Practica 1

un programa que pida el ingreso de : El nombre del cliente :el tipo de cliente, la forma de pago y el monto de pago. Dependiendo del tipo de pago va existir un descuento o un recargo tal como se muestra en el siguiente cuadro:

Tipo contado© plazos (P) Descuento recargos Estudiante 10% 5% Público 5% 15 %

#include <cstdlib>#include <iostream>

using namespace std;int main(){ char tp; char name[20],c; float mp,monto; cout<<"Ingrese su nombre : ";cin>>name;cout<<"Ingrese el tipo de pago CONTADO(C) O PLAZOS(PL) : ";cin>>tp;cout<<"Ingrese el monto de pago : ";cin>>monto;cout<<"Ingrese que tipo de cliente es ESTUDIANTE(E) O PUBLICO EN GENERAL(G) : ";cin>>c;switch (c){ case 'E' : if (tp=='C') {mp=0.9*monto; cout<<"EL MONTO A PAGAR ES "<<mp<<endl;} if (tp=='PL') {mp=1.05*monto; cout<<"EL MONTO A PAGAR ES "<<mp<<endl;} break; case 'P' :if (tp=='C') {mp=0.95*monto; cout<<"EL MONTO A PAGAR ES "<<mp<<endl;} if (tp=='PL') {mp=1.15*monto; cout<<"EL MONTO A PAGAR ES "<<mp<<endl;} break; default : cout<<"VERIVIQUE LOS DATOS"<<endl; break;}

Page 29: Practica 1

system("PAUSE");

return EXIT_SUCCESS; }

PROBLEMA 36

Escribir un programa que permita actualizar el saldo de un a cuenta de un cliente de un banco.los datos de entrada son :número de cuenta , saldo anterior ,tipo de movimiento (1 Deposito,2 retiro).En ambas caso se debe pedir el monto de la transacción .#include <cstdlib>#include <iostream>

using namespace std;int main(){int long n,sa,mt,sn,tm;

cout<<"Ingrese su numero de cuenta : ",cin>>n;cout<<"Ingrese su saldo : ",cin>>sa;cout<<"Ingrese el tipo de movimiento deposito(1) o retiro(2) : ",cin>>tm;switch(tm){ case 1 : cout<<"Indique el monto de transaccion : ",cin>>mt; sn=sa+mt; cout<<"El saldo actual de su cuenta es :"<<sn<<endl; break; case 2 :cout<<"Indique el monto de transaccion : ",cin>>mt; sn=sa-mt; cout<<"El saldo actual de su cuenta es :"<<sn<<endl; break; default :cout<<"VERIFIQUE LOS DATOS"<<endl; break; } system("PAUSE"); return EXIT_SUCCESS; }

Page 30: Practica 1

PROBLEMA 37

En un hospital se ha hecho un estudio sobre los pacientes registrados durante los últimos 10 años, con el objeto de hacer una aproximación de los costos de internamiento por paciente. Se obtuvo un costo promedio diario según el tipo de enfermedad que aqueja al paciente ,además se pudo determinar que en promedios todos los pacientes con edad entre 14 y 22 años implican un costo adicional del 10%.La siguiente tabla expresa los costos diarios según el tipo de enfermedad. TIPO DE ENFERMEDAD COSTO /PACIENTE O 25 1 16 2 20 3 32

Calcular e imprimir el costo que representa un paciente#include <cstdlib>#include <iostream>

using namespace std;int main(){int te,ed;float c0,c1,c2,c3;cout<<"Indique su edad :",cin>>ed;cout<<"Tipo de enfermedad que padece:asma(0),hepatitis(1),tuberculosis(2),sirrosis(3)"<<endl;cin>>te;c0=25,c1=15,c2=20,c3=32;switch(te){case 0 : if(14<=ed<=22) c0=c0*1.1; cout<<"El costo de internamineto por dia es : "<<c0<<endl; break;case 1 : if(14<=ed<=22) c1=c1*1.1; cout<<"El costo de internamineto por dia es : "<<c1<<endl; break;case 2 : if(14<=ed<=22) c2=c2*1.1; cout<<"El costo de internamineto por dia es : "<<c2<<endl; break;case 3 : if(14<=ed<=22) c3=c3*1.1; cout<<"El costo de internamineto por dia es : "<<c3<<endl; break;default : cout<<"VERIFIQUE LOS DATOS"<<endl;}

Page 31: Practica 1

system("PAUSE"); return EXIT_SUCCESS; }