Upload
francisco-chavera
View
21
Download
0
Embed Size (px)
Citation preview
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
1Ingreso 2013 - Expresión de Problemas y AlgoritmosRetomemos la solución propuesta
Esto significa que al comienzo del recorrido,
debe tener valor 0 puesto que el robot no
recorrió ninguna cuadra. Cada vez que el
robot avance una cuadra, ese dato debe incrementar
su valor en 1Este dato modificará su valor a lo largo del
recorrido.
2
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
Analicemos paso a paso la solución
Solución propuesta
3
programa Cap3Ejemplo3
variables
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
cuadras: numero
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
Paso 1 : Declaro la variable cuadras, para contar las cuadras recorridas
4
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
iniciar
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
Paso 2: Ubico al robot en la esquina (1, 1) mirando hacia el norte
5
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
cuadras:= 0
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
Paso 3: Le asigno valor 0 a la variable cuadras, porque el robot aún no recorrió ninguna cuadra
6Ingreso 2013 - Expresión de Problemas y Algoritmos
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
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
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
cuadras:=cuadras+1 (*)
mover (*)
Informar (cuadras)
fin
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
7
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
cuadras:= cuadras + 1
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
Paso 5: en caso que la condición del mientras sea verdadera, incremento la cantidad de cuadras en 1
8
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
mover
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
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)
9
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1 (*)
mover (*)
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
Las instrucciones con (*) se ejecutarán varias veces, hasta que el robot encuentre una esquina con flores y papeles
10
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
Informar (cuadras)
Eje
mp
lo 3
.3Eje
mp
lo 3
.3El 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.
Paso 7: cuando el robot encuentre la esquina con flores y papeles (sale del mientras), muestra el valor que contiene la variable cuadras
11
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
Eje
mp
lo 3
.3Eje
mp
lo 3
.3Supongamos la siguiente situación y sigamos la solución propuesta:Esquina (1,1) vacíaEsquina (1,2) 3 papelEsquina (1,3) 5 floresEsquina (1,4) 2 papeles y 1florEsquina (1,5) 4 papeles y 4 flores
(1,1)
(1,4)
(1,5)
(1,6)
(1,5)
(1,3)
(1,2)
0
cuadras
Situación inicialEl robot en (1,1)La variable cuadras con valor 0Condición verdadera
Esquina vacía
3 papele
s
5 flores
2 papeles,
1 flor
4 papeles, 4 flores
En (1,1) Verdadera
12
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
Eje
mp
lo 3
.3Eje
mp
lo 3
.3
(1,1)
(1,4)
(1,5)
(1,6)
(1,5)
(1,3)
(1,2)
Supongamos la siguiente situación y sigamos la solución propuesta:Esquina (1,1) vacíaEsquina (1,2) 3 papelEsquina (1,3) 5 floresEsquina (1,4) 2 papeles y 1florEsquina (1,5) 4 papeles y 4 flores
Situación actualEl robot en (1,2)La variable cuadras con valor 1Condición Verdadera
Esquina vacía
3 papele
s
5 flores
2 papeles,
1 flor
4 papeles, 4 flores
En (1,2) Verdadera 1
cuadras
13
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
Eje
mp
lo 3
.3Eje
mp
lo 3
.3
(1,1)
(1,4)
(1,5)
(1,6)
(1,5)
(1,3)
(1,2)
Supongamos la siguiente situación y sigamos la solución propuesta:Esquina (1,1) vacíaEsquina (1,2) 3 papelEsquina (1,3) 5 floresEsquina (1,4) 2 papeles y 1florEsquina (1,5) 4 papeles y 4 flores
Esquina vacía
3 papele
s
5 flores
2 papeles,
1 flor
4 papeles, 4 flores
Situación actualEl robot en (1,3)La variable cuadras con valor 2Condición Verdadera
En (1,3) Verdadera 2
cuadras
14
programa Cap3Ejemplo3
variables
cuadras: numero
comenzar
iniciar
cuadras:= 0
mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)
cuadras:=cuadras+1
mover
Informar (cuadras)
fin
Ingreso 2013 - Expresión de Problemas y Algoritmos
Eje
mp
lo 3
.3Eje
mp
lo 3
.3
(1,1)
(1,4)
(1,5)
(1,6)
(1,5)
(1,3)
(1,2)
Supongamos la siguiente situación y sigamos la solución propuesta:Esquina (1,1) vacíaEsquina (1,2) 3 papelEsquina (1,3) 5 floresEsquina (1,4) 2 papeles y 1florEsquina (1,5) 4 papeles y 4 flores
Esquina vacía
3 papele
s
5 flores
2 papeles,
1 flor
4 papeles, 4 flores
Situación actualEl robot en (1,4)La variable cuadras con valor 3Condición Falsa
En (1,4) Falsa 3
cuadras
Termina la iteración
Muestra el valor 3El robot se detiene