La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

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. La esquina puede NO existir. 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 ¿QUE ANALIZO? Ejemplo 3.3b) 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 Ingreso Expresión de Problemas y Algoritmos Ingreso Expresión de Problemas y Algoritmos

2 Planteamos una posible solución
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. 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 Mientras PosCa < 100 Ejemplo 3.3b) Cuando esa condición es falsa, el robot debe analizar la situación de la esquina (1,100) Planteamos una posible solución Ingreso Expresión de Problemas y Algoritmos Ingreso Expresión de Problemas y Algoritmos

3 Analicemos cada una de las partes de la solución
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. Programa buscar variables cuadras : numero comenzar iniciar cuadras := 0 si (HayFlorEnLaEsquina & HayPapelEnLaEsquina) Informar (cuadras) sino mientras (PosCa <100) & (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina) Ejemplo 3.3 cuadras := cuadras + 1 mover si (HayFlorEnLaEsquina | HayPapelEnLaEsquina) cuadras := cuadras + 1 Informar (cuadras) fin Analicemos cada una de las partes de la solución Ingreso Expresión de Problemas y Algoritmos 3 Ingreso Expresión de Problemas y Algoritmos 3

4 Ejemplo 3.3 Analicemos cada una de las partes de la solución
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. Programa buscar variables Se pueden destacar 4 partes en el programa cuadras : numero Parte 1 comenzar iniciar cuadras := 0 si (HayFlorEnLaEsquina & HayPapelEnLaEsquina) Parte 2 Informar (cuadras) sino mientras (PosCa <100) & (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina) Parte 3 Ejemplo 3.3 cuadras := cuadras + 1 mover si (HayFlorEnLaEsquina | HayPapelEnLaEsquina) cuadras := cuadras + 1 Parte 4 Informar (cuadras) fin Analicemos cada una de las partes de la solución Ingreso Expresión de Problemas y Algoritmos 4 Ingreso Expresión de Problemas y Algoritmos 4

5 Queda igual a la solución anterior
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. Parte 1 Programa buscar variables Queda igual a la solución anterior cuadras : numero comenzar iniciar cuadras := 0 si (HayFlorEnLaEsquina & HayPapelEnLaEsquina) Informar (cuadras) sino mientras (PosCa <100) & (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina) Ejemplo 3.3 cuadras := cuadras + 1 mover si (HayFlorEnLaEsquina | HayPapelEnLaEsquina) cuadras := cuadras + 1 Informar (cuadras) fin Ingreso Expresión de Problemas y Algoritmos 5 Ingreso Expresión de Problemas y Algoritmos 5

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. La esquina puede NO existir. Parte 2 Programa buscar Analiza la esquina (1,1). Si hay flor y papel, entonces se informa 0 puesto que el robot NO avanzó variables cuadras : numero comenzar iniciar cuadras := 0 si (HayFlorEnLaEsquina & HayPapelEnLaEsquina) Informar (cuadras) sino mientras (PosCa <100) & (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina) Ejemplo 3.3 cuadras := cuadras + 1 mover si (HayFlorEnLaEsquina | HayPapelEnLaEsquina) cuadras := cuadras + 1 Informar (cuadras) fin Ingreso Expresión de Problemas y Algoritmos 6 Ingreso Expresión de Problemas y Algoritmos 6

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. La esquina puede NO existir. Parte 3 Programa buscar variables cuadras : numero comenzar Evalúa que el valor de la calle sea menor a 100 Evalúa la situación de la esquina iniciar cuadras := 0 si (HayFlorEnLaEsquina & HayPapelEnLaEsquina) Informar (cuadras) sino mientras (PosCa <100) & (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina) Ejemplo 3.3 cuadras := cuadras + 1 (*) mover (*) si (HayFlorEnLaEsquina | HayPapelEnLaEsquina) Mientras la conjunción sea verdadera se ejecutarán las instrucciones con (*) Al salir de la iteración, el robot debe analizar la situación de la esquina en la que se encuentra cuadras := cuadras + 1 Informar (cuadras) fin Ingreso Expresión de Problemas y Algoritmos 7 Ingreso Expresión de Problemas y Algoritmos 7

8 Ejemplo 3.3 Parte 4 Revisemos nuevamente la solución completa
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. Parte 4 Programa buscar variables cuadras : numero comenzar iniciar cuadras := 0 si (HayFlorEnLaEsquina & HayPapelEnLaEsquina) Informar (cuadras) Evalúa la situación de la esquina donde se encuentra el robot sino mientras (PosCa <100) & (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina) Ejemplo 3.3 cuadras := cuadras + 1 mover Puede ser una esquina cualquiera o la (1,100) si (HayFlorEnLaEsquina | HayPapelEnLaEsquina) cuadras := cuadras + 1 Informar (cuadras) fin Revisemos nuevamente la solución completa Ingreso Expresión de Problemas y Algoritmos 8 Ingreso Expresión de Problemas y Algoritmos 8

9 Analice siguiendo la solución que informa el robot en cada casos:
Programa buscar Flores y papeles en (1,1) variables cuadras : numero comenzar Flores y papeles en una esquina cualquiera iniciar cuadras := 0 si (HayFlorEnLaEsquina & HayPapelEnLaEsquina) Informar (cuadras) sino mientras (PosCa <100) & (~HayFlorEnLaEsquina | ~HayPapelEnLaEsquina) Ejemplo 3.3 cuadras := cuadras + 1 Flores y papeles en (1,100) mover si (HayFlorEnLaEsquina | HayPapelEnLaEsquina) cuadras := cuadras + 1 Ninguna esquina con flores y papeles Informar (cuadras) fin Ingreso Expresión de Problemas y Algoritmos 9 Ingreso Expresión de Problemas y Algoritmos 9


Descargar ppt "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."

Presentaciones similares


Anuncios Google