Vous êtes sur la page 1sur 5

Universidad Nacional Mayor de San Marcos

Facultad de Ingeniera Electrnica y Elctrica


Escuela Acadmico Profesional de Ingeniera Elctrica
Lenguaje de programacin

Primera Prctica calificada


Problema 1. (4 ptos.) El riesgo de que una persona sufra enfermedades coronarias depende de su
edad y su ndice de masa corporal:

El ndice de masa corporal es el cociente entre el peso del individuo en kilos y el cuadrado de su
estatura en metros. Escriba un programa en C++ que reciba como entrada la estatura, el peso y la
edad de una persona, y le entregue su condicin de riesgo. Validar datos.

Solucin:

Variables de entrada:
e (estatura)

p (peso)

Variables de salida:
imc (ndice de masa corporal)

Programa:

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

using namespace std;

int main()
{
float e, p, est;
float imc;

cout<<"Ingrese su edad: ";


cin>>e;
cout<<"Ingrese su peso en kilogramos: ";
cin>>p;
cout<<"Ingrese su estatura en metros: ";
cin>>est;
cout<<endl;//lo use para que salte una linea

imc=p/pow(est,2);
//ya que la estatura se eleva al cuadrado no afecta que sea positivo o negativo

if(e<0 || p<0)
cout<<"los datos que ha ingresado son incorrectos";

if(e>=45 && imc>0 && imc<22.0)


{ cout<<"su IMC es: "<<imc; cout<<endl;
cout<<"Usted posee un riesgo medio de sufrir enfermedades coronarias";
}
if(e>=45 && imc>=22.0)
{ cout<<"su IMC es: "<<imc; cout<<endl;
cout<<"Usted posee un riesgo alto de sufrir enfermedades coronarias";
}
if(e>0 && e<45 && imc>0 && imc<22.0)
{
cout<<"su IMC es: "<<imc; cout<<endl;
cout<<"Usted posee un riesgo bajo de sufrir enfermedades coronarias";
}
if(e>0 && e<45 && imc>=22.0)
{ cout<<"su IMC es: "<<imc; cout<<endl;
cout<<"Usted posee un riesgo medio de sufrir enfermedades coronarias";
}
cout<<endl;//lo use para que salte una linea

return 0;
}

Problema 2. (4 ptos.) El Sindicato nico de Docentes del Per llev una propuesta de aumento
salarial al Ministerio de Educacin, para los docentes del estado. Haciendo un anlisis por tramo de
ingresos. A aquellos docentes que ganan S/.4500.00 soles o ms, se les aplicar aumento de 5%.
A los que ganan menos de S/.4500.00 soles, pero igual o ms de S/.3000.00 soles, se les aumentar
un 10 %. A los que ganan menos de S/.3000.00 soles, pero igual o ms de S/.1500.00 soles, se les
aumentar un 15 %. Finalmente, a los que ganan menos de S/.1500.00 soles se les aumentar un
30 %. Queremos contar con un programa que determine el nuevo salario de un empleado, tomando
en cuenta las consideraciones anteriores. Validar los datos.

Solucin:

Variables de entrada:
s (sueldo actual del docente)

Variables de salida:
s1, s2, s3, s4 (nuevos sueldos de los docentes)

Programa:

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

using namespace std;

int main()
{
float s (sueldo de)
float s1,s2,s3,s4;

cout<<"Ingrese su sueldo: ";


cin>>s;
cout<<endl;

s1=s + 0.05*s;
s2=s + 0.1*s;
s3=s + 0.15*s;
s4=s + 0.3*s;

if (s==0)
cout<<"Al sueldo ingresado no se le puede realizar aumento"<<endl;
if (s>=4500)
cout<<"Docente,su nuevo es: "<<s1<<endl;
if (s<4500 && s>=3000)
cout<<"Docente,su nuevo es: "<<s2<<endl;
if (s<3000 && s>=1500)
cout<<"Docente,su nuevo es: "<<s3<<endl;
if (s<1500 && s>0)
cout<<"Docente,su nuevo es: "<<s4<<endl;
if (s<0)
cout<<"El sueldo ingresado es incorrecto"<<endl;

return 0;
}

Problema 3. (6 ptos.) En una industria se fabrican planchas rectangulares que se venden en lotes
de 10 planchas. Una plancha se considera defectuosa si su superficie (ancho x largo) es inferior a
4.4m2, y se considera buena si es superior. Un lote se considera defectuoso si tiene una o ms
planchas defectuosas, y bueno si todas sus planchas son buenas. Se dispone de los datos sobre el
ancho y el largo de 500 planchas. Escribir un programa que lea dichos datos (ancho y largo de las
planchas) y escriba el nmero de lotes buenos, y la superficie media de todas las planchas de los
lotes buenos. Ntese que no se pide la superficie media de todas las planchas buenas. El programa
debe disearse de modo que cuando se detecte que una plancha de un lote es defectuosa no siga
pidiendo los datos de las restantes planchas del mismo lote. No se admite una solucin que emplee
vectores (se pueden solicitar los datos ordenados por lotes).

Solucin:

Variables de entrada:
a (ancho de la plancha)
l (largo de la plancha)

Variables intermedias:
sup (superficie de la plancha)
def (defectuosos)
numl (nmero de lotes)
sums (sumatorias)
sumsb (sumatorias)

Variables de salida:
i (nmero de lote)
j+1 (nmero de plancha)
numlb (nmero de lotes buenos)
supm (media de las superficies de las planchas buenas)

Programa:

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

using namespace std;


int main()
{
float a,l;
int numl,numlb,def,j,i;
float supm,sup,sums,sumsb;

numl=500/10;
sumsb=0;
sums=0;
numlb=0;
for(i=1; i<=numl;i++)
{
j=0;
def=0;
while((j<10)&& (def==0))
{
do
{
cout<<endl<<"Lote numero: "<<i<<endl;
cout<<endl<<"Plancha numero: "<<j+1<<endl;
cout<<"Ingrese el ancho de la plancha: ";
cin>>a;
cout<<"Ingrese largo de la plancha: ";
cin>>l;
}while((a<0)&&(l<0));
sup=a*l;
if(sup>4.4)
sums=sums+sup;
else
{
def=1;
cout<<"Lote numero: "<<i<<" defectuoso"<<endl<<endl;
}
j=j+1;
}
if(j==10)
{
sumsb=sumsb+sums;
numlb=numlb+1;
}
sums=0;
}
if(numlb>0)
{
supm=sumsb/(numlb+10);
cout<<endl<<"El numero de lotes buenos es: "<<numlb<<endl;
cout<<endl<<"La media de las superficies de las planchas buenas es:
"<<supm<<endl;
}
else cout<<endl<<"Todos los lotes estan defectuosos"<<endl;
}

Problema 4. (6 ptos.) LA LEYENDA DE SESSA: Para demostrar a sus contemporneos que un


monarca, por muy poderoso que fuese, no es nada sin sus vasallos, un bramn hind llamado Sessa
invent un da el juego del ajedrez (hace ya bastantes siglos). Cuando presentaron dicho juego al
rey de las Indias, ste qued tan maravillado por su ingenio y por la variedad considerable de
combinaciones posibles que mand llamar al bramn para recompensarle personalmente.
Por tu relevante invento, quiero recompensarte, le dijo el rey. Elige t mismo la recompensa y la
recibirs enseguida. Soy lo bastante rico y poderos para cumplir el ms loco de tus deseos.
El bramn le pidi al rey un poco de tiempo para meditar su respuesta. Al da siguiente sorprendi
a todo el mundo con la increble modestia de su peticin.
Mi buen soberano, querra que me dieses todos los granos de trigo que cupiesen en las 64 casillas
de mi ajedrez. Un grano para la primera casilla, dos para la segunda, cuatro para la tercera, ocho
para la cuarta, diecisis para la quinta y as sucesivamente. En resumen, querra que pusieran en
cada casilla dos veces ms granos de trigo que en la anterior. Hacer un programa para calcular la
cantidad de trigo que peda el bramn.

Solucin:

Variables de entrada:
n (numero de casillas)

Variables de salida:
s (cantidad de trigo que peda el bramn)

Programa:

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

using namespace std;


int main()
{
int n;
unsigned long long s;

cout<<"Ingrese el numero de casillas: ";cin>>n;


cout<<endl;
if(n>0)
{
s=pow(2,n)-1;
cout<<"la cantidad total de trigo que pedia el braman es: "<<s<<endl;
}
else
cout<<"el dato ingresado es incorrecto"<<endl;

return 0;
}

Vous aimerez peut-être aussi