SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem csergiocrespo
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
02 introdução ao open gl
02 introdução ao open gl02 introdução ao open gl
02 introdução ao open glAuberto Macie
 
Sintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensambladorSintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensambladornaye torres
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Naming guidelines for professional programmers
Naming guidelines for professional programmersNaming guidelines for professional programmers
Naming guidelines for professional programmersPeter Hilton
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 

Was ist angesagt? (20)

Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
Sentencias de control
Sentencias de controlSentencias de control
Sentencias de control
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
02 introdução ao open gl
02 introdução ao open gl02 introdução ao open gl
02 introdução ao open gl
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Sintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensambladorSintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensamblador
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Chap 5(decision making-branching)
Chap 5(decision making-branching)Chap 5(decision making-branching)
Chap 5(decision making-branching)
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Naming guidelines for professional programmers
Naming guidelines for professional programmersNaming guidelines for professional programmers
Naming guidelines for professional programmers
 
C Programming - Refresher - Part I
C Programming - Refresher - Part I C Programming - Refresher - Part I
C Programming - Refresher - Part I
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveisAula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveis
 
Intro to c++
Intro to c++Intro to c++
Intro to c++
 
Introducción a la Programación en Visual C# (C Sharp)
Introducción a la Programación en Visual C# (C Sharp)Introducción a la Programación en Visual C# (C Sharp)
Introducción a la Programación en Visual C# (C Sharp)
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxNadiaMartnez11
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaAlejandraFelizDidier
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 

Kürzlich hochgeladen (20)

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 

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