Está en la página 1de 4

Fundamentos de la Programación

Todo programa tiene exactamente un program, una sección del código que declara los
comandos o acciones que queremos que la maquina realice sobre el tablero inicial, al ejecutarlo
obtendremos el tablero final.
 Escribimos una línea de código que diga program, seguido de una llave {
 A continuación, los comandos: uno por línea (mover(norte))
 Y finalmente, una última llave que cierra la que habíamos abierto anteriormente. }

program {
Mover (Norte)
Mover (Norte)
}

Lo que hace este código es mover el cabezal dos posiciones hacia el norte dentro de la tabla inicial
obteniendo el cabezal dos posiciones hacia arriba en el tablero final.

Los lenguajes de programación son creados con algunas palabras que solo pueden ser utilizadas
con un fin determinado, llamándose estas palabras reservadas. En el caso de Gobstones, el
lenguaje que utilizamos en el curso, program es una de estas palabras reservadas.
En los lenguajes de programación tenemos un cierto orden para hacer las cosas y/o leer las
órdenes, por ejemplo:

program {
Mover(Norte)
Mover(Este)
}

Una forma posible de leerlo, a lo que llamamos operacional, es como lo leería una máquina, en
orden, de arriba hacia abajo:
1. Primero se mueve hacia el norte: Mover (Norte)
2. Luego se mueve hacia el este: Mover (Este)
Pero no le tenemos que dar tanta importancia al orden de la escritura del código, sino al
resultado que queremos obtener con el programa y/o código, es decir, no importa más qué hace
a cómo lo hace.

En la programación es importante seguir las reglas de sintaxis, es decir escribir la línea de


comando como la computadora espera que lo hagamos, cada lenguaje de programación tiene
reglas diferentes y es muy importante tener en cuenta estas reglas porque sino nuestro programa
podría no funcionar y no haría lo que nosotros queríamos que hiciese. Cambiar el orden del
comando puede hacer que, también, hagan otra cosa completamente diferente, por ejemplo:
1. Ejemplo N°1

program {
Poner(Rojo)
Mover(Este)
Poner(Negro)
}
Operacionalmente:
a. Pone una roja
b. Luego se mueve al este.
c. Luego pone una negra.
2. Ejemplo N°2

program {
Mover(Este)
Poner(Rojo)
Poner(Negro)
}

a. Se mueve hacia el este.


b. Luego pone una roja.
c. Luego coloca una negra.
Los lenguajes de programación cuentan con diferentes funciones dentro de este, además
tenemos dos tipos de estos, los que vienen definidos por el lenguaje en sí y nos sirven para
expresar operaciones básicas, como por ejemplo mover, poner y sacar, a estos les llamaremos
comandos primitivos; y están aquellos que son definidos por nosotros, que nos sirven para
expresar tareas más complejas o exactas, estos son denominados procedimientos.
¿Cómo definimos un procedimiento y cómo lo invocamos con un program?

procedure Poner3Rojas() {
Poner(Rojo)
Poner(Rojo)
Poner(Rojo)
}

program {
Poner3Rojas()
}

 El procedimiento se define con la palabra


La definición de una acción, es cuando ponemos procedure Poner3Verdes(), por ejemplo, junto
al bloque que especifique la acción que debe llevar a cabo. El uso o invocación es cuando
escribimos, por ejemplo, Poner3Verdes() en alguna parte dentro del program o dentro de otro
procedimiento.
Los procedimientos se pueden definir una sola vez dentro de todo el código, sin embargo podes
usarlo cuántas veces sea necesario o vos lo requieras, pero recorda que su nombre tiene que ser
único dentro del programa, no puede haber, por ejemplo, dos procedimientos llamados
"Poner4Verdes", tienen que llamarse distinto para que la computadora pueda diferenciarlos
entre ambos.
Se puede poner un procedimiento dentro de otro:

procedure Poner9Rojas() {
Poner3Rojas()
Poner3Rojas()
Poner3Rojas()
}
program{
Poner9Rojas()
}
¿Para qué crear procedimientos?
1. Para simplificar el código, escribiendo una sola vez y en un solo lugar cosas que vamos
a utilizar muchas veces más adelante.
2. Para escribir menos, lo más importante es ahorrar líneas de código, nadie quiere leer un
código que sea de 500 líneas.
3. Para que nuestro programa sea más entendible, por eso es fundamental pensar buenos
nombres para nuestros procedimientos, que sean únicos y a la vez entendibles, que
tampoco sean muy largos pero tampoco muy cortos, sin embargo mientras deje en claro
lo que hace nuestro procedimiento no importa si queda largo el nombre del mismo.
4. Para comunicar la estrategia que pensamos para resolver nuestro problema.
5. Y como consecuencia de todo esto, para poder escribir programas más poderosos y
completos.
Cuando no conocemos el tamaño de nuestro tablero o en qué posición se encuentra nuestro
cabezal, lo que tenemos que hacer es utilizar la herramienta primitiva IrAlBorde que te llevará a
la dirección que vos le pongas cuando lo invocas en el program.
jhkj
procedure RojoAlBorde(){
IrAlBorde (Oeste)
Poner (Rojo)
}
program{
RojoAlBorde()
}

¿Cómo hacemos para repetir una tarea varias veces?


Para hacer que una tarea se repita varias veces, para que en vez de copiar y pegar varias veces la
misma acción lo haga el comando por si solo, lo que tenemos que hacer es aplicar la
herramienta nueva “repeat”, lo que hace esta herramienta es repetir determinada herramienta
varias veces, para usarla tenemos que aplicar el siguiente comando:

procedure MoverOeste10() {
repeat(10) {
Mover(Oeste)
}
}

Lo que hace este comando es repetir 10 veces la acción de Mover (Oeste):

Teniendo el cabezal del lado este/norte poniendo este comando se movió el cabezal 10 veces
hacia el oeste sin tener que copiar y pegar diez veces la herramienta Mover (Oeste).
Un número entero, es decir sin decimales, indica cuantas veces hay que repetir. Este número va
entre paréntesis luego de la palabra repeat.
Y un bloque de código, lo que va encerrado dentro de llaves y especifica cuáles son los
comandos que se tienen que repetir.
 EL ORDEN DENTRO DEL REPEAT IMPORTA!

También podría gustarte