Cierta oficina de seguros a reunido datos concernientes a todos los accidentes de transito ocurridos en el ultimo año para cada conductor involucrado en un accidente se debe contener los siguientes datos año de nacimiento de conductor, sexo, codigo de registro. Diseñe un programa para leer un conjunto de datos e imprimir los siguientes valores estadisticos de los conductores que sean visto envueltos en acciedentes
a)% de conductores menores de 25
b)% de conductores de sexo femenino
c)% de conductores del sexo masculino con edades entre 18 y 25 años.
SEUDOCODIGO
char S,otro;
float pcm25,pcf,pcm;
int e,cr,cm25,cf,cm,c,a;
cm25=0;
cf=0;
cm=0;
c=0;
do
{
print "Anio de nacimiento:";
read e;
print "M/F"
read s
print "Clave de registro:"
read cr;
a=2011-e;
c=c+1;
switch(S)
{case'm':
if(a>=18 and a<=25)
cm=cm+1;
break;
case'f':
cf=cf+1;
break;
default:
}
if(a<25)
{cm25=cm25+1
}
print "Registrar otro 1)Si 2)No: ";
read otro;
}
while(otro=='1');
pcm25=(cm25*100)/c;
pcf=(cf*100)/c;
pcm=(cm*100)/c;
print "Porciento de conductores menores de 25 anios:"pcm25
print "Porciento de conductores femeninos:",pcf
print "Porciento de conductores de sexo masculino entre 18 y 25 anios:",pcm
fin
C++
Problema 2
a)Diseñe un programa para calcular y tabular valores de la funcion f(x,y)=(x^2-y^2)/(x^2+y^2) para x=[2,8] y y=[6,21].
PSEUDOCODIGO
Inicio
x,y,f real
for(x=2 to 8 step 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"
print x," ",y," ",f
}
}
Fin
C++
b) Disieñe un programa para calcular el numero de puntos con coordenadas de valores enteros
que estan contenidos en la siguiente elipse x^2/16+y^2/25=1 en el intervalo de coordenadas que esntan limitadas por el je mayor y menor de la elipse -4<=x<=4 y -5<=y<=5.
SEUDOCODIGO
Inicio
int x,y,f;
for(x=-4 to 4 step 1)
{
for(y=-5 to 5 step 1)
{f=(pow(x,2)/16)+(pow(y,2)/25);
print "X Y F"
print x," ",y," ",f
}
}
Fin
C++
*Nota en los ejecutables no es todo es algo por que estab muy largo solo puese el comienso y el final*
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 $1 por acre
Tipo 2 Langostas $2 por acre
Tipo 3 Gusanos $3 por acre
Tipo 4 Todo lo anterior $5 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.
SEUDOCODIGO
Inicio
des1,des2,costo real
char n[10]
f,a entero
char o
do
{des1=0
des2=0
print "Nombre :"
read nprint "Tipo de fumigacion:"read fprint "No. de acres:"
read a
switch(f)
{case 1: costo=a*1
break
case 2: costo=a*2
break
case 3: costo=a*3
break
case 4: costo=a*5
break
default:
}
if(a>100)
{des1=costo*0.05
costo=costo-des1
}
if(costo>1500)
{des2=(costo-1500)*0.10
costo=costo-des2
}
print nprint "Descuento 1:"print des1print "Descuento 2:"
print des2
print "Total:"
print costo
print "Otro comprador"
read o
}
while(o=='S'||o=='s')
Fin
C++
Problema 4
Los reglamentos de pesca de cierta ciudad imponen un limite a la cantidad total permitida en kilos en un dia 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 limite . Diseñe un programa que primero lea el limite diario en kg y despues 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, despues de cada pescado haya sido registrado el programa debe imprimir el peso total que se lleva hasta el momento.
SEUDOCODIGO
Inicio
pt=0,limite,peso real
print "Limite de Pesca"
read limite;
while(pt<limite||peso!=0)
{print"Total de pesca:",pt
print "Peso de la presa:"
read peso
pt=pt+peso
if(pt>=limite)
{print "EXEDIO EL LIMITE"
}
}
Fin
C++
Problema 5
A) 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.
SEUDOCODIGO
Inicio
real total=0,tdep=0,tret=0,dep,ret,saldo,cr,cd,tcr=0,tcd=0,ct;
int opcion
char nombre[10]
char dir[10]
char opcion2,otro
do
{print "Nombre del cliente"
read nombreprint "Direccion"
read dirprint "Saldo del mes anterior";
read saldo;
do
{print "Tipo de operacion 1)Deposito 2)Retiro"
read opcion
switch(opcion)
{
case 1:print "Deposito"
read dep
cd=dep*0.25
tcd=tcd+cd
tdep=tdep+dep
break
case 2:print "Retiro"
read ret
cr=ret*0.25
tcr=tcr+cr
tret=tret+ret
break
default:print "ERROR EN OPCION"
}print "Otra operacion"
read opcion2
}
while(opcion2=='s'||opcion2=='S')print "Scotia Rubio Inverlat, S.A. de C.V"print "Av. Siempre Viva No. "
print "Nombre del ciente:",nombre
print "Tipo de operacion"print "1)Deposito:",tdepprint "2)Retiro:",tret
total=tdep-tret
total=total+saldo
ct=tcd+tcr
total=total-ctprint "Saldo del mes anterior:",saldo
print "Cargos totales por operaciones"print ctprint "Total:",total
print "Otro Cliente"
read otro
}
while(otro=='S'||otro=='s')
Fin
C++
B) Considere que el cargo por servicio ya sea de retiro o deposito el 25%.
SEUDOCODIGO
Inicio
real total=0,tdep=0,tret=0,dep,ret,saldo,cr,cd,tcr=0,tcd=0,ct;
int opcion
char nombre[10]
char dir[10]
char opcion2,otro
do
{print "Nombre del cliente"
read nombreprint "Direccion"
read dirprint "Saldo del mes anterior";
read saldo;
do
{print "Tipo de operacion 1)Deposito 2)Retiro"
read opcion
switch(opcion)
{
case 1:print "Deposito"
read dep
cd=dep*0.25
tcd=tcd+cd
tdep=tdep+dep
break
case 2:print "Retiro"
read ret
cr=ret*0.25
tcr=tcr+cr
tret=tret+ret
break
default:print "ERROR EN OPCION"
}print "Otra operacion"
read opcion2
}
while(opcion2=='s'||opcion2=='S')print "Scotia Rubio Inverlat, S.A. de C.V"print "Av. Siempre Viva No. "
print "Nombre del ciente:",nombre
print "Tipo de operacion"print "1)Deposito:",tdepprint "2)Retiro:",tret
total=tdep-tret
total=total+saldo
ct=tcd+tcr
total=total-ctprint "Saldo del mes anterior:",saldo
print "Cargos totales por operaciones"print ctprint "Total:",total
print "Otro Cliente"
read otro
}
while(otro=='S'||otro=='s')
Fin
C++
Problema 6
Escriba un programa que calcule y despliegue los valores para y cuando y=x*z/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. Asimismo el programa debe mostrar el mensaje función indefinida cuando z y x sean iguales.
SEUDOCODIGO
Inicio
int x,z
float y
for(x=1 to 5 step 1)
{
for(z=2 to 6 step 1)
{if(z!=x)
{y=(x*2)/(x-z)print "x y z"print x," ",y," ",z
}
else
{print "INDEFINIDO"
}
}
}
Fin
C++
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=vtcoseno ángulo y y=vtseno ángulo utilizando esta información escriba un programa que despliegue una tabla de valores de xy para un proyectil disparado de 500ft/s a un ángulo de 22.8 (recuerde hacer la conversión en radianes)
La tabla deberá contener valores que correspondan a un intervalo de 0 a 10 segundos en incrementos de medio segundo
SEUDOCODIGO
Inicio
real x,y,v,a,ar,t;
v=500
a=22.8
for(t=0 to 10 step 0.5)
{ar=(22.8*180)/3.14
x=v*t*cos(ar)
y=v*t*sin(ar)print "tiempo(s) coordenadas"
v=500
a=22.8
for(t=0 to 10 step 0.5)
{ar=(22.8*180)/3.14
x=v*t*cos(ar)
y=v*t*sin(ar)print "tiempo(s) coordenadas"
print t" "x,y
}
Fin
C++
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.
SEUDOCODIGO
Inicio
int n1,n2, n3,total,x,n;
n=1;
while (n<=3)
{
switch(n)
{
case 1:x=33
total=0
for(n1=1 to 13 step 1)
{
for (n2=1 to 11 step 1)
{
for (n3=1 to 7 step 1)
{
total=total+x;
}
}
}
print x,"*1001=",total
n=n+1
break
case 2:x=47
total=0
for(n1=1 to 13 step 1)
{
for (n2=1 to 11 step 1)
{
for (n3=1 to 7 step 1)
{
total=total+x
}
}
}
print x,"*1001=",total
n=n+1
break
case 3:x=83
total=0
for(n1=1 to 13 step 1)
{
for (n2=1 to 11 step 1)
{
for (n3=1 to 7 step 1)
{
total=total+x
}
}
}
print x,"*1001=",total
n=n+1
break
}
}
Fin
C++