ALGUNAS COSAS CONCEPTUALES

IDENTIFICADORES

Un identificador es una secuencia descriptiva de letras mayúsculas o minúsculas, números y el carácter de subrayado. Los identificadores se utilizan para darle nombre al programa, a las variables, a los sprite, a las estructuras, a los métodos y a las funciones. Debe empezar con una letra o el símbolo de subrayado y no puede ser una palabra clave del lenguaje.

Identificadores válidos: 

Hugo
Yo
_PosicionX
PosiciónYBola_2
esto_es_correcto

Identificadores inválidos:

2Caminos                            empieza con un número
Bola-Posicion.X                 contiene caracteres inválidos

Las palabras claves y los identificadores no son sensibles a las mayúsculas, las siguientes instrucciones son equivalentes:

Define nombre AS STRING = “Pedro”
Define NOMBRE as string = “Maria”

LITERALES
 

Son valores constantes en un programa: 100, 2.5, “Buenos días”. El primero especifica un entero, el segundo un valor decimal y el tercero una cadena de caracteres. Se puede usar un literal en cualquier parte en la que un valor de este tipo esté permitido.

COMENTARIOS

Un comentario puede ser una línea o un bloque de notas, que es parte del código de un programa pero que es ignorado a la hora de correrlo. Estas notas son utilizadas más comúnmente para escribir datos importantes acerca del funcionamiento del programa, permitiendo que el código sea más entendible para las personas que no han tenido nada que ver con la elaboración del mismo; o para que te acuerdes como es que tu programa funciona si por casualidad sufres de amnesia.

LINEAS DE COMENTARIOS

Su sintaxis es muy simple, pues solo toca colocar dos barras inclinadas (//) y todo lo que siga de ahí en adelante en esa línea KPL lo toma como un comentario.

BLOQUES DE COMENTARIOS

Comienzan por /* y terminan con */, y todo lo que se escriba adentro es tratado como un comentario. Este tipo de comentarios resultan útiles cuando se desean escribir notas muchos más largas y elaboradas que ocupen más de una línea.

PALABRAS RESERVADAS

Las siguientes palabras son parte del lenguaje mismo y no se pueden usar como identificadores:

AND
AS
EACH
END
EXIT
FALSE
FOR
FUNCTION
GOTO
WHILE
METHOD
MOD
NOT
OR
PROGRAM
STEP
STRUCTURE
TRUE

TIPOS DE DATOS

KPL tiene unas categorías que clasifican a los literales o valores en diferentes clases llamadas tipos de datos. Estos literales se clasifican en números, cadenas de caracteres y lógicos. Además, los números se clasifican en enteros y números con parte decimal. Cada una de estas categorías define un rango de valores y un conjunto de operadores que pueden actuar sobre ellos. KPL tiene los siguientes tipos de datos simples:

INT: Número entero entre  -2.147.483.648  y  2.147.483.647, inclusive. Ejemplos: 1, 5, -323, 12345678.

DECIMAL: números con parte decimal.

STRING: Cadena de caracteres entre comillas dobles. Ejemplos: “Hugo”, “Paco”, “Luis”.

BOOL: Sólo existen dos valores booleanos, TRUE o FALSE. 

VARIABLE

En casi todos los programas necesitamos tener un lugar donde guardar un valor que puede ser un número entero, o un número decimal, o una cadena de caracteres, o un valor booleano; es como tener una casilla en la que guardamos un dato. El valor guardado en la casilla lo podemos cambiar a medida que el programa avanza, por eso a la casilla la llamamos variable. Una variable nos sirve para guardar una unidad básica de información representada por un número entero, decimal, cadena o booleano. Toda variable debe tener un nombre (identificador), un tipo y un valor y se define en el programa de la siguiente manera:. 

Define <Identificador> AS <Tipo de dato> [ = <Expresion> ]

La declaración de una variable empieza con la palabra clave Define, seguida por un identificador válido, la palabra clave AS, el tipo de dato de la variable, y opcionalmente un valor inicial. El valor inicial puede ser un valor literal como “Maria” o 10, o una variable u otra expresión cuyo resultado es del tipo de dato. Las variables globales se definen en la parte superior del programa (después de las estructuras) para que puedan ser utilizadas por todos los métodos, y las variables locales se definen en el cuerpo de un método para estar disponibles solo para ese método. No se puede declarar una variable dentro de un ciclo o un if…Then…Else. Toda variable se debe declarar antes de ser utilizada.

OPERADORES

Los operadores nos permiten manipular las variables y los valores para obtener nuevos valores que guardamos en variables o mostramos por la pantalla. KPL tiene operadores aritméticos, operadores relacionales y operadores lógicos. Los operadores aritméticos actúan sobre variables y valores de tipo entero.   

+                       suma
-                        Resta o menos unario
*                       Multiplicación
/                        División real o entera
Mod                  Retorna el resto de la división
=                       Asignación

Los operadores relacionales sirven para comparar variables o valores numéricos y cadenas, su resultado siempre es un valor Bool.  

=                       Igual a
<>                     Diferente de
>                       Mayor que
<                       Menor que
>=                     Mayor o igual que
<=                     Menor o igual que

Los operadores lógicos nos permiten construir expresiones lógicas compuestas y solo operan sobre operándos de tipo Bool. Todos los operadores lógicos binarios combinan dos valores Booleanos para dar como resultado un valor Booleano.

AND                 y
OR                    o
NOT unario       negación

PRECEDENCIA DE OPERADORES

ARREGLOS

Un arreglo es una colección de variables del mismo tipo, definido por la palabra reservada Define, seguido por un identificador valido –nombre del arreglo–, la palabra reservada As, luego se especifica el tipo de dato que el arreglo va a contener –se pueden usar tanto tipos de datos sencillos como Estructuras–, y por último entre llaves ([ ]) especifican el tamaño del arreglo.

Veamos mejor el funcionamiento de un arreglo mediante un ejemplo gráfico:

 

arreglo

 

Como se puede ver en la figura anterior un arreglo es como si fuesen un conjunto de cajas, colocadas una detrás de la otra, dentro de las cuales se pueden meter datos. Pero existen ciertas restricciones con respecto a los datos que cada caja puede contener en su interior:

 

1.        Los datos dentro de todas las cajas consecutivas tienen que ser del mismo tipo, es decir, si se decide que el arreglo es de manzanas solamente se podrán meter manzanas en las cajas.

2.        Si el arreglo es de manzanas solo podrá meter una sola manzana en cada caja

 

Para poder meter y extraer datos en el arreglo se especifica el nombre del arreglo y entre llaves ( [] ) se indica mediante un índice la posición dentro del cual quiero meter el dato deseado.

 

nombreDelArreglo [ 1 ] = 50  // Coloca 50 en la primera posición

nombreDelArreglo [ 3 ] = 20  // Coloca 20 en la última posición

variableA = nombreDelArreglo [ 3 ]  // Coloca en la variable A el valor de la

                                                                // última posición del arreglo

 

Los índices para apuntar a las posiciones del arreglo también pueden ser variables de tipo entero, como se muestra en el siguiente ejemplo:

Define Indice As Int

For Indice = 1 To 3

                Print( "Datos: " + nombreDelArreglo[ Indice ] )

Next

Nota: KPL siempre inicializa cada posición del arreglo con el valor por defecto del tipo de dato que contiene, cada vez que se crea un nuevo arreglo. Luego el programador puede alterar esos valores como se explicó anteriormente.

Un Arreglo es como un casillero con varias casillas en las que podemos guardar valores del mismo tipo al mismo tiempo. El arreglo se identifica mediante un nombre y cada posición del casillero se identifica con un índice que va desde cero hasta el tamaño del arreglo menos 1. Declaramos un arreglo de la siguiente manera:

Define <Identificador> AS <Tipo> [ <Expresión> ]

Ejemplo:

Define Valores AS INT[3]
Valores[0] = 10
Valores[1] = 20
Valores[2] = 30
Print(“Valores en la posición 0 es: “ + Valores[0] )

INSTRUCCIÓN   DE   SELECCIÓN

KPL soporta estructuras de decision que permiten ejecutar instrucciones basado en una condición usando la estructura If / Then / Else / End If:

IF <Expresión booleana> THEN
               Instrucciones

              
END IF

O

IF <Expresión booleana> THEN
               Instrucciones

              
ELSE
               Instrucciones

              
END IF

INSTRUCIONES   DE   REPETICIÓN 

KPL soporta dos tipos de instrucciones de repetición:

For

El FOR se ejecuta un número específico de veces desde <valor inicial> hasta <valor final>, y tiene la siguiente estructura:

FOR <Variable> = <valor inicial> TO <valor final> [ <Step> <Valor> ]

      <Instrucciones>

NEXT

While

El WHILE evalúa la <Expresión booleana> y se ejecutan las instrucciones si ésta es TRUE.

WHILE <Expresión booleana>

      <Instrucciones>

END WHILE  

<< Anterior