Está en la página 1de 6

ProgramacinInstitutoTecnolgico deCelaya

SENTENCIAS CONDICIONALES SIMPLES: if-else


Anteriormente se discuti que una de las estructuras utilizadas en la
programacin estructurada es la Estructura Selectiva o Condicional. Se
explican aqu las sentencias que se utilizan en el lenguaje C++ para representar
este tipo de estructuras.

Proposiciones Condicionales
Algunas veces es necesario que un programa seleccione entre alternativas
dependiendo de

los valores de algunas variables. Recordemos el ejercicio de

tarea acerca del diagrama de flujo que sirvi para encontrar el menor de dos
nmeros:

Inicio

a,b

Falso

a>b

menor = a

Verdadero

menor = b

menor

Fin

Observe la interpretacin que, en palabras, se podra dar a la estructura


condicional de dicho ejemplo:

IngenieraQumica

ProgramacinInstitutoTecnolgico deCelaya

si a>b entonces
menor = b
si no es as
menor = a
Existe una sentencia en C++ que permite este tipo de expresiones. Se trata de
la sentencia if-else. (if = si, else = de otra forma, por el contrario, etc.) Para el
ejemplo que se est analizando, la sentencia sera:
if (a>b)
menor = b;
else
menor = a;
Esta es la forma ms simple de una sentencia if-else. A la expresin entre
parntesis se le denomina Expresin Booleana y, al igual que una variable
booleana, al evaluarla se tiene como resultado al valor de Falso o Verdadero.
Cuando se ejecuta un programa que contiene una sentencia if-else, solamente
las sentencias de una de las alternativas se considera. Si la expresin booleana
es verdadera, la sentencia escrita por debajo de if (expresion_booleana) se
ejecuta. Si la expresin booleana falsa, solamente la sentencia por debajo de
else es la que se ejecuta.
En el ejemplo, cada una de las alternativas contiene solamente una sentencia
(menor=b y menor=a, respectivamente). Sin embargo, cada alternativa puede
presentar varias sentencias.
En general, la sintaxis de una sentencia condicional if-else es la siguiente.
Una sola sentencia en cada alternativa:

if (expresion_booleana)
sentencia_de_verdadero;
else
sentencia_de_falso;

IngenieraQumica

ProgramacinInstitutoTecnolgico deCelaya

Observe que las lneas correspondientes a if y a else no llevan punto y coma.


Cuando se tienen ms de una secuencia en cada alternativa:

if (expresion_booleana)
{
sentencia_1_de_verdadero;
sentencia_2_de_verdadero;

ultima_sentencia_de_verdadero;
}
else
{
sentencia_1_de_falso;
sentencia_2_de_falso;

ultima_sentencia_de_falso;
}
Las sentencias en cada uno de las alternativas pueden ser cualquier sentencia
ejecutable de C++. Cuando se tiene una situacin como sta, en la cual hay
una lista de sentencias entre llaves, se dice que se tiene una sentencia
compuesta.

Expresiones Booleanas
Recordemos que la expresin boolena de una sentencia if-else deber ser
encerrada entre parntesis. La forma ms simple de una expresin booleana
consiste de dos nmeros o variables que son comparadas entre s a travs de
algn operador. Los operadores utilizados para comparacin estn constituidos
por uno o dos smbolos. Los operadores son los siguientes:

IngenieraQumica

ProgramacinInstitutoTecnolgico deCelaya

Operador en
Matemticas
=

<
<
>
>

Espaol

Operador

Ejemplo

Igual a
Desigual a
Menor que
Menor igual que
Mayor que
Mayor igual que

en C++
==
!=
<
<=
>
>=

edad==18
var_1 != 1
contador < 20
suma <= 15
a>b
tiempo >= limite

Para escribir los operadores de dos smbolos no debe de dejarse espacio entre
ellos. Un error comn es utilizador un solo smbolo = para comparar si dos
variables o nmeros son iguales. Se debe de asegurar de usar dos smbolos.
Recuerde que un solo smbolo = se usa para asignaciones. Observe que el
resultado de una comparacin ser el valor de falso o verdadero.
Es posible combinar varias comparaciones a travs de los operadores and (y
en espaol) y or (o en espaol). En C++ el operador and se representa
como &&, mientras que el operador or se representa como ||. Por ejemplo, la
siguiente expresin evala si el valor de la variable x es mayor que 2 y menor
que 7:
(2 < x) && (x < 7)
Debido al operador and, la expresin slo tiene el valor de verdadero si
ambas comparaciones son verdaderas.
Por otro lado, la siguiente expresin evala si el valor de la variable y es menor
a 0 o mayor que 12:
(y < 0) || (y > 12)
Debido al operador or, la expresin anterior es verdadera si alguna (o las
dos) de las comparaciones es verdadera. Hay que recordar que cuando se usa
una expresin booleana en una sentencia if-else, toda la expresin debe de

IngenieraQumica

ProgramacinInstitutoTecnolgico deCelaya

usarse entre parntesis. Por ejemplo, la siguiente es la primera lnea de una


sentencia if-else:
if ( (temperatura > 35) && (humedad > 85) )
Existe adems un smbolo especial que sirve para obtener el valor contrario de
una expresin booleana. Se dice tambin que dicho smbolo sirve para obtener
la negacin de una expresin booleana. El smbolo es !. Por ejemplo, la
expresin:
!(x > y)
En este caso, si x es mayor que y, el valor de la expresin (x>y) sera
verdadero. Sin embargo, debido a la negacin, el valor de la expresin completa
!(x > y) sera falso.
Formalmente, la sintaxis para el uso de los operadores && y || es la siguiente:

(comparacion_1) && (comparacion_2)... && (ultima_comparacion)


(comparacion_1) || (comparacion_2)... || (ultima_comparacion)
Ambos operadores se pueden combinar utilizando el uso de parntesis como en:

( (comparacion_1) && (comparacion_2) ) || (comparacion_3)


Ejemplos de uso de la sentencia if-else:
if ( (calificacion > 8.0) && (calificacion < 9.0) )
cout<< La calificacion esta entre 8 y 9 \n;
else
cout<< La calificacion no esta entre 8 y 9 \n;

Notas

Algunas veces se desea que una de las alternativas de una estructura if-else
no ejecute ninguna instruccin. En ese caso, es posible utilizar la estructura

IngenieraQumica

ProgramacinInstitutoTecnolgico deCelaya

condicional omitiendo la parte de la estructura que corresponde a else. En


C++ ese tipo de estructuras se le conoce simplemente como sentencia if.
Por ejemplo, la siguiente parte de un diagrama de flujo:

Falso

Verdadero

a>b

menor = b

corresponde a la instruccin:
if (a>b)
menor = b

Un error comn es tratar de utilizar operadores de comparacin en serie.


Por ejemplo:
if (x<z<y)
Esto es incorrecto. La forma correcta sera:
if ( (x<z) && (z<y) )

IngenieraQumica

También podría gustarte