Algoritmos Prof. Ronald Fallas Rojas Definición de algoritmo Como hemos visto en clases anteriores, un algoritmo puede verse como un conjunto de pasos ordenados de forma lógica para resolver un problema. También hemos visto que los algoritmos tienen un inicio y un final, por lo tanto, decimos que son finitos. Para programar algoritmos utilizaremos las siguientes aplicaciones: En computadora: PSEINT: Es gratuita y se puede descargar desde http://pseint.sourceforge.net/ En celular: Pseudocode: Es gratuita y se descarga desde la tienda de aplicaciones. Entre PSEINT y Pseudocode la sintaxis (reglas de programación) varía un poco, pero les estaré dando los ejemplos para ambos programas. El inicio y el fin del algoritmo se marcan por las palabras reservadas Algoritmo y FinAlgoritmo, todo el código debe estar entre estas dos palabras o de lo contrario nos dará un error. Usaremos como estándar que cuando las instrucciones o nombres que usemos dentro de nuestros programas se compongan de 2 o más palabras escribiremos la primer letra de cada palabra en mayúscula y sin espacios, ni acentos, ejemplo: FinAlgoritmo, FinSi, FinPara, HolaMundo, EsMayor, Algoritmos Prof. Ronald Fallas Rojas etc. El único caso donde podemos dejar espacios y acentos entre palabras es cuando estas estén entre comillas, ejemplo: “Hola Mundo”, “Escriba el primer número”, “Usted es mayor de edad”, etc. Otro aspecto importante es que vamos a poner un punto y coma (;) al final de cada línea de nuestro algoritmo. Crear un algoritmo Inicio del algoritmo, el título se elige por alguno relacionado con lo que haga el algoritmo. Fin del algoritmo, después de esta instrucción no hay más código. Desplegar texto en pantalla. El texto siempre va entre comillas. Despliega el texto en pantalla y al final escribe el valor almacenado en la variable. Lee datos desde el teclado y los guarda en la variable. El nombre de la variable se puede cambiar por el que se elija. Asignar un valor a una variable. La expresión podría ser desde texto “hola mundo”, números, o expresiones como sumas u otras num1 + 5 , 25 * num2, num1 + num2 Algoritmos Ejemplos: Prof. Ronald Fallas Rojas Se usa cuando se necesita que el programa tome una decisión. La expresión lógica es una proposición que tiene un valor de verdadero o falso. Si al evaluarla el resultado es verdadero, se ejecuta el código entre Si y Sino, si el resultado es falso, entonces se ejecuta el código entre Sino y FinSi. El SiNo es opcional. Para comparar valores se usa normalmente los símbolos >, <, =, >=, <=, <> (Mayor que, Menor que, igual, Mayor o igual que, menor o igual que, diferente) En ocasiones PSEINT cambia >= por ≥ , <= por ≤ y <> por ≠ (esto lo hace automáticamente) Si se necesita evaluar varias expresiones o proposiciones, se pueden unir con “y” o “o”. Para la negación se pone “No” antes de la proposición Ejemplo de algoritmo que escribe “Hola Mundo” en pantalla: En este ejemplo se utiliza la instrucción Escribir, la cual escribe textos en la pantalla. Como podemos observar, las palabras reservadas de la herramienta (PSEINT o PSEUDOCODE) se marcan en Azul, mientras las palabras entre comillas en verde. Algoritmos Prof. Ronald Fallas Rojas El algoritmo anterior tiene como nombre holaMundo, donde tampoco podemos dejar espacios ni acentos. Cuando escribamos algoritmos vamos a interactuar con la computadora y le daremos instrucciones para que ejecute. Cuando le enviamos información a la computadora estamos enviando una entrada, mientras que cuando la computadora despliega la información estamos recibiendo una salida. La instrucción Escribir es una instrucción de salida, ya que la computadora escribe texto en la pantalla que nosotros como usuarios podemos ver. La instrucción que utilizamos para enviarle entradas a la computadora es Leer. La instrucción leer siempre va a ir acompañada de una variable. Una variable es un espacio de la memoria de la computadora donde podemos almacenar datos de cierto tipo como texto, números, lógicos (verdadero o falso). A las variables debemos darle un nombre, el cual siempre trataremos de que describa lo que va a almacenar, ejemplo: si vamos a almacenar edades podemos nombrar a la variable edad, si vamos a almacenar nombres, podemos llamarla nombre, si vamos a almacenar marcas de automóviles, podemos nombrarla marcaAuto, etc. Los nombres de variables los vamos a iniciar con una minúscula y también debemos aplicar que no llevan espacios, entonces escribiremos todo junto con la primera letra de cada palabra en Mayúscula, no podemos usar acentos, ni tampoco símbolos o números al inicio. Ejercicio 1: Resolver en PSEINT o PSEUDOCODE. Escribir un algoritmo que escriba en la pantalla “Tres tristes tigres trigo comieron en el trigal”. Al finalizar, si está en clase presencial mostrar el resultado al profesor. Si está en clase virtual tomarle una foto para que suba como evidencia al chat de Teams. Ejercicio 2: Escriba el siguiente algoritmo en PSEINT o PSEUDOCODE: Algoritmos Prof. Ronald Fallas Rojas Cuando termine de escribir el algoritmo ejecútelo con el botón Pseudocode. en Pseint o en El cursor parpadeando en la ventana que se despliega indica que debe escribir algo y darle a la tecla Enter (Intro o Return), en el caso de este programa lo que espera es que se escriba la edad. Para que el programa sea más fácil de entender para el usuario, se le pueden enviar indicaciones con la instrucción Escribir. Haga esta modificación en su algoritmo y luego ejecútelo. Algoritmos Prof. Ronald Fallas Rojas Al finalizar, si está en clase presencial mostrar el resultado al profesor. Si está en clase virtual tomarle una foto para que suba como evidencia al chat de Teams. Ejercicio 3: Escriba el siguiente algoritmo en PSEINT o PSEUDOCODE: La operación de asignación se puede escribir de estas dos formas el carácter de flecha se escribe con <- (Mayor que + Guion): Algoritmos Prof. Ronald Fallas Rojas Evaluar una proposición Cuando necesitamos que el programa evalúe una proposición y pueda tomar una decisión dependiendo de su valor de verdad (verdadero o falso), utilizamos la instrucción Si. En la instrucción anterior si la expresión es verdadera entonces se ejecutará el código dentro del bloque SI, si no se ejecutará el código dentro de la instrucción SINO. Ejercicio 4: Escriba el siguiente ejemplo en PSEINT o Pseudocódigo Al finalizar, si está en clase presencial mostrar el resultado al profesor. Si está en clase virtual tomarle una foto para que suba como evidencia al chat de Teams. Algoritmos Prof. Ronald Fallas Rojas Ejercicio 5: Escriba el siguiente ejemplo en PSEINT o Pseudocódigo Explicación: La operación módulo (en PSEINT se usa el símbolo %) corresponde con el residuo de la división entera (sin decimales). Ejemplo si dividimos 25/2, la división entera es 12 y me sobra 1, si dividimos 22/2, la división entera es 11 y me sobra 0. Para cualquier número se da que, si su módulo 2 es 0, entonces es par. En el siguiente algoritmo se evalúa la expresión, la cual es verdadera cuando el módulo 2 es 0 y falsa en caso contrario num1 % 2=0 Al finalizar, si está en clase presencial mostrar el resultado al profesor. Si está en clase virtual tomarle una foto para que suba como evidencia al chat de Teams. Ejercicio 6: Escriba un algoritmo en PSEINT o Pseudocódigo que cumpla con lo siguiente: Para cualquier módulo se da que, si es 0, entonces el número es divisible por el número del módulo. Ejemplo si num1 % 3 = 0, entonces num1 es divisible entre 3, si num1 % 20 = 0, entonces num1 es divisible entre 20. Escriba un algoritmo que verifique si un número dado desde el teclado es divisible entre 3. Cuando el número sea divisible entre 3 debe escribir un mensaje en pantalla indicándolo y si no fuera divisible igualmente debe escribir un mensaje indicándolo. Algoritmos Prof. Ronald Fallas Rojas Al finalizar, si está en clase presencial mostrar el resultado al profesor. Si está en clase virtual tomarle una foto para que suba como evidencia al chat de Teams. Diagramas de Flujo Cada algoritmo puede traducirse a un diagrama de flujo y viceversa. Ejemplos: Algoritmos Prof. Ronald Fallas Rojas Diagrama de flujo del ejercicio 2: Diagrama de flujo del ejercicio 5: Ejercicio 7: Dibuje su cuaderno a mano Los diagramas de flujo de los Ejercicios 3, 4 y 6, luego muestre al profesor o tómele una foto y la sube al chat de Teams. Ejercicio 8: Escriba en su cuaderno a mano un Algoritmo que sume 3 números, luego páselo a PSEINT o Pseudocode y muéstrelo al profesor o tómele una foto y la sube al chat de Teams. Algoritmos Prof. Ronald Fallas Rojas Ejercicio 9: Escriba en su cuaderno a mano un Algoritmo que reste 2 números, , luego páselo a PSEINT o Pseudocode y muéstrelo al profesor o tómele una foto y la sube al chat de Teams. Ejercicio 10: Escriba en su cuaderno a mano un Algoritmo que nos diga si un número es divisible entre 5, , luego páselo a PSEINT o Pseudocode y muéstrelo al profesor o tómele una foto y la sube al chat de Teams. Ejercicio 11: Escriba en su cuaderno a mano un Algoritmo que nos diga si un año es bisiesto, , luego páselo a PSEINT o Pseudocode y muéstrelo al profesor o tómele una foto y la sube al chat de Teams. Un año es bisiesto cuando se cumple que: 1. Es divisible entre 4. 2. No es divisible entre 100 (excepto si es divisible entre 400). Ejercicio 12: Escriba en su cuaderno a mano que dibuje un árbol de navidad en pantalla, , luego páselo a PSEINT o Pseudocode y muéstrelo al profesor o tómele una foto y la sube al chat de Teams. Ejemplo: