ejemplo 3.3b)

9
Ejemplo Ejemplo 3.3b) 3.3b) 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. La esquina puede NO existir. Ingreso 2013 - Expresión de Problemas y Algoritmos A diferencia de la solución anterior, ahora puede ocurrir que no exista a lo largo de la avenida 1, una esquina con flor y papel Por lo tanto, no solo debo analizar la situación de cada esquina sino que además debo asegurarme que el robot está dentro de los límites de la ciudad Si esa esquina no existe, el robot recorrerá la avenida 1 desde la calle 1 hasta la calle 100, pero NO deberá avanzar mas allá. En ese caso no debe informar. Debo agregar una condición que controle que el robot no avance mas allá de la calle 100 ¿QUE ANALIZO?

Upload: samuru

Post on 10-Jan-2016

62 views

Category:

Documents


0 download

DESCRIPTION

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. La esquina puede NO existir. Ejemplo 3.3b). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ejemplo 3.3b)

Eje

mp

lo

Eje

mp

lo

3.3

b)

3.3

b)

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. La esquina puede NO existir.

1Ingreso 2013 - Expresión de Problemas y Algoritmos

A diferencia de la solución anterior, ahora puede ocurrir que no exista a lo largo de la avenida 1, una esquina con flor y papel

Por lo tanto, no solo debo analizar la situación de cada esquina sino que además debo asegurarme que el robot está dentro de los límites de la ciudad

Si esa esquina no existe, el robot recorrerá la avenida 1 desde la calle 1 hasta la calle 100, pero NO deberá avanzar mas allá. En ese caso no debe informar.

Debo agregar una condición que controle que el robot no avance mas allá de la calle 100

¿QUE ANALIZO?

Page 2: Ejemplo 3.3b)

Eje

mp

lo

Eje

mp

lo

3.3

b)

3.3

b)

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. La esquina puede NO existir.

2Ingreso 2013 - Expresión de Problemas y AlgoritmosPlanteamos una posible solución

Mientras PosCa < 100

Debo agregar una condición que controle que el robot no avance mas allá de la calle 100

Esa condición debe permitir que el robot avance mientras el valor de la calle en la que está ubicado sea menor a 100

Cuando esa condición es falsa, el robot debe analizar la situación de la esquina (1,100)

Page 3: Ejemplo 3.3b)

3Ingreso 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. La esquina puede NO existir. Programa buscarvariables

cuadras : numero

iniciar

cuadras := 0

cuadras := cuadras + 1

mover

si (HayFlorEnLaEsquina | HayPapelEnLaEsquina)

cuadras := cuadras + 1

Informar (cuadras)fin

comenzar

mientras (PosCa <100)

& (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina)

Analicemos cada una de las partes de la solución

si (HayFlorEnLaEsquina & HayPapelEnLaEsquina)

Informar (cuadras)

sino

Page 4: Ejemplo 3.3b)

4Ingreso 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. La esquina puede NO existir. Programa buscarvariables

cuadras : numero

iniciar

cuadras := 0

cuadras := cuadras + 1

mover

si (HayFlorEnLaEsquina | HayPapelEnLaEsquina)

cuadras := cuadras + 1

Informar (cuadras)fin

comenzar

mientras (PosCa <100)

& (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina)

Analicemos cada una de las partes de la solución

si (HayFlorEnLaEsquina & HayPapelEnLaEsquina)

Informar (cuadras)

sino

Parte 1

Parte 2

Parte 4

Parte 3

Se pueden destacar 4

partes en el programa

Page 5: Ejemplo 3.3b)

5Ingreso 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. La esquina puede NO existir. Programa buscarvariables

cuadras : numero

iniciar

cuadras := 0

cuadras := cuadras + 1

mover

si (HayFlorEnLaEsquina | HayPapelEnLaEsquina)

cuadras := cuadras + 1

Informar (cuadras)fin

comenzar

mientras (PosCa <100)

& (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina)

si (HayFlorEnLaEsquina & HayPapelEnLaEsquina)

Informar (cuadras)

sino

Parte 1

Queda igual a la solución

anterior

Page 6: Ejemplo 3.3b)

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. La esquina puede NO existir. Programa buscarvariables

cuadras : numero

iniciar

cuadras := 0

cuadras := cuadras + 1

mover

si (HayFlorEnLaEsquina | HayPapelEnLaEsquina)

cuadras := cuadras + 1

Informar (cuadras)fin

comenzar

mientras (PosCa <100)

& (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina)

si (HayFlorEnLaEsquina & HayPapelEnLaEsquina)

Informar (cuadras)

sino

Parte 2Analiza la esquina (1,1).

Si hay flor y papel, entonces se informa 0 puesto que el robot NO

avanzó

Page 7: Ejemplo 3.3b)

7Ingreso 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. La esquina puede NO existir. Programa buscarvariables

cuadras : numero

iniciar

cuadras := 0

cuadras := cuadras + 1 (*)mover (*)

si (HayFlorEnLaEsquina | HayPapelEnLaEsquina)

cuadras := cuadras + 1

Informar (cuadras)fin

comenzar

mientras (PosCa <100)

& (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina)

si (HayFlorEnLaEsquina & HayPapelEnLaEsquina)

Informar (cuadras)

sino

Parte 3

Mientras la conjunción sea verdadera se ejecutarán las

instrucciones con (*)

Evalúa que el valor de la calle sea

menor a 100

Evalúa la situación de la

esquina

Al salir de la iteración, el robot debe analizar la situación de la

esquina en la que se encuentra

Page 8: Ejemplo 3.3b)

8Ingreso 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. La esquina puede NO existir. Programa buscarvariables

cuadras : numero

iniciar

cuadras := 0

cuadras := cuadras + 1

mover

si (HayFlorEnLaEsquina | HayPapelEnLaEsquina)

cuadras := cuadras + 1

Informar (cuadras)fin

comenzar

mientras (PosCa <100)

& (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina)

Revisemos nuevamente la solución completa

si (HayFlorEnLaEsquina & HayPapelEnLaEsquina)

Informar (cuadras)

sino

Evalúa la situación de la esquina

donde se encuentra el robot

Parte 4

Puede ser una esquina cualquiera

o la (1,100)

Page 9: Ejemplo 3.3b)

9Ingreso 2013 - Expresión de Problemas y Algoritmos

Eje

mp

lo 3

.3Eje

mp

lo 3

.3Analice siguiendo la solución que informa el robot en cada casos:

Programa buscarvariables

cuadras : numero

iniciar

cuadras := 0

cuadras := cuadras + 1

mover

si (HayFlorEnLaEsquina | HayPapelEnLaEsquina)

cuadras := cuadras + 1

Informar (cuadras)fin

comenzar

mientras (PosCa <100)

& (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina)

si (HayFlorEnLaEsquina & HayPapelEnLaEsquina)

Informar (cuadras)

sino

Flores y papeles en (1,1)

Flores y papeles en una esquina cualquiera

Flores y papeles en (1,100)

Ninguna esquina con flores y papeles