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?
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)
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
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
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
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ó
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
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)
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
Top Related