Tutorial de Lenguaje C                                                                                               Dr. Roberto Gómez


LAS ITERACIONES:  el while

Dos posibilidades:

Bloque 0                                            Bloque 0
while ( <c.1> )                                 do
            Bloque 1                                             Bloque 1
Bloque 2                                           while ( <c.1> )
                                                            Bloque 2

Funcionamiento:

a) Bloque 0                                                                         a) Bloque 0
b) si <c.1> es verdad entonces                                    b) Bloque 1
            b.1) Bloque 1                                                          c) si <c.1> es verdad entonces
            b.2) Ir a b)                                                                    regresar a b)
sino                                                                                       sino
                    ir a c)                                                                     ir a d)
c) Bloque 2                                                                          d) Bloque 2

prog11.c Ejemplo uso While

/* Obtener la media de n números */

#include <stdio.h>

int main()

{
        int i;
        float x,media;
        i=0; media=0;

        printf(''x(%d)?'',i);
        scanf(''%f'',&x);
        while (x!=0) {
                    media=media+x;
                    i=i+1;
                    printf(''x(%d)='',i);
                    scanf(''%f'',&x);
        }

        if(i !=0 )
                   printf(''la media es:%f \n'',media/i);
        else
                  printf(''no hay media \n'');
}

prog12.c Ejemplo uso do-while

/* Cálculo del número más grande de n números */

#include <stdio.h> 

int main()
{

                int num,max;

                max=0;
                do {
                            printf(''De un numero:'');
                            scanf(''%d'',&num);
                            if (num < max)
                                    max=num;
                      } while (num != 0);
                     printf(''El numero mas grande es: %d \n'',max);
}

Ejercicios while

  1. Uno de los usos más habituales para las iteraciones condicionales es la validación de entradas. Escribir un programa que pida una contraseña y permita tres intentos. Si el usuario da la contraseña correcta responde "Enhorabuena!" y queda inactivo, con este mensaje. En caso contrario el programa escribe "Lo siento, contraseña equivocada" y se cierra de inmediato.
  2. Escribir un programa para jugar a adivinar un número entre 1 y 10. El número a adivinar se solicitará al principio del programas. Después preguntara numeros hasta acertar con el número capturado en un prinicipoio o decirlos todos.
  3. Escriba un programa que lea un numero n y despues sume todos los numeros entre 0 y dicho numero. El programa debe ir desplegando los resultados parciales:
                                                          0 + 1 = 1
                                                          1 + 2 = 3
                                                          2 + 3 = 5
                                                               :
                                                               :

                                                          n-1 + n = r


MENÚ PRINCIPAL