“Este archivo fue creado por Sebastian Flores Guasace, para que el alumno ubique y entienda las bases de la programación lo más rápido posible, con ejemplos claros y sin definiciones demasiadas técnicas” Nota: Todos los ejemplos se hicieron en el programa “PSEINT” Secuencial: Es una acción que se ejecuta una detrás de otra. Este tipo de estructura se basa en las 5 fases que consta todo algoritmo o programa: Definición de variables (Declaración), Inicialización de variables, Lectura de datos, Cálculo, Salida Ejemplo Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Entrada: Salarios de los empleados Salida: Sueldos finales Datos adicionales: aumentos del 10, 12 y 15% Solución: Aumento = sueldo inicial * porcentaje/100 Sueldo final = sueldo inicial + aumento Definición de variables: Sueldo1, Sueldo2, Sueldo3 Serán los sueldos de los empleados Sfinal1, Sfinal2, Sfinal3 Serán los sueldos finales Aumento1, aumento2, aumento3 Serán los aumentos Algoritmo Sueldo_empleados Leer Sueldo1 Leer Sueldo2 Leer Sueldo3 Aumento1 = Sueldo1 * 10 / 100 Aumento2 = Sueldo2 * 12 / 100 Aumento3 = Sueldo3 * 15 / 100 Sfinal1 = Sueldo1 + Aumento1 Sfinal2 = Sueldo2 + Aumento2 Sfinal3 = Sueldo3 + Aumento3 Mostrar 'El sueldo final del primer empleado es: ',Sfinal1 Mostrar 'El sueldo final del segundo empleado es: ',Sfinal2 Mostrar 'El sueldo final del tercer empleado es: ',Sfinal3 FinAlgoritmo ESTRUCTURAS DE CONTROL SELECTIVAS (O ALTERNATIVAS) Se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una o más condiciones para decidir si ciertas acciones deben realizarse o no. Las condiciones también se pueden especificar usando expresiones lógicas (Boolean) Se clasifican en: a) b) c) d) Simples Dobles Compuestas Múltiples Selectivas Simples: Están compuestos únicamente por una opción de acción. Si la condición es verdadera ejecuta la acción o acciones, si es falsa se salta (o ignora) la línea o bloque de código Estructura: Si <condición> Entonces <acción> FinSi Ejemplo: Construir un algoritmo tal, que dado como dato la calificación de un alumno en un examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 8. La entrada serán los datos que ingresaremos por teclado al programa para las condiciones del problema. La salida será resultado que nos pide el problema Entrada: nota del alumno Salida: mostrar un mensaje que diga “aprobado” Solución: Algoritmo calificación_alumno Mostrar 'Ingrese la calificación del examen del alumno' leer nota Si nota > 9 Entonces Mostrar 'Alumno aprobado' FinSi FinAlgoritmo Ponte a prueba 1.2.- Selectivas Dobles: Compuestas por dos opciones de acción, dependiendo de la condición solo ejecutara una acción, por lo general si la condición es verdadera ejecutara la acción1, si es falsa ejecutara la acción2 Estructura: Si <condición> entonces <acción1> Sino <acción2> FinSi Ejemplo: Dado como dato la calificación de un alumno en un examen, escriba "aprobado" si su calificación es mayor que 8 y "Reprobado" en caso contrario. Entrada: nota del alumno Salida: mostrar un mensaje que diga “aprobado” sino mostrar “reprobado” Solución: Algoritmo calificación_alumno Mostrar 'Ingrese la calificación del examen del alumno' leer nota Si nota > 8 Entonces Mostrar 'Alumno aprobado' SiNo Mostrar ‘Alumno reprobado’ FinSi FinAlgoritmo Ponte a prueba 1.2.3.- Selectivas Compuestas: Básicamente son estructuras selectivas anidadas o en cascada. Ejemplo: Dados los datos A, B y C que representan números enteros diferentes, construir un algoritmo para escribir estos números en forma descendente. Este es un ejemplo de los algoritmos conocidos como de Lógica Pura, ya que poseen muchas decisiones y muchas bifurcaciones. Entrada: A, B y C Salida: mostrar A, B y C ordenados descendentemente. Solución: La dinámica del problema es comparar dos números a la vez para conocer cuál es el mayor. Selectivas Múltiples: Permite que el flujo del programa se divida por varias ramas hasta encontrar la opción correcta según la variable numérica ingresada, la opción “De otro modo” se ejecutara cuando el usuario ingrese una opción que no exista Estructura: Segun variable_numerica Hacer opcion_1: secuencia_de_acciones_1 opcion_2: secuencia_de_acciones_2 opcion_3: secuencia_de_acciones_3 De Otro Modo: secuencia_de_acciones_dom Fin Segun Ejemplo Leer un día de la semana y mostrar el día que selecciono el usuario, de haber ingresado un dato incorrecto mostrar “Error, ingrese un día del 1 al 7”. Entrada: número del día de la semana Salida: mostrar el día de la semana Solución: Algoritmo Dia_semana Mostrar 'Ingrese un número del día de la semana' leer dsemana Segun dsemana Hacer 1: Mostrar 'Lunes' 2: Mostrar 'Martes' 3: Mostrar 'Miercoles' 4: Mostrar 'Jueves' 5: Mostrar 'Viernes' 6: Mostrar 'Sábado' 7: Mostrar 'Domingo' De Otro Modo: Mostrar 'Error, Ingrese un día del 1 al 7' Fin Segun Fin Algoritmo Ponte a prueba 1.- Imprimir el mes del año en caso de que su número corresponda al mes y decir cuantos días tiene cada mes. Ejemplo 1 = Enero y tiene 31 día. Caso contrario. Si esta fuera del rango, es decir de 1 a 12 que imprima un mensaje de error EXPRESIONES U OPERADORES LÓGICOS Sirven para plantear condiciones o comparaciones, dan como resultado un valor booleano (true o false), estos son: AND, OR, XOR Y NOT Por lo general cuando se utilizan operadores lógicos, éstos van acompañados de operadores relacionales (o tambien llamados operadores de comparación): <, >, <=, >=, <>, =… Operador lógico AND: Revisa que se cumpla dos o más condiciones, si una condición se cumple y la otra no, entonces no hará nada. Ejemplo: Una escuela aplica dos exámenes a sus aspirantes, por lo que cada uno de ellos obtiene dos calificaciones denotadas como C1 y C2. El aspirante que obtenga calificaciones mayores que 80 en ambos exámenes es aceptado; en caso contrario es rechazado. Entrada: Calificaciones C1 y C2 Salida: Mostrar “Aspirante aceptado”, sino mostrar “Aspirante rechazado” Solución: Algoritmo Examen_aspirantes Mostrar 'Ingrese la nota del examen C1' Leer C1 Mostrar 'Ingrese la nota del examen C2' leer C2 Si (C1 > 80) y (C2 > 80) entonces Mostrar "Aspirante aceptado" Sino Mostrar "Aspirante rechazado" Fin si Fin Algoritmo Ponte a prueba 1.- Determinar si un número es múltiplo de 6 y 9 a la vez Operador lógico OR: Revisa que se cumpla al menos una condición. Ejemplo: Una escuela aplica dos exámenes a sus aspirantes, por lo que cada uno de ellos obtiene dos calificaciones denotadas como C1 y C2. El aspirante que obtenga una calificación mayor que 90 en cualquiera de los exámenes es aceptado; en caso contrario es rechazado. Entrada: calificaciones C1 y C2 Salida: mostrar “aspirante aceptado”, sino mostrar “aspirante rechazado” Solución: Algoritmo Examen_aspirantes Mostrar 'Ingrese la nota del examen C1' Leer C1 Mostrar 'Ingrese la nota del examen C2' leer C2 Si (C1 > 90) o (C2 > 90) entonces Mostrar "Aspirante aceptado" Sino Mostrar "Aspirante rechazado" Fin si FinAlgoritmo Operador lógico XOR: Operador lógico NOT: TIPO DE DATO BOOLEANO Un tipo de dato booleano solo puede tener dos valores (TRUE O FALSE) Ejemplo Resuelve la siguiente serie: 1, 0, 1, 0, 1, 0, 1, 0, 1 Solución: Algoritmo serie_boolean leer n a=1 bolean = Verdadero Para i = 1 Hasta n Hacer Mostrar a si bolean = Verdadero Entonces a=a-1 bolean = Falso SiNo si bolean = falso Entonces a=a+1 bolean = Verdadero FinSi FinSi FinPara FinAlgoritmo Ponte a Prueba 1.- 2, 1, 4, 3, 6, 5, 8, 7, 10, 11.., 2.- S = 10 + 13 + 26 +29 + 58 + 61 + 122 + 125, ¿Cuál es suma de los primeros cuatros números?