viernes, 25 de marzo de 2011

practica 7

problema 1

Cierta oficina de seguros a reunido datos concernientes a todos los accidentes de tránsito ocurridos en el último año para cada conductor involucrado en un accidente se debe contener los siguientes datos año de nacimiento de conductor, sexo, código de registro. Diseñe un programa para leer un conjunto de datos e imprimir los siguientes valores estadísticos de los conductores que sean visto envueltos en accidentes:
a) Porcentaje de conductores menores de 25
b) Porcentaje de conductores de sexo femenino
c) Porcentaje de conductores del sexo masculino con edades entre 18 y 25 años.

pseudocodigo
anio, cod, muj, inc, incc double
cond_mas, cond_fem, edad, menor_25, cant flotante
char sex, otro
cond_mas=0
cond_fem=0
menor_25=0
cant=0
do
{
print"Año de naciemiento: "
read anio
print"sexo (f/m): "
read sex
print"Codigo de registro: "
read cod
edad=2011-anio
cant++
if (edad<25)
{
menor_25++
}
switch (sex)
{
case 'f':
case 'F':
            cond_fem++
            break
case 'm':
case 'M':
            if (edad>=18 && edad<=25)
            {
            cond_mas++
            }
            break
}
print"Desea registrar a otra persona (s/n): "
cin>>otro
}
while (otro=='s' || otro=='S')
inc=(menor_25/cant)*100
muj=(cond_fem/cant)*100
incc=(cond_mas/cant)*100
print"Porcentaje de conductores menores de 25"
print"                                       ",inc," %"
print"Porcentaje de conductores femeninos"
print"                                       ",muj," %"
print"Porcentaje de conductores masculinos con edades"
print" de 18 a 25 anios          ",incc," %"
fin
}



programa
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
double anio, cod, muj, inc, incc;
float cond_mas, cond_fem, edad, menor_25, cant;
char sex, otro;
cond_mas=0;
cond_fem=0;
menor_25=0;
cant=0;
do
{
cout<<"Año de naciemiento: ";
cin>>anio;
cout<<"sexo (f/m): ";
cin>>sex;
cout<<"Codigo de registro: ";
cin>>cod;
edad=2011-anio;
cant++;
if (edad<25)
{
menor_25++;
}
switch (sex)
{
case 'f':
case 'F':
            cond_fem++;
            break;
case 'm':
case 'M':
            if (edad>=18 && edad<=25)
            {
            cond_mas++;
            }
            break;
}
cout<<"Desea registrar a otra persona (s/n): ";
cin>>otro;
cout<<endl;
}
while (otro=='s' || otro=='S');
inc=(menor_25/cant)*100;
muj=(cond_fem/cant)*100;
incc=(cond_mas/cant)*100;
cout<<endl;
cout<<"Porcentaje de conductores menores de 25";
cout<<"                                       "<<inc<<" %"<<endl;
cout<<"Porcentaje de conductores femeninos";
cout<<"                                       "<<muj<<" %"<<endl;
cout<<"Porcentaje de conductores masculinos con edades";
cout<<" de 18 a 25 anios          "<<incc<<" %"<<endl;
getch();
}





problema 2

A) Diseñe un programa para calcular y tabular valores de la función f (x,y)=(x2-y2)/(x2+y2) para
X= 2, 4, 6, 8 y Y= 6, 9, 12, 15, 18, 21.
B) Diseñe un programa para calcular el número de puntos con coordenadas de valores enteros que están contenidos en la siguiente elipse: X2/16 + Y2/25 = 1 en el intervalo de coordenadas que está limitado por el eje mayor y menor de la elipse. INTERVALOS: -4 ≤ X ≤ 4  y  -5 ≤ Y ≤ 5.

pseudocodigo
x,y entero
f flotante
print"x","    ","y","    ","f"
print"                         "
for (x=2;x<=8;x=x+2)
{
for (y=6;y<=21;y=y+3)
{
f=((pow(x,2)-pow(y,2))/(pow(x,2)+pow(y,2)));
print,x,"    ",y,"    ",f
}
}
fin
}


programa
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
int x,y;
float f;
cout<<"x"<<"    "<<"y"<<"    "<<"f"<<endl;
cout<<" "<<endl;
for (x=2;x<=8;x=x+2)
{
for (y=6;y<=21;y=y+3)
{
f=((pow(x,2)-pow(y,2))/(pow(x,2)+pow(y,2)));
cout<<x<<"    "<<y<<"    "<<f<<endl;
}
}
getch ();
}






problema 3
Una compañia utiliza aviones para fumigar las cosechas contra gran variedad de plagas la cantidad que la compañia carga a los granjeros depende de que es lo que desean fumigar y de cuantos acres desean que se fumigen, de acuerdo con la siguiente tabla
Tipo 1                 Malas hierbas         1dll por acre


Tipo 2                   Langostas            2dlls por acre


Tipo 3                    Gusanos             3dlls por acre


Tipo 4                Todo lo anterior       5dlls por acre


si el area a fumigar es mayor a 1000 acres el granjero goza de 5% de descuento. Ademas, cualquier granjero cuya cuenta sobrepase los 1500dlls se hace acredor a un descuentoo de 10% sobre la cantidad que exceda los 1500.
Si se aplican los dos descuentos, el correspondiente a la superficie se aplica primero diseñe un programa que lea un conjunto de datos que contendra la siguiente informacion
Nombre del granjero  Tipo de fumigacion  y el numero de acres que se va a fumigar. Debe calcularse el costo del trabajo e imprimir el nombre del granjero seguido de su cuenta.



pseudocodigo


programa

#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
float t;
int tipo, acr;
char nom[10], otro;
do
{
cout<<endl;
cout<<"Nombre del granjero: ";
cin>>nom;
do
{
cout<<endl;
cout<<"Tipo 1    Fumigacion contra malas hierbas";
cout<<"                $1 dlls por acre"<<endl;
cout<<"Tipo 2    Fumigacion contra las langostas";
cout<<"                $2 dlls por acre"<<endl;
cout<<"Tipo 3      Fumigacion contra los gusanos";
cout<<"                $3 dlls por acre"<<endl;
cout<<"Tipo 4 Fumigacion contra todo lo anterior";
cout<<"                $5 dlls por acre"<<endl;
cout<<endl;
cout<<"Cual tipo de fumigacion desea 1, 2, 3 o 4 : ";
cin>>tipo;
cout<<endl;
switch (tipo)
{
case 1:
         cout<<"Cantidad de acres a fumigar: ";
         cin>>acr;
         cout<<endl;
         t=acr;
         break;
case 2:
         cout<<"Cantidad de acres a fumigar: ";
         cin>>acr;
         cout<<endl;
         t=acr*2;
         break;
case 3:
         cout<<"Cantidad de acres a fumigar: ";
         cin>>acr;
         cout<<endl;
         t=acr*3;
         break;
case 4:
         cout<<"Cantidad de acres a fumigar: ";
         cin>>acr;
         cout<<endl;
         t=acr*5;
         break;
default:
cout<<"Error  Los datos son invalidos"<<endl;
break;
}
}
while(tipo!=1 && tipo!=2 && tipo!=3 && tipo!=4);
if(acr>1000)
{
t=(t)-(t*0.05);
}
if(t>1500)
t=(t)-(t*0.10);
cout<<"Sr.     "<<nom<<" El total a pagar es: "<<t<<endl;
cout<<endl;
cout<<"Desea hacer otro pedido (s/n): ";
cin>>otro;
}
while(otro=='s' || otro=='S');
getch();
}





problema 4
Los reglamentos de pesca de cierta ciudad imponen un límite a la cantidad total permitida en kilos en un día de pesca suponga que se desea llevar una computadora en la siguiente salida de pesca y que se necesita un programa que indique cuando se ha excedido dicho límite. Diseñe un programa que primero lea el limite diario en kg y después lea los valores de entrada uno tras otro y enseguida lea e imprima un mensaje con el momento que el limite haya sido excedido un peso de cero indica el final de los datos y, después de cada pescado haya sido registrado el programa debe imprimir el peso total que se lleva hasta el momento.


pseudocodigo

lim, pesca, t=0, entero
print"El limite de pesca diario en Kg es: "
read lim
do
{
print"Peso de la pesca en Kg: "
read pesca
t=t+pesca
print"El peso en Kg hasta ahora es ",t,
}
while (pesca!=0 && t<lim)
if(t>=lim)
print"Usted a excedido el peso permitido por dia"



programa

#include <iostream.h>
#include <math.h>
#include <conio.h>
void main ()
{
int lim, pesca, t=0;
cout<<"El limite de pesca diario en Kg es: ";
cin>>lim;
do
{
cout<<"Peso de la pesca en Kg: ";
cin>>pesca;
cout<<endl;
t=t+pesca;
cout<<"El peso en Kg hasta ahora es "<<t<<endl;
}
while (pesca!=0 && t<lim);
if(t>=lim)
cout<<endl;
cout<<"Usted a excedido el peso permitido por dia";
getch();
}







problema 5 
Se utiliza una computadora para preparar el estado de cuenta de sus clientes. Para cada cliente se dispone un grupo de datos que contiene la siguiente información correspondiente a los depósitos y retiros  que corresponden al mes en curso. Los datos son el nombre del cliente. E l tipo de operación  y la cantidad respectiva.los retiros se anotaran con cantidades negativas. Un ejemplo típico de entrada es el siguiente
Nombre cliente  dirección  saldo del mes anterior
Diseñe un programa para producir el estado e cuenta de cada cliente.











problema 6
Escriba un programa que calcule y despliegue los valores para y cuando Y=XZ/X-Z. El programa deberá calcular y para los valores de ‘X’ en el rango de 1 a 5 y los de ‘Z’ entre 2 y 6. La variable ‘X’ debe controlar el ciclo y los incrementos para ambos son de 1. Así mismo el programa debe mostrar el mensaje función indefinida cuando ‘Z’ y ‘X’ sean iguales.


pseudocodigo




programa

#include <conio.h>
#include <iostream.h>
#include <math.h>
void main ()
{
float y;
int z,x;
cout<<"X        Y         Z"<<endl;
cout<<"                   "<<endl;
cout<<endl;
for (x=1;x<=5;x++)
{
for (z=2;z<=6;z++)
{
if (z!=x)
{
y=(x*z)/(x-z);
cout<<x<<"        "<<y<<"           "<<z<<endl;
}
else
{
cout<<x<<"  "<<"Funcion indefinida   "<<"     "<<z<<endl;
}
}
}
getch();
}







problema 7

Las coordenadas ‘X’ y ‘Y’ como función del tiempo de un proyectil disparado a una velocidad y un ángulo  con respecto a la tierra están dados por X= vt Cos Ø
 y  Y= vt Sen Ø utilizando esta información escriba un programa que despliegue una tabla de valores de ‘X’ y ‘Y’ para un proyectil disparado de 500 ft/s  a un ángulo de 22.8 (recuerde convertir el angulo en radianes)
La tabla deberá contener valores que correspondan a un intervalo de 0 a 10 segundos en incrementos de 0.5 segundos.

pseudocodigo

programa
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
float x, y, t;
cout<<"Tiempo (s)      Coordenadas (ft)"<<endl;
cout<<endl;
cout<<"           X               Y"<<endl;
cout<<endl;
for (t=0;t<=10;t=t+0.5)
{
x=500*t*cos((22.8)*(180)/(3.1416));
y=500*t*sin((22.8)*(180)/(3.1416));
cout<<t<<"        "<<x<<"        "<<y<<endl;
}
getch ();
}





problema 8
Los lenguajes de ensamble, para algunos microprocesadores no tienen operaciones de multiplicación.  Aunque en estos casos  existen algoritmos sofisticados para efectuar las multiplicaciones, un método sencillo consiste en multiplicar mediante una suma repetitiva, en este caso, la eficiencia del algoritmo se puede incrementas en gasa anidadas, por ejemplo para multiplicar  un numero por 12, primero se suma el numero 3 veces y entonces suma el resultado cuatro veces. Escriba un programa que multiplique 33,47 y 83 * 1001 utilizando un ciclo de tres gasas y luego despliegue el resultado.


pseudocodigo


programa

#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
int num, prim, segu, ter, num_vec=0, x=0, mult=0;
do
{
num_vec++;
switch (num_vec)
{
case 1:
        num=33;
        break;
case 2:
        num=47;
        break;
case 3:
        num=83;
        break;
}
for(prim=0;prim<7;prim++)
{
for(segu=0;segu<11;segu++)
{
for(ter=0;ter<13;ter++)
{
x=num;
mult=mult+x;
}
}
}
cout<<num<<" por 1001 = "<<mult<<endl;
}
while(num_vec<3);
getch();
}





No hay comentarios:

Publicar un comentario