Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
Programación 1
¡Bienvenidos a nuestro Blog! Espero puedan disfrutarlo y aprender. Este será un contacto que podrá superar los límites de tiempo de las horas de clase: aprovéchenlo para construir algo nuevo.
02 de Junio, 2016    LENGUAJE C

Instrucción do while en Lenguaje C

¿Para qué sirve la instrucción repetitiva hacer mientras (do while) en C?

En lenguaje C, para escribir una instrucción do while (repetitiva hacer mientras) se utiliza la sintaxis:
do
{
   <bloque_de_instrucciones>
} while ( <expresión_lógica> );
Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, los caracteres abrir llave ({) ycerrar llave (}) son opcionales.

Además, como se puede apreciar, la instrucción repetitiva 
do while, también hace uso de una condición.

En un 
bucle do while, primero se ejecuta el bloque de instrucciones y, después, se evalúa la condición. En el caso de que ésta sea verdadera, se vuelve a ejecutar el bloque de instrucciones. Y así sucesivamente, hasta que, la condición sea falsa.

Por consiguiente, cuando el 
flujo de un programa llega a un bucle do while, existen dos posibilidades:
  1. Se ejecuta el bloque de instrucciones y, después, si la condición se evalúa a falsa, el bloque de instrucciones no se vuelve a ejecutar, de manera que, el bucle do while finaliza, habiendo realizado una sola iteración.
  2. Se ejecuta el bloque de instrucciones y, a continuación, si la condición se evalúa a verdadera, el bloque de instrucciones se vuelve a ejecutar. Y así sucesivamente, hasta que la condición sea falsa.
El <bloque_de_instrucciones> de un bucle do while puede ejecutarse una o más veces (iteraciones). También hay que prevenir que el bucle no sea infinito.

En resumen, una instrucción repetitiva 
do while permite ejecutar repetidamente (una o más veces) un bloque de instrucciones, mientras que, una determinada condición sea verdadera.

Ejemplo 1: De modo que, utilizando un bucle do while, el problema del ejemplo 1 del apartado anterior, Instrucción while en C, se puede resolver con el código:
#include <stdio.h>

int main()
{
   int contador;

   printf( "    " );

   contador = 1; /* Inicialización del contador */
   do
   {
      printf( "%d ", contador );   /* Salida */
      contador++;                 /* Incremento */
   } while ( contador <= 10 );     /* Condición */

   return 0;
}
Como ya se ha dicho, el bucle do while puede iterar una o más veces, por tanto, cuando un bloque de instrucciones debe iterar al menos una vez, generalmente, es mejor utilizar un bucle do whileque un bucle while, como por ejemplo, en el siguiente problema.

Ejemplo 2: Se quiere escribir un programa que:

1º) Pida por teclado un número (dato entero).
2º) Pregunte al usuario si desea introducir otro o no.
3º) Repita los pasos 1º y 2º, mientras que, el usuario no responda 'n' de (no).
4º) Muestre por pantalla la suma de los números introducidos por el usuario.

En pantalla:

   Introduzca un numero entero: 7

   ¿Desea introducir otro (s/n)?: s

   Introduzca un numero entero: 16

   ¿Desea introducir otro (s/n)?: s

   Introduzca un numero entero: -3

   ¿Desea introducir otro (s/n)?: n

   La suma de los numeros introducidos es: 20
El código propuesto es:
#include <stdio.h>

int main()
{
   char seguir;
   int acumulador, numero;

   /* En acumulador se va a guardar la suma de
      los números introducidos por el usuario. */

   acumulador = 0;
   do
   {
      printf( "    Introduzca un numero entero: " );
      scanf( "%d", &numero);

      acumulador += numero;

      printf( "    Desea introducir otro numero (s/n)?: " );
      fflush( stdin );
      scanf( "%c", &seguir);
   } while ( seguir != 'n' );

   /* Mientras que el usuario desee introducir
      más números, el bucle iterará. */

   printf( "    La suma de los numeros introducidos es: %d",
           acumulador );

   return 0;
}
Palabras claves , , , , ,
publicado por mariof2005 a las 19:23 · Sin comentarios  ·  Recomendar
 
Más sobre este tema ·  Participar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
SOBRE MÍ
FOTO

Héctor Mario Freschinaldi

Mail: enviotp@gmail.com
En AS.: PROG1 2016(su nombre y apellido)

En un mundo donde los cambios se suceden vertiginosamente, incluso los tecnológicos, es menester asimilar las nuevas tecnologías para su aplicación inmediata y su proyección a futuro.

» Ver perfil

CALENDARIO
Ver mes anterior Diciembre 2017 Ver mes siguiente
DOLUMAMIJUVISA
12
3456789
10111213141516
17181920212223
24252627282930
31
TÓPICOS
» COMO SE EVALUA (2)
» COMUNICADOS (18)
» EVALUACIONES (3)
» Información Tecnológica (91)
» LENGUAJE C (23)
» PROGRAMA (2)
» TEORIA (10)
» Trabajos prácticos (8)
SECCIONES
» Inicio
ENLACES
» ¿Hay seguridad en lo que ponés en la WEB?
» ¡Te estoy espìando! (y colaborás conmigo)
» Los peligros de la WEB
» Otra de Facebook
» Historias del CHAT
» 1984/George Orwell
» Revistas de Informática, Tecnica y Nuevas Tecnolog
MÁS LEÍDOS
» 07 Elementos léxicos del lenguaje de programación C
» 1. Algoritmos.
» 10 aplicaciones útiles para llevar a todos lados 10 en un pendrive
» 03- Datos y tipos de datos
» EE UU recurre a una gran conspiración para minar la privacidad en Internet
» McAfee reveló un masivo pero silencioso ataque informático
» Por qué el jefe de seguridad tiene razón
» Seguridad en el aire
» Software gratis: los programas que no deben faltar en la PC
» TEORIA EN PDF
NUBE DE TAGS  [?]
AL MARGEN
¡Bienvenidos!
Este será un canal de comunicación entre nosotros.
Tendrá diferentes instancias dinamizadoras, y utilidades para trabajar los diferentes trabajos prácticos en diversas modalidades.
BUSCADOR
Blog   Web
SE COMENTA...
» Seguridad en el aire
2 Comentarios: uk vpn, uk vpn
FULLServices Network | Crear blog | Privacidad