Sentencia if

La sentencia if permite a un programa tomar una decisión que ejecutará una acción u otra, basándose en el resultado verdadero (true) o falso (false) de una expresión. La sintaxis de la sentencia es:

if_else_1

donde:

if_else_2

veamos su representación desde un diagrama de flujo:

if_else_diagrama

La sentencia if se ejecuta de la siguiente forma:

  1. Se evalúa la condicion obteniéndose un resultado verdadero o falso.
  2. Si el resultado es verdadero (true o distinto de 0), se ejecutará lo indicado en la sentencia 1.
  3. Si el resultado es falso (false o 0), se ejecutará sentencia 2 ignorando la sentencia 1 si no se especificó la clausula else.
  4. La ejecución continúa en la siguiente sentencia ejecutable que haya a continuación de la sentencia if.

Por ejemplo:

if_else_3

if_else_7

En cualquier otro caso continúa con la ejecución de la línea siguiente:

if_else_8

En este otro ejemplo, la condición viene impuesta por una expresión de relación. Si al evaluar la condición se cumple que a es menor que b , entonces se ejecutará la sentencia c = c + 1. En caso contrario, si a es mayor o igual que b, se continúa en la línea siguiente, ignorándose la sentencia c = c + 1.

if_else_diagrama_3

 En este otro ejemplo, la condición viene impuesta por una expresión lógica. Si al evaluar la condición se cumple que a y b son distintos de 0, entonces se ejecuta la sentencia x = i. En otro caso, la sentencia x = i se ignora, continuando la ejecución en la línea siguiente:

if_else_diagrama_4

El ejemplo siguiente, si se cumple que a es igual a b + 5, se ejecutan las sentencias x = 4 y a = a + x. En otro caso, se ejecutará la sentencia b = 0. En ambos casos, la ejecución continúa en la siguiente línea del programa.

if_else_diagrama_5Un error típico que suele darse es escribir, en lugar de la condición del ejemplo anterior, esta otra condición:

if_else_9

que equivale a asignarle a la variable a el resultado de la variable b * 5:

if_else_10

El último ejemplo muestra a continuación la sentencia return que se ejecutará solamente cuando car sea igual al carácter ‘s‘.

if_else_11

atras2

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s