jueves, 7 de mayo de 2009

Resumen Capitulo 6 Estructuras de control: Bucles

Introduccion
Uno de las caracteristicas de las computadoras que aumentan considerablemente su potencia es su capacidad para ejecutar una tarea muclas (repetidas veces con gran velocidad, precision y fiabilidad cosa que nosotros los humanos encontramos dificiles y tediosas de realizar.
En este capitulo se estudian las estructuras de control iteractivas o repetitivas que realizan la repeticion o iteracion de acciones. C soporta tres tipos de estructuras de control: Los bucles while, for y do-while.
6.1 Sentencia While
Un bucle (ciclo) es cualquier construccion de programa que repite una sentencia o secuencia de sentencias un numero de veces. La sentencia que se repiten en un bloque se denomina cuerpo de un bucle y cada repeticion del cuerpo del bucle se llama iteracion del bucle.
Un bucle while tiene una condicion del bucle(una expresion logica) que controla la secuencia de repeticion. La posicion de esta condicion del bucle es delante del cuerpo del bucle y significa que un bloque while en un bucle pretest de modo que cuando se ejecuta el mismo se evalua la concicion antes de que se ejecute el cuerpo del bucle.
El comportamiento o funcionamiento de una sentencia (bucle) while es:
  1. Se evalua la condicion bucle
  2. Si condicion bucle es verdadera (distinto de cero) :
  • La sentencia especificada denominada cuerpo del bucle; se ejecuta
  • Devuelve el control al paso

3. En caso contrario:

  • El control se transferira a la sentencia siguiente al bucle o sentencia while

6.2 Repeticion: El bucle for

El bucle for de C es mas potente que los bucles for de otros lenguajes de programacion clasicos ya que ofrece mas control sobre la inicializacion y el incremento de las variables de control del bucle. Ademas el bucle while C proporciona otros dos tipos el for y el do.

El for que se estudia en esta parte es el mas adecuado para implementar bucles controlados por contador y se utiliza el algoritmo " Por cada valor de una variable-contador de un rango especifico; ejecutar sentencias

La sentencia for en un modo para ejecutar un bloque de sentencias de un numero fijo de veces. El bucle for se diferencia del while por que este se situa en la cabecera de la sentencia.

6.3 Precaucciones en el uso de for

El bucle for se debe construir con gran precaucion asegurandose que la expresion de inicializacion la condicion del bucle y la expresion de incremento haran que la condicion del mismo se convietrtan en false en algun momento.

6.3.1 Bucles infinitos

El uso principal de un bucle for es simplemente bucles de conteo en el que el numero de conteo en el que el numero de repeticiones se conoce por anticipado.

6.4 Repeticion del bucle do...while

La secuencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos 1. Esta situacion se suele dar en algunas circunstancias en las que se ha de tener la seguridad de que una accion se ejecutara una o varias veces, pero almenos una vez.

6.4.1 Diferencias entre while y do-while

Una sentencia do-while es similar a la while excepto que el cuerpo del bucle se ejecutara siempre al menos una vez.

6.5 Comparacion de bucles while, for y do-while

C proporciona las tres sentenicas anterioes para el control de bucles. El while se repite mientras su condicion de repeticion del bucle sea verdadero; el bucle for significa que se utiliza normalmente cuando el conteo este implicado o bien en el numero de iteraciones requeridas se puedan determinar al principio de la ejecucion del bucle o simplemente cuando exista una necesidad de seguir el numero de veces que un suceso particular tiene lugar. El bucle do-while se ejecuta de un modo similar a while excepto que las sentencias del cuerpo del bucle se ejecutan siempre al menos una vez.

6.6 Diseño de bucles

El diseño de un bucle necesita tres puntos a considerar

  1. El cuerpo del bucle
  2. Las sentencias de inicializacion
  3. Las condiciones para la terminacion del bucle

Final de un bucle

Existen cuatro metodos para terminar un bucle de entrada:

  1. Alcanzar el tamaño de la secuencia de entrada
  2. Preguntar antes de la iteracion
  3. Secuencia de entrada terminada con un valor centinela
  4. Agotamiento de la entrada

Bucles for vacios

La entrada nula (;) es una sentencia que esta en el cuerpo del bucle y no hace nada. Un bucle for se considera vacio si consta de la cabecera y de la sentencia nula(;)

6.7 Bucles anidados

Es posible anidar bucles. Los bucles anidados constan de un bucle externo con uno o mas bucles internos. Cada vez que se repite el bucle externo, los bucles internos se repiten, se vuelven a evaluar los componentes de control y se ejecutan todas las iteraciones requeridas.

6.8 Enumeraciones

Un enum es un tipo definido por el programador con constantes simbolicas de tipo entero. En la declaracion de un tipo enum se escribe una lista de identificadores que internamente se asocian con las constantes enteras 0, 1 ,2 , 3 .......

Los miembros datos de un enum se llaman enumeradores y la constante entera por defecto del primer enumerados de una lista de los miembros datos es igual a 0. Observese que los miembros de un tipo enum reparan por eloperador coma. El ejemlo anterior es equivalente a la definicion de las tres constantes rojo, verde y azul

const int rojo = 0;

const int verde = 1;

const int azul = 2;

No hay comentarios:

Publicar un comentario