Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¡Algo importante! Contamos las filas hacia arriba, y las columnas hacia la
derecha. La primera fila es la de abajo de todo, y la primera columna es la de
la izquierda.
Filas
Columnas
vamos a aprender una de las órdenes que podemos darle a la máquina: mover
el cabezal.
program {
Mover(Norte)
}
Todo programa tiene exactamente un program: una sección del código que
declara los comandos (acciones) que queremos que la máquina realice sobre el
tablero inicial. Al ejecutar un programa obtendremos un tablero final.
program {
}
program {
Mover(Norte)
}
program {
Mover(Norte)
Mover(Norte)
}
Los lenguajes de programación son creados con algunas palabras que solo se
pueden utilizar con un fin determinado. Se las llama palabras reservadas .
En Gobstones, el lenguaje que estamos utilizando, program es una palabra
reservada.
Para eso es importante saber que las direcciones tienen los nombres de los
cuatro puntos cardinales, con la primera letra en mayúsculas:
Norte
Sur
Este
Oeste
rojas (Rojo);
azules (Azul);
negras (Negro);
y verdes (Verde).
program {
Poner(Rojo)
}
program {
Poner(Rojo)
Poner(Rojo)
Poner(Azul)
Poner(Verde)
Poner(Rojo)
}
De la misma forma que hay un "poner bolita" (Poner), tenemos un "sacar bolita"
(Sacar), que quita exactamente una bolita del color dado.
Cada vez que usamos Sacar, tenemos que tener más cuidado que con Poner,
porque...
Prestale atención a la sintaxis del ejemplo para ver bien cómo definimos un
procedimiento y cómo lo invocamos en un program.
Si bien las palabras que utilizamos para crear programas ( program) y definir
procedimientos (procedure) se escriben parecido son cosas muy distintas.
Cuando creamos un programa nuevo le estamos diciendo a la computadora lo
que queremos que suceda luego de tocar Enviar.
Pero si queremos crear una tarea nueva podemos agrupar las acciones que
requiere en un procedimiento. Los procedimientos se definen con
un nombre que describa lo que hace.
procedure PonerVerdeYAzul() {
Poner(Verde)
Poner(Azul)
}
program {
PonerVerdeYAzul()
}
procedure PonerNegroYRojo() {
Poner(Negro)
Poner(Rojo)
program {
PonerNegroYRojo()
A esta altura ya sabemos que para programar siempre tenemos que tener en
cuenta la sintaxis y que para definir nuevos procedimientos también tenemos
reglas:
program {
Poner3Verdes()
Mover(Este)
Poner3Verdes()
program {
IrAlBorde(Este)
}
IrAlBorde es una primitiva muy útil para cuando no conocemos las condiciones
de nuestro tablero.
repeat.
procedure MoverOeste10() {
repeat(10) {
Mover(Oeste)
}
}
Un número entero (o sea, sin decimales), que indica cuántas veces hay que
repetir. Este número va entre paréntesis (()) luego de la palabra repeat.