SlideShare uma empresa Scribd logo
1 de 7
PUEBLA III

Estructuras de repetición.

En la solución de algunos problemas es necesario ejecutar repetidas veces una instrucción o un conjunto de instrucciones. En
algunos casos, el número de repeticiones se conoce con anterioridad, mientras que en otras depende de cálculos o estados de
variables que se dan dentro de la solución del problema.
Para solucionar este tipo de problemas se utiliza un tipo de estructuras a las que se conocen como estructuras de repetición,
bucles o ciclos.
Un ciclo consiste en un grupo de acciones que se ejecutan repetidas veces dependiendo del cumplimiento de una condición.
Ciclo Mientras
Este ciclo consiste en un conjunto de instrucciones que se repiten mientras se cumpla una condición. De igual manera que en
los condicionales, la condición es evaluada y retorna un valor lógico, que puede ser verdadero o falso. En el caso del ciclo
mientras las instrucciones contenidas en la estructura de repetición se ejecutarán solamente si al evaluar la condición se
genera un valor verdadero; es decir, si la condición se cumple; en caso contrario, se ejecutará la instrucción que aparece
después de Fin mientras.
A diferencia de otros ciclos, el ciclo mientras comienza evaluando la expresión condicional, si el resultado es verdadero se
ejecutarán las instrucciones que estén entre el mientras y el fin mientras, al encontrarse la línea fin mientras se volverá a
evaluar la condición, si se cumple se ejecutarán nuevamente las instrucciones y así sucesivamente hasta que la condición deje
de cumplirse, en cuyo caso, el control del programa pasa a la línea que aparece después de fin mientras.
Ciclo Para
Este ciclo, al igual que los demás, permite ejecutar repetidas veces una instrucción o un grupo de ellas, pero a diferencia de
otras instrucciones de repetición, ésta maneja el valor inicial, el valor de incremento o decremento y el valor final de la variable
de control como parte de la instrucción.
Cuando al ejecutarse un algoritmo se encuentra una instrucción para la variable de control (contador) toma el valor inicial, se
verifica que el valor inicial no sobrepase el valor final y luego se ejecutan las instrucciones del ciclo. Al encontrar la instrucción
fin para, se produce el incremento y se vuelve a verificar que la variable de control no haya superado el límite admitido, y se
vuelven a ejecutar las instrucciones que están dentro del ciclo, y así sucesivamente tantas veces como sea necesario hasta
que se supere el valor final establecido.
El ciclo para termina en el momento en que la variable de control (contador) sobrepasa el valor final; es decir, que la igualdad
está permitida y las instrucciones se ejecutan cuando el contador es igual al valor final.

Estructuras de repetición en C.

La estructura switch permite elegir ejecutar diferentes códigos dependiendo de un valor.

switch (valor) {
       case ‘1’: ejecuta esto si valor es 1
               break;
       case ‘2’: ejecuta esto si valor es 2
               break;
       case ‘3’: ejecuta esto si valor es 3
               break;
       default: ejecuta esto si valor no es ninguno de los anteriores
               break;
          };


                                                                                                                Programación Básica
PUEBLA III

Cada case puede ejecutar múltiples líneas de código. Todos deben terminan con un break, que indica que debe seguirse
la ejecución del programa luego de ejecutar las líneas superiores. La ejecución continúa luego de la estructura switch. El
caso default se ejecuta si no hubo coincidencia entre el contenido de valor y los case superiores.

Un ejemplo del uso de la estructura switch en C:

int hijos;
printf(“Ingrese la cantidad de hijos que usted tiene: n”);
scanf(“%d”, &hijos);

switch (hijos) {
       case ‘0’:
               printf(“No le corresponde asignación familiar por hijon”);
               break;
       case ‘1’:
               printf(“Le corresponden $50 de asignación familiar por su único hijon”);
               break;
       case ‘2’:
               printf(“Le corresponden $70 de asignación familiar por sus dos hijosn”);
               break;
       default:
               printf(“Le corresponden $100 de asignación familiar por tener más de dos hijosn”);
               break;
           };

Se define la variable del tipo entero hijos, se le pide al usuario que ingrese el número de hijos que posee y luego entra en
acción la estructura switch, actuando de diferentes formas dependiendo del valor de la variable hijos en tiempo de
ejecución.




La estructura while de repetición le permite al programador especificar las veces que se repita una acción mientras una
condición se mantenga verdadera. La forma del while es:

while (condición)
{
        bloque de instrucciones
};

Mientras la condición se mantenga verdadera, se ejecutará X cantidad de veces el bloque de instrucciones dentro de las
llaves. Es necesario que alguna vez la condición se haga falsa, pues de lo contrario se entraría en un ciclo infinito de
repeticiones y el programa se consideraría bloqueado. Por lo tanto es necesario que en el bloque de instrucciones dentro
de la estructura while se ejecute alguna acción que en algún momento haga que la condición sea falsa.

Veamos un ejemplo para ver funcionar la estructura de repetición while:

int num;

num = 0;
while (num<=10)

                                                                                                      Programación Básica
PUEBLA III

{
       printf(“Repetición numero %dn”, num);
       num = num + 1;
};

El código anterior imprimirá en pantalla:

Repetición numero 0
Repetición numero 1
Repetición numero 2
Repetición numero 3
Repetición numero 4
Repetición numero 5
Repetición numero 6
Repetición numero 7
Repetición numero 8
Repetición numero 9
Repetición numero 10

¿Por qué? Vemos que iniciamos la variable del tipo entero num en cero. Luego, se evalúa por primera vez si es menor o
igual a 10, al ser verdadera, se ejecuta el bloque dentro del while por primera vez. Se imprime Repetición numero 0,
pues el valor dentro de num es cero. Luego el proceso se repite hasta que num con valor 10 se le suma 1, y toma el
valor 11. Se evalúa la condición del while y se determina que NO se cumple, por lo tanto, salta el bloque y sigue la
ejecución del programa.

La estructura for sirve para repetir un código dependiendo de un contador. Veamos un ejemplo:

int contador;

for (contador = 1; contador<=10; contador++)
{
       printf(“Repetición numero %dn”, contador);
};

Primero se crea la variable contador de tipo entero (será la variable de control en el for). Luego se ejecuta la estructura
for iniciando la variable contador en 1. Luego se verifica que se cumple la condición contador<=10 y se ejecuta el
bloque dentro de la estructura, o sea, imprime en pantalla Repetición número 1.

Luego la variable contador es incrementada en uno con la expresión contador++ y el ciclo se inicia otra vez. La variable
contador ahora vale 2, por lo tanto se verifica la condición y se vuelve a ejecutar el código. Este proceso se ejecuta
hasta que contador toma el número 11 y la condición se hace falsa y no ejecuta el bloque.

Este código imprimirá en pantalla lo siguiente:

Repetición numero 1
Repetición numero 2
Repetición numero 3
Repetición numero 4
Repetición numero 5
Repetición numero 6
Repetición numero 7

                                                                                                      Programación Básica
PUEBLA III

Repetición numero 8
Repetición numero 9
Repetición numero 10

Las tres expresiones que componen la estructura for en C son opcionales, por lo tanto se pueden omitir en ciertos casos.
Si se omite la primera (la inicialización de la variable de control), significa que la variable se inicializa en otra parte del
programa. Si se omite la segunda expresión, la estructura for entraría en un ciclo infinito, lo cual es considerado un error.
Si se omite la tercera expresión significa que la variable de control es calculada dentro del bloque de for.

La tercera expresión puede ser tanto un incremento como un decremento en uno o más. También puede ser más
compleja agregando más instrucciones con el uso de la coma. Por ejemplo:

for (contador = 1; contador<=10; suma += contador, contador += 2)

Como vemos, la tercera expresión no sólo suma contador de dos en dos sino que además en cada repetición ejecuta la
operación suma += contador.

Esta estructura de repetición es similar a la estructura while. En while la condición para que se repita el bloque de
instrucciones se evalúa desde el principio del ciclo de repeticiones, en cambio, en la estructura do-while, al principio se
ejecuta el bloque y luego se evalúa la condición para ver si se sigue ejecutando o no. Esto significa que el bloque se
ejecutará por lo menos una vez.

La forma de esta estructura es:

do {
 bloque de enunciados
} while (condición);

Veamos un ejemplo en donde se imprimen los números del 1 al 10 usando esta estructura. Al final también se imprime
en pantalla el valor contenido en la variable principal a fin de mostrar cuál es su valor final.

num = 1;
do {
      printf(“%dn”, num);
      num = num + 1;

} while (num<=10);

printf(“La variable num vale: %dn”, num);

Esto imprime en pantalla:

1
2
3
4
5

                                                                                                        Programación Básica
PUEBLA III

6
7
8
9
10
La variable num vale: 11




Los enunciados break y continue son utilizados para modificar el flujo de control dentro de un programa.

El break utilizado dentro de las estructuras de control causa la inmediata salida de dicha estructura (por lo tanto no sigue
repitiéndose el bloque y continúa la ejecución de las instrucciones que le siguen a la estructura de control).

Veamos un ejemplo del uso de break:

int num;

num = 1;
while (num <= 10)
{
  if (num == 5)
       {
       break;
       };

     printf(“%d - ”, num);
     num = num + 1;
};

El código anterior imprime:
1–2–3–4–

Lo que sucede es que cuando la variable num toma el valor 5, la condición del while se cumple, al ingresar al bloque se
evalúa en la estructura if si num es igual a 5 y se ejecuta el break saliendo del bloque while. Num termina valiendo 5
pues jamás se ejecuta la suma num = num + 1.

Por otra parte, el enunciado continue, dentro de las estructuras de repetición, al ser ejecutado salta las instrucciones
que siguen en el bloque y ejecuta la siguiente repetición en el ciclo. Veamos un ejemplo para aclarar el funcionamiento
de continue:

int num;

num = 0;
while (num <= 7)
{
num = num + 1;
       if (num == 5) {
       continue;
       };

                                                                                                      Programación Básica
PUEBLA III

printf(“%d - ”, num);
};

El código anterior imprime en pantalla:

1–2–3–4–6–7

Como vemos, en una de las repeticiones se saltea la impresión del número 5.

Algunos programadores dicen que el uso del break y del continue dentro de las estructuras de control (excepto el break
en la estructura switch) viola las normas de la programación estructurada. Lo cierto es que no es necesario el uso de
break y continue si se utilizan las estructuras correctas



Los operadores lógicos se representan en un verdadero (true) o un falso (false) al usarse con números o variables,
estos eran:

== operador de igualdad en C
!= operador de desigualdad
> mayor
< menor
>= mayor o igual
<= menor o igual

Con estos se pueden construir expresiones sencillas como: numero <= 7, dependiendo del valor de la variable numero
esa expresión puede ser verdadera o falsa. Este tipo de expresiones se utilizan para las condiciones en las estructuras
de repetición y de selección.

Pero es posible construir expresiones más complejas utilizando otros operadores lógicos:
&& ( Y lógico)
// (O lógico)
! (NO lógico o negación lógica)

Veamos qué significan cada uno de ellos:

valor = (expresion1 && expresion2)
En este caso si expresion1 y expresion2 son verdaderas, valor resulta verdadero (true).
Si alguna o ambas de las expresiones son falsas, valor resulta en falso (false).

valor = (expresion1 // expresion2)
En este caso si ambas expresiones son verdaderas, valor resulta verdadero.
Si una de las expresiones es verdadera y la otra falsa, valor resulta verdadero.
Si las dos expresiones son falsas, valor resulta falso.

valor = (!expresion1)

                                                                                                   Programación Básica
PUEBLA III

En este caso si la expresión es verdadera, valor resulta falso.
Si la expresión es falsa, valor resulta falso.

Se puede usar && de la siguiente manera:
if (edad >= 12 && edad <= 20)
{
        printf(“Usted es adolescente”);
}




                                                                  Programación Básica

Mais conteúdo relacionado

Mais procurados

Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
Rosbelia Balza
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
parada137
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacion
SERCOMPFAST
 
Do while, for y foreach
Do while, for y foreachDo while, for y foreach
Do while, for y foreach
RogDer
 
ESTRCTURAS DE REPETICION
ESTRCTURAS DE REPETICIONESTRCTURAS DE REPETICION
ESTRCTURAS DE REPETICION
lesviagarcia
 
Sentencias condicionales y ciclos
Sentencias condicionales y ciclosSentencias condicionales y ciclos
Sentencias condicionales y ciclos
Sohar Carr
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
Stalyn Cruz
 

Mais procurados (19)

Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
CICLO FOR
CICLO FORCICLO FOR
CICLO FOR
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
While do while
While  do whileWhile  do while
While do while
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacion
 
Do while, for y foreach
Do while, for y foreachDo while, for y foreach
Do while, for y foreach
 
Bucle for (1)
Bucle for (1)Bucle for (1)
Bucle for (1)
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Estructuras de control repetitivos
Estructuras de control repetitivosEstructuras de control repetitivos
Estructuras de control repetitivos
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
ESTRCTURAS DE REPETICION
ESTRCTURAS DE REPETICIONESTRCTURAS DE REPETICION
ESTRCTURAS DE REPETICION
 
Estructura repetitiva for y while
Estructura repetitiva for y whileEstructura repetitiva for y while
Estructura repetitiva for y while
 
Sentencias condicionales y ciclos
Sentencias condicionales y ciclosSentencias condicionales y ciclos
Sentencias condicionales y ciclos
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
While y do while c++
While y do while c++While y do while c++
While y do while c++
 
Estructuras de control repetitivo
Estructuras de control repetitivoEstructuras de control repetitivo
Estructuras de control repetitivo
 
Complemento Ciclos
Complemento CiclosComplemento Ciclos
Complemento Ciclos
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
 

Destaque

Radiación Parte 2
Radiación Parte 2Radiación Parte 2
Radiación Parte 2
Alma Parra
 
Diseo bsico presentacion
Diseo bsico presentacionDiseo bsico presentacion
Diseo bsico presentacion
Adriana Ingez
 
Ley de proximidad
Ley de proximidadLey de proximidad
Ley de proximidad
danmr68
 
ESTRUCTURA DE REPETICION
ESTRUCTURA DE REPETICIONESTRUCTURA DE REPETICION
ESTRUCTURA DE REPETICION
lesviagarcia
 
Recursos Tecnicos Y Expresivos
Recursos Tecnicos Y ExpresivosRecursos Tecnicos Y Expresivos
Recursos Tecnicos Y Expresivos
gabbogabbogabbo
 
Sintaxis Nivel estructura
Sintaxis Nivel estructuraSintaxis Nivel estructura
Sintaxis Nivel estructura
gabbogabbogabbo
 
5. SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS
5.  SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS5.  SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS
5. SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS
Luis Hernández Ibáñez
 

Destaque (16)

Fundamentos de Diseño
Fundamentos de DiseñoFundamentos de Diseño
Fundamentos de Diseño
 
Nivel Color 06
Nivel Color 06Nivel Color 06
Nivel Color 06
 
Radiación Parte 2
Radiación Parte 2Radiación Parte 2
Radiación Parte 2
 
Sintaxis Nivel Forma
Sintaxis Nivel FormaSintaxis Nivel Forma
Sintaxis Nivel Forma
 
Diseo bsico presentacion
Diseo bsico presentacionDiseo bsico presentacion
Diseo bsico presentacion
 
Ley de proximidad
Ley de proximidadLey de proximidad
Ley de proximidad
 
ESTRUCTURA DE REPETICION
ESTRUCTURA DE REPETICIONESTRUCTURA DE REPETICION
ESTRUCTURA DE REPETICION
 
Recursos Tecnicos Y Expresivos
Recursos Tecnicos Y ExpresivosRecursos Tecnicos Y Expresivos
Recursos Tecnicos Y Expresivos
 
Estructura Modular
Estructura ModularEstructura Modular
Estructura Modular
 
Sintaxis Nivel estructura
Sintaxis Nivel estructuraSintaxis Nivel estructura
Sintaxis Nivel estructura
 
5. SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS
5.  SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS5.  SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS
5. SINTAXIS DE LA IMAGEN. RELACIONES COMPOSITIVAS
 
Modulos
ModulosModulos
Modulos
 
Espacio Y Estructura
Espacio Y EstructuraEspacio Y Estructura
Espacio Y Estructura
 
Resumen libro Wucius Wong
Resumen libro Wucius WongResumen libro Wucius Wong
Resumen libro Wucius Wong
 
Modulos
ModulosModulos
Modulos
 
Redmodular
RedmodularRedmodular
Redmodular
 

Semelhante a Estructuras De RepeticióN

Alexander power point
Alexander power pointAlexander power point
Alexander power point
20081027
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
David
 

Semelhante a Estructuras De RepeticióN (20)

Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Parcial
ParcialParcial
Parcial
 
Presentación
Presentación Presentación
Presentación
 
Iteraciones y decisiones en c++
Iteraciones y decisiones en c++Iteraciones y decisiones en c++
Iteraciones y decisiones en c++
 
Semana 2 Estructuras De Control While.pdf
Semana 2 Estructuras De Control While.pdfSemana 2 Estructuras De Control While.pdf
Semana 2 Estructuras De Control While.pdf
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion while
 
While y do while
While y do whileWhile y do while
While y do while
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujo
 
Universidad nacional experimental de guayana
Universidad nacional experimental de guayanaUniversidad nacional experimental de guayana
Universidad nacional experimental de guayana
 
Alexander power point
Alexander power pointAlexander power point
Alexander power point
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
Presentación1
Presentación1Presentación1
Presentación1
 
Power point progrmacion 2[1]
Power point progrmacion 2[1]Power point progrmacion 2[1]
Power point progrmacion 2[1]
 
Estructuras de Control Repetitivo
Estructuras de Control RepetitivoEstructuras de Control Repetitivo
Estructuras de Control Repetitivo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Guia4
Guia4Guia4
Guia4
 
Sentencias
SentenciasSentencias
Sentencias
 
Sentencias
SentenciasSentencias
Sentencias
 
Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.
 

Estructuras De RepeticióN

  • 1. PUEBLA III Estructuras de repetición. En la solución de algunos problemas es necesario ejecutar repetidas veces una instrucción o un conjunto de instrucciones. En algunos casos, el número de repeticiones se conoce con anterioridad, mientras que en otras depende de cálculos o estados de variables que se dan dentro de la solución del problema. Para solucionar este tipo de problemas se utiliza un tipo de estructuras a las que se conocen como estructuras de repetición, bucles o ciclos. Un ciclo consiste en un grupo de acciones que se ejecutan repetidas veces dependiendo del cumplimiento de una condición. Ciclo Mientras Este ciclo consiste en un conjunto de instrucciones que se repiten mientras se cumpla una condición. De igual manera que en los condicionales, la condición es evaluada y retorna un valor lógico, que puede ser verdadero o falso. En el caso del ciclo mientras las instrucciones contenidas en la estructura de repetición se ejecutarán solamente si al evaluar la condición se genera un valor verdadero; es decir, si la condición se cumple; en caso contrario, se ejecutará la instrucción que aparece después de Fin mientras. A diferencia de otros ciclos, el ciclo mientras comienza evaluando la expresión condicional, si el resultado es verdadero se ejecutarán las instrucciones que estén entre el mientras y el fin mientras, al encontrarse la línea fin mientras se volverá a evaluar la condición, si se cumple se ejecutarán nuevamente las instrucciones y así sucesivamente hasta que la condición deje de cumplirse, en cuyo caso, el control del programa pasa a la línea que aparece después de fin mientras. Ciclo Para Este ciclo, al igual que los demás, permite ejecutar repetidas veces una instrucción o un grupo de ellas, pero a diferencia de otras instrucciones de repetición, ésta maneja el valor inicial, el valor de incremento o decremento y el valor final de la variable de control como parte de la instrucción. Cuando al ejecutarse un algoritmo se encuentra una instrucción para la variable de control (contador) toma el valor inicial, se verifica que el valor inicial no sobrepase el valor final y luego se ejecutan las instrucciones del ciclo. Al encontrar la instrucción fin para, se produce el incremento y se vuelve a verificar que la variable de control no haya superado el límite admitido, y se vuelven a ejecutar las instrucciones que están dentro del ciclo, y así sucesivamente tantas veces como sea necesario hasta que se supere el valor final establecido. El ciclo para termina en el momento en que la variable de control (contador) sobrepasa el valor final; es decir, que la igualdad está permitida y las instrucciones se ejecutan cuando el contador es igual al valor final. Estructuras de repetición en C. La estructura switch permite elegir ejecutar diferentes códigos dependiendo de un valor. switch (valor) { case ‘1’: ejecuta esto si valor es 1 break; case ‘2’: ejecuta esto si valor es 2 break; case ‘3’: ejecuta esto si valor es 3 break; default: ejecuta esto si valor no es ninguno de los anteriores break; }; Programación Básica
  • 2. PUEBLA III Cada case puede ejecutar múltiples líneas de código. Todos deben terminan con un break, que indica que debe seguirse la ejecución del programa luego de ejecutar las líneas superiores. La ejecución continúa luego de la estructura switch. El caso default se ejecuta si no hubo coincidencia entre el contenido de valor y los case superiores. Un ejemplo del uso de la estructura switch en C: int hijos; printf(“Ingrese la cantidad de hijos que usted tiene: n”); scanf(“%d”, &hijos); switch (hijos) { case ‘0’: printf(“No le corresponde asignación familiar por hijon”); break; case ‘1’: printf(“Le corresponden $50 de asignación familiar por su único hijon”); break; case ‘2’: printf(“Le corresponden $70 de asignación familiar por sus dos hijosn”); break; default: printf(“Le corresponden $100 de asignación familiar por tener más de dos hijosn”); break; }; Se define la variable del tipo entero hijos, se le pide al usuario que ingrese el número de hijos que posee y luego entra en acción la estructura switch, actuando de diferentes formas dependiendo del valor de la variable hijos en tiempo de ejecución. La estructura while de repetición le permite al programador especificar las veces que se repita una acción mientras una condición se mantenga verdadera. La forma del while es: while (condición) { bloque de instrucciones }; Mientras la condición se mantenga verdadera, se ejecutará X cantidad de veces el bloque de instrucciones dentro de las llaves. Es necesario que alguna vez la condición se haga falsa, pues de lo contrario se entraría en un ciclo infinito de repeticiones y el programa se consideraría bloqueado. Por lo tanto es necesario que en el bloque de instrucciones dentro de la estructura while se ejecute alguna acción que en algún momento haga que la condición sea falsa. Veamos un ejemplo para ver funcionar la estructura de repetición while: int num; num = 0; while (num<=10) Programación Básica
  • 3. PUEBLA III { printf(“Repetición numero %dn”, num); num = num + 1; }; El código anterior imprimirá en pantalla: Repetición numero 0 Repetición numero 1 Repetición numero 2 Repetición numero 3 Repetición numero 4 Repetición numero 5 Repetición numero 6 Repetición numero 7 Repetición numero 8 Repetición numero 9 Repetición numero 10 ¿Por qué? Vemos que iniciamos la variable del tipo entero num en cero. Luego, se evalúa por primera vez si es menor o igual a 10, al ser verdadera, se ejecuta el bloque dentro del while por primera vez. Se imprime Repetición numero 0, pues el valor dentro de num es cero. Luego el proceso se repite hasta que num con valor 10 se le suma 1, y toma el valor 11. Se evalúa la condición del while y se determina que NO se cumple, por lo tanto, salta el bloque y sigue la ejecución del programa. La estructura for sirve para repetir un código dependiendo de un contador. Veamos un ejemplo: int contador; for (contador = 1; contador<=10; contador++) { printf(“Repetición numero %dn”, contador); }; Primero se crea la variable contador de tipo entero (será la variable de control en el for). Luego se ejecuta la estructura for iniciando la variable contador en 1. Luego se verifica que se cumple la condición contador<=10 y se ejecuta el bloque dentro de la estructura, o sea, imprime en pantalla Repetición número 1. Luego la variable contador es incrementada en uno con la expresión contador++ y el ciclo se inicia otra vez. La variable contador ahora vale 2, por lo tanto se verifica la condición y se vuelve a ejecutar el código. Este proceso se ejecuta hasta que contador toma el número 11 y la condición se hace falsa y no ejecuta el bloque. Este código imprimirá en pantalla lo siguiente: Repetición numero 1 Repetición numero 2 Repetición numero 3 Repetición numero 4 Repetición numero 5 Repetición numero 6 Repetición numero 7 Programación Básica
  • 4. PUEBLA III Repetición numero 8 Repetición numero 9 Repetición numero 10 Las tres expresiones que componen la estructura for en C son opcionales, por lo tanto se pueden omitir en ciertos casos. Si se omite la primera (la inicialización de la variable de control), significa que la variable se inicializa en otra parte del programa. Si se omite la segunda expresión, la estructura for entraría en un ciclo infinito, lo cual es considerado un error. Si se omite la tercera expresión significa que la variable de control es calculada dentro del bloque de for. La tercera expresión puede ser tanto un incremento como un decremento en uno o más. También puede ser más compleja agregando más instrucciones con el uso de la coma. Por ejemplo: for (contador = 1; contador<=10; suma += contador, contador += 2) Como vemos, la tercera expresión no sólo suma contador de dos en dos sino que además en cada repetición ejecuta la operación suma += contador. Esta estructura de repetición es similar a la estructura while. En while la condición para que se repita el bloque de instrucciones se evalúa desde el principio del ciclo de repeticiones, en cambio, en la estructura do-while, al principio se ejecuta el bloque y luego se evalúa la condición para ver si se sigue ejecutando o no. Esto significa que el bloque se ejecutará por lo menos una vez. La forma de esta estructura es: do { bloque de enunciados } while (condición); Veamos un ejemplo en donde se imprimen los números del 1 al 10 usando esta estructura. Al final también se imprime en pantalla el valor contenido en la variable principal a fin de mostrar cuál es su valor final. num = 1; do { printf(“%dn”, num); num = num + 1; } while (num<=10); printf(“La variable num vale: %dn”, num); Esto imprime en pantalla: 1 2 3 4 5 Programación Básica
  • 5. PUEBLA III 6 7 8 9 10 La variable num vale: 11 Los enunciados break y continue son utilizados para modificar el flujo de control dentro de un programa. El break utilizado dentro de las estructuras de control causa la inmediata salida de dicha estructura (por lo tanto no sigue repitiéndose el bloque y continúa la ejecución de las instrucciones que le siguen a la estructura de control). Veamos un ejemplo del uso de break: int num; num = 1; while (num <= 10) { if (num == 5) { break; }; printf(“%d - ”, num); num = num + 1; }; El código anterior imprime: 1–2–3–4– Lo que sucede es que cuando la variable num toma el valor 5, la condición del while se cumple, al ingresar al bloque se evalúa en la estructura if si num es igual a 5 y se ejecuta el break saliendo del bloque while. Num termina valiendo 5 pues jamás se ejecuta la suma num = num + 1. Por otra parte, el enunciado continue, dentro de las estructuras de repetición, al ser ejecutado salta las instrucciones que siguen en el bloque y ejecuta la siguiente repetición en el ciclo. Veamos un ejemplo para aclarar el funcionamiento de continue: int num; num = 0; while (num <= 7) { num = num + 1; if (num == 5) { continue; }; Programación Básica
  • 6. PUEBLA III printf(“%d - ”, num); }; El código anterior imprime en pantalla: 1–2–3–4–6–7 Como vemos, en una de las repeticiones se saltea la impresión del número 5. Algunos programadores dicen que el uso del break y del continue dentro de las estructuras de control (excepto el break en la estructura switch) viola las normas de la programación estructurada. Lo cierto es que no es necesario el uso de break y continue si se utilizan las estructuras correctas Los operadores lógicos se representan en un verdadero (true) o un falso (false) al usarse con números o variables, estos eran: == operador de igualdad en C != operador de desigualdad > mayor < menor >= mayor o igual <= menor o igual Con estos se pueden construir expresiones sencillas como: numero <= 7, dependiendo del valor de la variable numero esa expresión puede ser verdadera o falsa. Este tipo de expresiones se utilizan para las condiciones en las estructuras de repetición y de selección. Pero es posible construir expresiones más complejas utilizando otros operadores lógicos: && ( Y lógico) // (O lógico) ! (NO lógico o negación lógica) Veamos qué significan cada uno de ellos: valor = (expresion1 && expresion2) En este caso si expresion1 y expresion2 son verdaderas, valor resulta verdadero (true). Si alguna o ambas de las expresiones son falsas, valor resulta en falso (false). valor = (expresion1 // expresion2) En este caso si ambas expresiones son verdaderas, valor resulta verdadero. Si una de las expresiones es verdadera y la otra falsa, valor resulta verdadero. Si las dos expresiones son falsas, valor resulta falso. valor = (!expresion1) Programación Básica
  • 7. PUEBLA III En este caso si la expresión es verdadera, valor resulta falso. Si la expresión es falsa, valor resulta falso. Se puede usar && de la siguiente manera: if (edad >= 12 && edad <= 20) { printf(“Usted es adolescente”); } Programación Básica