Sentencias Iterativas

Páginas: 8 (1951 palabras) Publicado: 5 de septiembre de 2011
Sentencias iterativas

1 Objetivos

Al finalizar esta actividad, serás capaz de:
1. Identificar cuándo usar una sentencia iterativa
2. Identificar las diferencias entre las diferentes sentencias iterativas (while, for y do while) y, por lo tanto, cuál de ellas usar en cada caso

2 Motivación
Hasta ahora nuestros programas eran secuenciales, es decir, empezaban a ejecutarse en laprimera sentencia dentro del main y después de la primera sentencia ejecutábamos la segunda que estaba en la línea inferior, y así sucesivamente hasta el final. Sólo en el caso de encontrar alguna sentencia condicional (if o switch) podía darse el caso de no ejecutar alguna instrucción. Pero en cualquier caso siempre avanzábamos hacia delante y nunca volvíamos a ejecutar una sentencia ya ejecutadaanteriormente.
Con las sentencias iterativas lo que logramos es iterar un grupo de instrucciones, es decir, ejecutar varias veces el mismo grupo de instrucciones mientras una condición especificada sea cierta.
A estas sentencias también se las llama bucles, y las instrucciones que se repiten en un bucle se las denomina el cuerpo del bucle.

3 Los bucles en C
Las sentencias iterativas quevamos a ver en C son las siguientes:
* while
* for

3.1 while
La sentencia while es la más estándar, la podemos encontrar en todos los lenguajes de programación con una sintaxis bastante parecida.

Sintaxis
while(condición) Mientras la condición que pongamos aquí sea cierta
{ las instrucciones del cuerpo de bucle se ejecutarán.
Sentencia 1; Estas llaves enmarcan el comienzoSentencia 2; el final de las instrucciones que
… se repetirán y que por lo tanto forman
Sentencia n; el cuerpo del bucle.
}

Si el cuerpo del bucle lo forma 1 sola sentencia las llaves no son necesarias.

Ejemplo
Queremos hacer un programa escriba por pantalla el doble de los números enteros que el usuario nos introduce por teclado. Para finalizar el usuario introducirá un 0 paraindicar que ya no quiere hacer más cálculos.

void main()
{
int num;

scanf(“%d”, &num);

while (num !=0)
{
printf(“El doble de %d es %d\n”, num, num*2);
scanf(“%d”, &num);
}
printf (“Fin del programa\n”);
}

El programa declara una variable llamada num de tipo entero (int), seguidamente pide por teclado el valor de un número entero que lo almacena en la variablenum.
Seguidamente se evalúa la condición del bucle (num != 0). Si la condición es cierta se ejecutará el printf, mostrando el mensaje por pantalla, y a continuación el scanf pidiendo el siguiente número. El siguiente paso vuelve a ser la evaluación de la condición del bucle (num != 0), si es cierta se vuelve a ejecutar las instrucciones del cuerpo del bucle, … y así hasta que la condición del buclesea falsa. En ese caso se ejecutará el último printf mostrando el mensaje “Fin del programa”.

Ejercicio 1: Escribe el anterior programa en el ordenador, compílalo y línkalo. ¿Funciona correctamente?

La condición del bucle puede ser tan compleja como sea necesaria. En el caso anterior solamente era la comprobación de si una variable tenía un valor diferente a 0 pero podríamos unircondiciones con operadores lógicos (&&, ||).

Ejercicio 2: Modifica el anterior programa de manera que la condición de finalización sea que el número introducido sea 0 o que el doble del último número sea mayor que 100. Comprueba que funciona correctamente.

A priori, no se sabe cuántas vueltas o iteraciones dará el bucle. En el ejemplo anterior hasta que el usuario quiera y nos introduzca el 0.Incluso puede llegar a no ejecutarse nunca las instrucciones del cuerpo del bucle, en el caso de que la primera vez que se evalúa la condición ésta sea falsa.

3.2 for
La sentencia for es un tanto diferente a las 2 sentencias iterativas vistas anteriormente porque para utilizarla correctamente se tienen que cumplir las siguientes premisas:
a) Sabemos a priori cuántas iteraciones dará el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • iteraciones
  • Iteraciones
  • ITER
  • iteres
  • Iter criminis e iter victimae
  • Iter criminis
  • Iterativo E Incremental
  • Rodrigo Iter

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS