Vous êtes sur la page 1sur 9

Ing. Iván Rojas Ing.

Ronald Gonzalez

Instrucción if

La instrucción if – else es la forma más simple de la estructura de decisión


en C++. La sintaxis de esta estructura es como sigue:

if (condición)

instrucción1 – si la condición es cierta;

else

instrucción2 – si la condición es falsa;

Cuando se ejecuta la instrucción if, la condición es evaluada primero para


determinar su valor numérico, que entonces es interpretado como cierto o falso.
Si el valor de la expresión es distinto de cero se ejecuta la instrucción que sigue a
la condición (instrucción1). Si el valor de la expresión es cero se ejecuta la
instrucción que sigue a la palabra else (instrucción2).

La instrucción if puede ser usada sin la sección else. Esta estructura


decisional modificada toma la forma general:

if (condición)

instrucción – si la condición es cierta;

Cuando se ejecuta la instrucción if, la condición es evaluada primero para


determinar su valor numérico, que entonces es interpretado como cierto o falso.
Si el valor de la expresión es distinto de cero se ejecuta la instrucción que
sigue a la condición. Si el valor de la expresión es cero se ejecuta la próxima
instrucción en el programa.

Condición
Ing. Iván Rojas Ing.Ronald Gonzalez

Comúnmente, en una instrucción if, la condición es una expresión relacional.


Una expresión relacional simple consiste de un operador relacional que compara
dos operandos. Cada operando en una expresión relacional puede ser una
variable o una constante.

Datos Booleanos – Los datos booleanos están restringidos a los


valores TRUE ó FALSE. Tradicionalmente, C++ no tiene
incorporado apoyo a datos booleanos. Normalmente se utilizan
valores enteros, donde 0 (cero) representa el valor FALSE y 1
(uno) representa el valor TRUE. (En C++ el valor cero representa
FALSE y un valor distinto de cero representa TRUE.)

Operadores Relacionales

Operador Significado Ejemplo


== Equal To area == 100
!= Not Equal To numero != 0
> Greater Than radio > 1
< Less Than edad < 30
>= Greater Than or Equal To temp >= 98.6
<= Less Than or Equal To tax <= 6.6

Operadores Lógicos

Los operadores lógicos se utilizan para crear condiciones o expresiones


relacionales complejas. Los operadores lógicos son AND, OR y NOT y estos se
representan con los símbolos &&, || y !, respectivamente. (La precisión de valores
numéricos reales (float) puede causar resultados inesperados.)

Ejemplos de expresiones lógicas:

(voltage > 48) && (milliamp < 10) ! complete (i == j) || ((a < b) ||
complete

Instrucción dentro del if

En un if siempre se ejecuta una instrucción, dependiendo del resultado de la


condición. La instrucción que se ejecuta puede ser una instrucción compuesta, en
cuyo caso se ejecutan las instrucciones encerradas dentro de llaves {}.

Ejemplo:

if (condición)

{
Ing. Iván Rojas Ing.Ronald Gonzalez

instrucción1;

instrucción2;

instrucción3;

… ;

else

instrucción4;

instrucción5;

instrucción6;

… ;

Además de instrucciones compuestas, la instrucción que se ejecute dentro de un


if puede ser otra instrucción if. Esta modalidad se conoce comi if anidado
(nested if).

Ejemplo:

if (condición1)

if (condición2)

instrucción1;

else

instrucción2;

En general, se debe evitar el uso de if anidados en más de un nivel.


Ing. Iván Rojas Ing.Ronald Gonzalez

La instrucción switch

La instrucción switch provee una alternativa para el if anidado en casos que


comparan el valor de una expresión entera a un valor específico. La forma
general de esta instrucción es como sigue:

switch (expresión)

case valor_1:

instrucción1;

instrucción2;

… ;

break;

case valor_2:

instrucciónm;

instrucciónn;

…;

break;

case valor_n:

instrucciónw;

instrucciónx;
Ing. Iván Rojas Ing.Ronald Gonzalez

… ;

break;

default:

instrucciónaa;

instrucciónbb;

… ;

Ejecución de la instrucción switch

La palabra switch identifica el comienzo de la instruccción. La expresión entre


paréntesis es evaluada y el resultado es comparado a las varias alternativas
contenidas dentro de la instrucción compuesta. La expresión tiene que resultar en
un valor entero.

La palabra case identifica los valores individuales que serán comparados al valor
que resulte de la expresión. El valor resultante de la expresión es comparado con
cada uno de los valores en el orden en que aparecen hasta encontrar un valor
igual entre los casos. Cuando se encuentra un valor igual la ejecución comienza
con la instrucción que le sigue al case.

El número de casos (case) no está limitado y puede ser en cualquier orden. Si el


valor resultante de la expresión no se encuentra entre los casos, no se ejecuta
ninguna de las instrucciones, a menos que se encuentre la palabra default. La
palabra default es opcional y opera en la misma forma que else en un if. Si
el valor de la expresión no se encuentra entre los casos, la ejecución comienza
con la instrucción que le sigue a default.

Una vez se localiza un punto de entrada en la estructura de switch, todos los


casos que faltan por evaluar son ignorados y la ejecución continúa hasta el final de
la instrucción compuesta, a menos que se encuentre la palabra break. Esta es la
razón para la palabra break, identificar el final de un caso particular y causar la
salida inmediata de la instrucción switch.

Estructuras de Repetición
Ing. Iván Rojas Ing.Ronald Gonzalez

Existen tres tipos de estructuras de repetición en C++:


1. estructura while
2. estructura for
3. estructura do-while

Las estructuras de repetición tienen cuatro elementos esenciales:


a. Instrucción de repetición que define los límites de la sección de código que
se repite y controla si el código se ejecuta o no.
b. Condición a ser evaluada para decidir si se ejecuta el código. Si la
condición es cierta, se ejecuta el código.
c. Instrucción de inicialización para fijar la condición inicial y siempre precede
a la condición.
d. Instrucción de cambio en la condición para detener el ciclo de repetición.

Pretest – la condición es evaluada al principio del ciclo. (while, for)


Posttest – la condición es evaluada al final del ciclo. (do-while)

Fixed count – la condición se utiliza para llevar cuenta del número de veces que se
repite el ciclo.
Variable condition – la condición no depende de un conteo. (interactivo)

Ciclo infinito – ciclo que nunca termina.

break – obliga la terminación del ciclo; se puede utilizar con switch, while y
do-while.

continue – obliga a comenzar la próxima iteración del ciclo; solamente se puede


utilizar con while, do-while y for.

Sentinelas

Nested loops
Ing. Iván Rojas Ing.Ronald Gonzalez

Ciclo while
while (expresión)
Instrucción;

La instrucción que sigue a la expresión puede ser compuesta, o sea un conjunto


de instrucciones encerradas entre llaves {}.

Ejemplo:

Escriba un programa en C++ para obtener la suma de los números del 1 al 10


(1+2+ . . . +10). El programa tiene que escribir el resultado de cada suma.

#include<iostream.h>
void main()
{
int Numero,Suma;
Suma = 0;
Numero = 1;
while (Numero <= 10)
{
Suma = Suma + Numero;
cout << Suma << endl;
Numero = Numero + 1;
}
}

Ciclo for
for (valor inicial; expresión; incremento)
Instrucción;
Ing. Iván Rojas Ing.Ronald Gonzalez

Ejemplo:
Escriba un programa para obtener la suma de los números pares entre 1 y 25.
Los números pares se obtienen usando la función %. Por ejemplo si 50 % 2 es
igual a 0 significa que 50 es par. El resultado de la función % (módulo) es el
residuo de la división. El programa tiene que escribir el resultado de cada suma.

#include<iostream.h>
#include<math.h>
void main()
{
int Numero,Suma,Residuo;
Suma = 0;
for (Numero = 1;Numero < 26; Numero = Numero + 1)
{
Residuo = Numero % 2;
if (Residuo == 0)
{
Suma = Suma + Numero;
cout << Suma << endl;
}
}
}
Ing. Iván Rojas Ing.Ronald Gonzalez

Ciclo do-while
do
Instrucción;
while (expresión);

Ejemplo:
El siguiente programa en C++ recibe dos valores entrados por el usuario y los
almacena en las variables A y L respectivamente. Luego los muestra en la
pantalla y después los compara. Si los valores son distintos se muestra un
mensaje y se repite el ciclo. Si son iguales se muestra un mensaje y se termina el
ciclo.

#include<iostream.h>
void main()
{
int A,L;
do
{
cout << "Entre valor de A \n";
cin >> A;
cout << "A = " << A << endl;
cout << "Entre valor L \n";
cin >> L;
cout << "L = " << L << endl;
if (A == L)
cout << "Los valores son iguales" << endl;
else
cout << "Los valores son distintos" << endl;
}
while (A != L);
}