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






No hay comentarios:

Publicar un comentario