domingo, 20 de marzo de 2011

practica Extra

Ejercicio 1:
Escriba un programa para convertir grados Celsius a Farenheit. El programa debe solicitar el Valor inicial en grados Celsius, la cantidad de conversiones que se efectuaran y el incremento entre los valores en grados Celsius. La pantalla debe tener los encabezados apropiados y una lista con los valores en grados Celsius y los correspondientes en grados Farenheit. Utilice la siguiente relacion:
   Fahrenheit = (9.0/5.0)*Celsius + 32

1.-inicio
it, can,con=0 int
vc, vf real
print " Temperatura en celsius: "
read vc
print" Incremento de temperatura en celsius: "
read it
print" No. de conversiones: "
read can
print"grados celcius  grados fahrentheit "
for(con=1 to can step con=con+1)
{ vf=(9.0/5.0)*vc+32
print " ",vc," ",vf
vc=vc+it;
}





Ejercicio 2:
Una interesante aplicacion de las computadoras es dibujar graficos de barras (en ocasiones llamadas "histogramas"). Escriba n programa que les 5 numeros (cada uno entre 1 y 30). Por cada numero leido, su programa debe imprimir una linea que contenga dicho numero con asteriscos adyacentes. Por ejemplo, si su programa lee el numero 10, debe imprimir **********.

1.- inicio 
n1,n2,n3,n4,n5,i enteros
print" n1: "
read n1
print" n2: "
read n2
print" n3: "
read n3
print" n4: "
read n4
print" n5: "
read n5
for(i=1to n1 step i=i+1)
{ print" *"}
cout<<endl
for(i=1to n2 step i=i+1)
{print " *"}
print endl;
for(i=1to n3 step i=i+1)
{print" *"}
print endl;
for(i=1to n4 step i=i+1)
{print" *"}
print endl
for(i=1to n5 step i=i+1)
{print" *"}
print endl




Ejercicio 3:
  Recuperar el dinero se hace mas dificial durante los periodos de recesion, de manera que las empresas deben reducir sus limites de credito para prevenir que sus cuentas por cobrar (el dinero prestado) se hagan muy grandes. En respuesta a la prolongada recesion, una empresa recorto sus limites de credito a la mitad. De esta manera, si un cliente en particular tenia un limite de credito de $ 2000 , ahora su limite de credito esta a la mitad. De esta manera, si un limite de credito de $ 5000, este cliente tiene ahora un limite de $2500. Escriba un programa que analice el estado de credito de n clientes de esta empresa. Por cada cliente a usted se le brinda:
a) El numero de cuenta del Cliente
b) El limite de credito antes de la recesion.
c) El saldo actual del cliente (es decir, el monto que le debe el cliente a la empresa).
     Su programa debe calcular e imprimir el nuevo limite de credito para cada cliente, debe determinar
     cuales clientes tienen saldos que exceden los nuevos limites de credito.


1.-inicio
nc, n, con=0, li,  sa int
lf real
print" numero de clientes: "
read n
for(con=1to n step con=con+1)
{ print" No. de cuenta: "
read nc
print" Limite de credito inicial: "
read li
print" Saldo del cliente: "
read sa
lf=li/2
if(sa>lf)
{ print" ***** exede el limite de credito ***** " }
print" El nuevo limite es ",lf
}



Ejercicio 4:
la expancion de un puente de acero que se calienta a una Tf=temperatura fianl en 0 grados celsius, desde una temperatura inicial de 0 se puede obtener utilizando la siguiente formula:  
aumento de longitud=a*l*(Tf-Ti)  donde a=coeficiente de expancion 11.7exp-6 
l=largo del puente a Ti=0
escriba un programa que describa una tabla de longitudes expandidas para un puente de acero que tiene L=7365 a 0grados celcius, conforme aumenta la t=40grados
en incrementos de 5 grados celsius

1.-inicio
tf=40.0, ti, a=0.0000117, l=7365.0,lexp real
print " temperatura: longitud expandida"
for(ti=0 to 40 step ti=ti+5)
{ lexp=a*l*(tf-ti)
print" ",ti," ",lexp
}






Ejercicio 5:
Suponga que necesita leer un conjunto de numeros enteros positivos y negativos. realize un programa que calcule las sumas positivas y negativas de un conjunto de numeros introducidos por el usuario en maxnumbs. 

1.- inicio
 i, mno, no, spos=0, sneg=0 int
print " Cantidad de numeros: "
read mno
for(i=0;i<mno;i++)
{ print " los numeros son: "
read no
if(no<0)
{sneg=sneg+no
 }
else {if(no>0)
{spos=spos+no
 }}}
print " la suma de los Nos. negativos es: ",sneg
print " la suma de los Nos. positivos es: ",spos



Ejercicio 6:
promedio de los positivos y los negativos pruebe el programa con 17,-10,19,0,-4

1.- inicio
 i, mno, no, spos=0, sneg=0, cp=0, cn=0 int
print " Cantidad de numeros: "
read mno
for(i=0;i<mno;i++)
{ print " los numeros son: "
read no
if(no<0)
{sneg=sneg+no
cn=cn+1
 }
else {if(no>0)
{spos=spos+no
 cp=cp+1}
}}
print "El promedio de los Nos. negativos es: ",(sneg/cn)
print " El promedio de los Nos. positivos es: ",(spos/cp)





Practica 7

Ejercicio 1 a):

Utilizando una funcion DO. Escriba un programa para aceptar una calificacion.  El programa debe solicitar una calificacion continuamente mientras no se introduzcan calificaciones invalidas. Una calificacion invalida es cualquiera < que 0, o, >100.
a) Despues de que se introduzca una calificacion valida el programa debe mostrar el valor de ella.

1.- Inicio
c int
do
{print " Calificacion: "
read  c
if(c>0  and c<=100)
{print " Calificacion= ",c}
}
while(c>0 and c<=100)
FIN



b):
 Modifique el programa del a) que avise al usuario cuando se introduzca una calificacion invalida.
1.- Inicio

c int

do

{
print " Calificacion: "

read c
if(c;>0 and c;<=100)
{
print " Calificacion= ",c

}
else
{
print "Calificacion Invalida "

}
}
while(c>0 and c<=100)
FIN


c):
Modifique el programa del b) para que permita al usuario salir del programa al introducir el #999.

1.- Inicio
c int
do
{print" Calificacion: "
read c
if(c>0 and c<=100)
{print " Calificacion= ",c}
else
{
if(c==999)
{ print "Calificacion Invalida "}
}
while(c!=999)
FIN

d):
Modifique el programa del b) para que termine automaticamente despues de que se introduzcan 5 calificaciones invalidas.

1.- Inicio
c int
int contador=0
do
{print " Calificacion= "
read c
if(c>0 and c<=100)
{print " Calificacion= ",c}
else
{print "Calificacion Invalida "
con=con+1}
}
while(con<5)
FIN


ejercicio 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  datos referentes a las ventas de boletos para el prox juego se proporcionan de la siguiente manera:
a) lea los precios de las localidades
b) lea los datos de las ventas de boletos
c) imprima para cada venta la clave, cantidad y el importe total de los boletos vendidos
d) calcule e imprima las cantidades de boletos vendidos de cada tipo
e) calcule e imprima la recaudación total

 1.Inicio

 p1, p2, p3, p4, p5 real
 l1=0,l2=0,l3=0,l4=0,l5=0, clave, cantidad enteros
 recaudacion=0 real
print" precio de la localidad 1: "
read p1
print" precio de la localidad 2: "
read p2
print" precio de la localidad 3: "
read p3
print" precio de la localidad 4: "
read p4
print" precio de la localidad 5: "
read p5
do {
print" clave de locaclidad: "
read clave
print" cantidad de boletos: "
read cantidad
switch(clave)
{ case 1: l1=l1+cantidad
   print" numero de boletos en la localidad 1:  "
   print" total: ",(p1*cantidad)
   break;


   case 2: l2=l2+cantidad
   print" numero de boletos en la localidad 2:  "<<endl;
   print" total: ",(p2*cantidad)
   break;


   case 3: l3=l3+cantidad
   print" numero de boletos en la localidad 3:  "
   print" total: ",(p3*cantidad)
   break;


   case 4: l4=l4+cantidad
   cout<<" numero de boletos en la localidad 4:  "
   cout<<" total: ",(p4*cantidad)
   break;


   case 5: l5=l5+cantidad;
   print" numero de boletos en la localidad 5:  "
   print" total: ",(p5*cantidad)
   break;
   }}
   while (clave!=-1 && cantidad!=-1);
   print" total de localid 1: ",l1
   print" total de localid 2: ",l2
   print" total de localid 3: ",l3
   print" total de localid 4: ",I4
   print" total de localid 5: ",l5
   recaudacion=(l1*p1)+(l2*p2)+(l3*p3)+(l4*p4)+(l5*p5);
   print" total de recaudacion es: ",recaudacion

#include <iostream.h>
#include <conio.h>
void main ()
{
float p1, p2, p3, p4, p5;
int l1=0,l2=0,l3=0,l4=0,l5=0, clave, cantidad;
float recaudacion=0;
cout<<" precio de la localidad 1: ";
cin>>p1;
cout<<" precio de la localidad 2: ";
cin>>p2;
cout<<" precio de la localidad 3: ";
cin>>p3;
cout<<" precio de la localidad 4: ";
cin>>p4;
cout<<" precio de la localidad 5: ";
cin>>p5;
do {
cout<<" clave de locaclidad: ";
cin>>clave;
cout<<" cantidad de boletos: ";
cin>>cantidad;
switch(clave)
{ case 1: l1=l1+cantidad;
   cout<<" numero de boletos en la localidad 1:  "<<endl;
   cout<<" total: "<<(p1*cantidad)<<endl;
   break;


   case 2: l2=l2+cantidad;
   cout<<" numero de boletos en la localidad 2:  "<<endl;
   cout<<" total: "<<(p2*cantidad)<<endl;
   break;


   case 3: l3=l3+cantidad;
   cout<<" numero de boletos en la localidad 3:  "<<endl;
   cout<<" total: "<<(p3*cantidad)<<endl;
   break;


   case 4: l4=l4+cantidad;
   cout<<" numero de boletos en la localidad 4:  "<<endl;
   cout<<" total: "<<(p4*cantidad)<<endl;
   break;


   case 5: l5=l5+cantidad;
   cout<<" numero de boletos en la localidad 5:  "<<endl;
   cout<<" total: "<<(p5*cantidad)<<endl;
   break;
   }}
   while (clave!=-1 && cantidad!=-1);
   cout<<" total de localid 1: "<<l1<<endl;
   cout<<" total de localid 2: "<<l2<<endl;
   cout<<" total de localid 3: "<<l3<<endl;
   cout<<" total de localid 4: "<<l4<<endl;
   cout<<" total de localid 5: "<<l5<<endl;
   recaudacion=(l1*p1)+(l2*p2)+(l3*p3)+(l4*p4)+(l5*p5);
   cout<<" total de recaudacion es: "<<recaudacion<<endl;
   getch();
   }





ejercicio 4:

  Una compañia de seguros a reunido datos concernientes a todos los accidentes de transito ocurridos durante el año. Los datos que se tienen de  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) Porcentaje de conductores < 25 años
b) Porcentaje de conductores de sexo femenino
c) Porcentaje de conductores de sexo Masculino con edades comprendidas entre 18 y 25 años
d) Porcentaje de conductores que son originarios de la capital.






ejercicio 5:


El departamento de policia y transito de la ciudad a recopilado informacion acumulada durante cierto tiempo de las infracciones por sobrepasar los limites de velocidad. El departamento dividio la ciudad en 4 cuadrantes para cada uno de los cuales desean obtener datos estadisticos que muestren las infracciones levantadas.
Por cada infraccion se tiene:No. de registro del carro, cuadrante, limite de velocidad y a que velocidad iba el carro.
el monto de la se calcula multiplicando por 50 cada km/h que excedan el limite.

1.- Inicio
c,nr,vl,vr,multa,otro int
nc1=0, nc2=0, nc3=0, nc4=0 int
totalc1=0, totalc2=0, totalc3=0, totalc4=0 int
do
{
print " No. de Registro del Carro : "
read nr
print " No.de Cuadrante : "
read c
print " Velocidad Limite : "
read vl
print " Velocidad Registrada del Carro : "
read vr
multa=(vr-vl)*50
print " Registro del carro : "
print nr
print " Velocidad Registrada del Carro : "
print vr
print " Velocidad limite =:"
print  vl
print " Multa : "
print multa
switch(c)
{case 1:
nc1=nc1+1
totalc1=totalc1+multa
break

case 2:
nc2=nc2+1
totalc2=totalc2+multa
break

case 3:
nc3=nc3+1
totalc3=totalc3+multa
break

case 4:
nc4=nc4+1
totalc4=totalc4+multa
break
default:
print " Error "
break }
print " Otro registro?  1)SI  2)NO = "
read otro}
while(otro==1)
print " Cuadrante 1 "
print " No. Infracciones ",nc1
print " Monto total de multas ",totalc1

print " Cuadrante 2 "
print " No. Infracciones ",nc2
print " Monto total de multas ",totalc2
print " Cuadrante 3 "
print " No. Infracciones ",nc3
print " Monto total de multas ",totalc3

print " Cuadrante 4 "
print " No. Infracciones ",nc4
print " Monto total de multas ",totalc4
FIN


#include <iostream.h>
#include <conio.h>
void main()
{ int c, nr, vl, vg, multa, otro;
int nc1=0, nc2=0, nc3=0, nc4=0;
int totalc1=0, totalc2=0, totalc3=0, totalc4=0;
do
{ cout<<" no. registro del carro: ";
cin>>nr;
cout<<" no. cuadrante: ";
cin>>c;
cout<<" velocidad limite: ";
cin>>vl;

cout<<" velocidad del carro: ";
cin>>vg;

multa=(vg-vl)*50;
cout<<"*****-registro del carro -velocidad de carro -velocidad limite -multa ****"<<endl;
cout<<" \t \t"<<nr<<" \t \t"<<vg<<" \t \t"<<vl<<" \t \t"<<multa<<endl;
switch(c)
{ case 1: nc1=nc1+1;
totalc1=totalc1+multa;
break;
case 2: nc2=nc2+1;
totalc2=totalc2+multa;
break;
case 3: nc3=nc3+1;
totalc3=totalc3+multa;
break;
case 4: nc4=nc4+1;
totalc4=totalc4+multa;
break;
default: cout<<" error en opcion "<<endl;
break;  }
cout<<" otro registro? 1)si 2) no "<<endl;
cin>>otro;  }
while (otro==1);
cout<<" cuadrante 1 "<<endl;
cout<<" no. infracciones: "<<nc1<<endl;
cout<<" monto total de multas "<<totalc1<<endl<<endl;
cout<<" cuadrantr 2 "<<endl;
cout<<" no. infracciones: "<<nc2<<endl;
cout<<" monto total de multas "<<totalc2<<endl<<endl;
cout<<" cuadrantr 3 "<<endl;
cout<<" no. infracciones: "<<nc3<<endl;
cout<<" monto total de multas "<<totalc3<<endl<<endl;
cout<<" cuadrantr 4 "<<endl;
cout<<" no. infracciones: "<<nc4<<endl;
cout<<" monto total de multas "<<totalc4<<endl;
getch ();
}





ejercicio 6:
una pelota cae de cierta altura con la formula: 1/2*g*t*t donde g=9.81m/s*s.
Realize 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 a recorrido al final de cada intervalo.
La salida debe de completar la tabla:
tiempo: distancia en el intervalo: distancia total:

1.-Inicio
t t, d, dt=0 real
print " tiempo: distancia actual: distancia total: "
for(t=0;t<=20;t=t+2)
{ d=(((1.0/2.0)*32)*(t*t));
dt=dt+d;
print "   ",t,"",d," ",dtt
}



ejercicio 7:
Realize un programa que calcule y despliegue los valores para Y cuando:
Y=X*Z/(X-Z)
El programa debe de calcular Y para todos los valores de x en un rango de 1-5 y los valores de z de 2-6. La variable X deve controlar el ciclo interno e incrementarse en pasos de 1 en 1 y Z tambien. Asi mismo el programa debe mostrar el mensaje Funcion indefinida cuando los valores de X y Z sean iguales.

1.- inicio
 x,z int
 y real
print " x   z   y "
for(x=1;x<=5;x++)
{ for(z=1;z<=5;z++)
{ if(x==z)
{ print " funcion indefinida " }
      else { y=(x*z)/(x-z);
      print x," ",z," ",y
      } } }



ejercicio 8:
La probabilidad de que una llamada individual de teléfono dure menos de t minutos se puede calcular mediante:  prob<t min  =     1-e(exp(-t/a)) a: duracion prom de la llamada, e: No. euler(2.71828)
por ejemplo: suponiendo que la duracion prom. sea 2 min es:
1-e(exp(-1/2))=0.3297
calcule y despliegue una lista de la probabilidad de que una llamada dure de 1-10 min en incrementos de 1min

1.-inicio
 p,t real
print "     t tiempo  probrabilidad de que una llamada dure menos de t tiempo "
for(t=1;t<=10;t++)
{ p=(1-exp(-t/2.0))
print t," ",p
}