sábado, 19 de marzo de 2011

PRACTICA EXTRA




Exámen




1.- Inicio
i,max,sumpos=0,sumneg=0,numero,cp=0,cn=0; int
Print " Cuantos Numeros = ";
Read max;
for(i=1;i<=max;i++)
{
Print " Numero entero : ";
Read numero;
if (numero<0)
{
sumneg = sumneg+numero;
cn = cn+1;
}
else
{
if(numero>0)
{
sumpos = sumpos+numero;
cp = cp+1;
}
}
}
Print " Promedio de numeros positivos = ",(sumpos/cp);
Print " Promedio de numeros negativos = ",(sumneg/cn);
Fin.
1.- Inicio
tf = 40,l=7365; int
a = 11.7e-6,longitud; real
t0 = 0; real
Print " Grados Longitud Expandida ";
while(t0<40)
{
longitud = a*l*(tf-t0);
Print t0<<" ",longitudl;
t0 = t0+5;
}

Fin
1.- Inicio
i,max,sumap=0,suman=0,numero; int
Print " Cuantos numeros = ";
Read max;
for(i=1;i<=max;i++)
{
Print " Numero entero : ";
Read numero;
if (numero<0)
{
suman = suman+numero;
}
else
{
if(numero>0)
{
sumap = sumap+numero;
}
}
}
Print " Suma positivos = ",sumap;
Print " Suma negativos = ",sumanl;
Fin.
1.- Inicio
vcelsius,cantidad,inc,celsius,farenheit,c=0 int
Print ”valor incial celsius= "
Read vcelsius
Print "Numero de conversiones= "
Read cantidad
Print "Incremento de temperatura celsius= "
Read inc
celsius = vcelsius
while(c<=cantidad) { farenheit=(9.0/5.0)*celsius+32; Print "celsius " " farenheit" Print ,Celsius," ",farenheit celsius = celsius+inc c = c+1 } Fin


1.- Inicio
n1,n2,n3,n4,n5 int
i=0 int
Print “valor 1 : "
Read n1
Print "valor 2 : "
Read n2
Print "valor 3 : "
Read n3
Print "valor 4 : "
Read n4
Print "valor 5 : "
Read n5
for(i=1; i<=n1; i++) { Print "*" } Print ,endl for(i=1; i<=n2; i++) { Print "*" } Print ,endl for(i=1 to i<=n3 step i++) { Print "*" } Print ,endl for(i=1 to i<=n4 step i++) { print "*" } print ,endl for(i=1 to i<=n5 step i++) { Print "*" } Print ,endl
Fin.

martes, 15 de marzo de 2011

PRACTICA 7
problema 1

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 2

En un estadio se tienen 5 tipos diferentes de localidades, las cuales se identifican por una clave numérica 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 próximo juego se proporcionan como sigue:
Construya un programa que:
a) Lea los precios de las localidades.
b) Lea los datos de las ventas de los boletos.
c) Imprima para cada venta la clave, la cantidad y el importe total de los boletos vendidos en ésta venta.
d) Calcule, imprima la cantidad de boletos vendidos de cada tipo.
e) Calcule, imprima la racaudación total del estadio. Nota considere que en una venta solo se venden boletos de un tipo.

Seudocódigo
1.-Inicio
p1, p2, p3, p4, p5 real
l1=0, l2=0, l3=0, l4=0, l5=0 int
clave, cantidad int
total_rec=0 real
print "precio localiad 1 :"
read p1
print "precio localiad 2 :"
read p2
print "precio localiad 3 :"
read p3
print "precio localiad 4 :"
read p4
print "precio localiad 5 :"
read p5
do
{
print "clave localidad: "
read clave
print "cantidad de boletos: "
read cantidad
switch (clave)
{
case 1: l1=l1+ cantidad
print "numero de boletos localidad 1:",cantidad
print "total=",(p1*cantidad)
break
case 2: l2=l2+ cantidad
print "numero de boletos localidad 2:",cantidad
print "total=",(p2*cantidad)
break
case 3: l3=l3+ cantidad
print "numero de boletos localidad 3:",cantidad
print "total=",(p3*cantidad)
break
case 4: l4=l4+ cantidad
print "numero de boletos localidad 4:",cantidad
print "total=",(p4*cantidad)
break
case 5: l5=l5+ cantidad
print "numero de boletos localidad 5:",cantidad
print "total=",(p5*cantidad)
break
}
}
while (clave !=-1 and cantidad !=-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_rec=(l1*p1)+(l2*p2)+(l3*p3)+(l4*p4)+(l5*p5)
print "recaudacion total de boletos es=",total_rec
Fin

problema 3

Muchos clubes deportivos profesionales utilizan una computadora para realizar el análisis de exploración de los informes de los jugadores aspirantes. Suponga que un equipo profesional de hockey tiene tal sistema, para cada jugador debe tener la siguiente información:
Nombre delm jugador, edad, altura (pulgadas), peso (libras), goles hechos en la última temporada, asistencia en la última temporada, minutos penalizados en ella, factor de la liga (número real).
Los jugadores se evalúan de acuerdo a la siguiente fórmula:
goles+asistencia+(minutos_penalizados)/4+(altura+peso)/5-edad)*factor_liga.
Diseñe un programa para leer un conjunto de informes a explorar imprimir por cada jugador la cifra de evaluación calculada. Al final debe proporcionar el nombre y la cifra de evaluación del jugador que haya obtenido la más alta calificación.

Seudocódigo
1.- Inicio
edad,peso,goles,asistencia,minutos,factor,evaluar,mayor,otro int
altura real
nom[10],nombre[10] char
mayor=0
do
{
print "nombre del jugador: "
read nombre
print "edad: "
read edad
print "altura (pies): "
read altura
print "peso (libras):"
read peso
print "goles hechos en la ultima temporada: "
read goles
print "asistencia en la ultima temporada: "
read asistencia
print "minutos penalizados: "
read minutos
print "factor de liga: "
read factor
evaluar=(goles+asistencia+(minutos)/4+(altura+peso)/5-edad)*factor
if (evaluar>mayor)
{
mayor=evaluar
strcpy (nom,nombre)
}
print "nombre jugador: ",nombre
print "calificacion= ",evaluar
print " Desea registro de otro jugador presiona 1 si 0 no: "
read otro
}
while (otro==1)
print " el jugador ",nom
print " el de mayor puntuacion "
print " con evaluacion de: ",mayor
Fin

Problema 4


Una campaña de seguros a reunido datos conserientos a todos los accidentes de transito ocurridos durante en año. Los datos que se tiene en cada conductor involucrado en un accidente, son los siguientes : Edad del conductor sexo codigo de ciudad (1 capital 2 provincia).
Diseñar un programa que lea los datos e imprima los siguientes valores estadisticos de los conductores que han participado en accidentes :
a) % de conductores < 25 años
b) % de conductores del sexo femenino
c) % de conductores del sexo masculino con edades comprendidas entre 18 y 25 años
d) % de conductores que son de la capital.


1.- Inicio
p25,pf=0,pm=0,pcc=0 int
edad,codigo,conta=0,otro int
c=25,cf=0,cm=0,cc=0 int
sexo char
do
{
Print " Edad del conductor "
Read edad
Print " Sexo f(femenino) m(masculino) = "
Read sexo
Print " Codigo de la ciudad 1) capital 2) provincia "
Read codigo
conta = conta+1
if(edad<25)
c25 = c25+1
}
switch(sexo)
{
case ' F ' :
case ' f ' : cf = cf+1
break;
case ' M ' :
case ' m ' : if ( edad>=18||edad<=25)
{
cm = cm+1
}
break;
default : Print " Error en edad "
}
if(codigo==1)
{
cc = cc+1
}
Print " Otro registro 1) si 2) no "
Read otro
}
while(otro== 'S'||otro== 's');
p25 = (c25 / conta)*100
pf = (cf / conta)*100
pm = (cm / conta)*100
pcc = (cc . conta)*100
Print " Promedio de los conductores menores de 25 años = ",p25
Print " Promeido de conductores del sexo femenino = ",pf
Print " Promedio de conductores del sexo masculino con edades comprendidas entre 18 y 25 años = ",pm
Print " Promedio de conductores originarios de la capital = ",pcc
Fin.

Problema 5



El departamento de policía y transporte de la ciudad a recopilado información, acumulada durante determinado periodo de las infracciones levantadas para sobrepasar los limites de velocidad establecidos. El departamento divide a la ciudad en 4 cuadrantes para cada uno de los cuales se desea obtener datos estadísticos que muestren las infracciones levantadas. Por cada infracción se tienen los siguientes datos
No de registro del vehículo cuadrante en el que fue levantada la infracción.
Limite de vuelo en km/hr velocidad la que iba el vehículo en km/hr. El monto de la multa se calcula multiplicando por 50 por cada km/hr que se exceda el limite de velocidad. Crear un programa para obtener el siguiente reporte :
Vehículo Velocidad Reg Limite de velocidad Multa

Cuadrante 1 : Numero de infracciones
Monto recaudado en multas
Cuadrante 2: Numero de infracciones
Monto recaudado en multas
Cuadrante 3: Numero de infracciones
Monto recaudado en multas
Cuadrante 4: Numero de infracciones
Monto recaudado en multas

1.- Inicio
numero_registtro_v,velocidad_limite,velocidad?reg int
otro,multa,cuadrante int
NC1=0,NC2=0,NC3=0,NC4=0 int
totalC1=0,totalC2=0,totalC3=0,totalC4=0 int
do
{
Print " Numero de registro vehiculo = "
Read numero_registro_v
Print " No cuadrante = "
Read cuadrante
Print " Velocidad limite = "
Read velocidad_limite
Print " Velocidad del Vehiculo = "
Read velocidad_reg
multa = (velocidad_reg-velocidad_limite)*50
Print " Registro vehiculo Velocidad regular Limite velocidad "
Print " " numero registro " " velocidad_reg " " velocidad_limite " " multa;
switch(cuadrante)
{
case 1 : NC1 = NC1+1
totalC1 = totalC1+multa
break;
case 2: NC2 = NC2+1
totalC2 = totalC2+multa
break;
case 3: NC3 = NC2+1
totalC3 = totalC3+multa
break;
case 4: NC4 = NC4+1
total = totalC4+multa
brea;
default : Print " Error cuadrante "
}
Print " Otro registro 1) si 0) no "
Read otro
}
while(otro==1);
Print " Cuadrante 1 "
Print " Numero de infracciones = ".NC1
Print " Monto recaudado en multas =",totalC1
Print " Cuadrante 2 "
Print " Numero de infracciones = ".NC2
Print " Monto recaudado en multas =",totalC2
Print " Cuadrante 3 "
Print " Numero de infracciones = ".NC3
Print " Monto recaudado en multas =",totalC3
Print " Cuadrante 4 "
Print " Numero de infracciones = ".NC4
Print " Monto recaudado en multas =",totalC4
Fin

Problema 6


Una pelota de golf se lanza desde un aeroplano. La distancia, d, que la pelota cae en 3 segundos está dada por la ecuación d=(1/2gt*t).
Donde es la aceleración producida por la gravedad y es=32 pies/seg*seg (9.81m/seg*seg).
Utilizando ésta información escriba un programa que muestre la distancia que la pelota cae en cada intervalo de 2 segundos durante 20 segundos y la distancia total que la pelota ha recorrido al final de cada intervalo. La salida debe completar la siguiente tabla.

Tiempo Distancia en el intervalo actual Distancia total
0
---------------------------------------------------------------------------
2
---------------------------------------------------------------------------
4
---------------------------------------------------------------------------
6
---------------------------------------------------------------------------
8
---------------------------------------------------------------------------
10
---------------------------------------------------------------------------
12
---------------------------------------------------------------------------
14
---------------------------------------------------------------------------
16
---------------------------------------------------------------------------
18
---------------------------------------------------------------------------
20
---------------------------------------------------------------------------

Seudocódigo
1.- Inicio
d,dt,t int
print "tiempo distancia en el distancia"
print " intervalo actual total"
print "----------------------------------------------------------"
dt=0
for (t=0;t<=20;t=t+2)
{
d=1.0/2.0*32*t*t
dt=dt+d
print,"",d," ",dt
Fin
Problema 7


Escriba un programa que calcule y despliegue los valores para "y" cuando y=xz/(x-z).
El programa debe calcular "y" para los valores de "x" en un rango de entre 1 y 5 y los valores de "z" en un rango de entre 2 y 6. La variable "x" debe controlar la gasa externae incrementarse en pasos de 1 y z también debe de incrementarse en pasos de 1. Así mismo el programa debe de mostrar el mensaje función indefinida cuando los valores de "x" y "z" sean iguales.

Seudocódigo
1.- Inicio
x,y,z real
print "x y z"
for(x=1;x<=5;x=x+1)
{
for(z=2;z<=6;z=z+1)
{
if (x==z)
{
print "funcion indefinida"
}
else
{
y=(x+z)/(x-z)
print x," ",z," ",y
}
}
}
Fin
Problema 8
La probabilidad de que una llamada individual de teléfono dure menos de t minutos se puede calcular mediante la siguiente función exponencial de probabilidad.
Probabilidad de que una llamada dure menos de un minuto.

Donde a es la duración promedio de una llamada y "e" es el número de euler (2.71828).
Suponiendo que la duración de la llamad promedio es de 2 minutos. La probabilidad de que la llamada dure menos de un minuto es:

Utilizando ésta ecuación de probabilidad escriba un programa que calcule o despliegue una lista de la probabilidad de que una llamada dure menos de 1 minuto a menos de 10 minutos en incrementos de 1 minuto.

Seudocódigo
1.- Inicio
p,t real
print "T\tprobabilidadde una llamada dure menos de 1 minuto "
for (t=1;t<=10;t=t+1)
{
p=1-exp(-t/2.0)

print t,"\t",p
}
Fin






martes, 1 de marzo 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 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

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