Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Alumno: Juan Sebastián Castro Hernández Asignatura: Lógica de Programación Docente: Luis Fernando García Bendek Fecha: 4 de abril de 2017 TALLER DE INSTRUCCIONES REPETITIVAS PUNTO 1: 1. Una oficina de seguros ha reunido datos concernientes a todos los accidentes de tránsito ocurridos en el área metropolitana de Medellín en el último año. Por cada conductor involucrado en un accidente se toman los siguientes datos: año de nacimiento, sexo (1: Femenino, 2: Masculino), registro del carro (1: Medellín. 2:Otras ciudades). Hacer un programa que muestre: Porcentaje de conductores menores de 25 años. Porcentaje de conductores del sexo femenino. Porcentaje de conductores masculinos con edades entre 12 y 30 años. Porcentaje de conductores cuyos carros están registrados fuera de Medellín Algoritmo Porcentaje_conductores Definir sexo,fnacimiento,registro,contador como entero; Definir procon25,pmujeres,phombres,pregistro como reales;//en orden guardan: promedio de consuctores con 25 años o menos, promedio de mujeres conductoras, //promedio de hombres entre 12 y 30 años,promedio de vehiculos registrados fuera de Medellin} Definir contcond como entero; //suma la cantidad de conductores Definir contmuj como entero; //guarda el numero de mujeres que conducen Definir conthomb como entero; //guarda el numero de hombres Definir suma25 como entero;//guarda numero de conductores menores de 25 Definir suma30hombres como entero;//guarda el numero de hombres con edades entre 12 y 30 años Definir contregistro como entero; //guarda el numero de carros registrados por fuera de medellin //inicializacion de variables contcond<-0; contador<-1; contmuj<-0; conthomb<-0; suma25<-0; suma30hombres<-0; contregistro<-0; Escribir "cuantos conductores son" leer contcond; Mientras contador<=contcond Hacer Escribir "ingrese la fecha de nacimiento del conductor (año)",cont; Leer fnacimiento; Escribir "ingrese el sexo del conductor (1.masculino-2.femenino)"; Leer sexo; Escribir "ingrese el registro del conductor (1.medellin-2.otras)"; Leer registro; Si fnacimiento<1992 Entonces; suma25=suma25+1; Fin Si; Si sexo=2 Entonces; contmuj=contmuj+1; Fin Si; Si fnacimiento>1987 y fnacimiento<2005 Entonces; suma30hombres=suma30hombres+1; Fin Si; Si registro=2 Entonces contregistro=contregistro+1 Fin Si contador<-contador+1; Limpiar Pantalla; Fin Mientras; Limpiar Pantalla; procon25<-suma25*100/contcond pmujeres<-contmuj*100/contcond phombres<-suma30hombres*100/contcond pregistro<-contregistro*100/contcond Escribir "el porcentaje de conductores menores de 25es ", procon25, " %" Escribir "el porcentaje de mujeres conductoras es de ",pmujeres, " %" Escribir "el porcentaje de hombres entre 12 y 30 años es de ",pmhombres, " %" Escribir "el porcentaje de vehiculos registrados fuera de medellin es de ",pregistro," %" FinAlgoritmo Pruebas de escritorio PUNTO 2: 2. Se tiene la siguiente información por cada uno de los N estudiantes de la universidad: 1. Edad 2. Sexo (1: masculino; 2: femenino) 3. Carrera (1: ingeniería; 2: otra carrera) Hacer un programa que obtenga: Promedio de edad de los estudiantes de Ingeniería. Porcentaje de hombres en la universidad. Porcentaje de mujeres que estudian Ingeniería. Algoritmo Informacion_de_N_estudiantes Definir N como entero; Definir edad como entero; Definir sexo como entero; Definir carrera como entero; Definir cont como entero Definir sumaedad como entero; //guarada la suma de las edades de los estudiantes Definir conthom como entero; //guarda el numero de hombres en la u Definir contmujer como entero; //guarda el numero de mujeres de ingeniería Definir promedad como real; //guarda el promedio de edades de los estudiantes de ingeniería Definir phmbres como real; //porcentaje hombres en la u Definir pmujeres como real; //porcentajes de mujeres en ingenieria sumaedad<-0; cont<-1; contmujer<-0; conthom<-0; Escribir "¿cuantos estudiantes son?"; Leer N; Mientras cont<=N Hacer Escribir "ingrese la edad del estudiante No.",cont; Leer edad; Escribir "ingrese el sexo del estudiante (1.masculino-2.femenino)"; Leer sexo; Escribir "ingrese la carrera del estudiante (1.ingenieria-2.otras)"; Leer carrera; Si carrera=1 Entonces sumaedad=sumaedad+edad Fin Si Si sexo=1 Entonces conthom<-conthom+1 Sino Si carrera=1 Entonces contmujer<-contmujer+1 Fin Si Fin Si cont<-cont+1; Fin Mientras promedad<-sumaedad/N; phombres<-conthom/N*100 pmujeres<-contmujer/N*100 //SALIDA DE DATOS Escribir "el promedio de edades es de ", promedad, " años" Escribir "el porcentaje de hombres en la universidad es de ",phombres, " %" Escribir "el porcentaje de mujeres en ingenieria es de ",pmujeres, " %" FinAlgoritmo PUNTO 3: Por cada uno de N estudiantes se tiene la nota obtenida es una materia. Hacer un programa que obtenga: la nota máxima, la mínima, el promedio general, cuantos perdieron y cuantos ganaron la asignatura. Controlar el ingreso de las notas para que estén comprendidos entre 5 y 0. Si hay error en el ingreso de las notas debe repetir el intento, no salir del programa. Algoritmo notas_estudiantes Definir n,contador como entero Definir Nota como real; Definir D1 como real;//almacena los datos para sacar el promedio de notas Definir D2 como real;//almacena los datos para sacar el promedio de notas Definir D3 como real; //almacena los datos para sacar el promedio de notas Definir nmayor como real; Definir nmenor como real; contador<-1; D1<-0; D2<-0; D3<-0; nmayor<-0; nmenor<-5; escribir "numero de estudiantes"; leer n; Para contador<-1 Hasta n Con Paso 1 Hacer escribir "escriba la nota del estudiante "; leer nota; Si nota>=0 y nota<=5 Entonces D1<-D1+nota; promnota<- D1/n; Sino escribir "escriba correctamente la nota del estudiante, entre 0 y 5"; leer nota; D1<-D1+nota; promnota<- D1/n; Fin Si si nota>=nmayor entonces nmayor<-nota; Sino nmayor<-nmayor; FinSi si nota<=nmenor entonces nmenor<-nota; Sino nmenor<-nmenor; FinSi si nota>=3.0 entonces D2<-D2 + 1; sino D3<-D3 + 1; FinSi Fin Para escribir "La mayor nota fue", nmayor; escribir "La menor nota fue", nmenor; escribir "El promedio general fue de", promnota; escribir "La cantidad de estudiantes que paso la materia fue de ", D2; escribir "El numero de estudiantes que perdieron fue de ", D3; FinAlgoritmo PUNTO 4: Hallar la media aritmética (M), la varianza (V) y la desviación (E) típica de la altura de una muestra de población de N individuos. Algoritmo medidas_de_tendencia_central Definirmedia,varianza,desviacion,dato,dato1 como real Definir N como entero //Inicializacion de variables dato<-0 dato1<-0 //entrada de datos Escribir "por favor ingrese el numero total de datos" Leer N //proceso Para i<-1 Hasta N Con Paso 1 Hacer Escribir "ingrese cada uno de los datos" leer x dato<-dato+x media<-dato/N Fin Para Escribir " " Para i<-1 Hasta N Con Paso 1 Hacer Escribir "ingrese los datos" leer x dato1<-dato1+(media-x)^2 Fin Para varianza<-dato1/N desviacion<-varianza^(1/2) //salida de resultados Escribir "la media aritmetica es ",media Escribir "la varianza es ", varianza Escribir "la desviacion estandar es ",desviacion FinAlgoritmo PUNTO 5: Dos números son amigos, si cada uno de ellos es igual a la suma de los divisores propios del otro. Por ejemplo 220 y 284 son amigos ya que: la suma de los divisores de 220 es: 1 +2+4+5+10+11+20+22+44+55+110 = 284. La suma de los divisores de 284 es: 1+2+4+71+142 =220. Diseñe un programa que muestre todas las parejas de números amigos menores o iguales que m, siendo m un número introducido por teclado. Algoritmo Ejercicio_5_numeros_amigos Definir numero1,numero2,contador1,contador2,suma1,suma2,aux1,aux2 como entero //inicializacion de variables contador1<-1 contador2<-1 //ingreso de datos Escribir "ingrese dos numeros para determinar si son amigos o no" Leer numero1 leer numero2 //proceso Mientras contador1<numero1 Hacer Si numero1 mod contador1=0 Entonces suma1<-contador1+aux1; aux1<-suma1; Fin Si contador1<-contador1+1 Fin Mientras Mientras contador2<numero1 Hacer Si numero2 mod contador2=0 Entonces suma2<-contador2+aux2 aux2<-suma2 Fin Si contador2<-contador2+1 Fin Mientras Limpiar Pantalla //salida de datos Si suma1=numero2 y suma2=numero1 Entonces Escribir Numero1," y ",numero2," son numeros amigos" Sino Escribir Numero1," y ",numero2," NO son numeros amigos" Fin Si FinAlgoritmo EJERCICIO 6: Se desea organizar una competencia de motociclismo, para la que se han establecido 5 categorías: · Primera: cilindrajes de motos hasta l00 cc. · Segunda: cilindrajes de motos de l0l cc hasta 250 cc. · Tercera: cilindrajes de motos de 251 cc hasta 350 cc. · Cuarta: cilindrajes de motos de 351 cc hasta 500 cc. · Quinta: cilindrajes de motos superiores a 500 cc. Por cada participante se tiene un registro con los siguientes datos: · Identificación. · Nombres. · Categoría en la que se inscribió. · Cilindraje de la moto. Elaborar un algoritmo que: · Compruebe la validez de la categoría dada, respecto al cilindraje dado por cada participante · Muestre la cantidad de participantes aceptado en cada categoría. · Muestre el total de participantes aceptados. Algoritmo competencia_motociclistica definir c,suma1,suma2,suma3,suma4,suma5,I,categoria Como Entero definir N como caracter definir x como entero Repetir escribir "Ingrese los datos" escribir "ingrese numero identificacion" leer I escribir "ingrese el nombre del participante" leer N escribir "categoria en la que se inscribio (1 a 5)" leer categoria escribir "ingrese el cilindraje de la moto" leer c si categoria =1 entonces si c>0 y c<=100 entonces escribir "participante aceptado en categoria 1" suma1<-suma1+1 sino escribir "el participante no fue aceptado en la categoria 1" FinSi fin si si categoria =2 entonces si c>=101 y c<=250 entonces escribir "participante aceptado en categoria 2" suma2<-suma2+1 Sino escribir "el participante no fue aceptado en la categoria 2" FinSi fin si si categoria =3 entonces si c>251 y c<=350 entonces escribir "participante aceptado en categoria 3" suma3<-suma3+1 Sino escribir "el participante no fue aceptado en la categoria 3" FinSi fin si si categoria =4 entonces si c>351 y c<=500 entonces escribir "participante aceptado en categoria 4" suma4<-suma4+1 Sino escribir "el participante no fue aceptado en la categoria 4" FinSi fin si si categoria =5 entonces si c>500 entonces escribir "participante aceptado en categoria 5" suma5<-suma5+1 sino escribir "el participante no fue aceptado en la categoria 5" FinSi fin si totalparticipantes<-suma1+suma2+suma3+suma4+suma5 escribir "ingrese 2 para terminar o 1 para seguir" leer x Hasta Que x=2 escribir "el numero de participantes aceptados en la categoria 1 es:" " " suma1 escribir "el numero de participantes aceptados en la categoria 2 es:" " " suma2 escribir "el numero de participantes aceptados en la categoria 3 es:" " " suma3 escribir "el numero de participantes aceptados en la categoria 4 es:" " " suma4 escribir "el numero de participantes aceptados en la categoria 5 es:" " " suma5 escribir "el numero de participantes aceptados en la competencia es:" " " totalparticipantes FinAlgoritmo EJERCICIO 7: Una empresa extranjera de aviación fumiga cosechas contra una gran variedad de plagas. Los valores cobrados a los granjeros dependen de lo que éste desea fumigar y de cuántas hectáreas se fumigan, de acuerdo a la siguiente distribución: · Tipo 1: fumigación contra malas hierbas, $25000 por hectárea. · Tipo 2: fumigación contra langostas, $37500 por hectárea. · Tipo 3: fumigación contra gusanos, $5000 por hectárea. · Tipo 4: fumigación contra todo lo anterior, $75000 por hectárea Si el área a fumigar es mayor de 1000 hectáreas, el granjero goza de un 5% de descuento. Además, cualquier granjero cuya cuenta sobrepase $10000000 se le descuenta un 10% sobre la cantidad que exceda dicho precio. Si se aplican ambos conceptos, el correspondiente a la superficie se considera primero. Por cada pedido se tiene la siguiente información: nombre del granjero, tipo de fumigación debe suministrar: nombre del granjero y valor a pagar. Algoritmo Costo_de_la_fumigacion DefinirTfumigacion como entero //permite que el usuario ingrese el tipo de fumigacion que desea hacer Definir area como entero //cantidad en hectareas a fumigar Definir precio1,precio2,precio3,precio4,option como entero //contiene los valores de la fumigacion y la otra para saber si repite el aplicativo o no Definir Nombre como caracter //permitira controlar cuando se cambie entre cada granjero //inicializacion de variables precio1<-25000 //fumigacion para malas hiervas precio2<-37500 //fumigacion contra langostas precio3<-5000 //fumigacion contra gusanos precio4<-75000 //fumigacion de todo lo anterior Repetir Escribir "¿Como se llama el granjero?" leer Nombre Escribir "ingrese el area a fumigar" leer area Escribir "ingrese que tipo de fumigacion necesita" leer Tfumigacion Segun Tfumigacion Hacer 1: Si area>1000 Entonces Si costo >10000000 Entonces costo<-area*precio1-(area*precio1*0.05) Sino costo<- area*precio1 -((area*precio1-10000000)*0.1) Fin Si costo<-area*precio1-(area*p1*0.05) Sino costo<-area*precio1 Fin Si 2: si area> 1000 entonces si costo > 10000000 entonces costo<- area*precio2 -(area*precio2*0.05) sino costo<- area*precio2 -((area*precio2-10000000)*0.1) FinSi costo<- area*precio2 -(area*precio2*0.05) Sino costo<- area*precio2 FinSi 3: si area> 1000 entonces si costo > 10000000 entonces costo<- area*precio3 -(area*precio3*0.05) sino costo<- area*precio3 -((area*precio3-10000000)*0.1) FinSi costo<- area*precio3 -(area*precio3*0.05) Sino costo<- area*precio3 FinSi 4: si area> 1000 entonces si costo > 10000000 entonces costo<- area*precio4 -(area*precio4*0.05) sino costo<- area*precio4 -((area*precio4-10000000)*0.1) FinSi costo<- area*precio4 -(area*precio4*0.05) Sino costo<- area*precio4 FinSi De Otro Modo: Escribir "opcion no valida, escoja entre 1 y 4" Fin Segun escribir "Nombre cliente: ", Nombre escribir "El costo por la fumigacion es de, $ ", costo escribir "¿Desea hacer un nuevo calculo? (1.terminar 2.seguir) " leer option Hasta Que option=1 FinAlgoritmo PUNTO 8: Para ser admitidos al club Pilos, los candidatos deben aprobar un test de inteligencia con un puntaje de 74 puntos como mínimo. Los nombres de los candidatos y los elegidos son suministrados a un computador. Elabore un programa que procese la información y determine lo siguiente: 1. Cuantos candidatos aprobaron el test 2. Porcentaje de candidatos que no aprobaron el test 3. Cual fue el mayor puntaje 4. Cual fue el menor puntaje 5. Cuantos candidatos aprobaron el test con un puntaje entre 80 y 100 puntos. Algoritmo admision_club_pilos Definir candidatos,contador,aprobados,noaprobados,may,aprosuperior como entero Definir porcenrepro como real //porcentaje de estudiantes que aprobaron //inicializacion de variables contador<-1 men<-100 //proceso Escribir "ingrese el numero de candidatos" leer candidatos Mientras contador<=candidatos Hacer Escribir "Ingrese la nota del candidato número ",contador; Leer nota; Si nota>=74 Entonces aprobados<-aprobados+1; Sino noaprobados<-noaprobados+1; FinSi Si nota>may Entonces may<-nota; FinSi Si nota<men Entonces men<-nota; FinSi Si nota>=80 y nota<=100 Entonces aprosuperior<-aprosuperior+1; FinSi contador<-contador+1 FinMientras porcenrepro<-noaprobados*100/candidatos; //Resultados Escribir "El total de candidatos que aprobaron el test son ",aprobados; Escribir "El porcentaje de cantidatos que no aprobaron el test es de ",porcenrepro," %"; Escribir "El mayor puntaje fue ",may," puntos"; Escribir "El menor puntaje fue ",men," puntos"; Escribir "El número de cantidatos que aprobaron el examen con un puntaje entre 80 y 100 puntos es de ",aprosuperior; FinAlgoritmo PUNTO 9: Crear un programa que dé al usuario la oportunidad de adivinar un número del 1 al 100 (prefijado en el programa) en un máximo de 4 intentos. En cada pasada deberá avisar de si se ha pasado o se ha quedado corto. Algoritmo adivine_un_numero Definir intentos,numazar,num como entero //inicializacion de variables intentos<-10 numazar <- azar(100)+1 // proceso Escribir "Adivine el numero (de 1 a 100):" Leer num Mientras numazar<>num Y intentos>1 Hacer Si numazar>num Entonces Escribir "El numero es muy bajo" Sino Escribir "El numero es muy alto" FinSi intentos <- intentos-1 Escribir "Le quedan ",intentos," intentos:" Leer num FinMientras Si numazar=num Entonces Escribir "Bien usted adivino en ",11-intentos," intentos." Sino Escribir "El numero era: ",numazar FinSi FinAlgoritmo PUNTO 10: Elaborar un programa que elabore la multiplicación de 2 números enteros usando el método de la multiplicación rusa. Consultar en el siguiente enlace como es el procedimiento. Algoritmo Multiplicacion_rusa Definir multiplicando,multiplicador,producto,var Como Entero; Escribir "Determine el multiplicando"; Leer multiplicando; Escribir "Determine el multiplicador"; Leer multiplicador; Repetir multiplicando<-Trunc(multiplicando/2); multiplicador<-multiplicador*2; Si multiplicando mod 2!=0 Entonces producto<-multiplicador+var; FinSi var<-producto; Hasta Que multiplicando=1 Escribir "El producto =",producto; FinAlgoritmo image5.png image6.png image7.png image8.png image9.png image10.png image11.png image1.png image2.png image3.png image4.png
Compartir