Programación PIC en C

 

Volver al índice

SENTENCIAS REPETITIVAS:

 

Son aquellas que ejecutan un bloque de sentencias mientras se cumpla una expresión lógica. Este bloque de sentencias que se ejecuta repetidas veces, se denomina bucle, y cada ejecución se denomina iteración.

 

De las diferentes sentencias repetitivas que hay vamos a empezar con while.

 

La sentencia while permite la ejecución de un bloque de sentencias si se evalúa como verdadera una expresión lógica. La expresión lógica aparece al principio del bloque de sentencias.

En la figura de abajo se muestra el Pseudocódigo, el diagrama de flujo y la sintaxis de la sentencia while.

 

Bucle while

 

 

El Pseudocódigo es una forma informal de representar la secuencia del programa, sin tener en cuenta la sintaxis particular del lenguaje en que vayamos a programar y el diagrama de flujo es una representación gráfica del Pseudocódigo.

 

Cuando vayamos a crear un programa el dibujar previamente un diagrama de flujo ó el Pseudocódigo de la secuencia de nuestro programa puede ayudarnos en la tarea de programación, pero en ningún caso es un paso obligatorio.

 

 

El bloque delimitado por las llaves puede reducirse a una sentencia, y en este caso se suprimen las llaves.

 

La expresión lógica debe estar delimitada por paréntesis.

 

Cuando el programa llega a una sentencia while, sigue los siguientes pasos.

  • Evalúa la expresión.
  • Si es falsa, continua la ejecución tras el bloque de sentencias.
  • Si es verdadera entra en el bloque de sentencias asociado al while.
  • Ejecuta dicho bloque de sentencias, evaluando de nuevo la expresión y actuando en consecuencia.


Si la primera evaluación resulta falsa, el bloque de sentencias no se ejecuta nunca.

 

Si la expresión es siempre cierta el bucle es infinito.

 

Vamos con el primer ejemplo:

 

 

Ejemplo Bucle while

 

 

Comentario

El ejemplo lo que hace es mostrar en la terminal la tabla de multiplicar del número cuatro, utilizando un bucle while. Para ello necesitamos declarar una variable auxiliar de tipo entero llamada i1, inicializada con el valor de 1, en cada iteración se comprueba el valor de la variable auxiliar, mientras el valor de i1 sea <=10 la evaluación será verdadera y se ejecutarán las instrucciones que hay dentro del bloque while, dentro de ese bloque tenemos que incrementar el valor de i1, de esta manera nos aseguramos en algún momento la salida del bucle, cuando i1 llegue a 11 la condición será falsa y la secuencia del programa saltará a la línea 19 finalizando el programa.

 

 

La salida del programa será el siguiente:

 

 

Ejemplo bucle while

 

 

Si queremos que el programa este siempre ejecutándose (lo normal en un programa para Microcontroladores), hay que colocar un bucle infinito, mira el siguiente ejemplo:

 

 

Ejemplo de Bucle infinito con while

 

Comentario

true es una constante booleana que equivale a 1 ó verdadero. Por tanto la evaluación del bucle siempre será cierta y no habrá manera del salir de él. El programa estará siempre esperando a que pulses una tecla y mostrará el valor de la tecla pulsada en la terminal.

 

Volver al índice

 

© 2007-2017 AquiHayapuntes.com