viernes, 18 de febrero de 2011

Prácticas de la Unidad II

Práctica 3

Práctica 3 problema 1

Dadas las calificaciones individuales de un estudiante en 3 aspectos del trabajo anual de un curso (laboratorio, exámen intermedio, exámen final), haga un programa para calcular la calificación final con ponderaciones de 20%, 30% y 50% respectivamente la salida, imprima al final el nombre del estudiante sus tres calificaciones individuales y la calificacion final.

Seudocódigo
1.-Inicio
print "nombre estudiante: "
read nombre
print "calificacion laboratorio: "
read lab
print "calificacion examen intermedio: "
read calif1
print "calificacion examen final: "
read calif2
calif_total=(lab*0.20+calif1*0.30+calif2*0.50)
print nombre,"",lab,"",calif1,"",calif2,"=",calif_total
fin

Lenguaje C


Práctica 3 problema 2

Una lista de tasas de cambio de moneda extranjera durante 1977 proporciona las siguientes equivalencias

100 francos franceses   = 21.55 dólares canadienses
1 libra británica             = 1.84 dólares canadienses
100 dracmas griegas     = 2.95 dólares canadienses
100 florines holandeses = 43.20 dólares canadienses
100 coronas suecas      = 24.55 dólares canadienses
1 dolar norteamericano = 1.06 dólares canadienses

Desarrolle un programa para realizar las siguientes conversiones

a) Leer una cierta cantidad de francos franceses e imprimir el equivalente en dólares canadienses

Seudocódigo
1.- Inicio
print "francos franceses= "
read ff
dc=(ff*21.55)/100
print "dolares canadienses= ",dc
fin
Lenguaje C

b) Leer una cantidad en dracmas griegas e imprimir el equivalente en libras británicas

Seudocódigo
1.-Inicio
dc, dg, lb real
print "dracmas griegas= "
read dg
dc=(dg*2.95)/100
lb=dc/1.84
print "libra britanica= ",lb
fin

Lenguaje C


c) Leer una cantidad en dólares canadienses e imprimir el equivalente tanto en dólares norteamericanos como en florines holandeses

Seudocódigo
1.-Inicio
Print "dlls canadienses= "
read dc
da=dc/1.06
fh=(dc*100)/43.20
print "dolares americanos= ", da
print "florines holandeses=", fh
fin

Lenguaje C


d) Leer una cantidad en dólares norteamericanos e imprimir el equivalente tanto en coronas suecas como en francos franceses

Seudocódigo
1.-Inicio
 print "dolares norteamericanos= "
read dn
dc=dn*1.06
cs=(dc*100)/24.25
ff=(dc*100)/21.55 
print "conversion de dolares norteamericanos a coronas suecas es",cs"conversion en francos franceses es",ff
fin

Lenguaje C

Práctica 3 problema 3

Si se coloca una escalera de 20 pies a un angulo de 85 grados a lado de un edificio, la altura en la cual la escalera toca el edificio se puede calcular como altura=20*sen(85). Calcule ésta altura y escriba, compile o ejecute un programa que obtenga y despliegue el valor de la altura. Después modifique el programa para solicitar la altura de la escalera y el angulo de ésta para recibir los datos por el teclado.


Seudocódigo
1.-Inicio
angulo=(85*3.1416)/180
altura=20
altura_edificio=altura*sin(angulo)
print "altura donde esta apoyada la escalera en el edificio es", altura_edificio
fin


Lenguaje C++

Lenguaje C

Práctica 3 problema 4
Las coordenadas polares de un punto consisten en la distancia (r), de uin origen específico y un angulo con respecto al eje de las x. Las coordenadas (x,y), de un punto éstan relacionadas con sus coordenadas polares por las formulas 
x=rcosangulo
y=rsenangulo
con éstas formulas, escriba un programa que calcule las coordenadas de un punto y que reciba los valores por medio del teclado de r y angulo en coordenas rectangulares.

Seudocódigo
1.-Inicio
print "angulo en grados"
read angulo
print "r"
read r
x=r*cos(((angulo*3.1416)/180))
y=r*sin(((angulo*3.1416)/180))
print "coordenadas del punto x= ",x, "coordenadas del punto y= ",y
fin

Lenguaje C++

Lenguaje C

Práctica 3 problema 5
Ejercicio 1 del exámen

Escriba un programa que introduzca tres números desde el teclado, después imprima la suma, el promedio, el producto.

Seudocódigo
1.- Inicio
print "n1= "
read n1
print "n2= "
read n2
print "n3= "
read n3
print "n4= "
read n4
suma=n1+n2+n3+n4
promedio=suma/4
producto=n1*n2*n3*n4
print "suma=",suma
print "promedio=",promedio
print "producto=",producto
fin

Lenguaje C++

Lenguaje C

Práctica 3 problema 6
Ejercicio 2 del exámen

Escriba un programa para determinar la distancia recorrida por un automóvil a 25 segundos, suponiendo que inicialmente viajaba a 75 millas por hora y el conductor aplica el freno para reducir la velocidad a razón de 15millas/(seg*seg). En este caso, distancia=s-(1.0/2.0)*d*t*t

Algoritmo
1.- Inicializar variables
s=60
d=12
t=20
2.- Calcular distancia
distancia=s-(1.0/2.0)*d*t*t
3.- Despegar distancia
print "distancia=", distancia
4.-fin

Lenguaje C++


Lenguaje C



Práctica 3 problema 7

Ejercicio 3 del exámen

Escriba un programa para calcular y desplegar las coordenadas del punto medio de la línea que une los dos puntos (x1,y1) y (x2,y2) son (x1+x2)/2 y (y1+y2)/2. El programa debe imprimir el siguiente resultado
La coordenada x del punto medio es xxxx
La coordenada y del punto medio es xxxx
Donde los intervalos son los valores calculados.

Seudocódigo

1.- Inicio
x1, y1, x2, y2 real
mx, my real
print "x1="
read x1
print "y1="
read y1
print "x2="
read x2
print "y2="
read y2
mx=(x1+x2)/2
my=(x1+x2)/2
print "punto medio de x", mx
print "punto medio de y", my
fin


Lenguaje C++


En lenguaje C








 Práctica 4 

Práctica 4 problema 1
Crear un programa para determinar que valor es mayor v1 o v2 o si son iguales 

Seudocódigo
1.- Inicio
print "valor 1="
read v1
print "valor 2 ="
read v2
if (v1>V2)
{
print v1,"es mayor"
}
else{
if (v1==v2)
{
print "los numeros son iguales"
}
else{
print v2,"es mayor"
}
}
Fin

Lenguaje C++


Práctica 4 problema 2

Escriba un programa para calcular el valor de la presión, en libras*pulgada*pulgada (psi), de una forma ondulada describa como sigue:
Para un tiempo menor de 35 seg. la presión es 
presión=0.46*t 
y para un tiempo mayor igual de 35 seg. la presión es
presión=0.19*t+9.45

El programa debe de solicitar que se intoduzcan los datosdel tiempo y se debe despejar como resultado la presión.

Diagrama de flujo


Lenguaje C++



Práctica 4 problema 3

Un ángulo se considera agudo si es < de 90 grados, obtuso si es > de 90 grados y recto si es = 90 grados. Utilizando ésta información escriba un programa que acepte un ángulo, en grados y muestre el tipo de ángulo que corresponde al valor introducido en grados.

Seudocódigo
1.- Inicio
angulo real
print "angulo="
read angulo
if (angulo<90)
{
print angulo,"es un angulo agudo"
}
else{
if (angulo==90)
{
print angulo,"es un angulo recto"
}
else{
print angulo, "es un angulo obtuso"
}
}
Fin


Lenguaje C++



Práctica 4 problema 4

Escriba un programa que acepte dos números reales de usuario y un código de selección, si el código introducido es 1, haga que el programa sume los dos números introducidos anteriormente y despliegue el resultado; si el código de selección es dos, los números deberán ser multiplicados, si el código de selección es 3 el primer número deberá dividirse entre el segundo. No permita la división entre cero y despliegue un mensaje apropiado cuando se intente ésta división.

Seudocódigo
1.-Inicio
num1, num2, resultado real
opcion
print "numero 1="
read num1
print "numero 2="
read num2
print "operaciones aritmeticas"
print " 1)sumar 2)multiplicar 3)dividir "
print "seleccione opcion"
read opcion
if (opcion==1)
{
resultado=num1+num2
print num1,"+",num2,"=",resultado
}
else{
if (opcion==2)
{
resultado=num1*num2
print num1,"*",num2,"=",resultado
}
else{
if (opcion==3)
}
if (num2!=0)
{
resultado=num1/num2
print num1,"/",num2,"=",resultado
}
else{
print "no se permite la división entre cero"
}
}
else{
print "error en opcion"
}
}
}



Lenguaje C++



Práctica 4 problema 5

El nivel de grado de los estudiantes que no han terminado la universidad normalmente se determina en base con la siguiente tabla.

Número de créditos obtenidos                                            Grado
menor que 32                                                                primer grado
32 a 63                                                                         segundo grado
64 a 95                                                                         tercer grado
96 o más                                                                       último grado

Utilizando ésta información escriba un programa que acepte el número de créditos que ha obtenido un estudiante y determine en que grado se encuentra.

Seudocódigo
1.-Inicio
print "no. creditos alumno="
read creditos
if (creditos>0 and creditos<32)
{
print "primer grado"
}
else{
if (creditos>=32 and creditos<63)
{
print "segundo grado"
}
else{
if (creditos>=64 and creditos<=95)
print "tercer grado"
}
else{
print "ultimo grado"
}
}
}
fin

Lenguaje C++

Práctica 4 problema 6
Basándose en el año de fabricación y el peso de un automóvil el estado de Nueva Jersey clasifica el peso del vehículo y determina la tarifa de registro, de acuerdo con la siguiente tabla.

Año  Modelo              Peso                          Categoría de peso                      Tarifa de registro 
1970 o anterior    menos de 2700 libras                   1                                               $16.50
                           2700 libras a 3800 libras              2                                               $25.50
                           mas de 3800 libras                       3                                               $46.50
1971 a 1979        menos de 2700 libras                  4                                                $27.00
                            2700 a 3800 libras                      5                                               $30.50
                            mas de 3800 libras                      6                                               $52.50
1980 o posterior   menos de 3500 libras                  7                                               $19.50
                            3500 libras o mas                        8                                               $52.50

Utilizando ésta información escriba un programa que acepte el año y el peso del automóvil, que determine y muestre la categoría de peso y la tarofa del registro.

Seudocódigo
1.- Inicio
peso, anio int 
print "año automovil="
read anio
print "peso en libras="
read peso
if (anio<=1970)
{
if (peso<2700)
{
print ("categoria 1 tarifa de registro=$16.50")
}
else{
if (peso>=2700 and peso<=3800)
{
print "categoria 2 tarifa del registro=$25.50"
}
else{
print "categoria 3 tarifa del registro=$46.50"
}
}
}
else{
if (anio>=1971 and anio<=1979)
{
if (peso<2700)
{
print "categoria 4 tarifa de registro=$27"
}
else{
if (peso>=2700 and peso<=3800)
{
print "categoria 5 tarifa de registro=$30.50"
}
else{
print "categoria 6 tarifa de registro=$52.50"
}
}
}
else{
if (anio>=1980)
{
if (peso<3500)
{
print "categoria 7 tarifa de registro=$19.50"
}
else{
print "categoria 8 tarifa de registro=$52.50"
}
}
}
}
fin


Lenguaje C++



Práctica 4 problema 7 (switch)

Escriba un programa que acepte dos números reales de usuario y un código de selección, si el código introducido es 1, haga que el programa sume los dos números introducidos anteriormente y despliegue el resultado; si el código de selección es dos, los números deberán ser multiplicados, si el código de selección es 3 el primer número deberá dividirse entre el segundo. No permita la división entre cero y despliegue un mensaje apropiado cuando se intente ésta división.

Seudocódigo
1.-Inicio
print "Numero1="
read n1
print "Numero2="
read n2
print "Presione 1 si desea sumar"
print "Presione 2 si desea multiplicar"
print "Presione 3 si desea dividir"
print "Seleccione una opcion :"
read opcion
switch(opcion)
{
case 1: resultado=n1+n2
print "El resultado es= ",resultado
break
case 2: resultado=n1*n2
print "El resultado es= ",resultado
break
case 3: if(n2!=0)
{
resultado=(n1/n2)
print "El resultado es= ",resultado
}
else{
print "No se permite division entre 0"
}
break
print "Error en opcion"
}


#include <iostream.h>
#include <conio.h>
main()
{
float n1,n2,resultado;
int opcion;
cout<<"\nNumero1=";
cin>>n1;
cout<<"Numero2=";
cin>>n2;
cout<<"\nPresione 1 si desea sumar";
cout<<("\nPresione 2 si desea multiplicar");
cout<<("\nPresione 3 si desea dividir");
cout<<("\nSeleccione una opcion :");
cin>>opcion;
switch(opcion)
{
case 1:resultado=n1+n2;
cout<<"El resultado es= "<<resultado<<endl;
break;
case 2:resultado=n1*n2;
cout<<"El resultado es= "<<resultado<<endl;
break;
case 3:if(n2!=0)
{
resultado=(n1/n2);
cout<<"El resultado es= "<<resultado<<endl;
}
else{
cout<<"No se permite division entre 0";
}
break;
cout<<"Error en opcion";
}
getch();
}



Lenguaje C++


Práctica 5

Problema 1
Construya un programa para leer los datos, matrícula y 5 calificaciones de un alumno imprima la matrícula, el promedio y la palabra aprobado si el alumno tiene un valor >=70 y la palabra no aprobado en caso contrario

Seudocódigo
1.- Inicio
print "matricula="
read m
print "calificacion 1="
read calif1
print "calificacion 2="
read calif2
print "calificacion 3="
read calif3
print "calificacion 4="
read calif4
print "calificacion 5="
read calif5
promedio=(calif1+calif2+calif3+calif4+calif5)/5
print "promedio=", promedio
if (promedio>=70)
{
print "aprobado"
}
else{
if (promedio<70)
{
print "no aprobado"
}
}
fin



Lenguaje C++



Problema 2
En una tienda efectúan un descuento a los clientes dependiendo del monto de la compra, El descuento se efectúa con base en el siguiente criterio si el monto es < $500 no hay descuento si el monto está comprendido entre $500 y $1000 el descuento es 5%.
Si el monto de la compra ésta comprendido entre $1001 y $7000 el descuento es 11%
Si el monto está comprendido entre $7001 y $15000 el descuento es 18%
Si el monto es mayor a $15000 el descuento es 25%

Haga un programa que solicite el monto de la compra de un cliente y determine lo que el mismo debe pagar.

Seudocódigo
1.- Inicio
print "Monto de la compra del cliente "
read monto;
if(monto<500)
{
total=(monto*1);
print " Total a pagar ",total
 }
 else
  {
  if(monto>=500andmonto<=1000)
  {
  total=(monto)-(monto*.05);
  print " Total a pagar ",total
  }
  else
   {
   if(monto>1000 and monto<=7000)
   {
   total=(monto)-(monto*.11);
   print " Total a pagar ",total   }
   else
    {
    if(monto>7000 and monto<=15000)
    {
    total=(monto)-(monto*.18);
    print " Total a pagar ",total    }
    else
     {
     if(monto>15000)
     {
     total=(monto)-(monto*.25);
     print "Total a pagar ",total
     }
     }
     }
     }
     }


Lenguaje C++


Práctica 5 problema 3

El costo de las llamadas telefónicas internacionales depende de la zona geográfica en la que se encuentre el país destino y el número de minutos hablados, en la siguiente tabla se expresa el costo del minuto por zona.
                                       
Clave                  Zona                                                Precio
12                    América del Norte                              $2.00
15                    América Central                                  $2.20
18                    América del Sur                                  $4.50
19                    Europa                                               $3.50
23                    Asia                                                    $6.00
25                    África                                                  $6.00
29                    Oceanía                                               $5.00

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 a la que se llamó y la duración en minutos de la llamada 

Seudocódigo inicio
clave  int
min,ct real
print "Duracion de la llamada en minutos= "
read min
print "Clave 12 America del Norte"
print "Clave 15 America Central"
print "Clave 18 America del Sur"
print "Clave 19 Europa"
print "Clave 23 Asia"
print "Clave 25 Africa"
print "Clave 29 Oceania"
print "Elegir clave:"
read clave
switch (clave)
{
case 12: ct=min*2
print "El costo total por la llamada a America del Norte es =$",ct
break
case 15: ct=min*2.2
print "El costo total por la llamada a America Central es=$",ct
break
case 18: ct=min*4.5
print "El costo total por la llamada a America del sur es=$",ct
break
case 19: ct=min*3.5
print "El costo total por la llamada a Europa es=$",ct
break
case 23: ct=min*6
print "El costo total por la llamada a Asia es=$%f",ct
break
case 25: ct=min*6
print "El costo total por la llamada a Africa es=$",ct
break
case 29: ct=min*5
print "El costo total por la llamada a Oceania es=$",ct
break
default: print "Error en clave"
}



Lenguaje C++



Práctica 5 problema 4
Crear un programa que diseñe un menu de restaurant para 6 artículos, solicite la orden y calcule el monto total si el IVA=subtotal *0.11.


Seudocódigo
1.-Inicio
p1=30.00
p2=10.00
p3=15.00
p4=25.00
p5=55.00
p6=45.00
c1=c2=c3=c4=c5=c6=0
t1=t2=t3=t4=t5=t6=0
subtotal=0
IVA=0
prod=1
while (prod!=0)
{
print "MENU"
print "1- Hambuerguesa"
print "2- Soda" 
print "3- Papas fritas" 
print "4- Ensalada" 
print "5- Nieve" 
print "6- Aros de cebolla"
print "0- Terminar orden"
print "No. producto: ";
read prod;
switch (prod)
{
case 1: print "Cantidad de Hamburguesas: "
      read c1
      subtotal=subtotal+c1*p1
      t1=t1+c1
          break
   case 2: print "Sodas: "
      read c2
          subtotal=subtotal+c2*p2
          t2=t2+c2
          break
   case 3: print "Cantidad de papas fritas: "
      read c3;
          subtotal=subtotal+c3*p3
          t3=t3+c3
          break
   case 4: print "Cantidad de Ensaladas: "
      print c4
subtotal=subtotal+c4*p4
      t4=t4+c4
          break
   case 5: print "Cantidad de Nieve: "
      read c5
          subtotal=subtotal+c5*p5
          t5=t5+c5
          break
   case 6: print "Cantidad de aros de cebolla: "
      read c6
          subtotal=subtotal+c6*p6
          t6=t6+c6
          break
   case 0: IVA=subtotal*0.11;
           total=subtotal+IVA;
           if (t1>0)
           {
           print t1, " producto1 ",(t1*p1)
           }
            if (t2>0)
           {
           print t2, "producto2 ",(t2*p2)
           }
            if (t3>0)
           {
           print t3, "producto3 ",(t3*p3)
           }
            if (t4>0)
           {
           print t4, "producto4 ",(t4*p4)
           }
           if (t5>0)
           {
           print           print t5, "producto5 ",(t5*p5)
           }
           if (t6>0)
           {
           print t6, "producto6 ",(t6*p6)
           }
           print " subtotal= $",subtotal
           print " IVA= $",IVA
           print " total= $",total
           break
default: print "Error en producto"
   }
   }


#include <conio.h>
#include <iostream.h>

void main ( )
{
float total, subtotal, IVA, p1, p2, p3, p4, p5, p6,c1,c2,c3,c4,c5,c6,t1,t2,t3,t4,t5,t6;
int prod;
p1=30.00;
p2=10.00;
p3=15.00;
p4=25.00;
p5=55.00;
p6=45.00;
c1=c2=c3=c4=c5=c6=0;
t1=t2=t3=t4=t5=t6=0;
subtotal=0;
IVA=0;
prod=1;
while (prod!=0)
{
cout<<"MENU"<<endl;
cout<<"1- Hambuerguesa"<<endl<<"2- Soda"<<endl<<"3- Papas fritas"<<endl;
cout<<"4- Ensalada"<<endl<<"5- Nieve"<<endl<<"6- Aros de cebolla"<<endl;
cout<<"0- Terminar orden"<<endl;
cout<<"No. producto: ";
cin>>prod;
switch (prod)
{
case 1: cout<<"Cantidad de Hamburguesas: ";
      cin>>c1;
      subtotal=subtotal+c1*p1;
      t1=t1+c1;
          break;
   case 2: cout<<"Sodas: ";
      cin>>c2;
          subtotal=subtotal+c2*p2;
          t2=t2+c2;
          break;
   case 3: cout<<"Cantidad de papas fritas: ";
      cin>>c3;
          subtotal=subtotal+c3*p3;
          t3=t3+c3;
          break;
   case 4: cout<<"Cantidad de Ensaladas: ";
      cin>>c4;

      subtotal=subtotal+c4*p4;
      t4=t4+c4;
          break;
   case 5: cout<<"Cantidad de Nieve: ";
      cin>>c5;
          subtotal=subtotal+c5*p5;
          t5=t5+c5;
          break;
   case 6: cout<<"Cantidad de aros de cebolla: ";
      cin>>c6;
          subtotal=subtotal+c6*p6;
          t6=t6+c6;
          break;
   case 0: IVA=subtotal*0.11;
           total=subtotal+IVA;
           if (t1>0)
           {
           cout<<t1<<" producto1 "<<(t1*p1)<<endl;
           }
            if (t2>0)
           {
           cout<<t2<<" producto2 "<<(t2*p2)<<endl;
           }
            if (t3>0)
           {
           cout<<t3<<"producto3 "<<(t3*p3)<<endl;
           }
            if (t4>0)
           {
           cout<<t4<<"producto4 "<<(t4*p4)<<endl;
           }
           if (t5>0)
           {
           cout<<t5<<"producto5 "<<(t5*p5)<<endl;
           }
           if (t6>0)
           {
           cout<<t6<<"producto6 "<<(t6*p6)<<endl;
           }
           cout<< " subtotal= $"<<subtotal<<endl;
           cout<< " IVA= $"<<IVA<<endl;
           cout<< " total= $"<<total<<endl;
           break;
default: cout<<"Error en producto"<<endl;
   }
   }
getch ();
}


Lenguaje C++




Práctica 5 problema 5
Calcular la suma de los n primeros numeros enteros utilizando una instrucción de repetición s=1+2+3.....+N.

Seudocódigo
1.-Inicio
n,suma,i  int
print "n="
read n
suma=0
i=0
while (i<=n)
{
suma=suma+i
i=i+1
}
print"suma de lo primeros",n,"enteros es ",suma
Fin

Lenguaje C++



Práctica 5 problema 6
Calcular E(x)=1+x+((x2)/2!)+........((nn)/n!)
 
a) Para n que es un entero leído por el teclado.
b) Desplegar el valor de E(x).

Seudocódigo
1.-Inicio 
e=1,x,n,contador=1,i,fact real
print"n="
read n
while (contador<=n)
{
fact=1
i=contador
while (i!=1)
{
fact=fact*1
i=i-1
}
e=e+pow(contador,contador)/fact
contador=contador+1
}
print"e(x)=",e
Fin

Lenguaje C++




Práctica 5 problema 7
Determine un programa para leer 10 números enteros utilizando un ciclo y encontrar el máximo y el mínimo valor e imprimirlos.

Seudocódigo
1.-Inicio
conta=1,numero,mayor,menor int
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=conta+1
}
print "el valor mayor=",mayor
print "el valor menor=",menor
Fin


Lenguaje C++

Parte 2 de la práctica

Seudocódigo
1.-Inicio
conta=1,numero,mayor,menor,posmay,posmen int
while (conta<=10)
{
print "numero="
read numero
if (conta==1)
{
mayor=numero
menor=numero
posmay=posmen=1
}
if (numero>mayor)
{
mayor=numero
posmay=conta
}
if (numero<menor)
{
menor=numero
posmen=conta
}
conta=conta+1
}
print "el valor mayor=",mayor
print "el valor menor=",menor
print "posicion mayor=",posmay
print "posicion menor=",posmen
Fin

Lenguaje C++ 







Práctica 6 problema 1
Escriba un programa para calcular el promedio aritmético de un conjunto de números, se puede calcular la media geométrica y armónica. La media geométrica de un conjunto de n números x1,x2,.....xn es



 y la media armónica es


Seudocódico
1.-Inicio
n,x,prod,suma,c,mg,ma real
print "valor n= "
read n
prod=1
suma=0
for (c=1 to n 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 " media geometrica= ",mg
print " media aritmetica= ",ma
Lenguaje C++
  









Práctica 6 problema 2
La cantidad de clientes que llegan a un concurrido banco de Nueva York se pueden calcular utilizando la función de probabilidad poisson
 donde x = cantidad de clientes

            landa= Promedio de clientes que llegan por minuto
           e = número de Euler (2.71828)

Por ejemplo, si el promedio del clientes que entran en el banco es de 3 x min

landa=  3 por lo tanto la probabilidad de que llegue un cliente es
y la probabilidad de que dos clientes lleguene en cualquier minuto es 
utilizando la función de probabilidades poisson, escriba un programa que calcule y despliegue la probabilidad de que un número variable de 1 a 10 clientes lleguen en cualquier minuto, cuando el promedio de llegada es de 3 clientes x minuto.

Seudocódigo
1.- Inicio
p,fact,i real
x           int
print.setf(ios::fixed)
print setprecision(2)
for(x=1   to 10 step  x=x+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
}

Lenguaje C++









Práctica 6 problema 3
Escriba un programa que acepte uno a la 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 galón equivale a 3.785 litros.

Seudocódigo
1.-Inicio
galon,litros,i   real
for(i=1 to 10 step  i=i+1)
{
print " galones=? "
read galon
litros=galon*3.785
print " galones=? ",galon," litros=? ",litros
 }

Lenguaje C++























Práctica 6 problema 4
Un modelo para calcular la población mundial en miles de millones de personas está dado por la ecuación 
donde 
t es el tiempo en años
t = 0 y representa Enero de 1985
t = 1 representa Enero de 1986
t = 2 representa Enero de 1987
t = 5 representa 1990

Escriba un programa que muestre una tabla anual de poblacón de Enero de 1990 hasta Enero de 2005.

Seudocódigo
1.-Inicio
poblacion real
a, anio int
anio=1990
print "Anio  poblacion"
for (a=5 to 20 step a=a+1)
{
poblacion=4.88*(1+exp(0.02*a))
print anio," ", poblacion
anio=anio+1
}

Lenguaje C++



Práctica 6 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 el 15%
Si el sueldo es mayor o igual a 1000 el aumento es el 12%
Imprima el sueldo nuevo del trabajador y el total de la nomina de la empresa considerando éste nuevo aumento.
Para el fin de datos el sueldo se expresa con -1.

Seudocódigo
1.-Inicio
total_nomina=0.0, sueldo  real
print "sueldo de empleado="
read sueldo
while (sueldo !=-1)
{
if (sueldo<1000)
{
sueldo=sueldo*1.15
}
else
{
sueldo=sueldo*1.12
}
total_nomina+=sueldo
print "sueldo nuevo ",sueldo
print "sueldo siguiente empleado:"
read sueldo
}
print "total nomina:",total_nomina
Fin

Lenguaje C++










Práctica 6 problema 6
Haga un programa que genere 100 números enteros en forma aleatoria y obtenga la suma de los números impares y el promedio de los números pares.


Seudocódigo
1.-Inicio
numero,sumaimpar=0,sumapar=0,c=0,i int
randomize()
for (i=1 to100 step i=i+1)
{
numero=random(100)
if (numero%2==0)
{
sumapar=sumapar+numero
c=c+1
}
else
{
sumaimpar=sumaimpar+numero}
}
print " la suma impar es= ",sumaimpar
print " promedio de los numeros pares es ",sumapar/c
Fin

Lenguaje C++










Práctica 6 problema 7
Hacer un programa para calcular lo que hay que pagar por un conjunto de llamadas telefónicas. Por cada llamada se ingresa el tipo (internacional, nacional, local) y la duración en minutos. El criterio que se sigue para calcular el costo de cadallamada 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:           Las primeras 50 llamadas no se
                    cobran, luego cadallamada cuesta
                    $0.60
------------------------------------------------

Seudocódigo
1.-Inicio
tipo                                                             char
minutos, costo, local=0, cuenta, costolocal    real
print "tipo de llamada="
read tipo
while (tipo!='f')
{
print "minutos="
read minutos
switch (tipo)
{
case 'I':
case 'i':
if (minutos>3)
{
costo=7.54+(minutos-3)*3.03
}
else
{
costo=7.54
}
cuenta=cuenta+costo
break
case 'N':
case 'n':
if (minutos>3)
{
costo=1.20+(minutos-3)*0.48}
else
{
costo=1.20
}
cuenta=cuenta+costo
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



Lenguaje C++










Práctica 6 problema 8
 Un fabricante prueba 5 generadores eléctricos midiendo los voltajes de salida en 3 tiempos diferentes. 

a) Escribe un programa que utilice una gasa anidada para introducir los resultados de las pruebas de cada generador y que calcule y despliegue el voltaje promedio de cada generador. 

Seudocódigo
1.-Inicio
{
v,g,sumav=0    real
prom,voltaje    real
for (g=1 to 5 step g=g+1)
{
print "no. generador=",g
for (v=1 to 3 step v=v+1)
{
print "prueba voltaje",v," = "
read voltaje
sumav=sumav+voltaje
}
prom=sumav/3
print "promedio voltaje ",prom
sumav=0
}
Fin
Lenguaje C++


b) Modifique el programa escrito para que calcule y despliegue el voltaje promedio de todos los generadores.

Seudocódigo
1.-Inicio
sumav=0,sumag=0,prom,voltaje   real
g,v                                               int
for (g=1  to 5 step g=g+1)
{
sumav=0
print "no. generador =",
for (v=1 to 3 step v=v+1)
{
print " voltaje de prueba " ,v," = "
read voltaje
sumav=sumav+voltaje
}
prom=sumav/3
sumag=sumag+prom
}
prom=sumag/5
print "promedio de todos los generadores es ",prom
Fin


Lenguaje C++


c) Vuelva a escribir el programa del ejercicio a) para que elimine la gasa interna. Para hacer esto tiene que introducir 3 voltajes de cada generador en lugar de uno a la vez. Cada voltade debe de almacenar en una variable con nombre propio antes de calcular el promedio.  

Seudocódigo
1.-Inicio
sumav=0,prom   real
g,v1,v2,v3           int
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+v2+v3
prom=sumav/3
print " promedio="
}
Fin

Lenguaje C++




Práctica 7

Problema 1
Escriba un programa para aceptar una calificación

a) El programa debe de solicitar una calificación continuamente mientras no se introduzcan calificaciones inválidas.Una calificación inválida es cualquiera menor de 0 o mayor de 100. Después de que se introduzca una calificación válida el programa debe mostrar el valor de ella.


Seudocódigo
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

Lenguaje C++


b) Modifique el programa del a) cuando se introduzca una calificación inválida.

Seudocódigo
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



Lenguaje C++





c) Modifique el programa del b) para que el programa permita al usuario salir del programa al introducir el número 999.

Seudocódigo
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


Lenguaje C++


 d) Modifique el programa del b) para que termine automáticamente después de que se introduzcan 5 calificaciones inválidas.

Seudocódigo
1.-Inicio
calif, 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
Lenguaje C++


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


Lenguaje C++














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





Lenguaje C++





Problema 4
Una compañía de seguros a reunido datos cosendientes a todos los accidentes de tránsito ocurridos durante el año. Los datos que se tienen en cada conductor involucrado en un accidente, son los siguientes:
Edad del conductor, sexo, código de ciudad (1 capital, 2 provincia).
Diseñar un programa que lea los datos e imprima los siguientes valores estadísticos de los conductores que han participado en accidenes.
a) Porcentaje de conductores menores de 25 años.
b) Porcentaje de conductores del sexo femenino.
c) Porcentaje de conductores del sexo femenino.
d) Porcentaje de conductores que son originarios de la capital.

Seudocódigo
1.- Inicio
edad,sexo,codigo,conta=0,c25=0,cf=0,cm=0,cc=0,p25,pf,pm,pcc,otro int
do
{
print "edad del conductor= "
read edad
print "sexo 1(femenino) 2(masculino)= "
read sexo
print "codigo de ciudad (1-capital, 2-provincia)"
read codigo
conta=conta+1
if (edad<25)
{
c25=c25+1
}
switch (sexo)
{
case 1:
cf=cf+1
break

case 2:
if(edad>=18 and edad<=25)
{
cm=cm+1
}
break
default: print "error dato"
}
if (codigo==1)
{
cc=cc+1
}
print "otro registro 1.-si 2.-no)= "
read otro
}
while (otro==1)
p25=(c25*100)/conta
pf=(cf*100)/conta
pm=(cm*100)/conta
pcc=(cc*100)/conta
print "porcentaje de conductores <25= ",p25
print "porcentaje de conductores femeninos",pf
print "porcentaje de conductoree masculinos ",pm
print "porcentaje de conductores originarios de la capital",pcc
Fin

Lenguaje C++











Problema 5
El departamento de policía y tránsito de la ciudad ha recopilado información, acumulada durante determinado periodo de las infracciones levantadas por sobrepasar los limites de velocidad etablecidos.
El departamento dividió a la ciudad 4 cuadrantes, para cada uno de los cuales desea obtener datos estadísticos que muestren las infracciones levantadas:
Número de registro del carro, cuadrante donde fue levantada la infracción (1,2,3,4), límite de velocidad en Km/H, velocidad a la que iba el vehículo en Km/H.
Nota: el monto de la multa se calcula multiplicando 50 por cada Km/H que exceda el límite de velocidad. Crear un programa para calcular el siguiente reporte.
Vehículo                    Velocidad reg.           Límites de velocidad                    Multa


------------------------------------------------------------------------------------------
Cuadrante 1:             Número de infracciones:
                                Monto recaudado en multas:
Cuadrante 2:             Número de infracciones:
                                Monto recaudado en multas:
Cuadrante 3:             Número de infracciones:
                                Monto recaudado en multas:
Cuadrante 4:             Número de infracciones:
                                Monto recaudado en multas:

Seudocódigo
1.- Inicio
cuadrante, numero_registro_v,velocidad_limite,velocidad_reg,multa,otro    int
nc1=0,nc2=0,nc3=0,nc4=0,totalc1=0,totalc2=0,totalc3=0,totalc4=0    int
do
{
print "Numero 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  limites de velocidad     multa"
print numero_registro_v," ",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=nc3+1
totalc3=totalc3+multa
break
case 4: nc4=nc4+1
totalc4=totalc4+multa
default: print "error cuadrante"
break
}
print "otro registro 1 si    2 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


Lenguaje C++






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




Lenguaje C++










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


Lenguaje C++




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







Lenguaje C++









No hay comentarios:

Publicar un comentario