SlideShare una empresa de Scribd logo
ESTRUCTURAS DE CONTROL
               CONTROL:
BUCLES
Evaluación
 Escribir un programa que desglose cierta cantidad de
 segundos introducida por el teclado en su equivalente
 en semanas, días, horas, minutos, segundos
              ,   ,     ,        , g
 Escribir un programa lea la longitud de los lados y
 calcule la hipotenusa
 Escribir un programa que calcule el numero de días de
 un mes dados los valores numéricos del mes y año
    mes,
Contenido
1.   La sentencia While
2.   Repetición: el bucle For
3.   Precauciones en el uso del bucle For
4.   Repetición: el bucle Do-While
5.   Comparación de bucles While, For y do-While
6.   Diseño de bucles
7.   Bucles anidados
8.   Ejercicios
La sentencia While
 Un bucle while tiene una condición del bucle (una
 expresión lógica) que controla la secuencia de
 repetición.
 repetición La posición de esta condición del bucle
 es delante del cuerpo del bucle y significa que un
 bucle while es un bucle pretest de modo que
 cuando se ejecuta el mismo, se evalúa la condición
 antes de que se ejecute el cuerpo del bucle
Sintaxis
           Las sentencias del cuerpo del
           bucle se repiten mientras que
           la expresión lógica (condición
           del bucle) sea verdadera.
                       )
           Cuando        se   evalúa    la
           expresión lógica y resulta
           falsa, se termina y se sale del
           bucle y se ejecuta la siguiente
           sentencia       de   programa
           después de la sentencia while
Ejemplo
 /*bucle de muestra con while*/
 #include <stdio.h>
 #include <stdlib.h>
 int main ()
 {
     int contador=0;
     while(contador<5)
     {
                contador++;
                printf("contador: %dn",contador);
                }
                printf("Fin");
                system("PAUSE");
                return 0;
                }
Operadores de incremento y decremento
 C ofrece los operadores de incremento (++) y
 decremento (--) que soporta una sintaxis abreviada
 para añadir (incrementar) o restar (decrementar) 1 al
 valor de una variable
 K=i++; /*asigna el valor de 3 a k y 4 a i*/
 K ++i; / asigna
 K=++i; /*asigna el valor de 5 a K y 5 a i*/
                                           i /
 K=i--; /*asigna el valor de 5 a k y 4 a i*/
 K i; / asigna
 K=--i; /*asigna el valor de 3 a k y 3 a i*/
                                         i /
Bucles controlados por centinelas
 Un método para terminar
               p
 un bucle es introducir un
 único dato definido y
 especificado denominado
 valor centinela como ultimo
 dato. La condición del bucle
 comprueba cada dato y
 termina cuando se lee el
 valor centinela
Bucles controlados por indicadores
 Un bucle controlado por bandera-indicador se ejecuta
                       p                         j
 hasta que se produce un suceso anticipado y se cambia
 el valor del indicador
Las sentencia break en los bucles
 La sentencia break se utiliza, a veces, para realizar una
 terminación anormal del bucle. Dicho de otro modo, una
 terminación antes de lo previsto
Bucles While (true)
 La      condición   que     se
 comprueba en un b l while
           b        bucle hil
 puede ser cualquier expresión
 valida C. Mientras que la
 condición         permanezca
 verdadera (distinto de 0), el
 bucle       while   continuara
 ejecutándose.
 ejecutándose Se puede crear
 un bucle que nunca termine
 utilizando el valor 1 para la
 condición que se comprueba
            q         p
Ejemplo
 /*calculo de la media de 6 numeros*/      while (contadornum<totalnum)
 #include <stdio.h>
 #incl de <stdio h>                         {
 #include <stdlib.h>                              float numero;
 #include <string.h>                              scanf ("%f",&numero);
 int main ()                                      sumanum+=numero;   ;
 {                                                ++contadornum;
     const int totalnum=6;                        }
     int contadornum=0;                           media=sumanum/contadornum;
     float sumanum=0;                             printf("media:%.2fn",media);
     float media;                                 system("PAUSE");
     printf ("introduzca %d numeros:n",          return 0;
 totalnum);                                       }
Repetición el bucle For
 La sentencia for (bucle for) es un método ara ejecutar
                   (         )                  j
 un bloque de sentencias un numero fijo de veces. El
 bucle for se diferencia del bucle while en que las
 operaciones de control del bucle se sitúan en un solo
 sitio: la cabecera de la sentencia
 Sintaxis
 Si      i
   For( inicialización; condición iteración; incremento)
   Sentencias
   S t i
Ejemplo
 #include <stdio.h>               #include <stdio.h>
                                  #include <stdlib.h>
 #include <stdlib.h>
 #i l d < dlib h>                 int main ()

 int main ()                      {
                                      int i;
 {                                    /*imprimir hola 10 veces*/
     int i;
     i i                              for(i=0; i<10; i++)
                                      {
     /*imprimir hola 10 veces*/
                                      printf("hola!, ");
     for(i=0; i<10; i++)              printf("el valor de i es: %dn",i);

     printf("hola!n");
        i tf("h l ! ")               }
                                      system("PAUSE");
     system("PAUSE");                 return 0;

     return 0;                    }

 }
Cont…
Cont
 Existen dos formas de implementar la sentencia for que se utilizan
 normalmente para i l
        l             implementar b lbucles d conteo: f
                                             de             formato
 ascendente, en el que la variable de control se incrementa y
 formato descendente, en el que la variable de control decrementa.
Ejemplos
 #include <stdio.h>                      #include <stdio.h>
 #include <stdlib.h>                     #include <stdlib.h>
 #include <math.h>
                                         int main()
                                         {
 #define M 15
                                             int n, suma = 0;
 #define f(x) exp(2*x)-x
 int main ()                                 for (n=1; n<=10; n++)
 {                                           suma += 2*n;
     int i;                                  printf("La suma de los 10 primeros numeros pares: %dn",suma);
     double x;                               system("PAUSE");
     for(i=0; i<=M; i++)
                                             return 0;
     {
                                         }
     printf("valor de x: ");
     scanf("%lf",&x);
     printf("f(%.1lf)=%.4gn",x,f(x));   /*El bucle lo podríamos haber diseñado con un incremento de 2:
     }                                       for (n = 2; n <= 20; n+=2)
     system("PAUSE");                        suma += n;     */
                                                             /
     return 0;
 }
Bucles infinitos
 C no soporta una sentencia que realice esa tarea, pero existe una
 variante d l sintaxis f que permite i l
     i    de la i     i fro           i implementar b l i fi i
                                                         bucles infinitos
 que son aquellos bucles que, en principio, no tienen fin.
 Sintaxis
    For(;;)
       Sentencia;
 La sentencia se ejecuta indefinidamente a menos que se utilice una
 sentencia return o break (normalmente una combinación if-break o
 if-return)
Sentencia nulas en bucles for
                              /* bucles for con sentencias nulas */

 Cualquiera o todas las       #include <stdio.h>
                              #include <stdlib.h>

 sentencias del bucle for     int main()
                              {


 pueden ser nulas Para
                 nulas.           int contador = 0;
                                  for (;contador < 5;)


 ejecutar esta acción se
                                  {
                                  contador++;
                                  printf (";Bucle!n");

 utiliza el (;) para marcar       }
                                  printf("n Contador: %d n", contador);

 la sentencia vacía               system ("PAUSE");
                                  return 0;
                              }
Sentencias break y continue
 La sentencia break       Las sentencia continue
 termina la ejecución     hace que la ejecución
 de un bucle de una
         bucle,           de un bucle vuelva a
 sentencia switch, y en   la cabecera del bucle
 general de cualquier
 sentencia
Ejemplos
 #include <stdio.h>                                        #include <stdio.h>
 #include <stdlib.h> /*Ejemplo de utilización de break*/   #include <stdlib.h>
 int main ()
                                                           int main()
 {
                                                           {
 int contador = 0; /* inicialización */
                                                           int clave,i;
 int max;
 printf ("Cuantos holas? " ) ;                             puts ("Introduce -9 para acabar. " ) ;
 scanf ("%d",&max) ;                                       clave = 1;
 for (;;) /* bucle for que no termina nunca */             for (i = 0; i < 8; i++) {
 {                                                         if (clave ==-9) continue;
 if(contador < max) /* test */
                                                           scanf ("%d",&clave);
 {
                                                           printf ("clave %dn",clave) ;
                                                                  ( clave %dn clave)
 puts("Hola!");
                                                           }
 contador++;
 }                                                         printf("VAL0RES FINALES i = %d clave = %d",i,clave);
 else                                                      system("PAUSE");
     break;                                                return 0;
 }                                                         }
     system("PAUSE");
     return 0;
 }
Repetición: el bucle do while
                     do…while
 La sentencia do-while se utiliza para especificar un
                                  p      p
 bucle condicional que se ejecuta al menos una vez
 Sintaxis
   do sentencia while (expresión)
   do
     sentencia
   while (expresión)
         ( p       )
Diferencias entre while y do while
 Una sentencia do-while es similar a una sentencia while excepto que
 el cuerpo del bucle se ejecuta siempre al menos una vez
  l        d lb l        j       i       l
Ejemplos
 #include <stdio.h>            #include <stdio.h>
                               #include <stdlib.h>
 #include <stdlib.h>
 #incl de <stdlib h>
                               /*imprime las letras minusculas del alfabeto*/
 /*cuenta de 0 a 10*/          int main ()

 int main ()                   {
                                   char car='a';
 {
                                   do
     int x=0;                      {
     do                            printf ("%cn",car);
                                   car++;
     printf ("x: %dn",x++);
                                   }
     while (x<10);                 while (car<='z');
     system("PAUSE");              system("PAUSE");
                                   return 0;
     return 0;
                               }
 }
Comparación de bucles
 While; el uso mas frecuente es cuando la repetición no esta
 controlada por contador; el test d condición precede a cada
       l d              d       l     de     di ió         d         d
 repetición del bucle; el cuerpo del bucle puede no ser ejecutado. Se
 debe utilizar cuando se desea saltar el bucle si la condición es falsa
 For; bucle de conteo, cuando el numero de repeticiones se conoce
 por anticipado y puede ser controlado por un contador; también es
 adecuado para bucles que implican control no contable del bucle
 con simples etapas d i i i li ió y d actualización; el t t d l
      i l      t     de inicialización de t li ió           l test de la
 condición precede a la ejecución del cuerpo del bucle
 Do while; es adecuada para asegurar que al menos se ejecuta el
 bucle
 b l una vez
Diseño de bucles
 El diseño de un bucle necesita tres puntos a
 considerar
  El cuerpo del bucle
  Las sentencias de inicialización
  Las
  L condiciones para l terminación del bucle
          di i           la     i ió d l b l
Ejemplos
 #include <stdio.h>                       scanf ("%ld",&n);
 #include <stdlib.h>
                                            }
 /*vizualize el factorial de un
 entero*/                                   while ((n<2)||(n>20));
 int i
 i main ()                                  for (m=n fact=1; n>1; fact
                                                (m=n,
 {
                                         *=n--);
     long int n,m,fact;                     printf ("%ld! = %ldn",m,fact);
     do                                     system("PAUSE");
                                                    ("PAUSE")
     {                                      return 0;
     p
     printf ("nFactorial de numero n:
            (                           }
 ");
Bucles anidados
 Es posible anidar bucles. Los bucles anidados constan de un bucle externo
 con uno o mas b l i t
                 bucles internos. C d vez que se repite el b l externo, l
                                  Cada                 it l bucle t       los
 bucles internos se repiten, se vuelve a evaluar los componentes de control y
 se ejecutan todas las iteraciones requeridas
Ejemplos
 #include <stdio.h>                       scanf ( "%d",&columnas) ;
 #include <stdlib.h>                        printf ("Q e caracter? " ) ;
                                                   ( Que caracter?:
                                            scanf ("n%c",&elCar) ;
  int main ()
                                            for (i = 0; i < filas; i++)
 {                                          {
     int filas, columnas;                      for (j = 0; j < columnas; j++ )
     int i, j;                                     putchar(elCar) ;
     char elCar;   ;                           putchar('n');
                                            }
     printf ("Cuantas filas?: " ) ;
                                            system("PAUSE");
     scanf ("%d",&filas) ;                  return 0;
     printf ("Cuantas columnas?: " ) ;
               ( Cuantas                 }
Ejercicios
 Escribir un programa que encuentre el primer numero primo introducido por
 el t l d
   l teclado
                                                1 2 3 n
 Calcular la suma de los términos de la serie    2
                                                  + + +
                                                2 2  3
                                                      2 2n


 Escribir un programa que calcule la suma de los 50 primeros números
 enteros
 Calcular la media de las notas introducidas por teclado con un dialogo
 interactivo semejante al siguiente:
    Cuantas notas?: 3
    Nota 1: 12
    Nota 2: 16
    …
    Media : 14
Patrón de prueba de pantalla panorámica (16:9)




                               Prueba de la
                                relación de
                                  aspecto
                            (Debe parecer circular)




       4x3

16x9

Más contenido relacionado

La actualidad más candente

Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
Junior Solano de Arco
 
Introducción al PSeint
Introducción al PSeintIntroducción al PSeint
Introducción al PSeint
Jaime Alberto Sousa Adames
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
José Antonio Sandoval Acosta
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
Rolf Pinto
 
Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxico
Germania Rodriguez
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda java
Franco Guamán
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
Eduardo Chavez Vasquez
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
Magali Mejía
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
Eduardo Navarrete Salazar
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
M'elver Melende'z
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Humano Terricola
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoRosbelia Balza
 
Comandos debug
Comandos debugComandos debug
Comandos debug
Pedro Miranda
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
yamy matin
 

La actualidad más candente (20)

AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
 
Introducción al PSeint
Introducción al PSeintIntroducción al PSeint
Introducción al PSeint
 
Pseudocodigo pptx
Pseudocodigo pptxPseudocodigo pptx
Pseudocodigo pptx
 
Mini manual de JFlap
Mini manual de JFlapMini manual de JFlap
Mini manual de JFlap
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxico
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda java
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
B. manejo de concurrencia
B.  manejo de concurrenciaB.  manejo de concurrencia
B. manejo de concurrencia
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
Comandos debug
Comandos debugComandos debug
Comandos debug
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 

Similar a ESTRUCTURAS DE CONTROL: BUCLES EN C++

Fpr Tema 5 www.fresymetal.com
Fpr Tema 5 www.fresymetal.comFpr Tema 5 www.fresymetal.com
Fpr Tema 5 www.fresymetal.com
FresyMetal
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
Alcira Ordóñez Rey
 
Estructuras de control en la POO
Estructuras de control en la POOEstructuras de control en la POO
Estructuras de control en la POO
Amado Arcaya
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++die_dex
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++die_dex
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
Pablo Haya
 
5.instrucciones de control en c++ parte 2
5.instrucciones de control en c++  parte 25.instrucciones de control en c++  parte 2
5.instrucciones de control en c++ parte 2
Ramiro Estigarribia Canese
 
Lógica y Algoritmos 5. c++
Lógica y Algoritmos 5. c++Lógica y Algoritmos 5. c++
Lógica y Algoritmos 5. c++Edward Ropero
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
LenHugo
 
Control de flujo bucles
Control de flujo buclesControl de flujo bucles
Control de flujo buclesOmar Grano
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
tbjs
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
tbjs
 

Similar a ESTRUCTURAS DE CONTROL: BUCLES EN C++ (20)

Fpr Tema 5 www.fresymetal.com
Fpr Tema 5 www.fresymetal.comFpr Tema 5 www.fresymetal.com
Fpr Tema 5 www.fresymetal.com
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
!Prograc5
!Prograc5!Prograc5
!Prograc5
 
Estructuras de control en la POO
Estructuras de control en la POOEstructuras de control en la POO
Estructuras de control en la POO
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Clase 6
Clase 6Clase 6
Clase 6
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
 
5.instrucciones de control en c++ parte 2
5.instrucciones de control en c++  parte 25.instrucciones de control en c++  parte 2
5.instrucciones de control en c++ parte 2
 
Lógica y Algoritmos 5. c++
Lógica y Algoritmos 5. c++Lógica y Algoritmos 5. c++
Lógica y Algoritmos 5. c++
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 
Control de flujo bucles
Control de flujo buclesControl de flujo bucles
Control de flujo bucles
 
07 funciones
07 funciones07 funciones
07 funciones
 
Repaso c
Repaso cRepaso c
Repaso c
 
3 condicionales y ciclos
3 condicionales y ciclos3 condicionales y ciclos
3 condicionales y ciclos
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 

Más de die_dex

Appendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerAppendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerdie_dex
 
Comercio internacional
Comercio internacionalComercio internacional
Comercio internacionaldie_dex
 
Analisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadaAnalisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadadie_dex
 
Micro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationMicro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationdie_dex
 
Bolometric Applications at Room Temperature
Bolometric Applications at Room TemperatureBolometric Applications at Room Temperature
Bolometric Applications at Room Temperaturedie_dex
 
Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...die_dex
 
Analog to Digital Converters Testing
Analog to Digital Converters TestingAnalog to Digital Converters Testing
Analog to Digital Converters Testingdie_dex
 
Towards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMTowards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMdie_dex
 
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORFUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORdie_dex
 
Urgencia hipertensiva
Urgencia hipertensivaUrgencia hipertensiva
Urgencia hipertensivadie_dex
 
Guia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfGuia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfdie_dex
 
Equipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciénEquipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciéndie_dex
 
Crisis hipertensivas
Crisis hipertensivasCrisis hipertensivas
Crisis hipertensivasdie_dex
 
GENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAGENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAdie_dex
 
FORMATO IEEE
FORMATO IEEEFORMATO IEEE
FORMATO IEEEdie_dex
 
HISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESHISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESdie_dex
 
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01die_dex
 
Metrologia
MetrologiaMetrologia
Metrologiadie_dex
 
Mediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialMediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialdie_dex
 

Más de die_dex (20)

Appendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerAppendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputer
 
Comercio internacional
Comercio internacionalComercio internacional
Comercio internacional
 
Analisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadaAnalisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima década
 
Micro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationMicro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentation
 
Bolometric Applications at Room Temperature
Bolometric Applications at Room TemperatureBolometric Applications at Room Temperature
Bolometric Applications at Room Temperature
 
Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...
 
Analog to Digital Converters Testing
Analog to Digital Converters TestingAnalog to Digital Converters Testing
Analog to Digital Converters Testing
 
Towards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMTowards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIM
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORFUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
 
Urgencia hipertensiva
Urgencia hipertensivaUrgencia hipertensiva
Urgencia hipertensiva
 
Guia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfGuia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcf
 
Equipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciénEquipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de recién
 
Crisis hipertensivas
Crisis hipertensivasCrisis hipertensivas
Crisis hipertensivas
 
GENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAGENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICA
 
FORMATO IEEE
FORMATO IEEEFORMATO IEEE
FORMATO IEEE
 
HISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESHISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONES
 
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
 
Metrologia
MetrologiaMetrologia
Metrologia
 
Mediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialMediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrial
 

Último

FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
SandraPiza2
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 

Último (20)

FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 

ESTRUCTURAS DE CONTROL: BUCLES EN C++

  • 1. ESTRUCTURAS DE CONTROL CONTROL: BUCLES
  • 2. Evaluación Escribir un programa que desglose cierta cantidad de segundos introducida por el teclado en su equivalente en semanas, días, horas, minutos, segundos , , , , g Escribir un programa lea la longitud de los lados y calcule la hipotenusa Escribir un programa que calcule el numero de días de un mes dados los valores numéricos del mes y año mes,
  • 3. Contenido 1. La sentencia While 2. Repetición: el bucle For 3. Precauciones en el uso del bucle For 4. Repetición: el bucle Do-While 5. Comparación de bucles While, For y do-While 6. Diseño de bucles 7. Bucles anidados 8. Ejercicios
  • 4. La sentencia While Un bucle while tiene una condición del bucle (una expresión lógica) que controla la secuencia de repetición. repetición La posición de esta condición del bucle es delante del cuerpo del bucle y significa que un bucle while es un bucle pretest de modo que cuando se ejecuta el mismo, se evalúa la condición antes de que se ejecute el cuerpo del bucle
  • 5. Sintaxis Las sentencias del cuerpo del bucle se repiten mientras que la expresión lógica (condición del bucle) sea verdadera. ) Cuando se evalúa la expresión lógica y resulta falsa, se termina y se sale del bucle y se ejecuta la siguiente sentencia de programa después de la sentencia while
  • 6. Ejemplo /*bucle de muestra con while*/ #include <stdio.h> #include <stdlib.h> int main () { int contador=0; while(contador<5) { contador++; printf("contador: %dn",contador); } printf("Fin"); system("PAUSE"); return 0; }
  • 7. Operadores de incremento y decremento C ofrece los operadores de incremento (++) y decremento (--) que soporta una sintaxis abreviada para añadir (incrementar) o restar (decrementar) 1 al valor de una variable K=i++; /*asigna el valor de 3 a k y 4 a i*/ K ++i; / asigna K=++i; /*asigna el valor de 5 a K y 5 a i*/ i / K=i--; /*asigna el valor de 5 a k y 4 a i*/ K i; / asigna K=--i; /*asigna el valor de 3 a k y 3 a i*/ i /
  • 8. Bucles controlados por centinelas Un método para terminar p un bucle es introducir un único dato definido y especificado denominado valor centinela como ultimo dato. La condición del bucle comprueba cada dato y termina cuando se lee el valor centinela
  • 9. Bucles controlados por indicadores Un bucle controlado por bandera-indicador se ejecuta p j hasta que se produce un suceso anticipado y se cambia el valor del indicador
  • 10. Las sentencia break en los bucles La sentencia break se utiliza, a veces, para realizar una terminación anormal del bucle. Dicho de otro modo, una terminación antes de lo previsto
  • 11. Bucles While (true) La condición que se comprueba en un b l while b bucle hil puede ser cualquier expresión valida C. Mientras que la condición permanezca verdadera (distinto de 0), el bucle while continuara ejecutándose. ejecutándose Se puede crear un bucle que nunca termine utilizando el valor 1 para la condición que se comprueba q p
  • 12. Ejemplo /*calculo de la media de 6 numeros*/ while (contadornum<totalnum) #include <stdio.h> #incl de <stdio h> { #include <stdlib.h> float numero; #include <string.h> scanf ("%f",&numero); int main () sumanum+=numero; ; { ++contadornum; const int totalnum=6; } int contadornum=0; media=sumanum/contadornum; float sumanum=0; printf("media:%.2fn",media); float media; system("PAUSE"); printf ("introduzca %d numeros:n", return 0; totalnum); }
  • 13. Repetición el bucle For La sentencia for (bucle for) es un método ara ejecutar ( ) j un bloque de sentencias un numero fijo de veces. El bucle for se diferencia del bucle while en que las operaciones de control del bucle se sitúan en un solo sitio: la cabecera de la sentencia Sintaxis Si i For( inicialización; condición iteración; incremento) Sentencias S t i
  • 14. Ejemplo #include <stdio.h> #include <stdio.h> #include <stdlib.h> #include <stdlib.h> #i l d < dlib h> int main () int main () { int i; { /*imprimir hola 10 veces*/ int i; i i for(i=0; i<10; i++) { /*imprimir hola 10 veces*/ printf("hola!, "); for(i=0; i<10; i++) printf("el valor de i es: %dn",i); printf("hola!n"); i tf("h l ! ") } system("PAUSE"); system("PAUSE"); return 0; return 0; } }
  • 15. Cont… Cont Existen dos formas de implementar la sentencia for que se utilizan normalmente para i l l implementar b lbucles d conteo: f de formato ascendente, en el que la variable de control se incrementa y formato descendente, en el que la variable de control decrementa.
  • 16. Ejemplos #include <stdio.h> #include <stdio.h> #include <stdlib.h> #include <stdlib.h> #include <math.h> int main() { #define M 15 int n, suma = 0; #define f(x) exp(2*x)-x int main () for (n=1; n<=10; n++) { suma += 2*n; int i; printf("La suma de los 10 primeros numeros pares: %dn",suma); double x; system("PAUSE"); for(i=0; i<=M; i++) return 0; { } printf("valor de x: "); scanf("%lf",&x); printf("f(%.1lf)=%.4gn",x,f(x)); /*El bucle lo podríamos haber diseñado con un incremento de 2: } for (n = 2; n <= 20; n+=2) system("PAUSE"); suma += n; */ / return 0; }
  • 17. Bucles infinitos C no soporta una sentencia que realice esa tarea, pero existe una variante d l sintaxis f que permite i l i de la i i fro i implementar b l i fi i bucles infinitos que son aquellos bucles que, en principio, no tienen fin. Sintaxis For(;;) Sentencia; La sentencia se ejecuta indefinidamente a menos que se utilice una sentencia return o break (normalmente una combinación if-break o if-return)
  • 18. Sentencia nulas en bucles for /* bucles for con sentencias nulas */ Cualquiera o todas las #include <stdio.h> #include <stdlib.h> sentencias del bucle for int main() { pueden ser nulas Para nulas. int contador = 0; for (;contador < 5;) ejecutar esta acción se { contador++; printf (";Bucle!n"); utiliza el (;) para marcar } printf("n Contador: %d n", contador); la sentencia vacía system ("PAUSE"); return 0; }
  • 19. Sentencias break y continue La sentencia break Las sentencia continue termina la ejecución hace que la ejecución de un bucle de una bucle, de un bucle vuelva a sentencia switch, y en la cabecera del bucle general de cualquier sentencia
  • 20. Ejemplos #include <stdio.h> #include <stdio.h> #include <stdlib.h> /*Ejemplo de utilización de break*/ #include <stdlib.h> int main () int main() { { int contador = 0; /* inicialización */ int clave,i; int max; printf ("Cuantos holas? " ) ; puts ("Introduce -9 para acabar. " ) ; scanf ("%d",&max) ; clave = 1; for (;;) /* bucle for que no termina nunca */ for (i = 0; i < 8; i++) { { if (clave ==-9) continue; if(contador < max) /* test */ scanf ("%d",&clave); { printf ("clave %dn",clave) ; ( clave %dn clave) puts("Hola!"); } contador++; } printf("VAL0RES FINALES i = %d clave = %d",i,clave); else system("PAUSE"); break; return 0; } } system("PAUSE"); return 0; }
  • 21. Repetición: el bucle do while do…while La sentencia do-while se utiliza para especificar un p p bucle condicional que se ejecuta al menos una vez Sintaxis do sentencia while (expresión) do sentencia while (expresión) ( p )
  • 22. Diferencias entre while y do while Una sentencia do-while es similar a una sentencia while excepto que el cuerpo del bucle se ejecuta siempre al menos una vez l d lb l j i l
  • 23. Ejemplos #include <stdio.h> #include <stdio.h> #include <stdlib.h> #include <stdlib.h> #incl de <stdlib h> /*imprime las letras minusculas del alfabeto*/ /*cuenta de 0 a 10*/ int main () int main () { char car='a'; { do int x=0; { do printf ("%cn",car); car++; printf ("x: %dn",x++); } while (x<10); while (car<='z'); system("PAUSE"); system("PAUSE"); return 0; return 0; } }
  • 24. Comparación de bucles While; el uso mas frecuente es cuando la repetición no esta controlada por contador; el test d condición precede a cada l d d l de di ió d d repetición del bucle; el cuerpo del bucle puede no ser ejecutado. Se debe utilizar cuando se desea saltar el bucle si la condición es falsa For; bucle de conteo, cuando el numero de repeticiones se conoce por anticipado y puede ser controlado por un contador; también es adecuado para bucles que implican control no contable del bucle con simples etapas d i i i li ió y d actualización; el t t d l i l t de inicialización de t li ió l test de la condición precede a la ejecución del cuerpo del bucle Do while; es adecuada para asegurar que al menos se ejecuta el bucle b l una vez
  • 25. Diseño de bucles El diseño de un bucle necesita tres puntos a considerar El cuerpo del bucle Las sentencias de inicialización Las L condiciones para l terminación del bucle di i la i ió d l b l
  • 26. Ejemplos #include <stdio.h> scanf ("%ld",&n); #include <stdlib.h> } /*vizualize el factorial de un entero*/ while ((n<2)||(n>20)); int i i main () for (m=n fact=1; n>1; fact (m=n, { *=n--); long int n,m,fact; printf ("%ld! = %ldn",m,fact); do system("PAUSE"); ("PAUSE") { return 0; p printf ("nFactorial de numero n: ( } ");
  • 27. Bucles anidados Es posible anidar bucles. Los bucles anidados constan de un bucle externo con uno o mas b l i t bucles internos. C d vez que se repite el b l externo, l Cada it l bucle t los bucles internos se repiten, se vuelve a evaluar los componentes de control y se ejecutan todas las iteraciones requeridas
  • 28. Ejemplos #include <stdio.h> scanf ( "%d",&columnas) ; #include <stdlib.h> printf ("Q e caracter? " ) ; ( Que caracter?: scanf ("n%c",&elCar) ; int main () for (i = 0; i < filas; i++) { { int filas, columnas; for (j = 0; j < columnas; j++ ) int i, j; putchar(elCar) ; char elCar; ; putchar('n'); } printf ("Cuantas filas?: " ) ; system("PAUSE"); scanf ("%d",&filas) ; return 0; printf ("Cuantas columnas?: " ) ; ( Cuantas }
  • 29. Ejercicios Escribir un programa que encuentre el primer numero primo introducido por el t l d l teclado 1 2 3 n Calcular la suma de los términos de la serie 2 + + + 2 2 3 2 2n Escribir un programa que calcule la suma de los 50 primeros números enteros Calcular la media de las notas introducidas por teclado con un dialogo interactivo semejante al siguiente: Cuantas notas?: 3 Nota 1: 12 Nota 2: 16 … Media : 14
  • 30. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x3 16x9