Algoritmos
Enviado por dx_imagen • 15 de Mayo de 2014 • 515 Palabras (3 Páginas) • 1.696 Visitas
DISEÑO DE UN ALGORITMO CON ESTRUCTURAS SELECTIVAS
Problema I: En este caso la ardilla tiene que recoger una bellota y llevarla a la primera casilla de la primera fila como se muestra en la fig. 2.5 (b), tomando en cuenta la siguiente información:
a) El mundo es conocido y al inicio la ardilla no tiene ninguna bellota en la boca.
b) En el tablero hay una sola bellota. Las casillas donde puede estar se representan con un círculo en la figura 2.5 (a).
c) Es un error ordenar a la ardilla que recoja una bellota en una casilla cuando esta no contiene nada pues la ardilla no sabrá qué hacer.
Criterios de evaluación:
- Diseñe y represente correctamente el algoritmo que resuelva el problema propuesto tanto en pseudocódigo como en diagrama de flujo.
- Solamente debe utilizar estructuras selectivas.
- La ardilla debe soltar la bellota en la posición indicada en el estado final (b).
- La ardilla nunca debe intentar recoger una bellota sin estar segura de que en realidad está en la casilla actual.
Solución en las siguientes páginas.
Para el problema I, se hace el siguiente análisis:
Por la información presentada previamente, se tiene la certeza que en alguna casilla se encuentra una sola bellota, ya sea en la 2ª casilla derecha, 3ª casilla izquierda o en la 6ª casilla derecha.
Como la ardilla está entrenada para decir si hay o no bellota, se usará esto como condición y se utilizará una estructura selectiva. También sabemos que la ardilla puede girar hacia su izquierda o hacia su derecha.
Las zonas de color crema (sin pasto) son muros y la ardilla no puede pasar por ahí. Avanzar significa cruzar una casilla (recuadro).
La 1ª casilla izquierda es la casilla inicial y también será la casilla final una vez que la ardilla suelte la bellota en dicha casilla.
Existen 3 posibles lugares (2ª casilla derecha, 3ª casilla izquierda o 6ª casilla derecha) en donde puede estar la bellota.
Ordenaremos a la ardilla que desde su posición inicial avance (hacia la 1ª casilla derecha), luego que gire hacia su izquierda y avance (a la 2ª casilla derecha), si hay bellota entonces la recoge y gira hacia su izquierda dos veces, avanza, luego gira hacia su derecha y avanza para finalmente soltar la bellota en la casilla inicial; sin embargo, si no hay bellota en la 2ª casilla derecha entonces la ardilla avanza, gira hacia su izquierda, avanza (a la 3ª casilla izquierda), y si hay bellota entonces la recoge y gira hacia su izquierda dos veces, avanza, luego gira hacia su derecha para avanzar dos veces, gira hacia su derecha, avanza y suelta la bellota en la casilla inicial; pero si en la 3ª casilla izquierda no hay bellota entonces la ardilla gira hacia su derecha, avanza tres veces, gira hacia su derecha, avanza y recoge la bellota (en este recuadro es seguro que hay bellota, ya que
...