Академический Документы
Профессиональный Документы
Культура Документы
En C, nosotros disponemos de tres estructuras que nos permiten la definicin de ciclos condicionales:
El ciclo: while
El ciclo: do - while
El ciclo: for
Tericamente, dichas estructuras son intercambiables, es decir, es posible programar cualquier ciclo con
cualquiera de las estructuras anteriores indistintamente.
El ciclo while
El enunciado while, ejecuta un bloque de enunciados en tanto una condicin especfica sea cierta.
while ( <expresin> )
<bloque de instrucciones>
Si <expresin> evala a cero, la ejecucin del programa contina con el bloque de instruccio
ciclo while.
Ejemplos:
int i;
/* Despliega nmeros de 0 a 9 */
i = 0;
while (i<10)
printf("%d \n", i++);
/* Despliega nmeros de 1 a 10 */
i = 0;
while (i<10)
printf("%d \n", i++);
En ocasiones queremos solamente esperar cierto acontecimiento, sin tener la necesidad de manejar datos den
ese caso, la parte de <bloque de instrucciones>puede ser nulo (notacin: ; o {} ). Por ejemplo, la lnea sig
espacios entrados por el teclado y puede ser utilizado para leer el primer caracter significativo:
Una forma ptima de recibir caracteres de la lnea de comando utilizando el enunciado while , sera la siguien
#include <stio.h>
int main(void)
{
char c;
while ((c=getchar()) != EOF)
putchar(c);
}
Este programa obtiene un caracter, lo asigna a la variable c y revisa si sta fue un EOF (enter). Si no, el enun
ejecutado y el enunciado while se repite. Cuando el EOF es tecleado, el enunciado while y la funcin main te
El ciclo do - while
do
<bloque de instrucciones>
while ( <expresin> );
El bloque <bloque de instrucciones> es ejecutado al menos una vez y tambin es ejecutado mientras que
igual a un valor diferente de cero.
En la prctica, la estructura do - while no es ms frecuentemente usada que el ciclo while, sin embargo, en
constituye una solucin ms elegante. Una aplicacin tpica del ciclo do - while es la captura de datos que d
condicin:
Ejemplo:
float n;
do{
printf("Teclea un nmero entre 1 y 10:");
scanf("%f", &n);
}while((n<1) || (n>10));
El enunciado for
El enunciado for es una construccin de un programa de C que ejecuta un bloque de uno o ms enunciados u
de veces.
<expr1> es evaluada una vez antes de entrar al ciclo. Es utilizada para inicializar los datos de
<expr2> es evaluada antes de cada ciclo. Es utilizada para decidir si el ciclo contina o termin
<expr3> es evaluada al final de cada ciclo. Es utilizada para asignar el nuevo valor a los datos
Ejemplo:
int i;
for (i=1 ; i<=10 ; i++)
printf("El cuadrado de %d est %d \n", i, i*i);
Anidacin de ciclos
El trmino ciclo anidado se refiere a un ciclo que se encuentra dentro de otro ciclo. C no pone limitacin sobre
excepcin de que cada ciclo interno debe estar encerrado completamente en el ciclo externo. Tenemos entonc
anidados, por cada vez que se ejecuta el ciclo externo, se ejecuta completamente el ciclo interno, por lo tanto
veces que se ejecuta el ciclo es de n x m (suponiendo que m es el contador del ciclo externo y n es el contado
Aqu hemos visto tres formas diferentes de programar ciclos (while, do - while, for). Utilizando la estructu
idea del programa que queremos realizar, debemos respetar siempre las siguientes reglas:
Si el bloque de instrucciones debe ser ejecutado por lo menos una vez, entonces se debe
Si el bloque de instrucciones debe ser ejecutado mientras que una condicin exterior es v
se estn danto datos desde el teclado) entonces se deber utilizar while.
for nos da la ventaja de reunir las instrucciones que influyen en el nmero de veces que se r
encabezado de la estructura.
while tiene la ventaja de que corresponde exactamente a las estructuras de otros lenguajes
(while , mientras que).
while tiene la desventaja de llevar, a veces, a estructuras largas, en las que se debe buscar p
instrucciones que influyen en la condicin de repeticin.
if (condicion)
{
instruccin 1;
instruccin 2;
instruccin 3;
}
Alternativa doble.
if (condicion)
instruccin1;
else
instruccin2;
if (condicion)
{
Instruccin 1;
instruccin 2;
}
else
{
instruccin 3;
instruccin 4;
}
Ejemplo de estructura condicional en C++. Programa que lee un nmero entero por
teclado y muestra si es par o impar.
#include <iostream>
using namespace std;
int main(void)
{
int num;
cout <<"Introduzca numero:";
cin >> num;
if ((num%2)==0)
cout << "PAR" << endl;
else
cout << "IMPAR" << endl;
system("pause");
}
Las instrucciones if-else se pueden anidar obtenindose una estructura condicional
mltiple:
if(condicion1)
instruccin1;
else if(condicion2)
instruccin2;
else if(condicion3)
instruccin3;
else if(condicion4)
instruccion4;
else
instruccin5;
instruccin 6;
instruccin 7;
......
Hasta ahora hemos realizado programas secuenciales. Esto significa que todas nuestras
instrucciones eran evaluadas y ejecutadas secuencialmente por el compilador, lnea a lnea.
Ahora vamos a programar alternativas, quiere decir que segn nuestro cdigo y los valores
introducidos por el usuario el compilador evaluar y ejecutar lneas de cdigo de manera
alternativa, no secuencial.
Este programa es un programa secuencial:
1
#include
2
#include
3
using namespace std;
4
int main(){
5
int variableedad;
6
cout<>variableedad;
7
cout<
En este caso el programa se ejecuta lnea a linea, lo voy a describir haciendo una traza
exhaustiva: En la lnea 1 y 2 el compilador carga las libreras necesarias. En la siguiente lnea
hace una llamada a la funcin std. en la lnea 4 declaramos el programa principal. En la lnea 5
declaramos una variable de tipo entero y sin ningn valor, por tanto, se crea una reserva de
memoria en la memoria principal.En la lnea 6 se manda un mensaje por pantalla para que se
introduzca un dato. En la lnea 7 el usuario introduce un dato y se guarda en la variableedad.
En la lnea 8 se muestra el dato introducido por el usuario por pantalla y en la 9 se ejecuta la
funcin getch() para mantener la pantalla hasta que se pulsa una tecla y termina el programa.
Este programa es secuencial por que se ejecuta desde la lnea 1 hasta la lnea 9 sin ninguna
alternativa.
La sentencia if, tras evaluar una expresin lgica, ejecuta una serie de sentencias en caso de
que la expresin lgica sea verdadera. Su sintaxis es:
Dentro de una sentencia if se puede colocar otra sentencia if y asi sucesivamente, esto es lo
que se denomina como anidamiento, y permite crear programas donde se valoren expresiones
complejas.
Accede totalmente GRATIS al videocurso Aprende C++ desde cero >>>Accede al curso
GRATIS Ahora<<<<<<<<<
Decir que, tanto en el if como en el else slo hay una nica sentencia entonces en la sintaxis
podemos eliminar las llaves ({}). Para que este concepto te quede completamente claro
vamos a ver un ejemplo en c++. El ejemplo siguiente va a mostrar un programa con
alternativas. El programa pedir una nota de 0 a 10, y segn esa nota escribir en la pantalla
si es un aprobado, si la nota es mayor que 5 o si es un suspenso, si la nota es menor que
cinco.
Como se observa en el cdigo, este programa puede tomar dos alternativas, si el nmero
introducido por el usuario es menor que 5 entonces el compilador se olvida del else y slo
ejecuta las sentencias del if, en caso contrario,el nmero es mayor que 5, el compilador se
olvida del if y ejecuta lo que hay en el else.