Sentencias iterativas

Anuncio
Sentencias iterativas
Iteración
Una instrucción de iteración (ciclo, o también bucle) permite realizar un proceso
una o varias veces hasta que se cumpla la condición.
Siempre debe existir alguna sentencia que afecte la condición, en caso contrario
se convierte en un ciclo infinito (loop).
1.- While
while(condición)
{
sentencia 1;
⋮
sentencia 𝑛;
}
2.- Do – While
do{
sentencia 1;
⋮
sentencia 𝑛;
}while(condición);
3.- For
for(condición inicial; expresión lógica; operación)
{
sentencia 1;
⋮
sentencia 𝑛;
}
4.- Switch
Switch(expresión de control)
{
case 1:
sentencia 11 ;
⋮
Sentencia 1𝑛 ;
break; //Se utiliza para finalizar el ciclo (romperlo)
case 2:
sentencia 21 ;
⋮
Sentencia 2𝑛 ;
break;
⋮
default: //Esta opción funciona como el “else”
sentencia 1;
⋮
sentencia 𝑛;
}
Bucles infinitos
A continuación, tenemos un fragmento de un programa que utiliza un ciclo de tipo
iterativo (while):
int i=1, n=20;
while(i<=n)
{
printf(“El numero es: %d”, i);
}
Si analizamos el fragmento, nos daremos cuenta de que se trata de un bucle
infinito, pues el programa mostrará infinitamente la variable “i” (que equivale a 1)
ya que no existe ninguna sentencia que afecte esa condición. La pregunta ahora
es ¿Cómo evitarlo? La respuesta está en añadir alguna o algunas sentencias que
transformen el proceso infinito, en un proceso finito.
int i=1, n=20;
while(i<=n)
{
printf(“El numero es: %d”, i);
i++;
}
Nótese que algo tan mínimo como incrementar la variable “i” de uno en uno
convertirá el bucle infinito en algo finito, ya que por cada ciclo, la variable
aumentará en una unidad, lo que significa que cuando llegue al veinteavo proceso,
la condición ya no se cumplirá y el programa terminará.
Ejemplos
1.- Escriba un programa en C que muestre por pantalla los 𝑛 primeros números
naturales.
int main()
{
int n, i=1;
printf(“Ingrese n: ”);
scanf(“%d”, &n);
while(i<=n)
{
printf(“%d”, i);
i++;
}
}
2.- Escriba un algoritmo en C que muestre por pantalla los 𝑛 primeros números
naturales impares.
int main()
{
int n, i=1;
printf(“Ingrese n: “);
scanf(“%d”, &n);
while(i<=n)
{
printf(“%d”, i);
i+=2;
}
}
Ejercicios propuestos
1.- Escriba un programa en C que dado un número cualquiera (ingresado por
pantalla), determine todos sus divisores.
2.- Escriba un programa en C que lea por pantalla 𝑛 datos (𝑛 se ingresa desde
teclado) y determine:
a) El mayor número.
b) El menor número.
c) El promedio de todos los números.
3.- Escriba un programa en C que lea un número por pantalla y determine si es
primo.
Descargar