Está en la página 1de 43

Notación y uso de Algoritmos

Hendrys Tobar PhD


Un material con actividades en clase creado por
2019
Objetivos de Aprendizaje
• Reconocer el concepto de Algoritmo.
• Planear soluciones a problemas desde una perspectiva
algorítmica
• Diseñar y Ejecutar un algoritmo
• Usar Pseudo-Código para representar algoritmos
• Usar Diagramas de Flujo de Datos para representar
Algoritmos
• Pensar sistémica y logicamente como piensa un
computador para darle instrucciones.
Contextualización
• ¿Cuál es el objetivo
fundamental de los
computadores?
• ¿Qué hacen para
conseguir ese objetivo?
• ¿Siguen
instrucciones?¿Cómo?
• ¿Cómo les ordenamos
esas instrucciones?
• ¿De qué te servirá
aprender a darles
instrucciones? Mohammed hijo de Musa Al-
Juarismi
Contextualización

Analicemos en clase el video “El algoritmo de la amistad” de la popular serie The


Big Bang Theory y discutamos. ¿Qué es un algoritmo?
Lo que Sheldon usa para representarlo es un Diagrama de Flujo de Datos
Dos miembros

Diagrama de Flujo de Datos


actuantes
actuarán como
robots que
seguirán el
algoritmo.

Probemos en
clase si el
algoritmo
funciona.
Definamos ¿Qué es
un algoritmo?
Algoritmo y algoritmia
• Algoritmo: Conjunto ordenado y finito de
operaciones que permite hallar la solución a
un problema. –RAE.

• Algoritmia: Ciencia del cálculo aritmético y


algebraico; teoría de números. –RAE

Creado por: Ing. Jorge Adrián Muñoz Velasco


Algoritmo
(De Wikipedia) En matemáticas, lógica, ciencias de la
computación y disciplinas relacionadas, un algoritmo (del
latín, dixit algorithmus y este del griego arithmos, que
significa «número», quizá también con influencia del
nombre del matemático persa Al-Juarismi)​ es un conjunto
prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permiten llevar a cabo una
actividad mediante pasos sucesivos que no generen
dudas a quien deba hacer dicha actividad.​ Dados un
estado inicial y una entrada, siguiendo los pasos sucesivos
se llega a un estado final y se obtiene una solución
Estructura del algoritmo

Creado por: Ing. Jorge Adrián Muñoz Velasco


Actividad en Clase
Cada tribu deberá propone un algoritmo para solucionar este problema.
Su mamá requiere que traiga queso cuya fecha de vencimiento no sea en
menos de una semana.
Asuman que:
• Hay tres tiendas. Puede calcular la distancia en cuadras
• Cada tienda tiene un estante de quesos
• Cada estante de quesos tiene quesos
• Los quesos muestran su fecha de vencimiento
• Usted quiere ir a la tienda más cercana (porque le da pereza)
Escriban las instrucciones en un trozo de papel de manera que un robot
pueda seguirlas (no hace falta que sea pseudo-código o dfd)
Actividad Kinestésica: Gallinita
Ciega
• Hay un problema sencillo: El profesor
pondrá un premio en el piso del salón.
• Un miembro de la tribu debe elegir un
miembro que será la gallinita ciega; Su
objetivo es conseguir el premio (Salvar la
ranita por 1000PX)
• Cada tribu debe escribir un algoritmo para
que el profesor lo ejecute dando órdenes a
la gallinita ciega.
• Si el algoritmo falla o demora demasiado,
se pasa a la siguiente tribu.
De vuelta a los básico (Sentencias y
funciones)
• Las sentencias son instrucciones que damos al
computador que se escriben en un lenguaje
de programación para que él las entienda.
• Las sentencias son de muchos tipos y tienen
muchos objetivos.
Notación en Pseudócódigo
Pseudocódigo
Es una forma de representar algoritmos. El
pseudocódigo es una representación del algoritmo
en un formato más estricto que el texto libre. En él
se trata de eliminar la ambigüedad y puede ser
codificado con relativa facilidad en un lenguaje de
programación. En el pseudocódigo se omiten
detalles propios de los lenguajes para evitar el
ruido, es decir, elementos que nada tienen que ver
con el algoritmo en sí.
Los algoritmos a continuación
están escritos en Pseudocódigo
Sentencias
• Estas son 3 sentencias. ¿Puedes decir qué
hacen?
Estructuras condicionales

¿Qué hace este


código?
Estructuras condicionales
• Las estructuras
condicionales validan
una condición, si se
cumple, ejecuta una
parte del código (lo que
va después del then,
sino, ejecuta la otra
parte (lo que va
después del else)
Estructuras cíclicas
Estructuras cíclicas
• Las estructuras cíclicas
se ejecutan varias veces
mientras se cumpla la
condición.
• ¿Cuántas veces se
ejecutará este código?
Funciones
Funciones
• Las funciones
encapsulan código que
cumple una función.
• ¿Qué hace el código de
la izquierda?
Salvemos a los pájaros
• Pondremos a prueba nuestros conocimientos hasta el momento
salvando al pájaro en los juegos de Blocky Games
Notación de algoritmos en
Diagrama de Flujo de Datos
Representación de algoritmos
Recordemos los
algoritmos que hemos
hecho hasta ahora.

¿Verdad que resultaba


complicado
representarlos?
¿Por qué?
Diagramas de Flujo de Datos
Un diagrama de flujo es una representación gráfica del
flujo de ejecución del algoritmo. Al iniciar el algoritmo se
tiene un único punto de partida, y al finalizar, un único
punto de llegada. Tiene la ventaja de poder apreciar
visualmente el comportamiento del algoritmo ante
determinados datos de entrada y seguir gráficamente las
operaciones que se llevan a cabo desde su inicio hasta su
finalización; sin embargo en algoritmos complejos la
representación por medio de este puede resultar
demasiado complicada.
Actividad
• Una tribu organizará la explicación de este
algoritmo.
• Por turnos, los miembros de la tribu deben
mencionar qué hace el algoritmo.
• Cada miembro solo puede hacer una
oración.
• Sólo puede hablar un miembro a la vez.
• Pueden organizarse y escribir un guión si
quieren.
• Si un miembro se equivoca, el miembro
pierde 10 PG.
• Si la tribu gana, gana 200PX.
En dialecto PSEint
En dialecto PSEint
En dialecto PSEint
Actividad
• Crear alguno de estos algoritmos en el PSEint
Funciones
• Las funciones son pequeños algoritmos
llamados Sub-Algoritmos que realizan una
operación.
• Las funciones se pueden invocar
• Una función de uso común es la función
Escribir. Que escribe algo en pantalla.
Funciones
• También hay una función que se encarga de
Pedir datos al usuario.
• Se llama Leer
• Los usuarios suelen ingresar los datos por
medio del teclado, mouse, TouchScreen, etc.
Podemos crear nuestras propias
funciones
• Las funciones suelen recibir unos datos llamados
parámetros
• Las funciones pueden retornar una respuesta
• Por ejemplo podemos tener la función calcular
cuadrado.
• Esta función tiene
– Parámetro: El valorOriginal al cual queremos calcular el
cuadrado
– Retorna: El valor multiplicado por sí mismo (el cuadrado)
Explicar colaborativamente el
algoritmo
Bibliografía
• Videos de CrashCourse Computer Science:
https://www.youtube.com/playlist?list=PLME-
KWdxI8dcaHSzzRsNuOLXtM2Ep_C7a
• Meza. E.,(2018). Apuntes de Algoritmia,
Editorial Universidad del Cauca.
Sobre los derechos
Los contenidos del presente objeto de aprendizaje son propiedad de su autor Hendrys
Tobar. Algunas imágenes y cotenidos son tomados y adaptados de los autores
relacionados en la Bibliografía
e-mail: fabian@unicauca.edu.co

Los usuarios de estos contenidos:


Deberán reconocer los créditos del objeto de aprendizaje de la forma especificada por
el autor, podrán copiar, distribuir, y comunicar públicamente el objeto de aprendizaje,
no podrán hacer uso comercial del objeto de aprendizaje, ni cobrar por su acceso, si
producen una obra nueva a partir de estos contenidos, deberán liberarla bajo licencia
Creative Commons Attribution NonCommercial ShareAlike 2.5 Colombia, si
realizan modificaciones a la obra original, deberán informar y compartir de dichos
cambios con el autor.

También podría gustarte