Ejemplo 3.3 El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel. Al...

14
Ejemplo Ejemplo 3.3 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. 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.

Transcript of Ejemplo 3.3 El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel. Al...

Page 1: 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.

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.

Page 2: 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.

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

Page 3: 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.

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

Page 4: 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.

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

Page 5: 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.

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

Page 6: 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.

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)

Page 7: 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.

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

Page 8: 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.

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)

Page 9: 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.

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

Page 10: 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.

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

Page 11: 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.

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

Page 12: 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.

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

Page 13: 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.

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

Page 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.

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