AnteriorPosterior

4 - Comprobando condiciones (1: Si)

Por: Nacho Cabanes
Actualizado: 26-04-2019 07:59
Tiempo de lectura estimado: 6 min.

 

Versión en video (7:11 min):

Pseudocódigo

4 - Comprobando condiciones (1: Si)

En casi cualquier secuencia de instrucciones para un ordenador, será vital poder comprobar si se cumple alguna condición. Una primera forma básica de comprobar condiciones es con la orden "SI". Su uso básico sería

Si condicion Entonces
    pasos_a_dar_si_es_verdadero
SiNo
    pasos_a_dar_si_es_falso
FinSi

El bloque "SiNo" es opcional: podemos optar por no indicar lo que queremos que se haga cuando no se cumpla la condición.

Para ayudarnos a planificar el comportamiento de una secuencia de instrucciones, se suele usar como ayuda los llamados "diagramas de flujo". En estos diagramas, una condición se representa como un rombo, del que salen dos flechas: una para la secuencia de acciones a realizar si se cumple la condición y otra para cuando no se cumple:

Diagrama de flujo: Si

Así, si en PSeInt hacemos clic en el icono de la parte derecha que representa la condición SI-ENTONCES, aparece un esqueleto de programa casi completo, para que hagamos los cambios que nos interesen:

Esqueleto de Si

Sólo tenemos que escribir la condición que realmente nos interesa, y la serie de pasos que se deben dar si se cumple y si no se cumple, de modo que nuestro programa podría quedar así:

Algoritmo Ejemplo004

  Escribir "Dime un numero"
  Leer primerNumero
  Escribir "Dime otro numero"
  Leer segundoNumero

  Si primerNumero > segundoNumero Entonces
    Escribir "El primero es mayor"
  Sino
    Escribir "El segundo es mayor"
  FinSi

FinAlgoritmo

Su resultado sería éste:

Resultado del programa

(Nota: si lo piensas con un poco de detenimiento -o lo pruebas-, te darás cuenta de que ese planteamiento no es correcto del todo: si introduces dos números iguales, te dirá que el segundo es el mayor; lo solucionaremos un poco más adelante, en el ejemplo 4c).

En ese ejemplo hemos comparado si un valor es mayor que el otro (>). Los operadores de comparación que tenemos disponibles son:

Operador relacional Significado Ejemplo
> Mayor que 3>2
< Menor que 2<3
= Igual que 3=3
<= Menor o igual que 5 <= 5
>= Mayor o igual que 6 >= 5
<> Distinto de 6<>5

Ejercicio de repaso propuesto 4.1: Crea un programa que pida dos números al usuario y responda si son iguales o no lo son.

También es posible comprobar varias condiciones a la vez, para hacer construcciones más complejas, como: "si a es mayor que b y b es mayor que c", o como "si a es igual a 1 o b es igual a 1 ". Los operadores lógicos que de los que disponemos son:

Operador lógico Significado Ejemplo
& ó Y Conjunción (y). (7>4) & (2=1) //falso
| ó O Disyunción (o). (1=1 | 2=1) //verdadero
~ ó NO Negación (no). ~(2<5) //falso

Un ejemplo de su uso sería:

Algoritmo Ejemplo004b

  Escribir "Dime un numero"
  Leer primerNumero

  Si primerNumero > 0  o  primerNumero = 0 Entonces
    Escribir "Es mayor o igual que cero"
  Sino
    Escribir "Es negativo"
  FinSi

FinAlgoritmo

Además, podemos encadenar varias condiciones una detrás de otra. Como hemos comentado, el ejemplo 4 fallaba si los dos números son iguales. Por eso, un planteamiento más detallado (y más correcto) sería emplear dos comprobaciones "si", de la siguiente manera:

Algoritmo Ejemplo004c

    Escribir "Dime un numero"
    Leer primerNumero
    Escribir "Dime otro numero"
    Leer segundoNumero

    Si primerNumero > segundoNumero Entonces
        Escribir "El primero es mayor"
    Sino
        Si primerNumero < segundoNumero Entonces
            Escribir "El segundo es mayor"
        Sino
            Escribir "Son iguales"
        FinSi
    FinSi

FinAlgoritmo

Ejercicio de repaso propuesto 4.2: Haz una variante del ejemplo 004b, usando el operador ">=".

Ejercicio de repaso propuesto 4.3: Crea un programa que pida un número al usuario y diga si es positivo, negativo o cero.

Ejercicio de repaso propuesto 4.4: Haz un programa que pida al usuario dos números y diga cuántos de ellos son positivos.

Ejercicio de repaso propuesto 4.5: Crea un programa que pida al usuario dos números y muestre su división si el segundo no es cero, o un mensaje de aviso en caso contrario.

Ejercicio de repaso propuesto 4.6: Prepara un programa que pida al usuario tres números y diga cuál es el mayor de los tres.

25899 visitas desde el 15-04-2019

AnteriorPosterior