El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
Como ya se analizó, observamos que un dato a tener en cuenta es la cantidad de
cuadras recorridas.
Ejemplo 3.3
Esto significa que al comienzo
del recorrido, debe tener
valor 0 puesto que el robot
no recorrió ninguna cuadra.
Este dato modificará su
valor a lo largo del
recorrido.
Cada vez que el robot
avance una cuadra, ese
dato debe incrementar
su valor en 1
Retomemos
la solución propuesta
Ingreso 2013 - Expresión de Problemas y Algoritmos
1
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
Solución
propuesta
cuadras: numero
comenzar
iniciar
Ejemplo 3.3
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Analicemos paso a paso la solución
Ingreso 2013 - Expresión de Problemas y Algoritmos
2
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
cuadras: numero
Paso 1 : Declaro la variable cuadras,
para contar las cuadras recorridas
comenzar
iniciar
Ejemplo 3.3
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
3
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
Paso 2: Ubico al robot en la esquina
(1, 1) mirando hacia el norte
cuadras: numero
comenzar
iniciar
Ejemplo 3.3
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
4
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
Paso 3: Le asigno valor 0 a la variable
cuadras, porque el robot aún no
recorrió ninguna cuadra
cuadras: numero
comenzar
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
5
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
Paso 4: Analizo la situación de la esquina . Si en esa
esquina no hay flor o no hay papel, la condición
será verdadera, por lo tanto se ejecutarán las
instrucciones marcadas con (*). Si no pasará a la
instrucción Informar
variables
cuadras: numero
comenzar
iniciar
Ejemplo 3.3
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
(*)
mover
(*)
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
6
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
Paso 5: en caso que la condición del
mientras sea verdadera, incremento la
cantidad de cuadras en 1
cuadras: numero
comenzar
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:= cuadras + 1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
7
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
Paso 6: en caso que la condición del
mientras sea verdadera, el robot
avanza una cuadra y vuelvo a
analizar la situación de la nueva
esquina (Paso 4)
cuadras: numero
comenzar
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
8
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
Las instrucciones con (*) se
ejecutarán varias veces, hasta que el
robot encuentre una esquina con
flores y papeles
cuadras: numero
comenzar
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
(*)
mover
(*)
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
9
El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel.
Al finalizar el recorrido se debe informar la cantidad de cuadras recorridas hasta
encontrar dicha esquina. Suponga que la esquina seguro existe.
programa Cap3Ejemplo3
variables
Paso 7: cuando el robot encuentre la
esquina con flores y papeles (sale del
mientras), muestra el valor que contiene
la variable cuadras
cuadras: numero
comenzar
iniciar
Ejemplo 3.3
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
10
Supongamos la siguiente situación y sigamos la solución propuesta:
Esquina (1,1) vacía
Esquina (1,2) 3 papel
Situación inicial
Esquina (1,3) 5 flores
El robot en (1,1)
Esquina (1,4) 2 papeles y 1flor
La variable cuadras con valor 0
Esquina (1,5) 4 papeles y 4 flores
Condición verdadera
programa Cap3Ejemplo3
(1,5)
variables
(1,6)
cuadras: numero
comenzar
(1,5)
4 papeles,
4 flores
(1,4)
2 papeles,
1 flor
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
(1,3)
5 flores
(1,2)
3 papeles
(1,1)
Esquina
vacía
cuadras:=cuadras+1
mover
Informar (cuadras)
En (1,1)  Verdadera
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
0
cuadras
11
Supongamos la siguiente situación y sigamos la solución propuesta:
Esquina (1,1) vacía
Esquina (1,2) 3 papel
Situación actual
Esquina (1,3) 5 flores
El robot en (1,2)
Esquina (1,4) 2 papeles y 1flor
La variable cuadras con valor 1
Esquina (1,5) 4 papeles y 4 flores
Condición Verdadera
programa Cap3Ejemplo3
(1,5)
variables
(1,6)
cuadras: numero
comenzar
(1,5)
4 papeles,
4 flores
(1,4)
2 papeles,
1 flor
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
(1,3)
5 flores
(1,2)
3 papeles
(1,1)
Esquina
vacía
cuadras:=cuadras+1
mover
Informar (cuadras)
En (1,2)  Verdadera
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
1
cuadras
12
Supongamos la siguiente situación y sigamos la solución propuesta:
Esquina (1,1) vacía
Esquina (1,2) 3 papel
Situación actual
Esquina (1,3) 5 flores
El robot en (1,3)
Esquina (1,4) 2 papeles y 1flor
La variable cuadras con valor 2
Esquina (1,5) 4 papeles y 4 flores
Condición Verdadera
programa Cap3Ejemplo3
(1,5)
variables
(1,6)
cuadras: numero
comenzar
(1,5)
4 papeles,
4 flores
(1,4)
2 papeles,
1 flor
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
(1,3)
5 flores
(1,2)
3 papeles
(1,1)
Esquina
vacía
cuadras:=cuadras+1
mover
Informar (cuadras)
En (1,3)  Verdadera
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
2
cuadras
13
Supongamos la siguiente situación y sigamos la solución propuesta:
Esquina (1,1) vacía
Esquina (1,2) 3 papel
Situación actual
Esquina (1,3) 5 flores
El robot en (1,4)
Esquina (1,4) 2 papeles y 1flor
La variable cuadras con valor 3
Esquina (1,5) 4 papeles y 4 flores
Condición Falsa
programa Cap3Ejemplo3
(1,5)
variables
(1,6)
cuadras: numero
comenzar
(1,5)
4 papeles,
4 flores
(1,4)
2 papeles,
1 flor
Ejemplo 3.3
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
(1,3)
5 flores
(1,2)
3 papeles
(1,1)
Esquina
vacía
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
En (1,4)  Falsa
El robot Termina
se detiene
Muestra el valor 3
la
Ingreso 2013 -iteración
Expresión de Problemas y Algoritmos
3
cuadras
14
Descargar

Ejemplo 3.3