PRACTICA #6
Problema 1
1.- Inicio
n,x,c,prod=1,mg,ma,suma=0; real
Print " Valor de n = ";
Read n;
for(c=1 to step c=c+1)
{
Print " x = ";
Read x;
prod = prod*x;
suma = suma +1.0/x;
}
{
mg = pow(prod,1.0/n)
ma = n/suma
Print " Medida geometrica = ",mg
Print " Medida aritmetica = ",ma
}
Fin.
n,x,c,prod=1,mg,ma,suma=0; real
Print " Valor de n = ";
Read n;
for(c=1 to step c=c+1)
{
Print " x = ";
Read x;
prod = prod*x;
suma = suma +1.0/x;
}
{
mg = pow(prod,1.0/n)
ma = n/suma
Print " Medida geometrica = ",mg
Print " Medida aritmetica = ",ma
}
Fin.

Problema 2
La cantidad de clientes que llegan a un concurrido banco de New York se puede calcular utilizando la funcion de probabilidad Poisson.
Por ejemplo, si el priomedio de clientes que entrar al banco desde 3 por minuto por lo tanto la probabilidad de que el cliente llegue. = 0.149561 y la probabilidad de que dos clientes lleguen en cualquier minuto es 0.224454 utilizando esto.
Escriba un programa que calcule y despliegue la probabilidad de que un numero variable de 1 a 10 clientes lleguen el cualquier minuto, cuando el promedio de llegada e de 3 clientes por minuto
1.- Inicio
x; entero
La entero
p real
Fact,I real
for ( x = 1 to 10 step x = x +1)
{
fact =1
for ( I =1 to x step I = I +1)
{
fact = fact * I
}
p = pow(3,x)* exp(-3)) / fact
Print " x = ",x . " " p = ",.p
}
Fin.

Problema 3
Escriba un programa que acepte uno ala vez 10 valores individuales de galones y convierta cada valor introducido a su equivalente en litros, antes de solicitar el siguiente valor. Recuerde que cada galon equivale a 3.785 litros/
1.- Inicio
galon,litros real
I entero
for(I = 1 to 10 step I = I+1)
{
Print " Galones : "
Read galon;
Litros = galon*3.785
Print galon " Galones = ", litros, " Litros "
}
Fin.

Problema 4
Un modelo para calcular la poblacion mundial en miles de millones de personas esta dado por la ecuacion poblacion = 4.88*(1+e ^0.2t) donde t es el tiempo en años t=0 representa enero 1985 t=1 representa enero 1986 t=3 representa 1987.
Escriba un programa que muestre una tabla anual de poblacion de enero de 1990 hasta enero del 2005.
1.- Inicio
poblacion real
Anio entero
Print " Año Poblacion total "
for ( a =5 to 20 step a = a+1)
{
poblacion = 4.88*(1+exp(0.2*a)
Print Anio," ", poblacion
Anio = Anio + 1
}
Fin.

Problema 5
Calcule el aumento de sueldo para un grupo de empleados de una empresa, teniendo en cuenta el siguiente criterio; si el sueldo es inferior a 1000 el aumento es del 15%, si el sueldo es mayor o igual que mil el descuento es del 12%, imprima el sueldo nuevo del trabajador y el total de la nomina de la empresa considerando este aumento.
para el fin de datos el sueldo se expresa con -1
para el fin de datos el sueldo se expresa con -1
1.- Inicio
Total_nomina=0.0, sueldo real
Print “sueldo del empleado= ”
Read sueldo
while(sueldo !=-1)
{
If(sueldo <1000)
{
sueldo=sueldo*1.15
}
else
{
sueldo=sueldo*1.12
}
total_nomina = total_nomina+sueldo
print ”sueldo nuevo = ”,sueldo
Read sueldo
}
Print ” total nomina= ”,total_nomina
Read sueldo
while(sueldo !=-1)
{
If(sueldo <1000)
{
sueldo=sueldo*1.15
}
else
{
sueldo=sueldo*1.12
}
total_nomina = total_nomina+sueldo
print ”sueldo nuevo = ”,sueldo
Read sueldo
}
Print ” total nomina= ”,total_nomina
Fin
Problema 6
Realiza el problema 5 usando el do while.
1.- Inicio
Total_nomina=0.0, sueldo real
c=0 int
c=0 int
do
{
Print “ Sueldo del empleado = ”
read,sueldo
{
if(sueldo >0 and sueldo <1000)
{
sueldo = sueldo*1.15
c=c+1
}
else
{
if(sueldo >=1000)
{
sueldo = sueldo*1.12
c = c+1
}
}
if(sueldo ¡= -1)
{
Print ”sueldo nuevo = ”,sueldo
total_nomina = total_nomina+sueldo
}
}
while( sueldo !=-1);
Print ” Total empleados = ”,ce
Print ” Total de nomina = ”,total_nomina
{
Print “ Sueldo del empleado = ”
read,sueldo
{
if(sueldo >0 and sueldo <1000)
{
sueldo = sueldo*1.15
c=c+1
}
else
{
if(sueldo >=1000)
{
sueldo = sueldo*1.12
c = c+1
}
}
if(sueldo ¡= -1)
{
Print ”sueldo nuevo = ”,sueldo
total_nomina = total_nomina+sueldo
}
}
while( sueldo !=-1);
Print ” Total empleados = ”,ce
Print ” Total de nomina = ”,total_nomina
Fin.
Problema 7
Haga un programa que genere 100 números enteros en forma aleatoria y obtenga una suma de los números impares y el promedio de los números pares.
N,sumaimpar=0,sumapar=0,c=0 int
randomize( )
randomize( )
fot(I=1 to 5 step I++)
{
N=random (1000)
if(n%2==0)
{
sumapar= sumapar+n
c = c + 1
}
else
{
sumaimpar = sumaimp+n
}
}
Print ” La suma impar es = ”,sumaimpar
Print ” La suma par es = ”,sumapar
{
N=random (1000)
if(n%2==0)
{
sumapar= sumapar+n
c = c + 1
}
else
{
sumaimpar = sumaimp+n
}
}
Print ” La suma impar es = ”,sumaimpar
Print ” La suma par es = ”,sumapar
Problema 8
Por cada llamada se ingresa el tipo(internacional,nacional,local)y la duracion en minutos. El criterio que se sigue para calcular el costo de cada llamada es el siguiente.
Internacional : 3 primeros minutos $7.54
cada minuto adicional $3.03
Nacional 3 primeros minutos $1.20
cada minuto adicional $0.48
Local Los primeros 50 no se cobran
cada llama cuesta $0.60.
1.- Inicio
tipo char
cuenta=0,costolocal=0,minuto,costo Real
Print " Tipo de llamada = ";
Read tipo
while (tipo!= 'F' || tipo!= 'f')
{
Print " Minutos = ";
Read minutos
switch (tpo)
{
Case ' I ':
Case ' i ': if (minutos>3)
{
costo = 7.85+(minutos-3)*3.03
}
else
{
costo = 7.54
}
break;
Case ' N '
Case ' n ' : if (minutos>1)
{
costo = 1.20+(minutos-3)*0.8
}
else
{
costo = 1.20;
}
break;
Case ' L '
Case ' l ' : local = local+1
if ( local>50)
{
costolocal = costolocal+0.60
}
cuenta = cuenta+costolocal
break;
Print " Tipo de llamada I(Internacional) N(Nacional) L(Local) F (Fin de cuenta) = ";
Read tipo
}
Print " Cuenta = ".cuenta
Fin.
Problema 9
Un fabricante prueba 5 generadores eléctricos midiendo los voltajes de salida. Escriba un programa que utiliza una gasa anidada para producir los resultados de las pruebas de cada generador y que calcule y despliegue el voltaje promedio de cada generador.
1.- Inicio
sumav=0,v,g entero
prom,voltaje Real
for ( g =1 to 5 step g = g+1)
{
Print " No Generador = ";
for ( v=1 to 3 step v = v+1)
{
Print " Prueba voltaje = ";
Read voltaje
sumav = sumav+voltaje;
}
prom = sumav/3
Print " Promedio voltaje = ",prom
sumav = 0
}
Fin.
b) Modifique el programa del a) para que calcule y despliegue el voltaje promedio de todos los generadores.
1.- Inicio
sumav=-,sumag=0 Real
G,V entero
voltaje,prom Real
for (G=1 to 5 step G = G+1)
{
sumav=0
Print " No generador = ",G
for ( V=1 to 3 step V = V+1)
{
Print " Voltaje de prueba ";
Read voltaje
sumav = sumav+voltaje
}
prom = sumav/3
sumag = sumag+prom
}
prom = sumag/5
Print " Promedio de todos los generadores es = ",prom
Fin.
c) Vuelve a escribir el programa del ejercicio A para que elimine la gasa interna. Para hacer esto tiene que introducir 3 voltajes para cada generador en lugar de una ala vez, cada voltaje debe de almacenarse en una variable con nombre propio antes de calcular el promedio.
1.- Inicio
prom,sumaV=0; Real
G; entero
v1,v2,v3; Real
for (G=1 to 5 step G=G+1)
{
sumaV=0
Print " No Generador = ",G
Print " Voltaje 1 ";
Read v1
Print " Voltaje 2";
Read v2
Print " Voltaje 3 ";
Read v3
sumaV= v1+v29v3
prom = sumaV/3
Print " Promedio = ",prom
}
Fin.
Problema 10
Escriba un programa para aceptar una calificación, el programa debe solicitar una calificación continuamente mientras no se introduzcan calificaciones invalidas.
Calificación invalida es cualquiera menor de cero o mayor de 100. Después de que introduzca una calificación valida el programa debe encontrar el valor de ella.
1.- Inicio
calif int
do
{
Print " Calificacion = "
Read calif
if( calif>0 and calif<=100)
{
Print " Calificacion - ",calif
}
}
while(calif>0 and calif<=100);
Fin.

b) modifique el programa del a) cuando se introduzca una calificación invalida.
1.- Inicio
calif int
do
{
Print " Calificacion = "
Read calif
if( calif>0 and calif<=100)
{
Print " Calificacion - ",calif
}
else
{
Print " Calificacion Invalida "
}
}
while(calif>0 and calif<=100);
Fin.

c) modifique el programa del b) para que permita el usuario salir del programa al introducir el numero 999.
1.- Inicio
calif int
do
{
Print " Calificacion = "
Read calif
if( calif>0 and calif<=100)
{
Print " Calificacion - ",calif
}
else
{
if(calif!=999)
Print " Calificacion Invalida "
}
}
}
while(calif!=999);
Fin.

d) modifique el programa del b) para que termine automáticamente después de que introduzcan 5 calificaciones invalidas.
1.- Inicio
calif int
contador=0 int
do
{
Print " Calificacion = "
Read calif
if( calif>0 and calif<=100)
{
Print " Calificacion - ",calif
}
else
{
Print " Calificacion Invalida "
contador = contador+1
}
}
while(contador<5);
Fin.

Problema 11
En un estadio se tienen 5 tipos diferentes de localidades las cuales se identifican por una clave numerica que es un valor comprendido entre 1 y 5. Los precios de cada localidad y los datos referentes a las ventas de boletos para el proximo juego se proporcionan como sigue:
Contruye un programa que a) Lea los precios de las localidades. b) Lea los datos de las ventas de boletos. c) Imprima para cada venta la clave la cantidad y el importe total de los boletos vendidos en este año. d) calcule e imprima la cantidad de boletos vendidos de cada tipo. e) calcule e imprima la recaudacion total del estadio.
NOTA: Considere que en una venta solo se venden boletos de un tipo.
1.- Inicio
p1,p2,p3,p4,p5,total_recaudacion real
l1=0,l2=0,l3=0,l4=0,l5=0 int
clave,cantidad int
Print " Precio localidad 1 "
Read p1
Print " Precio localidad 2 "
Read p2
Print " Precio localidad 3 "
Read p3
Print " Precio localidad 4 "
Read p4
Print " Precio localidad 5 "
Read p5
do
{
Print " Clave localidad : ",
Read clave
Print " Cantidad de boletos :",
Read cantidad
switch(clave)
case 1 : l1 = l1+cantidad
Print " No boletos L1 ",cantidad
Print " Total = ",(p1*cantidad)
break;
case 2 : l2 = l2+cantidad
Print " No boletos L2 ",cantidad
Print " Total = ",(p2*cantidad)
break;
case 3 : l3 = l3+cantidad
Print " No boletos L3 ",cantidad
Print " Total = ",(p3*cantidad)
break;
case 4 : l4 = l4+cantidad
Print " No boletos L4 ",cantidad
Print " Total = ",(p4*cantidad)
break;
case 5 : l5 = l5+cantidad
Print " No boletos L5 ",cantidad
Print " Total = ",(p5*cantidad)
break;
}
}
while(clave!=-1 and clave!=-1);
Print " Cantidad total localidad 1:",l1
Print " Cantidad total localidad 2:",l2
Print " Cantidad total localidad 3:",l3
Print " Cantidad total localidad 4:",l4
Print " Cantidad total localidad 5:",l5
total_recaudacion = (l1*p1)+(l2*p2)+(l3*p3)+(l4*p4)+(l5*p5);
Print " Recaudacion total de boletos es = ", total_recaudacion;
Fin








No hay comentarios:
Publicar un comentario