RECOMENDACIÓN
Para poder seguir la animación de las diapositivas
correctamente te recomendamos que utilices las flechas de
Siguiente y Anterior que aparecerán al pie de cada
diapositiva
ANTERIOR
ANTERIOR
SIGUIENTE
SIGUIENTE
CONCEPTOS
Selectivas
Repetitivas
Las estructuras de control
permiten al programador
alterar el flujo de ejecución
del programa
Condicionales
ANTERIOR
SIGUIENTE
EJERCICIO
ANTERIOR
SIGUIENTE
Ejercicio 1:
Posicionar al robot en la esquina (28,5) y juntar una flor.
En la esquina puede haber 0, 1 o mas flores.
Si analizamos el ejercicio podemos ver que hay tres casos posibles
CASO 1: No hay flores en la esquina.
CASO 2: Hay 1 flor en la esquina.
CASO 3: Hay mas de 1 flor en la esquina (pero no sabemos cuantas exactamente).
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1
NO HAY FLORES EN LA ESQUINA
Esquina (28 , 5)
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
ANTERIOR
Repetición
Selección
Iteración
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 1: Usamos Secuencia
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA SECUENCIA
Esquina (28 , 5)
Comenzar
iniciar
Pos(28, 5)
tomarFlor
Fin
Cantidad de Flores
en la esquina:
ERROR
Como no hay ninguna
flor en la esquina se
genera un error.
Se corta la ejecución
del programa
0
Cantidad de Flores
tomadas:
0
Es responsabilidad del programador
utilizar las instrucciones correctamente.
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 2: Usamos Repetición
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA REPETICION
Esquina (28 , 5)
Comenzar
iniciar
Pos(28, 5)
Repetir 1
tomarFlor
Sabemos que
debemos juntar
1 flor entonces
probamos
poniendo N= 1
ERROR
Fin
En este caso que hay 0 flores
en la esquina, nos daría un
error igual al error que
queríamos solucionar.
Cantidad de Flores
en la esquina:
0
Cantidad de Flores
tomadas:
0
Esta estructura no es adecuada para este ejercicio en
particular. Esto se debe a que la estructura repetir
siempre debe indicar la cantidad de veces que se repiten
las instrucciones (y esa cantidad debe ser >=1)
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA SECUENCIA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 3: Usamos Selección
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA SELECCION
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
0
Si (HayFlorEnLaEsquina)
tomarFlor
Fin
Como no hay ninguna
flor en la esquina, la
condición es falsa y
no entra al cuerpo de
la estructura si
Cantidad de Flores
tomadas:
0
Todo funciona correctamente para este
caso, es decir, no ejecuta la instrucción
tomar Flor porque la condición es falsa.
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 4: Usamos Iteración
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA ITERACION
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
0
Mientras (HayFlorEnLaEsquina)
tomarFlor
Fin
Como no hay ninguna
flor en la esquina, la
condición es falsa y
no entra al cuerpo de
la estructura mientras
Cantidad de Flores
tomadas:
0
Todo funciona correctamente para este
caso, es decir, no ejecuta la instrucción
tomar Flor porque la condición es falsa.
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2
HAY 1 FLOR EN LA ESQUINA
Esquina (28 , 5)
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
ANTERIOR
Repetición
Selección
Iteración
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 1: Usamos Secuencia
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA SECUENCIA
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
10
tomarFlor
Fin
Como hay una flor en
la esquina se toma
esa flor y se continua
con la ejecución del
programa.
Cantidad de Flores
tomadas:
01
La solución funciona y no genera error solo en este
caso pues hay solo 1 flor seguro en la esquina.
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 2: Usamos Repetición
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA REPETICION
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
10
Repetir 1
tomarFlor
Fin
ANTERIOR
Como hay una flor en
la esquina se toma
esa flor y se continua
con la ejecución del
programa. Usamos
N=1
Cantidad de Flores
tomadas:
01
La solución funciona, sin embargo hay que tener
en cuenta que si se sabe que hay una única flor y
que se debe juntar 1 flor no sería necesario utilizar
una estructura repetitiva.
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 3: Usamos Selección
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA SELECCION
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
0
1
Si (HayFlorEnLaEsquina)
tomarFlor
Fin
En este caso , como
hay una flor en la
esquina, la condición
es verdadera y se entra
al cuerpo de la
estructura y se toma la
flor
Cantidad de Flores
tomadas:
0
1
Todo funciona correctamente para este
caso ya que se sabe que hay que hay
flor y se debe juntar 1 sola.
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 4: Usamos Iteración
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA ITERACION
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
0
1
Mientras (HayFlorEnLaEsquina)
tomarFlor
Fin
ANTERIOR
En este caso , como
hay una flor en la
esquina, la condición
es verdadera y se entra
al cuerpo de la
estructura (una única
vez) y se toma la flor
Cantidad de Flores
tomadas:
0
1
La solución funciona, sin embargo hay que
tener en cuenta que si se sabe que hay que
tomar una única flor no sería necesario utilizar
una estructura iterativa.
SIGUIENTE
Ejercicio 1: CASO 3
HAY MAS DE UNA FLOR EN LA ESQUINA
Esquina (28 , 5)
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
ANTERIOR
Repetición
Selección
Iteración
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 1: Usamos Secuencia
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
SECUENCIA
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
32
tomarFlor
Fin
Como hay una flor en
la esquina se toma
esa flor y se continua
con la ejecución del
programa.
Cantidad de Flores
tomadas:
01
La solución funciona ya que cuenta la flor,
pero cabe señalar que en la esquina
quedan flores.
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 2: Usamos Repetición
ANTERIOR
SIGUIENTE
Ejercicio 1:CASO 3–HAY MAS DE UNA FLOR EN LA ESQUINA
REPETICION
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
32
Repetir 1
tomarFlor
Fin
ANTERIOR
Como hay flores en la
esquina se toma una flor y
se continua con la
ejecución del programa.
Usamos N=1
Cantidad de Flores
tomadas:
01
La solución funciona, sin embargo hay que tener
en cuenta que si se sabe que hay flores pero se
debe tomar una única flor no sería necesario
utilizar una estructura repetitiva.
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 3: Usamos Selección
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
SELECCION
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
32
Si(HayFlorEnLaEsquina)
tomarFlor
Fin
ANTERIOR
Como hay flores en la
esquina se toma una flor
porque la condición es
verdadera y se continua
con la ejecución del
programa.
Cantidad de Flores
tomadas:
01
La solución funciona, sin embargo hay que tener en
cuenta que si se sabe que hay mas de una flor y se
quiere juntar sólo una no sería necesario utilizar una
estructura selección.
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
¿Cómo funcionaría el programa con cada estructura?
¿Cuál es la correcta para resolver este problema?
Secuencia
Repetición
Selección
Iteración
Prueba 4: Usamos Iteración
ANTERIOR
SIGUIENTE
Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA
ITERACION
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
Mientras (HayFlorEnLaEsquina)
30
tomarFlor
Cantidad de Flores
tomadas:
Fin
Como hay flores en la
esquina se toman flores
mientras la condición sea
verdadera
03
ERROR
La solución NO funciona, porque se juntan
todas las flores de la esquina y el problema
pide que se junte una sola.
ANTERIOR
SIGUIENTE
CONCLUSIÓN
Para el ejercicio 1, y para todo ejercicio en el que haya que juntar
UNA flor o papel de una esquina la mejor solución es usar un
SI (condición) ya que funciona para los tres casos planteados.
Selección
ANTERIOR
SIGUIENTE
EJERCICIO
ANTERIOR
SIGUIENTE
Ejercicio 2:
Posicionar al robot en la esquina (28,5) y juntar TODAS
las flores. En la esquina puede haber 0, 1 o mas flores.
Si analizamos el ejercicio podemos ver que hay tres casos posibles
CASO 1: Hay 0 flores en la esquina.
CASO 2: Hay 1 flor en la esquina.
CASO 3: Hay mas de 1 flor en la esquina (pero no sabemos cuantas exactamente).
ANTERIOR
SIGUIENTE
¿Qué estructura debo elegir para solucionar el
problema pedido?
Secuencia
ANTERIOR
Repetición
Selección
Iteración
SIGUIENTE
¿Qué estructura debo elegir?
Secuencia
Repetición
Selección
Iteración
Descarto la Secuencia porque el ejercicio me pide
juntar TODAS las flores de la esquina
ANTERIOR
SIGUIENTE
¿Qué estructura debo elegir?
Secuencia
Repetición
Selección
Iteración
Prueba 1: Usamos Repetición
ANTERIOR
SIGUIENTE
CASO 1
Comenzar
iniciar
Pos(28, 5)
Repetir ?
tomarFlor
Fin
CASO 1
CASO 1
Repetición
Sabemos que debemos
juntar todas las flores de la
esquina pero no sabemos
cuantas hay exactamente en
la misma por lo que no
sabemos que valor darle a N
Esta estructura no es adecuada para este
ejercicio en particular ya que la estructura
repetir necesita saber la cantidad de veces
que debe ejecutar las instrucciones. SIGUIENTE
¿Qué estructura debo elegir?
Secuencia
Repetición
Selección
Iteración
Prueba 2: Usamos Selección
ANTERIOR
SIGUIENTE
CASO 1
CASO 1
CASO 1
Iteración
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
Si (HayFlorEnLaEsquina)
tomarFlor
Fin
En este caso , solo
tomará una flor de
todas las que hay en
la esquina y continua
con la ejecución del
programa .
3
20
Cantidad de Flores
tomadas:
0
1
Esta solución si bien funciona para los casos de 0 o 1 flor en la esquina siempre debemos
escribir soluciones teniendo en cuenta todos los posibles escenarios.
ANTERIOR
En este caso por mas que el programa no
da error no se cumple con lo pedido porque
aún quedan flores en la esquina y no se han
juntado.
SIGUIENTE
¿Qué estructura debo elegir?
Secuencia
Repetición
Selección
Iteración
Prueba 3: Usamos Iteración
ANTERIOR
SIGUIENTE
CASO 1
CASO 1
CASO 1
Selección
Esquina (28 , 5)
Comenzar
Cantidad de Flores
en la esquina:
iniciar
Pos(28, 5)
3
00
Mientras (HayFlorEnLaEsquina)
tomarFlor
Fin
Cualquiera sea el caso de
cantidad de flores en la
esquina con el mientras se
juntara todas las flores ya
que la condición será
verdadera mientras haya
alguna flor.
Cantidad de Flores
tomadas:
30
Todo funciona correctamente para los
tres casos.
ANTERIOR
SIGUIENTE
CONCLUSIÓN
Para el ejercicio de ejemplo 2, y para todo ejercicio en el que haya
que juntar TODAS las flores o papeles de una esquina la mejor
solución es usar un Mientras (condición).
Iteración
ANTERIOR
SIGUIENTE
CONCLUSIONES FINALES
1
2
3
ANTERIOR
• Cuando escribimos un programa debemos elegir la estructura de
control adecuada
• Como vimos en los ejemplos anteriores muchas soluciones
funcionan con mas de una estructura de control, pero sólo una es la
adecuada.
• No alcanza con que el programa funcione, también hace falta que
esté escrito correctamente, utilizando las estructuras adecuadas
SIGUIENTE
CONCLUSIONES FINALES
1
• La estructura si (condicion) debe utilizarse cuando queremos
evaluar una condición antes de ejecutar las acciones. Hay que tener
en cuenta que esas acciones sólo se ejecutarán una única vez
2
• La estructura repetir N, debe utilizarse cuando se sabe la cantidad
exacta de veces que deben realizarse las acciones. No es posible
utilizar un repetir si al momento de escribir el programa no se
conoce la cantidad de veces que se deben ejecutar las acciones.
3
• La estructura mientras (condicion), debe utilizarse cuando se quiere
ejecutar las acciones un conjunto de veces pero el programador
desconoce la cantidad exacta.
ANTERIOR
Descargar

Estructuras de Control