Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseo de
algoritmos
Programaci
n
Docente: Rosa
Esmeralda Durn Ruz
Definicin de
algoritmo
Algoritmo
Una secuencia finita de
instrucciones precisas y
eficaces para resolver
un problema.
Caractersticas
del algoritmo
Caractersticas
Finito: tiene un inicio y un fin.
1. Pseudocdigo
2. Diagrama de flujo
Representacin del
algoritmo :
Pseudocdigo
Pseudocdigo:
La representacin del algoritmo se hace de
manera narrativa, utilizando palabras
claves, generalmente verbos.
Representacin del
algoritmo :
Pseudocdigo
Fin
Representacin del
algoritmo :
Como podemos ver es muy parecido Pseudocdigo
a las instrucciones que se haban Inicio
escrito antes pero ahora utilizamos Avanza()
Paralelo
palabras donde las acciones deben
ser una sola palabra, es por ello que Avanza()
van juntas cuando son ms de dos RecogeObjeto()
palabras, por ejemplo,
RecojeObjeto, y terminan con Avanza()
parntesis. GiraDerecha()
Se indica con Avanza()
palabras el inicio RecogeObjeto()
y el fin.
GiraIzquierda
Avanza()
RecogeObjeto()
Fin
Representacin del
algoritmo : Diagrama de
flujo
Diagrama de flujo
Larepresentacin del algoritmo se hace
de manera grfica, utilizando smbolos
para representar las instrucciones y
flechas para unirlas e indicar el orden en
que deben ejecutarse (se llaman lneas
de flujo).
Representacin del
algoritmo : Diagrama de
flujo
Paralelo
Las palabras Inicio y Fin se
ponen en los valos. Las
instrucciones que se realizan se
ponen en rectngulos, y las
flechas indican la secuencia.
Representacin del
algoritmo
Inicio
Avanza() Paralelo
Avanza()
RecogeObjeto()
Avanza()
GiraDerecha()
Avanza()
RecogeObjeto()
GiraIzquierda
Avanza()
RecogeObjeto()
Fin
Representacin del
algoritmo
Estructuras de control
Enel ejemplo que hemos visto el robot
solo tiene que avanzar y recoger los
objetos, no tiene que tomar alguna
decisin o repetir muchas veces la misma
instruccin, por lo que tenemos que las
instrucciones son secuenciales.
Al
ser las instrucciones secuenciales
quiere decir que estamos utilizando
estructuras de control secuenciales.
Estructuras de control
Estructuras de control
Existen tres tipos:
Estructuras de control
secuenciales
Son un bloque de instrucciones que se
ejecutan una tras otra, en el mismo orden
en el que estn descritas. Un ejemplo es
como el que se present anteriormente.
Estructuras de control
Secuenciales
Inicio
Avanza() Paralelo
Avanza()
RecogeObjeto()
Avanza()
GiraDerecha()
Avanza()
RecogeObjeto()
GiraIzquierda
Avanza()
RecogeObjeto()
Fin
Estructuras de control
Selectivas
Estructuras de control
Selectivas
Se utilizan cuando la solucin de un
problema conlleva a tomar una decisin.
Veamos un ejemplo:
Estructuras de control
Selectivas
Paralelo
Realizar el algoritmo para que el robot levante
los objetos que se encuentran en el camino,
pero no se sabe en qu casillas hay algn
objeto.
Estructuras de control
Selectivas
Paralelo
Al no saber en qu casilla hay algn objeto,
entonces cada vez que el robot avance a una
casilla tiene que verificar si hay o no algn
objeto.
Estructuras de control
Selectivas
Inicio
Realicemos el Paralelo
Avanza()
algoritmo en Si hayObjeto entonces
pseudocdigo.
RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Fin
Estructuras de control
Selectivas
Podemos ver que cada vez
que avanza el robot a una
casilla verifica si hay algn Inicio
objeto (Si hay objeto Paralelo
Avanza()
entonces), si es verdadero,
Si hayObjeto entonces
es decir, si hay un objeto
entonces lo recoge, de lo RecogeObjeto()
contrario no se hace nada. Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Fin
Estructuras de control
Selectivas
Es importante que
cuando utilicemos una Inicio
estructura selectiva Paralelo
Avanza()
cerremos la misma, en
este caso es con el Fin Si hayObjeto entonces
Si RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Fin
Estructuras de control
Selectivas
Algo que nos puede
ayudar es utilizar las Inicio
sangras, para Paralelo
Avanza()
especificar qu
instrucciones estn Si hayObjeto entonces
dentro de otra RecogeObjeto()
instruccin. Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Fin
Algoritmos y
caractersticas
Ahora veamos el
mismo algoritmo pero Paralelo
en diagrama de flujo.
Algoritmos y
caractersticas
Podemos ver que la
estructura selectiva se pone
dentro del rombo y que
Paralelo
tiene dos flechas de salida,
una cuando es verdadero,
es decir, si hay objeto, y la
otra cuando es falso, es
decir, cuando no hay objeto.
Estructuras de control
Selectivas
Inicio
Avanza() Paralelo
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Avanza()
Si hayObjeto entonces
RecogeObjeto()
Fin Si
Fin
Estructuras de control
Selectivas
Estructuras de control
Repetitivas
Tambin llamadas ciclos.
Permiten ejecutar (realizar) varias veces
un bloque de instrucciones dependiendo
de una condicin.
Veamos un ejemplo:
Estructuras de control
Repetitivas
Inicio
Realicemos el
algoritmo en Paralelo
Mientras no hayPared
pseudocdigo. hacer
Avanza()
Fin Mientras
Fin
Estructuras de control
Repetitivas
Ahora veamos
el algoritmo en Paralelo
diagrama de
flujo.
Estructuras de control
Repetitivas
Inicio
Mientras no hayPared hacer
Avanza()
Fin Mientras
Fin
Estructuras de control
Repetitivas
Paralelo
ALGORITM
O
Se representa
como
PSEUDOCDIGO DIAGRAMA DE
FLUJO
(smbolos
(palabras clave)
)
En resumen
Paralelo
ESTRUCTURAS DE
CONTROL
Son utilizadas para realizar los
algoritmos