Professional Documents
Culture Documents
6.1.1. SENTENCIA if
Sentencias if sencillas
Sintaxis de la instrucción:
if (expresión)
Acción1
else
Acción2
Ejemplo:
if (numero>=0)
{cout<<”numero positivo”;
X++;}
else
cout<<”numero negativo”;
cout<<”otras instrucciones”;
En este ejemplo si número es mayor o igual que cero, escribe numero positivo y aumenta
en uno la variable x, a continuación escribe: “otras instrucciones”. Si la condición no se
cumple escribe: “numero negativo” y a continuación escribe “otras instrucciones”.
En el caso en que no haya acciones por falso, al evaluar la expresión del paréntesis, se
ignoran estas acciones y se continúa con la ejecución del programa, así:
Sintaxis de la instrucción:
if (expresión)
Acción
1
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
Ejemplo:
if (numero>=0)
cout<<”numero positivo”;
cout<<”otras instrucciones”;
En este ejemplo si la variable número es mayor que cero, el programa escribe: ”numero
positivo” y a continuación la siguiente instrucción: “otras instrucciones”. En caso de que
la condición no se cumpla solo imprime “otras instrucciones”;
Sintaxis de la instrucción:
if (expresión) Acción-1
else
if (expresión1) Acción-2
else
if (expresión2) Acción-3
else
if (expresión3) Acción-4
else
:
:
Acción-n
Utilizamos este caso cuando se deben evaluar tres o más alternativas (condiciones).
Cuando expresión es verdadera, se ejecutan las instrucciones que se mencionen en
Acción1, en caso contrario (else), se evalúa expresión1 para ejecutar las instrucciones
por verdadero en Acción2. Si hay más alternativas (condiciones), se evalúan más
expresiones. Por lo anterior si un programa tiene tres alternativas, se requiere dos
condicionales; si tiene cuatro alternativas, se requieren tres condicionales y así
sucesivamente.
Por ejemplo:
if (numero==0)
cout<<”numero cero”;
else
if (numero>0)
cout<<”numero positivo”;
else cout<<”numero negativo”;
cout<<”otras instrucciones”;
En este ejemplo tenemos tres alternativas por lo que tenemos que anidar dos
instrucciones if. Si número es igual que cero, escribe: “numero cero” y a continuación:
“otras instrucciones”. Si el número es mayor que cero, escribe: “numero positivo” y
a continuación: “otras instrucciones”. Si la condición no es ninguna de las dos
anteriores alternativas o sea es menor que cero, escribe: “numero negativo” y a
continuación: “otras instrucciones”.
2
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
EJEMPLOS
EJEMPLO 1:
Leer un número y escribir si es “mayor” o “menor o igual” que 100
Variables: numero
EJEMPLO 2:
Leer un número y escribir si es menor que cero, igual a cero o mayor que
cero.
Variable: NUMERO
EJEMPLO 3:
Leer tres números, determinar cuál es el mayor.
3
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
Sintaxis de la instrucción:
switch (valor)
{
case 1: ejecuta esto si valor es 1
break;
}
Se evalúa la expresión de control o selector (en este caso valor)y se compara con cada
una de las etiquetas case para ejecutar la secuencia de acciones hasta la sentencia break.
Cada etiqueta es un valor único y diferente de los otros, la etiqueta default, es opcional y se
utiliza cuando se sospecha que pueden venir valores diferentes a los de las etiquetas. Cuando
el computador encuentra la sentencia break, saltará a la primera sentencia luego de la llave
de cierre del switch.
4
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
include<iostream>
using namespace std;
int main()
{
int hijos;
cout<< "Ingrese la cantidad de hijos que usted tiene: \n";
cin>>hijos;
switch(hijos)
{
case 0:
cout<< "No le corresponde asignación familiar por hijo \n";
break;
case 1:
cout<< "Le corresponden $95000 de asignación familiar por su único hijo\n";
break;
case 2:
cout<< "Le corresponden $150000 de asignación familiar por sus dos hijos\n";
break;
default:
cout<< "Le corresponden $200000 de asignación familiar por tener más de dos
hijos\n";
break;
}
system(“pause”);
return 0;
}
Se define la variable del tipo entero hijos, se le pide al usuario que ingrese el número de hijos que
posee y luego entra en acción la estructura switch, actuando de diferentes formas dependiendo del
valor de la variable hijos en tiempo de ejecución.
Uno de los usos más frecuentes del switch está en la implementación de menús, esto es,
presentar en pantalla una serie de alternativas para que el usuario elija una.
EJEMPLO:
switch (opcion)
{
case 1:
cout<<"DIGITE EL VALOR DE LA BASE DEL TRIANGULO ";
cin>>base;
cout<<"DIGITE EL VALOR DE LA ALTURA DEL TRIANGULO ";
cin>>altura;
area=base*altura/2;
break;
case 2:
cout<<"DIGITE EL VALOR DEL LADO DEL CUADRADO ";
cin>>lado;
area = lado*lado;
break;
case 3:
cout<<"DIGITE EL VALOR DEL RADIO DEL CIRCULO ";
cin>>radio;
area = pi*radio*radio;
break;
default:
cout<<"OPCION NO VALIDA ";
}
cout<<"\nArea = "<<area<<endl;
system("pause");
return 0;
}
6
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
Un bucle o ciclo es una instrucción que permite realizar tareas repetitivas. Un bucle
consta de tres partes fundamentales: DECISION (simple o compuesta), CUERPO DEL
BUCLE y la SALIDA DEL BUCLE.
Los bucles pueden ser sencillos o anidados (ciclos dentro de otros ciclos).
Bucle A
Bucle A
B
U
Bucle B C
L
E
Bucle B
Bucle C
Contador
Los procesos repetitivos son la base del uso del computador. En estos procesos se
necesita normalmente contar los sucesos o acciones internas del bucle. Una forma de
controlar un bucle es mediante un contador.
Un contador es una variable cuyo valor se incrementa o disminuye en una cantidad
constante por cada iteración.
Ejemplo:
7
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
Acumulador
Es una variable cuya misión es almacenar por cada iteración, cantidades variables
resultantes de sumas o productos sucesivos.
Ejemplo:
8
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
Sintaxis de la instrucción:
{
Bloque de sentencias
}
La condición es una expresión booleana que indica cuando se debe terminar con las
iteraciones.
Los puntos y comas son indispensables para separar la inicialización del contador, con la
expresión lógica y el incremento o disminución.
9
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
El siguiente ejemplo:
int K;
for (k=1; k <= 20; k+=2)
cout<< k;
10
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
Sintaxis de la instrucción:
while (condición)
{
sentencia-1;
sentencia-2;
sentencia-3;
…………………….
sentencia-n;
}
En este caso las sentencias se repiten, mientras la expresión lógica o condición del bucle
sea verdadera.
La condición para ingresar al bucle se evalúa antes de que se ejecuten las sentencias.
Si la condición es falsa, no se ingresará al bucle.
Note que no se coloca punto y coma (;) en el la línea del while, de hacerse no ejecutará
el bucle.
Cuando se debe ejecutar solo una sentencia varias veces, no es indispensable el uso de
las llaves { }.
EJEMPLO 1:
PSEUDOCODIGO CÓDIGO EN C++
Inicio #include<iostream>
Z----- 0 using namespace std;
Mientras y !=10 Hacer int main()
Leer y {
Z--- Z+y
int z= 0, y=0;
Fin mientras
Escribir Z while (y != 10)
Fin {
cout << "Escriba un numero ";
cin >> y;
z = z + y;
}
cout << z << endl;
system("pause");
}
El ciclo while, suma los números que se ingresan por teclado en la variable z, hasta que
se digite el valor del centinela que en este caso es 10 y que permite la terminación del
ciclo.
11
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
EJEMPLO 2:
Contar los números positivos que se ingresan por teclado hasta que se ingrese un número
negativo.
Sintaxis de la instrucción:
do
{
sentencia-1;
sentencia-2;
sentencia-3;
:
:
sentencia-n;
} while (condición);
Observe que se coloca punto y coma (;), luego de la condición del while.
12
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
EJEMPLO 1:
int x=1;
do
{
cout<<x<<endl;
x++;
} while(x<10);
Imprime los números del 1 al 9. Se ha utilizado una variable contador x que inicia en 1,
esta variable nos permitirá controlar la terminación del ciclo, haciendo incrementos de 1,
por cada iteración.
EJEMPLO 2:
Hacer un programa que imprima la tabla de multiplicar de un número dado por teclado
13
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
EJEMPLO
14
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS
EJEMPLO
Calcular la ecuación, para 10 números que se introducen por teclado.
OBSERVACIONES:
Cuando la instrucción continue aparece en una instrucción while, significa que la ejecución
se transferirá automáticamente a la parte superior del ciclo y empezará a evaluar
nuevamente la condición.
Es útil la instrucción continue para no contabilizar datos inválidos. Por ejemplo las
notas erradas de un grupo de estudiantes cuando se desea el promedio y se ingresan
datos por fuera del rango 1 a 5.
{
cin>>calificacion;
if(calificacion<1 || calificacion >5)
continue;
suma+=calificacion;
cuenta++;
}
cout<<"\nPromedio = "<<suma/cuenta<<endl;
system("pause");
return 0;
}
Cuando continue aparece en una instrucción for, hace que el control se transfiera al
incremento de la instrucción, después de lo cual se vuelve a evaluar la expresión de
prueba, a diferencia de la anterior la iteración es contada.
RESUMEN
- Las estructuras de control registran la secuencia o flujo de ejecución de las
sentencias. Las estructuras de control se dividen en tres grandes categorías por el flujo de
ejecución: secuencia, selección y repetición.
- Las estructuras de selección nos permiten controlar la secuencia o flujo de ejecución de las
sentencias del programa, según se cumpla o no una condición.
16