AnteriorPosterior

3. Condiciones (1: if)

Por: Nacho Cabanes
Actualizado: 07-05-2019 20:31
Tiempo de lectura estimado: 7 min.

 

Versión en video (14:25 min):

Pascal

3. Condiciones (1: if)

3.1. "if"

Casi cualquier programa necesitará comprobar si se cumplen condiciones. La primera forma de evaluar condiciones desde Pascal es con la orden "if". Su sintaxis es:

if condición then orden;

Es decir, tras la palabra "if" ("si", en inglés) se indica la condición que se quiere comprobar, luego la palabra "then" ("entonces) y finalmente la orden que se quiere usar en caso de que se cumpla esa condición.

Por ejemplo, si queremos ver si una variable "n" contiene un número positivo y, en ese caso, decírselo al usuario, el fragmento de programa correspondiente sería:

if n > 0 then writeln('Es mayor que cero');

Para crear un programa concreto, deberemos declarar esa variable "n" y pedirle al usuario su valor:

program mayorQueCero;

var
  n: integer;

begin
  write('Dime un numero: ');
  readln(n);
  if n > 0 then writeln('Es mayor que cero');
end.

3.2. Contacto con Lazarus

Como el entorno en modo texto de Free Pascal es relativamente incómodo, vamos a tomarnos un momento para instalar un entorno alternativo, que no sólo incluye un editor más cómodo, sino que además nos permitirá crear más adelante programas "que no sean sólo de texto".

Se trata de Lazarus, que es un "clon" de una herramienta visual Delphi. Delphi fue creada inicialmente por Borland (la autora de Turbo Pascal) en 1995, y permitía desarrollar programas para Windows en un tiempo muy inferior a lo que era muy habitual en esa época, porque permitía diseñar la interfaz de modo visual, en vez de agregar los componentes mediante órdenes del programa.

Lazarus es de código abierto y se puede descargar para Windows, Mac y Linux (entre otros). Si usas Linux, es fácil que lo puedas instalar desde el gestor de paquetes de tu distribución; para Windows y Mac puedes acudir a su página web oficial.

Su página "de siempre" es:

lazarus.freepascal.org

Y desde hace no mucho se puede descargar también desde una URL alternativa, quizá algo más fácil de recordar:

lazarus-ide.org

Web de Lazarus

Descargas de Lazarus

Tras descargarlo e instalarlo, podremos entrar y escoger que queremos crear un nuevo proyecto, que sea de tipo "Aplicación de consola":

Nuevo proyecto con Lazarus

Y aparecerá un esqueleto más complejo que los programas que hemos creado hasta ahora

Proyecto de consola con Lazarus

Tendremos un botón para ejecutar el programa, pero nos encontraremos con el mismo problema que ya vimos en el editor en modo texto: la ventana se cierra inmediatamente, por lo que podemos añadir (de modo provisional) una orden "readln;" al final del programa.

Ya tenemos un entorno más cómodo (y que más adelante nos permitirá crear algún proyecto "más vistoso), así que podemos seguir aprendiendo a comprobar condiciones...

3.3. Operadores de comparación

Hemos comenzado por comprobar si un número es mayor que un cierto valor, usando el operador ">", y hemos escogido ese a propósito, porque es sencillo. Aun así, el resto de comparadores no son mucho más difíciles:

Operador Significado
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
\= Igual que
<> Distinto de

Es decir, para "mayor o igual" se debe indicar los dos comparadores, exactamente en ese orden (no será válido escribir =>), y para "distinto de" se usa primero el símbolo de "menor que" y después el de "mayor que".

Así, podríamos ampliar el programa anterior para detallar el caso en que el número sea negativo o cero (este planteamiento tendrá un detalle mejorable, que arreglaremos dentro de poco):

program mayorQueCero;

var
  n: integer;

begin
  write('Dime un numero: ');
  readln(n);
  if n > 0 then writeln('Es mayor que cero');
  if n <= 0 then writeln('Es menor o igual que cero');
end.

Ahora, si escribir un número positivo, como el 5, se cumplirá la primera de las condiciones y se nos dirá "Es mayor que cero". Por el contrario, si el número es negativo o cero, no se cumplirá la primera condición, sino la segunda, de modo que el mensaje será "Es menor o igual que cero".

Insisto, no es la mejor forma de plantearlo, lo mejoraremos en el siguiente apartado.

Ejercicios propuestos

Ej.03.01: Crea un programa que pida dos números al usuario y diga si el primero es mayor, el segundo es mayor o son iguales

Ej.03.02: Pide al usuario un número y di si es par (pista: usa “mod”)

2128 visitas desde el 07-05-2019

AnteriorPosterior