Gua de programacin de Guido van Robot
Las cinco instrucciones primitivas de Guido van Robot

   1. mover
   2. girarizquierda
   3. tomarzumbador
   4. ponerzumbador
   5. apagar

Estructura de bloques

Cada instruccin de Guido van Robot debe ir en una lnea separada.
Una secuencia de intrucciones de Guido van Robot puede ser tratada
como una sola instruccin indentandolas el mismo nmero de espacios.
<instruccion> se refiere a cualquiera de las cinco primitivas
mencionadas, a las instrucciones de ramificacin condicional y de
iteracin, o a intrucciones definidas por el usuario.

    <instruccion>
    <instruccion>
      ...
    <instruccion>

Condicionales

GvR tiene dieciocho pruebas includas que se dividen en tres grupos:
las primeras seis son pruebas de pared,
las siguientes cuatro son pruebas de zumbador,
y las ltimas ocho son pruebas de comps:

   1. frente_libre
   2. frente_bloqueado
   3. izquierda_libre
   4. izquierda_bloqueado
   5. derecha_libre
   6. derecha_bloqueado
   7. proximo_a_zumbador
   8. no_proximo_a_zumbador
   9. zumbadores_en_bolsa
  10. sin_zumbadores_en_bolsa
  11. viendo_norte
  12. no_viendo_norte
  13. viendo_sur
  14. no_viendo_sur
  15. viendo_este
  16. no_viendo_este
  17. viendo_oeste
  18. no_viendo_oeste

Ramificacin condicional

La ramificacin condicional se refiere a la habilidad de un programa para
alterar su flujo de ejecucin basado en el resultado de la evaluacin
de un condicional. Los tres tipos de intrucciones condicionales en Guido
van Robot son si, si/sino y si/nosi/sino.
<prueba> se refiere a una de las dieciocho condicionales mencionadas
arriba.

si <prueba>:
    <instruccion>

if <prueba>:
    <instruccion>
sino:
    <instruccion>

si <prueba>:
    <instruccion>
nosi <prueba>:
    <instruccion>
...
nosi <prueba>:
    <instruccion>
sino:
    <instruccion>


Iteracin

La iteracin se refiere a la habilidad de un programa para repetir una
instruccin (o bloque de instrucciones) una y otra vez hasta que se
cumpla una condicin. Los dos tipos de instrucciones de iteracin son
las instrucciones hacer y mientras. <numero_positivo> debe ser un entero
mayor que 0.

hacer <numero_positivo>:
    <instruccion>

mientras <prueba>:
    <instruccion>

Definiendo una nueva instruccin

Las nuevas instrucciones para Guido van Robot pueden ser creadas usando
la declaracin definir. <nuevo_nombre> puede ser cualquier secuencia de
letras o dgitos que comienze con una letra y no haya sido ya usada como
instruccin.
Para Guido van Robot las letras vlidas son A..Z, a..z, y el guin
bajo (_). Guido van Robot reconoce maysculas y minsculas, de manera que
GirarIzquierda, girarizquierda y girarIzquierda son todos nombres
diferentes.

definir <nuevo_nombre>:
    <instruccion>
