guia7-alg

8
ALGORITMOS – Estructuras Repetitivas2 Guía Practica Nº7 1. Al final de un curso se desea saber cual ha sido el alumno con la mejor nota promedio. Se sabe que este año entraron 75 alumnos y que todos tienen 3 asignaturas. Dar el nombre y la nota media. #include <iostream> #include <stdio.h> #include <string.h > using namespace std; main() {int i=0; float p, n1, n2, n3; float mayor=0; char nombre[30], may[30], e[1]; do{ cout<<"INGRESAR EL NOMBRE DEL ALUMNO: "; gets(nombre); cout<<"INGRESAR SUS TRES NOTAS "<<endl;cin>>n1>>n2>>n3; p=(n1+n2+n3)/3; cout<<"EL PROMEDIO DEL ALUMNO ES: "<<p; cout<<endl<<endl; if(p>=mayor) {mayor=p; strcpy(may,nombre); } gets(e); i++; }while(i<75); cout<<"EL ALUMNO "<<may<<" OBTIENE EL MAYOR PROMEDIO CON: "<<mayor<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

Transcript of guia7-alg

Page 1: guia7-alg

ALGORITMOS – Estructuras Repetitivas2Guía Practica Nº7

1. Al final de un curso se desea saber cual ha sido el alumno con la mejor nota promedio. Se sabe que este año entraron 75 alumnos y que todos tienen 3 asignaturas. Dar el nombre y la nota media.

#include <iostream>#include <stdio.h>#include <string.h >

using namespace std;

main(){int i=0; float p, n1, n2, n3; float mayor=0; char nombre[30], may[30], e[1]; do{ cout<<"INGRESAR EL NOMBRE DEL ALUMNO: "; gets(nombre); cout<<"INGRESAR SUS TRES NOTAS "<<endl;cin>>n1>>n2>>n3; p=(n1+n2+n3)/3; cout<<"EL PROMEDIO DEL ALUMNO ES: "<<p; cout<<endl<<endl; if(p>=mayor) {mayor=p; strcpy(may,nombre); } gets(e); i++; }while(i<75); cout<<"EL ALUMNO "<<may<<" OBTIENE EL MAYOR PROMEDIO CON: "<<mayor<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS;}

2. Una persona debe realizar un muestreo con N personas para determinar el promedio de peso de los niños, jóvenes y adultos que existen en su zona habitacional. Se determinan las categorías con base en la siguiente tabla:

Categoría EdadNiñosJóvenesAdultos

0 – 1213 – 2930 – más

#include <iostream>

using namespace std;

main()

Page 2: guia7-alg

{int edad, i=0, n; int cont1=0, cont2=0, cont3=0; float acum1=0, acum2=0, acum3=0; float peso, prom1=0, prom2=0, prom3=0;

cout<<"Ingrese el numero de personas: ";cin>>n;cout<<endl<<endl;

do{ cout<<"ingrese la edad: ";cin>>edad; cout<<"ingrese el peso: ";cin>>peso; cout<<endl<<endl; if(edad>=0 && edad<=12) { cont1++; acum1=acum1 + peso; } if(edad>=13 && edad<=29) { cont2++; acum2=acum2+peso; } if(edad>=30) { cont3++; acum3=acum3+peso; } i++; }while(i<n); if(cont1!=0){prom1=(acum1/cont1);}if(cont2!=0){prom2=(acum2/cont2);}if(cont3!=0){prom3=(acum3/cont3);}

cout<<"El promedio del peso de los niños es: "<<prom1<<endl;cout<<"El promedio del peso de los jovenes es: "<<prom2<<endl;cout<<"El promedio del peso de los adultos es: "<<prom3<<endl; system("PAUSE"); return EXIT_SUCCESS;}

3. Una empresa almacena los datos de N empleados, para esto, en un proceso repetitivo se ingresa el sexo y el salario de cada empleado. Se pide calcular:a) La cantidad de personas que ganan más de 700 al mes.b) El promedio de salarios.c) El porcentaje de mujeres que trabajan en esa empresad) El porcentaje de varones que trabajan en esa empresa

#include <iostream>#include <ctype.h>

using namespace std;

main()

{int i=0, cont=0, cm=0, cf=0; float n, sueldo, acum=0, prom, ph, pm; char sexo; cout<<"INGRESAR EL NUMERO DE EMPLEADOS: ";cin>>n; cout<<endl<<endl;

Page 3: guia7-alg

do{ cout<<"INGRESE EL SEXO DEL EMPLEADO [M][F]: "; cin>>sexo; cout<<"INGRESE EL SUELDO DEL EMPLEADO: ";cin>>sueldo; cout<<endl<<endl; sexo=toupper(sexo); if(sueldo>700) {cont++; } acum=acum+sueldo; switch(sexo) {case 'M': cm++; break; case 'F': cf++; break; } i++; }while(i<n); prom=(acum/n); ph=(cm/n)*100; pm=(cf/n)*100; cout<<"LA CANTIDAD DE PERSONAS QUE GANAN MAS DE 700 SOLES ES: "<<cont<<endl; cout<<"EL PROMEDIO DE LOS SALARIOS ES: "<<prom<<endl; cout<<"EL PROMEDIO DE MUJERES ES: "<<pm<<"%"<<endl; cout<<"EL PROMEDIO DE HOMBRES ES: "<<ph<<"%"<<endl; system("PAUSE"); return EXIT_SUCCESS;}

4. Hacer un algoritmo que lea N consumos de un restaurante. Si el consumo ingresado excede los 70 soles, el descuento será de 5%. Muestre todos los pagos hechos.

#include <iostream>

using namespace std;

main(){int n, i=1; float pt, acum=0, costo; cout<<"INGRESAR LA CANTIDAD DE CONSUMOS: ";cin>>n; cout<<endl<<endl; while(i<=n) { cout<<"INGRESE COSTO #"<<i<<endl; cin>>costo; acum=acum+costo; i++; } if(acum>70) {pt=acum*0.95; }else{ pt=acum;} cout<<"EL PAGO TOTAL ES: "<<pt<<endl; system("PAUSE"); return EXIT_SUCCESS;}

Page 4: guia7-alg

5. Se ha seleccionado N números de personas para realizar una encuesta, en un proceso repetitivo se ingresa el grado de instrucción y la edad de cada persona. Se desea saber el promedio de edades, la mayor edad y el porcentaje de personas con instrucción Primaria, Secundaria y Superior.

#include <iostream>#include <ctype.h>

using namespace std;

main()

{int i=0, edad, mayor=0, ; int cont1=0, cont2=0, cont3=0; float pe, p1, p2, p3, ae=0, n; char grado; cout<<"INGRESE EL NUMERO DE PERSONAS A INGRESAR: "; cin>>n;cout<<endl; do{ cout<<"INGRESE LA EDAD DE LA PERSONA: ";cin>>edad; cout<<"INGRESE EL GRADO DE INSTRUCCION: PRIMARIA[P], SECUNDARIA[S], SUPERIOR[U]: "; cin>>grado; cout<<endl<<endl; grado=toupper(grado); ae=ae+edad; if(mayor<=edad) {mayor=edad; } switch(grado) {case 'P' : cont1++; break; case 'S' : cont2++; break; case 'U' : cont3++; break; } i++; }while(i<n); pe=ae/n; p1=(cont1/n); p2=(cont2/n); p3=(cont3/n); cout<<"EL PORCENTAJE DE PERSONAS CON INSTRUCCION PRIMARIA ES: "<<p1<<"%"<<endl; cout<<"EL PORCENTAJE DE PERSONAS CON INSTRUCCION SECUNDARIA ES: "<<p2<<"%"<<endl; cout<<"EL PORCENTAJE DE PERSONAS CON INSTRUCCION SUPERIOR ES: "<<p3<<"%"<<endl; cout<<"EL PROMEDIO DE EDADES ES: "<<pe<<endl; cout<<"LA EDAD MAYOR ES: "<<mayor<<endl; system("PAUSE"); return EXIT_SUCCESS;}

6. Un almacén a recopilado los datos de N productos, para esto se ingresan en un proceso repetitivo: el tipo (comida, vestido), la procedencia (Nacional, Importado) y el precio de cada producto. Construya un programa que permita calcular el promedio de precios según la procedencia, el menor precio y la cantidad de productos según su tipo.

Page 5: guia7-alg

#include <iostream>#include <ctype.h>

using namespace std;

main(){int i=0, cant1=0, cant2=0, n, menor=999, ai=0, an=0; float costo, acum1=0, acum2=0, p1=0, p2=0; char tipo, proc; cout<<"INGRESE LA CANTIDAD DE PERSONAS: "; cin>>n; cout<<endl<<endl; do{ cout<<"INGRESE EL TIPO DE PRODUCTO: COMIDA(C) Y VESTIDO(V): "; cin>>tipo; cout<<"INGRESE LA PROCEDENCIA DEL PRODUCTO: IMPORTADO(I) Y NACIONAL(N) "; cin>>proc; cout<<"INGESE EL COSTO DEL PRODUCTO: "; cin>>costo;cout<<endl<<endl; tipo=toupper(tipo); proc=toupper(proc); switch (tipo) {case 'C': cant1++; break; case 'V': cant2++; break;

} switch (proc) {case 'I': ai++; acum1=acum1+costo; break; case 'N': an++; acum2=acum2+costo; break; } if(costo<=menor) {menor=costo; } i++; system("cls"); }while(i<n); if(ai!=0) {p1=acum1/ai;} if(an!=0) {p2=acum2/an;} cout<<"LA CANTIDAD DE PRODUCTOS SEGUN SU TIPO: "<<endl<<endl; cout<<"COMIDA VESTIDO"<<endl; cout<<" "<<cant1<<" "<<cant2; cout<<endl<<endl<<endl; cout<<"EL MENOR COSTO ES: "<<menor; cout<<endl<<endl; cout<<"EL PROMEDIO DE LOS PRODUCTOS IMPORTADOS ES: "<<p1<<endl; cout<<"EL PROMEDIO DE LOS PRODUCTOS NACIONALES ES: "<<p2<<endl; system("PAUSE"); return EXIT_SUCCESS;

Page 6: guia7-alg

}

7. Un entrenador durante 10 días evaluará los tiempos que demora el atleta en recorrer una determinada ruta, y determinar si el atleta esta apto o no. Para considerarlo apto debe cumplir por lo menos una de las siguientes condiciones:

- Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.- Que al menos en una de las pruebas realice un tiempo mayor a 16 minutos.- Que su promedio de tiempos sea menor o igual a 15 minutos.

Elaborar un algoritmo que registre los tiempos e indique al final si el atleta evaluado esta apto o no.

8. Diseñar un algoritmo que permita calcular la suma de los primeros N términos de la siguiente serie:

64/21 + 62/24 + 60/27 + 58/30 + …#include <iostream>

using namespace std;

main(){int a=64,b=21, n, suma=0, i=0;cout<<"ingrese la cantidad de numero=";cin>>n;do { a=a-(2*i); b=b+(3*i); cout<<a<<"/"<<b<<" + "; suma=suma+(a/b); i++;}while(i<=n);cout<<"\nla suma total es="<<suma<<endl; system("PAUSE"); return EXIT_SUCCESS; }

9. Diseñar un algoritmo que permita calcular la suma de los primeros N términos de la siguiente serie:

16 - 48 + 144 - 432 + …#include <iostream>#include <math.h>using namespace std;

main(){int a=16,i=1,n,suma;double acum1=0,acum2=0,b;cout<<"ingrese n=";cin>>n;do { b=(a*pow(3,(i-1))); cout<<b; if(i%2!=0) {cout<<"-";}else{cout<<"+";} if(i%2==0) {acum1=acum1+b;} else {acum2=acum2+b;} i++;}while(i<=n); suma=acum2-acum1; cout<<"\nla suma total es="<<suma<<endl; system("PAUSE"); return EXIT_SUCCESS;}

Page 7: guia7-alg

10.Diseñar un algoritmo que permita calcular la suma de los primeros N términos de la siguiente serie:

2 + 4 + 12 + 48 + 240 + …

#include <iostream>

using namespace std;

main(){int a=2,b,i=1,acum=0,n;cout<<"ingrese numero=";cin>>n;do{ b=a*i;a=b;cout<<b<<" + ";acum=acum+b;i++;} while (i<=n);cout<<"la suma es="<<acum<<endl; system("PAUSE"); return EXIT_SUCCESS;}