640 likes | 1.5k Views
ESTRUCTURAS REPETITIVAS EJEMPLOS. MENU DEL DIA. Repaso condicionales. Repaso ciclos. Estructura mientras. Estructura para. Problemas. Variables. Miscelánea de ejemplos. CONDICIONALES. DIAGRAMA DE FLUJO. PSEUDOCODIGO. CONDICIONALES - ESCENARIOS. Alabado sea Chuck Norris.
E N D
MENU DEL DIA • Repaso condicionales. • Repaso ciclos. • Estructura mientras. • Estructura para. • Problemas. • Variables. • Miscelánea de ejemplos.
CONDICIONALES DIAGRAMA DE FLUJO PSEUDOCODIGO
CONDICIONALES - ESCENARIOS Alabado sea Chuck Norris.
CONDICIONALES - ESCENARIOS La forma de la estructura depende del problema Ejemplo: … si el encuestado es mayor de edad se pregunta si es casado si no se pregunta si es posee hermanos, se solicita la cantidad y se indaga si es el mayor de estos; si es menor de edad despide al usuario … ... SI (edad >= 18) ENTONCES ... SI (estado == 1) ENTONCES ... SI_NO SI (solo == 0) ENTONCES ... SI (mayor == 1) ENTONCES ... FIN_SI ... FIN_SI ... FIN_SI SI_NO ESCRIBA(‘suerte es que le digo’) FIN_SI • Variables: • edad: Edad. • estado: (0: soltero, 1: casado) • solo: (0: Tiene hermanos, 1: Hijo único) • num_hermanos: Numero de hermanos. • mayor: (1: Es el mayor de los hermanos, 0: No es el mayor de los hermanos).
REPASO CICLOS • Empleado para la realización de tareas repetitivas. • Tiene 2 componentes principales, la cabecera y el cuerpo. • En la cabecera va la condicion que se evalúa para determinar la repetición o no del ciclo • El cuerpo contiene las instrucciones del ciclo que se repiten.
ESTRUCTURA MIENTRAS DIAGRAMA DE FLUJO PSEUDOCODIGO
ESTRUCTURA PARA PSEUDOCODIGO DIAGRAMA DE FLUJO
ESCRIBA(‘Digite el ...’) LEA(N) PARA (i=1:N:1) HAGA ... FIN_PARA ESCRIBA(‘Digite 1 si...’) LEA(ban) MIENTRAS (ban == 1) HAGA ... ESCRIBA(‘Digite 1 si...’) LEA(ban) FIN_PARA ESCRIBA(‘Digite el dato...’) LEA(d) MIENTRAS (d != -1) HAGA ... ESCRIBA(‘Digite el dato...’) LEA(d) FIN_PARA
total_recolectado total_boletos VIP: $7000 Normal: $5000
EJEMPLO 1 (Una sencilla suma) • Realizar un programa que realice la suma de los N primeros números usando la estructura MIENTRAS y usando la estructura PARA. • Solución en Pseint: • ejemplo1_mientras • ejemplo1_para
EJEMPLO 2 (Factorial de un numero) • Implementando las estructuras PARA y MIENTRAS realizar un algoritmo que calcule el factorial de un numero, es decir: n! = n*(n-1)*(n-2)*…*3*2*1. • Mejore el programa anterior de tal modo que le permita al usuario repetir el proceso cuantas veces desee. • Solución en Pseint: • ejemplo2_mientras • ejemplo2_para • ejemplo2_mejorado_centinela. • ejemplo2_mejorado_bandera.
EJEMPLO 3 • En una entidad crediticia, se necesita tener actualizado el valor en pesos que se han ingresado para cuentas corrientes y cuentas de ahorros por separado. Para n clientes del banco, hacer un programa que le permita saber el monto total consignado en cuentas corrientes y el monto consignado en cuentas de ahorros. Validar que ninguno de los montos ingresados sea negativo y de serlo no tenerlo presente en la sumatoria y contarlo para después mostrar que porcentaje del total de consignaciones fueron negativas. • Solución en Pseint: • ejemplo3
EJEMPLO 4 • Construya un algoritmo que permita mostrar los números enteros desde 0 hasta N. N debe ser positivo, si el usuario lo ingresa negativo hay que modificarlo (es decir volverlo positivo). • Modifique el anterior ejercicio para mostrar los número enteros desde 0 hasta -N. Si el usuario ingresa N positivo hay que volverlo negativo. • Modifique el anterior ejercicio para que se muestren los números enteros desde N hasta M. N debe ser menor que M y en caso contrario se deben intercambiar. • Modifique el ejercicio anterior para que se muestren solo los números pares desde N hasta M. • Modifique el ejercicio anterior para que se muestren los números pares o impares según el usuario lo desee desde N hasta M. N debe ser menor que M y en caso contrario hay que intercambiarlos. • Leer por el teclado N números enteros. Se desea saber cuantos de ellos son divisibles exactamente por 7 y cuantos no lo son.
EJEMPLO 5 • Hacer un sistema para calcular el promedio de N notas de seguimiento ingresadas por el teclado. Las notas deben estar en el intervalo [0,5] no tener en cuenta notas fuera del rango y al final mostrar que porcentaje del total de notas no fue correcto. • Solución en Pseint: • ejemplo5
EJEMPLO 6 • Acumular N numeros ingresados por el teclado, la idea es que solo se acumulen dígitos positivos mayores a cero, de forma que al final se muestre que porcentaje de los datos no se incluyeron en el acumulado mostrado. • Solución en Pseint: • ejemplo6
EJEMPLO 7 • Construir un programa que permita acumular los números terminados en 1, sumar los números terminados en 2 y contar los números terminados en 3 que hay en el intervalo [p,q]. Modificar de ser necesario a p y a q, para que ambos sean positivos y p sea menor que q. • Solución en Pseint: • ejemplo7
EJEMPLO 8 • Construir un programa que genere los números pares desde N en adelante, mientras el usuario lo desee. • Solución en Pseint: • ejemplo8 Como aquí se desea mostrar como mínimo un numero se recomienda usar la estructura REPETIR.
EJEMPLO 9 • Una oficina de seguros de Medellín 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 algoritmo que muestre: • El porcentaje de conductores menores de 25 años. • Porcentaje de conductores de sexo femenino. • Porcentaje de conductores masculinos con edades entre los 12 y 30 años. • Porcentaje de conductores cuyos carros están registrados fuera de Medellín. • Solución en Pseint: • ejemplo9
EJEMPLO 10 • Se tiene una serie de registros de ellos tiene 4 valores, que corresponden a las longitudes de diferentes patas de una mesa. Elaborar de un algoritmo que chequee si con los 4 valores leídos en cada registro se puede fabricar una mesa no coja, de cuatro patas o, una mesa no coja de 3 patas en caso de que no se pueda fabricar una de 4. El algoritmo debe mostrar el número de mesas de 4 y 3 patas que se pueden formar, lo mismo que la cantidad de patas sobrantes. • Solución en Pseint: • ejemplo10
EJEMPLO 11 (Series) • Realizar un algoritmo que muestre los primeros N términos la serie Fibonacci, la cual tiene: 0, 1, 1, 2, 3, 5, 8, ... • Solución en Pseint: • ejemplo11
EJEMPLO 12 (Series 2) • Realizar un algoritmo que muestre los primeros N términos de la siguiente serie: 0, - 2, 4, -6, 8, -10, 12, ... • Solución en Pseint: • ejemplo12
EJEMPLO 13 (Series 3) • Realizar un algoritmo que muestre los primeros N términos de la siguiente serie: 0, -2, 4, -6, 8, 10,- 12, 14, 16, 18, -20, 22, 24, 26, 28, -30 ... • Solución en Pseint: • ejemplo13
EJEMPLO 14 (Series 4) • Elaborar un algoritmo que lea un valor de x, y calcule el valor de los N primeros términos de la serie: • Solución en Pseint: • ejemplo14
EJEMPLO 16 (Problema) • Varias ambulancias recorren la ciudad y cuando se recibe en la CENTRAL una llamada se informa la ubicación de la emergencia mediante coordenadas, lo mismo que la ubicación de todas las ambulaciones. La central es el punto (0,0) u origen de coordenadas. Se sabe que existen N ambulancias en servicio. Realice un algoritmo que, dada la información necesaria, informe las coordenadas de la ambulancia más cercana al punto de emergencia.
EJEMPLO 17 (Series 5) • Encontrar el valor de para un valor dado de exp(x) dado, mediante la serie: