Vamos a dar dos posibles soluciones para el problema que se nos plantea, en este e-mail y en el siguiente. Recordemos que el Robot siempre partirá de la posición 1 tal y como indica el enunciado.
Primera solución.-
1.- Si BloqueEncima = "A" entonces
2.- CogerBloque
3.- Sino
4.- MoverDer
5.- Si BloqueEncima = "A" entonces
6.- CogerBloque
7.- Sino
8.- MoverDer
9.- CogerBloque
10.- Fin Si
11.- Fin Si
Explicación del ejemplo.-
1.- Miramos si encima de la primera posición, posición en la que sabemos que se encuentra seguro al iniciar el programa, está el bloque A.
2.- Si es así, <CONDICIÓN> verdadera lo cogemos. En este caso, hemos terminado el programa. Ya que continuaría con la línea 3, punto donde se separa la parte de la respuesta a la condición verdadera y falsa, y al haberse cumplido la parte Verdadera saltaríamos hasta la línea 11.
3.- Si no se cumple la <CONDICIÓN> puesta en la línea 1, continuamos el programa.
4.- Hacemos desplazar al Robot hacia la derecha. Hecho esto, nos encontramos en la posición 2 de nuestra plataforma.
5.- Miramos si encima de esta posición (segunda posición) está el bloque A.
6.- Si es así, <CONDICIÓN> verdadera la cogemos. En este caso, hemos terminado el programa; ya que continuaría con la línea 7, punto donde se separa la parte de la respuesta a la condición verdadera y falsa, y al haberse cumplido la parte Verdadera saltaríamos hasta la línea 10.
7.- Si no se cumple la <CONDICIÓN> puesta en la línea 5, continuamos el programa.
8.- Hacemos desplazarse el Robot a una posición derecha. Hecho esto, nos encontramos en la posición 3 y última de nuestra plataforma.
9.- Como sabemos seguro que el bloque "A" está en alguna de las 3 posiciones y ya hemos visto que no estaba ni en la 1, ni en la 2. Sin mirar qué bloque hay en esta posición podemos cogerlo.
10.- Fin del segundo Si.
11.- Fin del primer Si.
Observe como dentro de un Si hemos puesto otro Si. Con lo que hemos podido hacer una pregunta después de haber visto que la primera era falsa.
Observe que para este ejemplo hemos necesitado 11 líneas y muchas de estas líneas están repetidas varias veces. Esto no quiere decir que no funcionaría, ya que hemos visto en la traza, ejecución del programa línea a línea, que el Robot al final conseguiría su objetivo. Cuando veamos que una misma instrucción se repite muchas veces nos deberíamos plantear que puede ser que exista alguna otra solución que sea un poco más corta y con menos líneas repetidas.
Hay 437 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Bases de Datos en C# El curso incluye el código necesario para acceder a las bases de datos y realizar consultas de selección y de acción.... [05/04/07] |
|
4.826 | ||
|
Manual de estilo de páginas Web En este curso se quiere dar una guía muy amplia para todos aquellos que están interesados en crear una página Web. Dando explicaciones de como crear un buen diseño tanto ... [05/05/05] |
|
14.413 | ||
|
HTML para principiantes HTML para principiantes, aprende a hacer tus propias páginas web. Programar en un lenguaje como es HTML puede ser fácil y sencillo. Este curso está di... [15/09/09] |
|
2.346 | ||
Publicar en
del.icio.us
digg
meneame