Ejemplo 3.3

14
Ejemplo 3.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. Como ya se analizó, observamos que un dato a tener en cuenta es la cantidad de cuadras recorridas. 1 Ingreso 2013 - Expresión de Problemas y Algoritmos Retomemos 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 1 Este dato modificará su valor a lo largo del recorrido.

description

Esto significa que al comienzo del recorrido, debe tener valor 0 puesto que el robot no recorrió ninguna cuadra. - PowerPoint PPT Presentation

Transcript of Ejemplo 3.3

Page 1: Ejemplo 3.3

Eje

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.

Page 2: Ejemplo 3.3

2Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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 propues

ta

programa cap3Ejemplo3areas ciudad: areaC(1,1,100,100)robots robot robot1 variables cuadras: numero comenzar cuadras:=0 mientras~(hayFlorEnLaEsquina)|~(hayPapelEnLaEsquina) {anotar que se caminó una cuadra mas} cuadras:=cuadras+1 mover Informar (cuadras) finvariables R-info: robot1comenzar AsignarArea(R-info,ciudad) Iniciar(R-info,1,1)fin

Page 3: Ejemplo 3.3

3Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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

En particular observem

os esta sección

programa cap3Ejemplo3areas ciudad: areaC(1,1,100,100)robots robot robot1 variables cuadras: numero comenzar cuadras:=0 mientras~(hayFlorEnLaEsquina)|~(hayPapelEnLaEsquina) {anotar que se caminó una cuadra mas} cuadras:=cuadras+1 mover Informar (cuadras) finvariables R-info: robot1comenzar AsignarArea(R-info,ciudad) Iniciar(R-info,1,1)fin

Page 4: Ejemplo 3.3

4

variables

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

mover

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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.

cuadras: numero

Paso 1 : Declaro la variable cuadras, para contar las cuadras recorridas

Page 5: Ejemplo 3.3

5

variables

cuadras: numero

comenzar

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

mover

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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.

cuadras:= 0

Paso 2: Le asigno valor 0 a la variable cuadras, porque el robot aún no recorrió ninguna cuadra

Page 6: Ejemplo 3.3

6Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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.

variables

cuadras: numero

comenzar

cuadras:= 0

cuadras:=cuadras+1 (*)

mover (*)

Informar (cuadras)

fin

Paso 3: 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

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

Page 7: Ejemplo 3.3

7

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

mover

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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.

cuadras:= cuadras + 1

Paso 4: en caso que la condición del mientras sea verdadera, incremento la cantidad de cuadras en 1

Page 8: Ejemplo 3.3

8

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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.

moverPaso 5: 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)

Page 9: Ejemplo 3.3

9

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1 (*)

mover (*)

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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

Page 10: Ejemplo 3.3

10

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

mover

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Informar (cuadras)

Eje

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: cuando el robot encuentre la esquina con flores y papeles (sale del mientras), muestra el valor que contiene la variable cuadras

Analicemos un caso particular

Page 11: Ejemplo 3.3

11

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

mover

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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

Page 12: Ejemplo 3.3

12

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

mover

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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

Page 13: Ejemplo 3.3

13

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

mover

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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

Page 14: Ejemplo 3.3

14

variables

cuadras: numero

comenzar

cuadras:= 0

mientras ~(hayFlorEnLaEsquina) | ~(hayPapelEnLaEsquina)

cuadras:=cuadras+1

mover

Informar (cuadras)

fin

Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

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