Logo Studenta

Análise de Dados de Acidentes de Trânsito

¡Este material tiene más páginas!

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

Continuar navegando

Contenido elegido para ti

14 pag.
Ejercicios de Control en Programación

Colégio Objetivo

User badge image

Efrain Mamani Flores

212 pag.
10 pag.
Lista de Exercícios Resolvidos

BUAP

User badge image

Estudiando Y Aprendendo

22 pag.
Pseint

SIN SIGLA

User badge image

Edson Ezequiel Andy Jipa