SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
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

Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-caseGuillermo Viaje
 
Tema 1 Fundamentos de programación.pdf
Tema 1 Fundamentos de programación.pdfTema 1 Fundamentos de programación.pdf
Tema 1 Fundamentos de programación.pdfAdrianaCamilaCondori
 
Basic c programming and explanation PPT1
Basic c programming and explanation PPT1Basic c programming and explanation PPT1
Basic c programming and explanation PPT1Rumman Ansari
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Obmaro García
 
Metodos de programacion estructurada
Metodos de programacion estructuradaMetodos de programacion estructurada
Metodos de programacion estructuradaDeiver Diaz Contreras
 
Estructuras iterativas en java y pseudocódigo
Estructuras iterativas en java y pseudocódigoEstructuras iterativas en java y pseudocódigo
Estructuras iterativas en java y pseudocódigoAlex Cordova
 
Estructuras de control selectiva
Estructuras de control selectivaEstructuras de control selectiva
Estructuras de control selectivaIEO Santo Tomás
 
Maximo comun divisor
Maximo comun divisorMaximo comun divisor
Maximo comun divisoredilectro
 
Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoAbrirllave
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccionClariza
 
Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3Universidad Veracruzana
 
Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Javier Alvarez
 

La actualidad más candente (20)

Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
Ejercicios if en c#
Ejercicios if en c#Ejercicios if en c#
Ejercicios if en c#
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Tema 1 Fundamentos de programación.pdf
Tema 1 Fundamentos de programación.pdfTema 1 Fundamentos de programación.pdf
Tema 1 Fundamentos de programación.pdf
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Basic c programming and explanation PPT1
Basic c programming and explanation PPT1Basic c programming and explanation PPT1
Basic c programming and explanation PPT1
 
88 c-programs
88 c-programs88 c-programs
88 c-programs
 
assembler
assembler assembler
assembler
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++
 
Metodos de programacion estructurada
Metodos de programacion estructuradaMetodos de programacion estructurada
Metodos de programacion estructurada
 
Estructuras iterativas en java y pseudocódigo
Estructuras iterativas en java y pseudocódigoEstructuras iterativas en java y pseudocódigo
Estructuras iterativas en java y pseudocódigo
 
Estructuras de control selectiva
Estructuras de control selectivaEstructuras de control selectiva
Estructuras de control selectiva
 
Maximo comun divisor
Maximo comun divisorMaximo comun divisor
Maximo comun divisor
 
Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigo
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en C
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
 
Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)
 

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.comFresyMetal
 
Estructuras de control en la POO
Estructuras de control en la POOEstructuras de control en la POO
Estructuras de control en la POOAmado 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
 
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 ctbjs
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje ctbjs
 
Clase lenguaje c
Clase lenguaje c Clase lenguaje c
Clase lenguaje c Mar15marian
 

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
 
!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
 
Clase lenguaje c
Clase lenguaje c Clase lenguaje c
Clase 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

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 

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