TALLER 5 Camargo polo Luis Fernando INTEGRANTE SANDY ROMERO DOCENTE FACULTAD DE INGENIERIA PROGRAMA DE ING. SISTEMAS UNIGUAJIRA RIOHACHA - GUAJIRA 2014 TALLER 5 PARTE I: Pasar los siguientes algoritmos secuenciales y Repetitivos a C++ 1. Secuenciales 1) Un alumno desea saber cuál será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificación del examen final. 15% de la calificación de un trabajo final. Respuesta: #include<iostream.h> #include<math.h> main () { int p1,p2,p3,np,ef,tf,notafin; cout<<"ingrese las notas de los tres parciales."; cin>>p1; cin>>p2; cin>>p3; np=((p1+p2+p3)/3); cout<<"ingrese la nota del examen final."; cin>>ef; cout<<"ingrese la nota del trabajo final."; cin>>tf; notafin= ((np*0.55)+(ef*0.30)+(tf*0.15)); cout<<"su nota final es: "<<notafin; return 0;} 2) Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. Respuesta: #include<stdio.h> #include<math.h> main () { int ch,cm,ct,ph,pm; printf("ingrese la cantidad de hombres:\t"); scanf("%d",&ch); printf("ingrese la cantidad de mujeres:\t"); scanf("%d",&cm); ct=ch+cm; ph=(ch/ct)*100; pm=(cm/ct)*100; printf("el porcentaje de hombres es:\t%d\n",ph); printf("el porcentaje de mujeres es:\t%d\n",pm); return 0; } 3) Realizar un algoritmo que calcule la edad de una persona. Respuesta: #include<iostream.h> #include<math.h> main () { int na,ac,ed; cout<<"digite su año de nacimiento"; cin>>na; cout<<"digite el año actual"; cin>>ac; ed=ac-na; cout<<"su edad es: "<<ed; return 0; } 4) Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un dato desconocido. Respuesta: #include<iostream.h> #include<math.h> main (){ int pesos,dolar,total; cout<<"ingrese el valor en pesos"; cin>>pesos; cout<<"ingrese el valor del dolar actual"; cin>>dolar; total = pesos/dolar; cout<<"el valor en dolares es: "<<total; return 0; } 5) La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula: 1. a. masa = (presión * volumen)/(0.37 * (temperatura + 460)) respuesta: #include<iostream.h> #include<math.h> main () { int masa,pre,temp,vol; cout<<"ingrese el valor de la presion: "; cin>>pre; cout<<"ingrese el valor de la temperatura: "; cin>>temp; cout<<"ingrese el volumen: "; cin>>vol; masa = (pre * vol)/(0.37 * (temp + 460)); cout<<"el valor de la masa es: "<<masa; return 0; } 6) Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es: núm. pulsaciones = (220 - edad)/10 respuesta: #include<iostream.h> #include<math.h> main () { int pul,edad; cout<<"ingrese su edad: "; cin>>edad; pul=(220 - edad)/10; cout<<"el numero de pulsaciones es:"<<pul; return 0; } 7) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. Respuesta: #include<iostream.h> #include<math.h> main () { int sn,sa,incre; cout<<"ingrese el valor del salario anterior"; cin>>sa; incre=sa*25/100; sn=sa+incre; cout<<"el valor del nuevo salario es: "<<sn; return 0; } 8) En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la sig. tabla: Área Porcentaje del presupuesto Ginecología 40% Traumatología 30% Pediatría 30% Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal. Respuesta: #include<iostream.h> #include<math.h> main () { int pa,gin,tra,ped; cout<<"ingrese el valor del presupuesto anual."; cin>>pa; gin=pa*40/100; tra=pa*30/100; ped=pa*30/100; cout<<"la cantidad de dinero que resive cada area es:\n"; cout<<". ginecologia="<<gin; cout<<". traumatologia ="<<tra; cout<<". pediatria ="<<ped; return 0; } 9) El dueño de una tienda compra un articulo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%. Respuesta: #include<iostream.h> #include<math.h> main () { int pa,pn,po; cout<<"ingrese el valor del articulo: "; cin>>pa; po=pa*30/100; pn=pa+po; cout<<"el nuevo valor del articulo debe ser de: "<<pn; return 0; } 10)Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. Respuesta: #include<iostream.h> #include<math.h> main () { int c1,c2,c3,ct,pc1,pc2,pc3; cout<<"digite la cantidad que invirtio la primera persona"; cin>>c1; cout<<"digite la cantidad que invirtio la segunda persona"; cin>>c2; cout<<"digite la cantidad que invirtio la primera persona"; cin>>c3; ct=c1+c2+c3; pc1=(c1/ct)*100; pc2=(c2/ct)*100; pc3=(c3/ct)*100; cout<<"el porcentaje que invirtieron fueron:\n"; cout<<"primera persona"<<pc1; cout<<"\nsegunda persona"<<pc2; cout<<"tercera persona"<<pc3; return 0; } 1. 2. Problemas Condicionales 1) Un hombre desea saber cuánto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuánto dinero tendrá finalmente en su cuenta. #include<iostream.h> main () { int cb,in,ct; cout<<"digite la cantidad de dinero que tiene en el banco: "; cin>>cb; cout<<"digite el valor de los intereses: "; cin>>in; ct=cb+in; if (in>=7000) cout<<"la cantidad de dinero que tendra en el banco con los intereses es de: "<<ct; else cout<<"los intereses no exeden a los 7000 la cantidad de dinero que tiene es de : "<<cb; return 0; } 2) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario. #include<iostream.h> #include<math.h> main () { int n1,n2,n3,nf; cout<<"ingrese el valor de la nota de cada materia"; cin>>n1; cin>>n2; cin>>n3; nf=(n1+n2+n3)/3; if (nf>=7.0) cout<<"felicidades aprovo."; else cout<<"reprobo"; return 0; } 3) En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿Cuál será la cantidad que pagara una persona por su compra? #include<iostream.h> main () { int compra,dcto,por; cout<<"ingrese el valor de la compra: "; cin>>compra; por=compra*0.20; dcto=compra-por; if (compra>1000) cout<<"el valor de la compra es: "<<dcto; else return 0; } 4) Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. Manera: Si trabaja 40 horas o menos se le paga $16 por hora Si trabaja más de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra. #include<iostream.h> #include<math.h> main () { int hora,ph1,ph2,hm,pfm; cout<<"ingrese la cantidad de horas que trabajo: "; cin>>hora; ph1=hora*16; hm=hora-40; ph2=hm*20; pfm=ph1+ph2; if (hora<=40) cout<<"su salario es de: "<<ph1; else if (hora>40) cout<<"su salario es de: "<<pfm; return 0; } 5) Calcular el total que una persona debe pagar en un llantera, si el precio de cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o más. #include<iostream.h> #include<math.h> main () { int can,pmenos,pmas; cout<<"ingrese la cantidad de llantas que va a comprar: "; cin>>can; pmenos=can*800; pmas=can*700; if (can<=5) cout<<"el precio a pagar es de: "<<pmenos; else cout<<"el precio a pagar es de: "<<pmas; return 0; } 6) En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo de un numero que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cuanto dinero se le descuenta. #include<iostream.h> #include<math.h> main () { int vc,num,dctoma,dctome,cdma,cdme; cout<<"ingrese el valor de la compra: "; cin>>vc; cout<<"ingrese el numero obtenido: "; cin>>num; dctome=vc*0.15; cdme=vc-dctome; dctoma=vc*0.20; cdma=vc-dctoma; if (num>=74) cout<<"la cantidad de dinero que se le descuenta es de: "<<cdma; else cout<<"la cantidad de dinero que se le descuenta es de: "<<cdme; return 0; } 7) Calcular el número de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aerobico; la formula que se aplica cuando el sexo es femenino es: num. pulsaciones = (220 - edad)/10 y si el sexo es masculino: num. pulsaciones = (210 - edad)/10 respuesta: #include<iostream.h> #include<math.h> main () { int edad,sexo,pulm,pulf; cout<<"digite su edad"; cin>>edad; cout<<"digite el numero correspondiente a su sexo:\n1. femenino\n2.masculino. "; cin>>sexo; pulf=(220-edad)/10; pulm=(210-edad)/10; if (sexo==1) cout<<"sus pulsaciones son de: "<<pulf; else if (sexo==2) cout<<"sus pulsaciones son de: "<<pulm; else cout<<"por favor digite el numero predeterminado para su sexo."; return 0; } 8) Una compañía de seguros esta abriendo un depto. de finanzas y estableció un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es menor que $50 000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que $50 000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar cual será la cuota que debe pagar un cliente. #include<iostream.h> #include<math.h> main () { int monto,pmm,pmme; cout<<"digite el valor del monto"; cin>>monto; pmme=monto*0.03; pmm=monto*0.02; if (monto<=50000) cout<<"el monto a pagar es de:"<<pmme; else cout<<"el monto a pagar es de: "<<pmm; return 0; } 9) En una escuela la colegiatura de los alumnos se determina según el numero de materias que cursan. El costo de todas las materias es el mismo. Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente: si el promedio obtenido por un alumno en el ultimo periodo es mayor o igual que 9, se le hará un descuento del 30% sobre la colegiatura y no se le cobrara IVA; si el promedio obtenido es menor que 9 deberá pagar la colegiatura completa, la cual incluye el 10% de IVA. Obtener cuanto debe pagar un alumno. #include<iostream.h> #include<math.h> main () { int prom,pma,pme,vc,desmax,ivamin; cout<<"digite el valor del promedio final que obtuvo: "; cin>>prom; cout<<"digite el valor de la colegiatura: "; cin>>vc; pma=vc*0.30; pme=vc*0.10; desmax=vc-pma; ivamin=vc+pme; if (prom>=9) cout<<"el alumno debe pagar: "<<desmax; else cout<<"el alumno debe pagar: "<<ivamin; return 0; } 10) Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume. #include<iostream.h> #include<math.h> main () { int a,b,mul,sum,res; cout<<"digite dos numeros"; cin>>a; cin>>b; mul=a*b; sum=a+b; res=a-b; if (a==b) cout<<"el resultado de la multplicacion es: "<<mul; else if (a>b) cout<<"el resultado de la resta es: "<<res; else cout<<"el resultado de la sume es: "<<sum; return 0; } PARTE II: Realizar las siguiente Investigación 1) ¿Qué es una primitiva o estructura Repetitiva? Las estructuras repetitivas son aquellas que sirven para evitar la molestia de andar repitiendo una acciones varias veces. Estas sirven para que una acción se ejecute un determinado número de veces, y depende del cumplimiento de una determinada acciones (una condición). Características: à Las estructuras repetitivas permiten representar aquellas acciones que pueden descomponerse en otras subacciones primitivas. àEs una estructura con una entrada y una salida en la cual se repite una acción un número determinado o indeterminado de veces àEn una Estructura Repetitiva Mientras (While) se repite una acción mientras se cumpla la condición que controla el bucle. La característica principal de esta estructura es lque la condición es evaluada siempre antes de cada repetición. àLa estructura repetitiva Desde(FOR) permite que las instrucciones las cuales contiene en su ámbito, se ejecuten un número de veces determinado 2) Cuantos tipos de primitivas Repetitivas se conocen. Mientras (while-do): es la estructura básica que permite repetir varias veces una secuencia de operaciones, mientras se cumpla una determinada condición. Repetir (repeat-until): las operaciones de lazo repetir son ejecutadas hasta que la condición sea cierta. Para (for): se utiliza cuando se puede determinar el número de veces que hay que ejecutar las instrucciones. 3) Explique con su estructura las siguientes primitivas repetitivas: a) Primitiva Para Su formato general es: for (inicialización; condición; incremento) { instrucción (es); }; b) Primitiva Mientras que While (condición) { grupo cierto de instrucciones; instrucción (es) para salir del ciclo; }; c) Primitiva Dependiendo De do { grupo cierto de instrucción(es); instrucción(es) de rompimiento de ciclo; } while (condición); 4) Establezca una comparación con las principales diferencias y semejanzas entre las 3 primitivas anteriores. 5) Busque un ejemplo de un algoritmo repetitivo y realícelo con las tres primitivas anteriores. For #include <stdio.h> #include <conio.h> #include <string.h> void main() { clrscr(); declaracion variables int x; instruccion for for(x=1;x<=10;x=x+1) { gotoxy(10, x+4); printf("%d MAMA",x); }; getchar(); } While #include <stdio.h> #include <conio.h> #include <string.h> void main() { clrscr(); declaracion variables int x=1; instruccion do while do{ gotoxy(10, x+3); printf("%d GATO",x); x++; } while(x<=10); getchar(); } Do while #include <stdio.h> #include <conio.h> #include <string.h> void main() { clrscr(); declaracion variables int x=1; instruccion do while do{ gotoxy(10, x+3); printf("%d GATO",x); x++; } while(x<=10); getchar();}