Descubre Cómo Declarar una Sentencia If en Pascal con Ejemplos Prácticos Imprescindiblespost-template-default single single-post postid-46 single-format-standard et_pb_button_helper_class et_fixed_nav et_show_nav et_secondary_nav_enabled et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns4 et_cover_background et_pb_gutter et_pb_gutters3 et_right_sidebar et_divi_theme et-db
771 715 4434

Casi cualquier programa necesitará comprobar si se cumplen condiciones. La primera forma de evaluar condiciones desde Pascal es con la orden "if". La condición es una instrucción que mediante el uso de operadores de relación o booleanos, nos permite determinar qué bifurcación seguir. Si la condición da como resultado un valor verdadero (true) entonces se ejecutarán las instrucciones que cumplan con esa condición; en caso contrario (false), se ejecutan las que no cumplan con esa condición.

La Estructura if-then Simple

La palabra clave "If" indica que estamos en presencia de una estructura condicional; seguidamente disponemos la condición y la palabra clave "then". Después de la palabra clave "then" no debe haber punto y coma.

Esta estructura también se puede usar sin else. Por ejemplo si quisiéremos hacer un programa que nos permita saber si un cliente recibirá un descuento del 2.5%, cuando el monto a pagar supere las 2000 unidades monetarias, no es necesario hacer uso de la palabra reservada else.

El programa declara las variables necesarias para el monto, descuento, porcentaje y el total a pagar. En la variable Porcentaje se asigna el porcentaje a descontar en este caso 2.5% (0.025), en Descuento se asigna 0, ya que se asume que el monto siempre será menor a 2000 unidades monetarias. La estructura if evalúa la variable Cond, y si el valor de la variable Cond es true entonces se ejecuta la instrucción Descuento:= Monto * Porcentaje, caso contrario no hace nada y continúa la ejecución del programa, sin alterar el valor inicial de la variable Descuento.

Un ejemplo sencillo de su uso podría ser:

Lea también: IVA 21% Excel

program EjemploIfSimple;var numero: integer;begin Writeln('Ingresa un número:'); Readln(numero); if numero > 0 then Writeln('El número es positivo.');end.

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. 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".

La Estructura if-then-else

Cuando se presenta la elección tenemos la opción de realizar una actividad u otra. Es decir, tenemos actividades por el verdadero y por el falso de la condición. Es igual que la estructura condicional simple salvo que aparece la palabra clave "else" y posteriormente un bloque begin end con una o varias instrucciones.

Si se quiere hacer un programa que pida dos números enteros, y nos muestren por pantalla sólo el mayor, entonces la condición del programa sería algo como: a>b. En el programa se declaran a y b, como variables de tipo longint, y Cond como de tipo boolean. Lo primero que hace el programa es pedir los dos números a y b usando las instrucciones readln.

Dependiendo del valor de la condición, si este valor es true, entonces se ejecutará la instrucción que se encuentra después de la palabra reservada then, pero si este vale false, se ejecutará la instrucción que se encuentra después de la palabra reservada else.

program EjemploIfElse;var a, b: Longint; Cond: Boolean;begin Writeln('Ingresa el primer número:'); Readln(a); Writeln('Ingresa el segundo número:'); Readln(b); Cond := (a > b); if Cond then Writeln('El primer número (', a, ') es mayor.') else Writeln('El segundo número (', b, ') es mayor o igual.');end.

Bloques de Instrucciones (Begin...End)

En ocasiones no querremos dar un único paso cuando se cumpla (o no) una condición, sino varios pasos. En la estructura if-then-else, se pueden usar bloques de instrucciones, estos bloques se construyen usando las palabras reservadas Begin y end.

Lea también: Guía IVA reducido

El siguiente programa hace uso de un bloque de instrucciones. Este programa nos permite calcular el perímetro de un triángulo ingresando las dimensiones de sus lados. Como se puede observar el bloque de instrucciones, nos permite usar más de una instrucción dentro del bloque, ampliando las capacidades de la estructura if-then-else.

program PerimetroTriangulo;var lado1, lado2, lado3, perimetro: Real; esTriangulo: Boolean;begin Writeln('Ingresa la longitud del primer lado:'); Readln(lado1); Writeln('Ingresa la longitud del segundo lado:'); Readln(lado2); Writeln('Ingresa la longitud del tercer lado:'); Readln(lado3); esTriangulo := (lado1 + lado2 > lado3) and (lado1 + lado3 > lado2) and (lado2 + lado3 > lado1); if esTriangulo then begin perimetro := lado1 + lado2 + lado3; Writeln('Los lados forman un triángulo. El perímetro es: ', perimetro:0:2); end else begin Writeln('Los lados ingresados no forman un triángulo.'); Writeln('Recuerda que la suma de dos lados debe ser mayor que el tercero.'); end;end.

Múltiples Condiciones: Operadores Lógicos (AND, OR)

Para evaluar varias condiciones simultáneamente, Pascal ofrece operadores lógicos. Si se deben cumplir varias condiciones a la vez, podemos enlazarlas con "and" (y). Si se pueden cumplir varias, usaremos "or" (o).

Se pueden encadenar muchos operadores "and" u "or" de forma consecutiva para crear condiciones complejas.

Tabla de Operadores de Relación y Lógicos Comunes en Pascal

Operador Descripción Ejemplo
= Igual a A = B
<> Distinto de A <> B
< Menor que A < B
> Mayor que A > B
<= Menor o igual que A <= B
>= Mayor o igual que A >= B
AND Y lógico (A > 0) AND (B < 10)
OR O lógico (A = 1) OR (B = 2)
NOT Negación lógica NOT (A > B)

Estructuras if-then-else Anidadas o Encadenadas

Otra característica de la estructura if-then-else es el hecho de que se pueden encadenar o concatenar, colocando estructuras if-then-else dentro de otras estructuras if-then-else. Cuando se encadenan varias estructuras if-then-else, hay que tener en cuenta que la palabra reservada else esté asociado a la palabra reservada then más cercana.

Por ejemplo, si queremos hacer un programa que nos permita determinar si los tres lados de un triángulo forman un triángulo Equilátero, Isósceles o Escaleno, el programa tendría que hacer algo parecido a lo siguiente: "Si todos sus lados son iguales entonces es Equilátero, caso contrario Si al menos dos de sus lados son iguales entonces es Isósceles, y en caso contrario es Escaleno". Además asumiendo que A,B y C son los lados de un triángulo, entonces para saber si forman un triángulo Equilátero debemos usar la siguiente condición: (A=B) y (B=C); y cuando esa condición sea falsa, debemos comprobar si es un triángulo Isósceles usando la siguiente condición: (A=B) o (B=C) o (C=D).

Lea también: ¿Cómo localizar tus XML del SAT?

Lo más importante al encadenar los if-then-else, como se mostró en el programa anterior es saber donde colocar el punto y coma (;) debido a que las instrucciones están encadenados, el punto y coma se coloca al final del ultimo else de toda la estructura, en este ejemplo el ultimo else sería: else Writeln('No forman un triangulo'). Si colocáramos el punto y coma después de la instrucción: else Writeln('Es escaleno'), entonces el compilador nos informará a través de un mensaje de error que la estructura if correspondiente al último else está incompleta.

La ventaja de encadenar las estructuras if-then-else es que nos permite salir de todas las estructuras encadenadas, una vez que se satisface al menos una de las condiciones, permitiendo al programa obtener un resultado más rápido.

program TipoDeTriangulo;var A, B, C: Real; esValido: Boolean;begin Writeln('Ingresa la longitud del lado A:'); Readln(A); Writeln('Ingresa la longitud del lado B:'); Readln(B); Writeln('Ingresa la longitud del lado C:'); Readln(C); // Primero, verificar si forman un triángulo válido esValido := (A + B > C) and (A + C > B) and (B + C > A); if esValido then begin if (A = B) and (B = C) then Writeln('Es un triángulo Equilátero.') else if (A = B) or (B = C) or (A = C) then Writeln('Es un triángulo Isósceles.') else Writeln('Es un triángulo Escaleno.'); end else Writeln('Los lados ingresados no forman un triángulo.');end.

Consideraciones de Formato y Sintaxis en Pascal

En Pascal (y en la mayoría de lenguajes modernos), se puede dejar tantas líneas en blanco o espacios intermedios como queramos. Esa posibilidad es lo que se conoce como "formato libre". El formato más habitual en la práctica coincide con el último ejemplo: los detalles de cada nuevo bloque se escribirán un poco más a la derecha que lo que los delimita. El tamaño habitual de cada nuevo "sangrado" es de 2 o (preferiblemente) 4 espacios.

Además, el lenguaje Pascal no distingue entre mayúsculas y minúsculas, así que en vez de "writeln" también es posible escribir "WriteLn" o "WRITELN", y todas ellas son válidas. De hecho, hace años era habitual escribir las órdenes de Pascal en mayúsculas (y, según el programador, las variables en minúsculas). Hay quien dice que leer mucho en mayúsculas cansa más que si está en minúsculas, por lo que ese estilo está en desuso.

tags: #como #declarar #un #if #en #pascal