Uploaded by rfatla82

002-Algoritmos

advertisement
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:
Download