El mes pasado empezamos con las cuestiones más básicas de la programación, limitándonos a poner en práctica algunas cuestiones de caracter lineal. Esto es, lo único que hacía el programa de ejemplo era ejecutar una serie de instrucciones secuencialmente (en realidad, pocas instrucciones para acometer aspectos como la creación de menús). En esta ocasión continuaremos mostrando algunos de los principios más básicos en la estructura de cualquier programa: la toma de decisiones. Si bien antes nos detendremos a revisar uno de los coplementos esenciales para las variables: los diferentes tipos de operadores.

Del mismo modo que cuando aprendíamos matemáticas nos enseñaban aquellos símbolos para representar el tipo de operación a realizar al trabajar con números, en RealBasic también disponemos de un conjunto de símbolos destinados a esta misma función. Esto es, indicar al programa qué es lo que debe hacer entre dos variables o números dados (lo que podemos resumir como expresión). A continuación encontrará toda la lista de operadores matemáticos soportados, además de indicarle para qué o bajo qué circunstancias podrá utilizar cada uno de ellos:

+: Suma, adición. Este operador nos será de gran ayuda para “sumar” datos numéricos o alfanuméricos. Cuando se utiliza con datos numéricos, el resultado almacenado en la variable será, precisamente, la suma de ambos elementos.

En el caso de utilizar este operador con dos variables alfanuméricas, obtendrá en la variable de resultado una nueva cadena almacenando el texto contenido en las dos variables involucradas en la operación.

Ejemplos de sumas numéricas:

DIM Resultado

DIM variable1

DIM variable2

variable1 = 1

variable2 = 2

Resultado = variable1 + variable2

Al ejecutarse esta línea de código, la variable Resultado tendrá el valor 3. Evidentemente, podría ahorrarse unos cuantos pasos si hiciera la operación directamente:

Resultado = 1 + 2

No obstante, como vimos en el capítulo anterior, es preferible trabajar en todo momento con variables, lo que resulta en programas mucho más flexibles; ya que éstos se adecuarán a la interacción con las decisiones y acciones realizadas por el usuario que trabaje con ella. La única excepción a este caso son las constantes, pues éstas son las que contienen valores inalterables a lo largo de la ejecución de un programa. Normalmente las constantes se suelen utilizar para inicializar algunos valores necesarios para el funcionamiento del programa.

A continuación veremos el ejemplo de sumar dos cadenas de texto:

DIM Resultado

DIM variable1 = “nombre”

DIM variable2 = “apellido”

Resultado = variable1 + variable2

En este caso, la variable Resultado contendrá “nombreapellido”. Como puede observar, al sumar variables de texto se sumarán los caracteres de la segunda a continuación de la primera, sin introducir espacios ni ningún otro tipo de símbolo separador, aspecto que deberá tener en cuenta cuando trabaje con este tipo de variables y realice este tipo de operaciones; ya que en algunos casos querrá obtener precisamente una suma consecutiva de todos los caracteres, mientras que en otros querrá dar cierto aspecto al texto obtenido. También deberá tener en cuenta la posición en que suma las variables de texto, pues no es como en el caso de los números. Por ejemplo, si la operación fuese:

Resultado = variable2 + variable1

Obtendría “apellidosnombre” en la variable Resultado.

Una solución sería definir una constante, cuyo contenido fuera un espacio. Así, por ejemplo:

DIM Resultado as string

DIM variable1 = “nombre”

DIM variable2 = “apellido”

DIM constante= “ “

Resultado = variable1 + constante + variable2

Obtendría “nombre apellido”en la variable Resultado.

- Resta. Continuamos con otro signo muy familiar: el que representa una operación de resta o sustracción entre dos variables. El funcionamiento, en este caso, sólo es válido para variables de tipo numérico (ya sea entre enteros, coma flotante o ambos). Por tanto, no podrá restar el contenido de una cadena de texto de otra del mismo tipo (para ello existen instrucciones específicas en REALBasic).

DIM variable1 = 10

DIM variable2 = 20

Resultado = variable2 - variable1

Así, Resultado contendrá 10; si invierte el orden de las expresiones, obtendría -10 como resultado. En función de lo que desee que realice el programa, no siempre tendría que vigilar si el número resultante es negativo o positivo.

* Multiplicación. El asterisco es el encargado de representar una operación en la que se multiplicará el contenido de dos (o más) variables (expresiones). Al igual que ocurre con el operador de resta, y en este caso con mayor lógica incluso, no podrá “multiplicar” dos variables alfanuméricas.

variable1 = 10

variable2 = 10

Resultado = variable1 * variable2

En este caso, Resultado tendrá el valor 100 y, al igual que con la suma, recuerde aquello de “el orden de las variables no altera el producto”.

/ División. La división es la última de las operaciones matemáticas “comunes”. En este caso también deberá trabajar sólo con expresiones numéricas y el resultado puede ser un número positivo o en coma flotante.

variable1 = 20

variable2 = 10

Resultado = variable1 / variable2

Esta operación arrojará para la varibale Resultado el valor 2; mientras que si se divide variable2 entre variable1, obtendrá como resultado 0,5.

\ División de enteros. A diferencia del anterior operador, en este caso el resultado de la división de las dos expresiones indicadas arrojará un número entero, prescindiendo de los posibles decimales.

variable1 = 20,5

variable2 = 5,5

Resultado = variable1\variable2

Resultado = 3

Utilizar los operadores

Evidentemente, en un cálculo podrá emplear tantos operadores como requiera para obtener el resultado apetecido. No existen límites en este sentido, pero deberá tener algunas consideraciones para que, efectivamente, el resultado sea el deseado.

Por ejemplo, en la siguiente expresión:

Resultado = 10*2+20/2-10*1,5

Resultado = (10*2)+(20/2-5)*1.5

No obtendrá los mismos resultados en ambos casos. Por tanto, tenga cuidado a la hora de utilizar las expresiones de cálculo.

Operadores lógicos

¿Recuerda que en el mes pasado hablamos de las variables de tipo booleano? Éstas eran las que sólo almacenaban valores tipo “cierto” y “falso”. Por ejemplo, este tipo de variables son de gran ayuda cuando se debe tomar algún tipo de decisión para variar el flujo de ejecución del programa; es decir, “si el valor devuelto por el usuario es el elemento 1, entonces ejecuta esto”. También se emplean internamente para que la aplicación realice una u otra tarea en función de otras variables.

Si bien REALBasic soporta varios tipos de operadores lógicos, a coninuación veremos los empleados de modo más común: AND, OR y NOT.

AND. Cuando se evalúan dos expresiones (booleanas) mediante este operador, el restultado será “true” (verdadero) si ambas expresiones lo son, y “fa