viernes, 25 de febrero de 2011

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.



Problema 2

La cantidad de clientes que llegan a un concurrido banco de New York se puede calcular utilizando la funcion de probabilidad  Poisson.
f(k;\lambda)=\frac{e^{-\lambda} \lambda^k}{k!},\,\!
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 minu1.-to.



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

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
Fin





Problema 6

Realiza el problema 5 usando el do while.

1.- Inicio
Total_nomina=0.0, sueldo   real
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
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( )
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




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


     

viernes, 18 de febrero de 2011

Practica # 5

Problema 1


Construya un programa para leer los datos, matricula y 5 calificaciones de un alumno. Imprima la matricula el promedio y la palabra aprobado si el alumno tiene un valor de >=70 y la palabra no aprobado en caso contrario.


calif1,calif2,calif3,calif4,calif5,promedio,matricula;      Flotante
Print " Matricula "
Read matricula
Print " Calificacion 1 = "
Read calif1
Print " Calificacion 2 = "
Read calif2
Print " Calificacion 3 = "
Read calif3
Print" Calificacion 4 = "
Read calif4
Print " Calificacion 5 = "
Read calif 5
promedio = (calif1+calif2+calif3+calif4+calif5)/5
Print " La matricula es = ", matricula
Print " El promedio es = ",promedio
if (promedio>=70)
{
Print :" Aprobado "
}
else
{
Print " No aprobado "
}
Fin.



Problema 2

En una tienda efectúan un descuento a los clientes dependiendo del monto de compra. El descuento se basa en la siguiente tabla.
Si el monto es menor que $500 no hay descuento
Si el monto esta comprendido entre $500 y $1000 el descuento es 5%
Si el monto esta comprendido entre $1001 y $7000 el descuento es 11%
Si el monto esta comprendido entre $7001 y $15000 el descuento es 18%
Si el monto es mayor  a $15000 el descuento es de 25%
Haga un programa que solicite el monto de la compra de un cliente y determine lo que el mismo debe pagar.

1.- Inicio
monto         int
Print " Monto de compra "
Read monto
if(monto<500)
{
Priint " Monto a pagar : ",monto
}
else
{
if(monto>=500&&monto<=1000)
{
monto = monto*0.95
Print " Monto a pagar : ", monto
}
else
{
if(monto>=1001&&monto<=7000)
{
monto = monto*0.89
Print " Monto a pagar : ", monto
}
else
{
if (monto>=7001&&monto<=15000)
{
monto = monto*0.82
Print " Monto a pagar : ", monto
}
else
{
if(monto>15000)
{
monto = monto*0.75
Print " Monto a pagar : ", monto}
}
}
}
}
Fin.



Problema 3 

El costo de las llamadas telefónicas internacionales depende de la zona geográfica con la que se encuentra el país destino y el numero de minutos hablado. En la siguiente tabla se expresa el costo de minuto por zona
Clave                                 Zona                                       Precio
12                                     América del norte                     $2
15                                     América central                        $2.2
18                                     América del sur                        $4.5
19                                     Europa                                      $3.5
23                                     Asia                                           $6
25                                     África                                        $6
29                                     Oceanía                                     $5

Construya un programa que le permita calcular e imprimir el costo total de una llamada. Debe de considerar la clave de la zona geográfica ala que se llama, la duración en minutos de la llamada.

1.- Inicio
clave,min,costo;        Real
Print " Introducir la clave "
Read clave
Print " Introducir los minutos "
Read min
if(clave==12)
{
costo = min*2
Print " America del norte total a pagar : ",costo
}
else
{
if(clave==15)
{
costo = min*2.2
Print " America central total a pagar : ",costo
}
else
{
if(clave==18)
{
costo = min*4.5
Print " America del sur total a pagar : ",costo
}
else
{
if(clave==19)
{
costo = min*3.5
Print " Europa total a pagar : ",costo
}
else
{
if(clave==23)
{
costo = min*6
Print " Asia total a pagar : ",costo
}
else
{
if(clave==25)
{
costo = min*6
Print " Africa total a pagar :",costo
}
else
{
if(clave==29)
{
costo = min*5
Print " Oceania total a pagar : ",costo
}
}
}
}
}
}
Fin



Problema 4 

Haga un programa que diseñe un menú de restaurante para 6 articulos. Solicite la orden el usuario y calcule el monto total.

1.-
p1=50,p2=55,p3=60,p4=15,p5=30,p6=40;    real
c1=0,c2=0,c3=0,c4=0,c5=0,c6=0,t1=0,t2=0,t3=0,t4=0,t5=0,t6=0;       real
total=0,subtotal=0,iva=0;         real
prod=1;      entero
Print " Pizza Manhatan ";
while (prod!=0)
{
Print "      Menu "<< endl;
Print " 1) Peperonni "<< endl;
Print " 2) Hawaiana "<< endl;
Print " 3) Mexicana "<< endl;
Print " 4) Sodas "<< endl;
Print " 5) Spaggeti "<<endl;
Print " 6) Lasagna "<<endl;
Print " 0) terminar la  orden "<<endl;
Print " No. de producto : ";
Read prod;
switch (prod)
{
case 1: Print " Cantidad producto 1 : ";
        Read c1;
        subtotal = subtotal+c1*p1;
        t1 = t1*c1;
        break;
case 2: Print " Cantidad producto 2 : ";
        Read  c2;
        subtotal = subtotal+c2*p2;
        t2 = t2*c2;
        break;
case 3: Print " Cantidad producto 3 : ";
        Read c3;
        subtotal = subtotal+c3*p3;
        t3 = t3*c3;
        break;
case 4: Print " Cantidad producto 4 : ";
        Read c4;
        subtotal = subtotal+c4*p4;
        t4 = t4*c4;
        break;
case 5: Print " Cantidad producto 5 : ";
        Read c5;
        subtotal = subtotal+c5*p5;
        t5 = t5*c5;
        break;
case 6: Print " Cantidad producto 6 : ";
        Read c6;
        subtotal = subtotal+c6*p6;
        t6=t6*c6;
        break;
case 0: iva = subtotal*0.11;
total = subtotal+iva;
if(t1>0)
{
Print  t1 " Producto 1 ",(t1*p1);
}
if(t2>0)
{
Print  t2 " Producto 2 ",(t2*p2);
}
if(t3>0)
{
Print  t3 " Producto 3 ",(t3*p3);
}
if(t4>0)
{
cout << t4<<" Producto 4 ",(t4*p4);
}
if(t5>0)
{
Print  t5 " Producto 5 ",(t5*p5);
}
if(t6>0)
{
Print  t6 " Producto 6",(t6*p6);
}

Print  "         Ticket" ;
Print " Producto 1 Peperonni cantidad de productos = ",c1;
Print " Producto 2 hawaiana cantidad de productos = ",c2;
Piint " Producto 3 Mexicana cantidad de productos = ",c3;
Print " Producto 4 Sodas  cantidad de productos = ",c4;
Print " Producto 5 Spaggeti cantidad de productos = ",c5;
Print " Producto 1 Lasagna cantidad de productos = ",c6l;
Print " Subtotal = ", subtotal;
Print " Iva = ", iva;
Print " Total = ",total;
break;
defaul: Print " Error en producto ";
}
}






Problema 5

Calcular la suma de los n primeros numeros enteros utilizando una intruccion de repeticion.

1.- Inicio
numero,suma=0,I=1;           entero
Print "  N = "
Read n
while (<=n)
{
suma = suma + I;
I++;
}
Print " La suma de los primeros numeros es :",suma
}
Fin.



Problema 6

Calcular E(x) = 1 + x + x^2/2! 
a) Para n que es un entero leido por el teclado
b) desplegar el valor de E(x)

1.- Inicio
E =1,x,n;       real
fact, contador = 1     real
Print " N = "
Read n
while ( contador <=n)
{
fact = 1
I = contador
wuile)I!=1)
{
Fact = Fact * I
I = I + 1;
}
E = E+(pow(contador,contador))/ Fact
contador = contador +1
}
Print " E(x) = ",E
Fin.



Problema 7_1

Determine un programa para leer dos numeros enteros utilizando un ciclo y encontrar el maximo y minimo valor e imprimirlos.

1.- Inicio
conta=1,numero,mayor,menor,        entero
while( conta<=10)
{
Print " Numero : "
Read numero;
if (conta==1)
{
mayor = numero;
menor = numero;
{
if( numero>mayor)
{
mayor = numero;
}
if(numero<menor)
{
menor = numero;
}
conta ++;
}
Print " El valor mayor = ",mayor;
Print " El valor menor = ",menor;
Fin.



Problema 7_2

1.- Inicio
conta=1,numero,mayor,menor,posmayor,posmenor;        entero
while( conta<=10)
{
Print " Numero : "
Read numero;
if (conta==1)
{
mayor = numero;
menor = numero;
posmayor = posmenor+1;
{
if( numero>mayor)
{
mayor = numero;
posmayor = conta;
}
if(numero<menor)
{
menor = numero;
posmenor = conta;
}
conta ++;
}
Print " El valor mayor = ",mayor, " Posicion mayor = ",posmayor;
Print " El valor menor = ",menor, " Posicion menor = ",posmenor;
Fin.