You are on page 1of 66

Unidad 1

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.

Preciso: indica el orden de realizacin de cada


paso.

Definido:si se sigue el algoritmo varias veces,


se debe obtener el mismo resultado cada vez.

Legible: el texto debe ser claro, se entiende y


lee fcilmente.

Eficiente: minimizar el tiempo de ejecucin.


Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo
que el robot levante los
objetos en el camino
propuesto.
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los
objetos en el camino
propuesto.
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los
objetos en el camino
propuesto.
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino
propuesto.
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino
propuesto.
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto. Avanzar
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Avanzar
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto. Avanzar
Girar a la derecha
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Avanzar
Girar a la derecha
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto. Avanzar
Girara la derecha
Avanzar
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Avanzar
Girara la derecha
Avanzar
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto. Avanzar
Girara la derecha
Avanzar
Recoger el objeto
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Avanzar
Girara la derecha
Avanzar
Recoger el objeto
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto. Avanzar
Girar a la derecha
Avanzar
Recoger el objeto
Girar a la
izquierda
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Avanzar
Girar a la derecha
Avanzar
Recoger el objeto
Girar a la
izquierda
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto. Avanzar
Girar a la derecha
Avanzar
Recoger el objeto
Girar a la
izquierda
Avanzar
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Avanzar
Girar a la derecha
Avanzar
Recoger el objeto
Girar a la
izquierda
Avanzar
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto. Avanzar
Girar a la derecha
Avanzar
Recoger el objeto
Girar a la
izquierda
Avanzar
Recoger el objeto
Ejemplo de
algoritmo

Realizar un algoritmo para


Paralelo Avanzar
que el robot levante los Avanzar
objetos en el camino Recoger el objeto
propuesto.
Avanzar
Girar a la derecha
Avanzar
Recoger el objeto
Girar a la
izquierda
Avanzar
Recoger el objeto
Ejemplo de
algoritmo

Cumple con las Paralelo Avanzar


caractersticas? Finito
Avanzar
Preciso
Recoger el objeto
Definido
Avanzar
Legible
Girar a la derecha
Eficiente
Avanzar
Recoger el objeto
Girar a la
izquierda
Avanzar
Recoger el objeto
Representacin
del algoritmo

Un algoritmo se puede representar de dos


formas:

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

Ahora veamos el mismo


Paralelo
ejemplo pero en
pseudocdigo.
Representacin del
algoritmo :
Pseudocdigo
Inicio
Paralelo
Ahora veamos el mismo Avanza()
ejemplo pero en Avanza()
pseudocdigo. RecogeObjeto()
Avanza()
GiraDerecha()
Avanza()
RecogeObjeto()
GiraIzquierda
Avanza()
RecogeObjeto()

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

Ahora veamos el mismoParalelo


ejemplo pero en diagrama
de flujo.
Representacin del
algoritmo : Diagrama de
flujo

Ahora veamos el mismoParalelo


ejemplo pero en diagrama
de flujo.
Representacin del
algoritmo : Diagrama de
flujo

Como podemos ver son Paralelo


exactamente los mismos pasos e
instrucciones del pseudocdigo
solo que se utilizan los smbolos
y flechas.
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

Al tener las mismas instrucciones que el


pseudocdigo podemos decir que un
pseudocdigo se puede pasar en diagrama de
flujo y un diagrama de flujo se puede pasar en
pseudocdigo.

Ambos representan a un algoritmo.


Representacin del
algoritmo

Inicio
Avanza() Paralelo
Avanza()
RecogeObjeto()
Avanza()
GiraDerecha()
Avanza()
RecogeObjeto()
GiraIzquierda
Avanza()
RecogeObjeto()
Fin
Representacin del
algoritmo

Ahora ya sabemos lo que es un algoritmo y


que se puede representar en pseudocdigo y
diagrama de flujo.
Estructuras de control

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

Estructuras de control Selectivas

Estructuras de control Repetitivas


Estructuras de control
Secuenciales

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

Ahora pongamos tanto el pseudocdigo


Paralelo
como diagrama de flujo para que veamos
que son exactamente las mismas
instrucciones.
Algoritmos y
caractersticas

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

Existen tres tipos de estructuras de control


Paralelo
selectivas:

Simples: como la que vimos en este ejemplo,


que solo cuando es verdadero se hace otra
instruccin, cuando es falso no se hace nada
ms.

Dobles: cuando se hace instrucciones si es


verdadero, pero tambin se hacen instrucciones
si es falso.

Mltiples: cuando son diferentes resultados que


se pueden tener, dependiendo de la condicin.
Estructuras de control
Repetitivas

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

El robot debe avanzar


casilla por casilla hastaParalelo
llegar a la ltima que est
limitada por una pared.

Es decir, el robot debe


avanzar varias veces
hasta que se tope con la
pared.
Estructuras de control
Repetitivas

Podemos ver que el robot va a repetir varias


Paralelo
veces la misma instruccin Avanza().
En lugar de escribir varias veces la instruccin,
sobre todo cuando no se sabe cuntas casillas
son, se puede utilizar las estructuras
repetitivas.
Estructuras de control
Repetitivas

Inicio
Realicemos el
algoritmo en Paralelo
Mientras no hayPared
pseudocdigo. hacer
Avanza()
Fin Mientras
Fin
Estructuras de control
Repetitivas

Podemos ver que Inicio


la condicin es que Paralelo
Mientras no hayPared
mientras no haya hacer
pared se puede
seguir avanzando. Avanza()
Fin Mientras
Fin
Estructuras de control
Repetitivas

Ahora veamos
el algoritmo en Paralelo
diagrama de
flujo.
Estructuras de control
Repetitivas

Podemos ver que la estructura


Paralelo
repetitiva tambin va dentro
de un rombo, ya que es una
condicin, y que tambin tiene
dos flechas de salida solo que
una regresa al principio todas
las veces hasta que ya no se
cumpla la condicin.
Estructuras de control
Repetitivas
Podemos ver que tanto el
pseudocdigo como el
diagrama de flujo son las
Paralelo
mismas instrucciones del
algoritmo.

Inicio
Mientras no hayPared hacer
Avanza()
Fin Mientras
Fin
Estructuras de control
Repetitivas

Existen tres tipos de estructuras de control


repetitivas: Paralelo

Ciclo mientras: como este ejemplo que vimos,


verifica si se cumple la condicin, si es
verdadero hace las instrucciones y luego
regresa.

Ciclo hacer mientras: a diferencia del anterior


ste de primero hace las instrucciones y luego
verifica si cumple con la condicin.

Ciclo desde-mientras: cuando sabemos cuantas


veces se va a repetir las instrucciones.
En resumen

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

SECUENCIALE SELECTIVAS REPETITIVAS


S

- Simples - Ciclo mientas


- Dobles - Ciclo hacer mientras
- Mltiples - Ciclo desde-mientras
Gracias

You might also like