Computing">
Nothing Special   »   [go: up one dir, main page]

Estructuras de Control Operadores y Expresiones

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

• Operadores y expresiones

Un operador es un símbolo que indica cómo deben ser manipulados los


datos. Las operaciones asociadas a los datos de tipo fundamentales son
conocidas por el compilador y requieren una definición previa de ellas, por
ejemplo, la suma de enteros y resta de reales. Estas operaciones deben
finalizar con un “;” al final de la línea.
Los operadores están agrupados por orden de precedencia como se
puede visualizar en la siguiente Tabla:

Tabla 11.
Operadores Aritméticos y Relacionales

Fuente: Joyanes, L. (2000).

• Operadores lógicos
En C++ una expresión es verdadera si devuelve un valor distinto de cero,
y falsa en caso contrario. Por lo tanto, el resultado de una operación lógica
(AND, OR, NOT) será un valor verdadero (1) o falso (0). Los operadores
lógicos en C++ se muestran en la Tabla 12.
Tabla 12.
Operadores Lógicos

Fuente: Joyanes, L. (2000).

14. SENTENCIAS DE CONTROL


En este punto es importante recordar que los diferentes pasos de un
algoritmo se expresan en los programas como instrucciones, sentencias
o proposiciones. En este sentido, Joyanes, L. (2003: 22) considera que
un programa está constituido por una serie de instrucciones, las cuales
especifican las operaciones que el computador debe realizar. Asimismo,
Bustamante, P. y otros (2004: 30) nos señalan: “las sentencias de un
programa en C++ se ejecutan secuencialmente, esto es, cada una a
continuación de la anterior empezando por la primera y acabando por la
última”.
Ahora bien, para Joyanes, L. (2000:85) las sentencias de control
o estructuras de control, son las encargadas de controlar el flujo de
ejecución: secuencia, selección y repetición. A continuación se explicarán
cada una de ellas:

14.1. Toma de decisión simple (if – else)


La sentencia if le permite a un programa tomar la decisión para ejecutar
una acción u otra, basándose en un resultado de verdadero o falso de la
expresión evaluada. La estructura de la sintaxis es la siguiente:
Si la sentencia solo tiene una sentencia asociada no hace falta aperturar
llaves:
if(condición)
sentencia;
else
sentencia;
Si la sentencia tiene más de una sentencia asociada, se debe aperturar
las llaves para indicar que el grupo de sentencias pertenencen al condicional:
if (condición)
{
sentencia 1;
sentencia 2;
}
else
{
sentencia 3;
sentencia 4;
}
Según Joyanes, L. (2000: 86) el propósito de la sentencia if consiste en:
1. Evaluar la condición, la cual puede ser una expresión numérica
(ejemplo, x= 5).
2. De producirse un resultado verdadero se procede a ejecutar el grupo
de sentencias encerradas entre llaves después del if.
3. En el caso de que el resultado de la evaluación de la condición sea
falso, no se ejecutan las sentencias 1 y 2 y se pasan a ejecutar las
sentencias después de la cláusula else (sentencias 3 y 4).
Un ejemplo de la sentencia if o condicional sería:
//PROGRAMA QUE PERMITE LEER LA EDAD
//Y COMPARAR SI ES MAYOR A 20
#include <cstdio>
#include <iostream>
using namespace std;
main()
{
// declaración variables
int edad;
//capturando
printf(“dame edad : “);
scanf(“%d”,&edad);
//comparando
if( edad>20)
{ cout << “mayor de 20” << endl;
}
else
{ cout << “menor de 20” << endl;
}
system(“pause”);
}

14.2. Ciclo “Para” (for)


La sentencia for permite ejecutar una instrucción, o un conjunto de ellas,
cierto número de veces. Joyanes, L. (2000: 107) indica que son ciclos en los
que un conjunto de sentencias se ejecutan una vez por cada valor de un
rango especificado. La sintaxis de esta sentencia es la siguiente:
for (variable = valor; condición ; progresión)
{
sentencia 1;
sentencia 2;
}
Al igual que en el if, si el ciclo solo tiene una sentencia asociada, en la
sintaxis del for se puede omitir las llaves de la siguiente manera:
for (variable = valor; condición ; progresión)
sentencia;
La ejecución de la sentencia for se puede explicar de la siguiente
manera:
a. Inicializando la variable.
b. Comprobando la condición. Si la condición es verdadera se ejecutan
las sentencias y se da un nuevo valor a la variable según lo indicado
en la progresión el cual puede ser incremental (variable ++) o
decremental (variable --).
c. Ejecutando la progresión se aumenta o decrementa el valor de la
variable en una unidad, comprobando que la condición se cumpla,
deteniendo la ejecución de la sentencia for.

Ejemplo:
//PROGRAMA QUE IMPRIME EN
//PANTALLA 10 VECES LA PALABRA PRUEBA
#include <cstdio>
#include <iostream>
using namespace std;
main()
{
// declaración variables
int x;
// instrucción for
for(x=1;x<=10;x++)
printf(“\n PRUEBA”);
system(“pause”);
}

14.3. Ciclo “Hacer – Mientras” (do – while)


La sentencia do-while ejecuta una sentencia (simple o compuesta) una
o más veces, dependiendo del valor de una expresión. Joyanes, L. (2000:
113) establece que esta sentencia de control se utiliza para especificar un
bucle condicional que se ejecuta al menos una vez. Su sintaxis es:
do {
sentencias;
} while (condición);
Es importante destacar que la sentencia do-while es la única sentencia
de control que finaliza con un “;”
Según el autor citado, esta estructura se realiza de la siguiente forma:
1. Se ejecuta la sentencia.
2. Se evalúa la condición, en el caso de que el resultado sea falso, se
pasa el control a la siguiente sentencia del programa. Si el resultado
es verdadero el proceso se repite desde el principio.
Ejemplo de la sentencia do - while
//PROGRAMA QUE IMPRIME LA PALABRA
//FANATICOS 10 VECES HACIENDO USO DEL
//CICLO DO WHILE
#include <iostream>
using namespace std;
main()
{
// declaración variables
int x=1;
// instrucción do while
do{
cout << “\n FANATICOS”;
x++;
} while(x<=10);
system(“pause”);
}

14.4. Ciclo “Mientras” (while)


La sentencia while funciona de forma parecida al bucle do-while. La
diferencia principal radica en que el bucle do-while asegura que, al menos,
se ejecuta una vez el código contenido entre las llaves, mientras que con
la sentencia while siempre depende de la condición lógica. Las sentencias
del ciclo se repiten mientras que la condición lógica sea verdadera. Para
Joyanes, L. (2000: 102) cuando se evalúa la condición lógica y resulta falsa,
se termina y sale del ciclo ejecutándose la siguiente sentencia de programa
que se encuentra después del ciclo. Su sintaxis es:
while (condición)
{
sentencias;
}
Al igual que en el if y en el for, si se tiene una sola sentencia asociada se
pueden omitir las llaves. A continuación, un ejemplo de la sentencia while:
//PROGRAMA QUE IMPRIME LA PALABRA
//INGENIEROS 10 VECES HACIENDO USO DEL
//CICLO WHILE
#include <iostream>
using namespace std;
main()
{
// Declaración variables
int x=1;
// instrucción while
while(x<=10)
{
cout << “\n INGENIEROS”;
x++;
}
system(“pause”);
}

14.5. Toma de decisión múltiple (switch)


La sentencia switch permite ejecutar una de varias acciones, en función
del valor de una expresión. Joyanes, L. (2000: 91) indica que se utiliza para
seleccionar una de entre múltiples alternativas. Es una sentencia muy útil
para decisiones múltiples. La sentencia switch evalúa la expresión ubicada
entre paréntesis y compara su valor con las constantes de cada case. La
ejecución de las sentencias comienza en el case, cuya constante coincida
con el valor de la expresión y continúa hasta el final del bloque de la
sentencia switch o hasta que encuentra una sentencia tipo break o return
que la saque del bloque. La sintaxis de esta sentencia es la siguiente:
switch (expresión)
{
case expresión-constante 1:
sentencia 1:
break;
case expresión-constante 2:
sentencia 2;
break;
case expresión-constante 3:
sentencia 3;
break;
default:
sentencia 4;
}
La expresión evaluada por el switch puede ser un valor int o un valor
char. En el caso del primero solo se coloca en el case el número (case
1: ), pero si es char, se debe utilizar la comilla simple para especificar el
case (case ‘a’: ). A continuación un ejemplo de la sentencia switch:
//PROGRAMA QUE PERMITA LEER UNA LETRA Y MOSTRAR
//PALABRAS PARA LA A:AGUILA, B:BANCA, C:CABALLO
// D: DETERMINANTE, E:ESPERANZA
#include <iostream>
#include <conio.h>
using namespace std;
main()
{
// Declaración variables
char letra;
//capturando
cout << “dame una letra : “;
letra=getchar();
getchar();
//inicia switch()
switch(letra)
{
case ‘a’: cout << “aguila” << endl;
break;
case ‘b’: cout << “banca” << endl;
break;
case ‘c’: cout << “caballo “ << endl;
break;
case ‘d’: cout << “determinante”<< endl;
break;
case ‘e’: cout << “esperanza” << endl;
break;
default:
cout << “no hay” << endl;
}
system(“pause”);
}
Cabe destacar que se puede omitir el default en el switch, a conveniencia del programador.

También podría gustarte