Your SlideShare is downloading. ×
0
ESTRUCTURAS DE CONTROL               CONTROL:BUCLES
Evaluación Escribir un programa que desglose cierta cantidad de segundos introducida por el teclado en su equivalente en s...
Contenido1.   La sentencia While2.   Repetición: el bucle For3.   Precauciones en el uso del bucle For4.   Repetición: el ...
La sentencia While Un bucle while tiene una condición del bucle (una expresión lógica) que controla la secuencia de repeti...
Sintaxis           Las sentencias del cuerpo del           bucle se repiten mientras que           la expresión lógica (co...
Ejemplo /*bucle de muestra con while*/ #include <stdio.h> #include <stdlib.h> int main () {     int contador=0;     while(...
Operadores de incremento y decremento C ofrece los operadores de incremento (++) y decremento (--) que soporta una sintaxi...
Bucles controlados por centinelas Un método para terminar               p un bucle es introducir un único dato definido y ...
Bucles controlados por indicadores Un bucle controlado por bandera-indicador se ejecuta                       p           ...
Las sentencia break en los bucles La sentencia break se utiliza, a veces, para realizar una terminación anormal del bucle....
Bucles While (true) La      condición   que     se comprueba en un b l while           b        bucle hil puede ser cualqu...
Ejemplo /*calculo de la media de 6 numeros*/      while (contadornum<totalnum) #include <stdio.h> #incl de <stdio h>      ...
Repetición el bucle For La sentencia for (bucle for) es un método ara ejecutar                   (         )              ...
Ejemplo #include <stdio.h>               #include <stdio.h>                                  #include <stdlib.h> #include ...
Cont…Cont Existen dos formas de implementar la sentencia for que se utilizan normalmente para i l        l             imp...
Ejemplos #include <stdio.h>                      #include <stdio.h> #include <stdlib.h>                     #include <stdl...
Bucles infinitos C no soporta una sentencia que realice esa tarea, pero existe una variante d l sintaxis f que permite i l...
Sentencia nulas en bucles for                              /* bucles for con sentencias nulas */ Cualquiera o todas las   ...
Sentencias break y continue La sentencia break       Las sentencia continue termina la ejecución     hace que la ejecución...
Ejemplos #include <stdio.h>                                        #include <stdio.h> #include <stdlib.h> /*Ejemplo de uti...
Repetición: el bucle do while                     do…while La sentencia do-while se utiliza para especificar un           ...
Diferencias entre while y do while Una sentencia do-while es similar a una sentencia while excepto que el cuerpo del bucle...
Ejemplos #include <stdio.h>            #include <stdio.h>                               #include <stdlib.h> #include <stdl...
Comparación de bucles While; el uso mas frecuente es cuando la repetición no esta controlada por contador; el test d condi...
Diseño de bucles El diseño de un bucle necesita tres puntos a considerar  El cuerpo del bucle  Las sentencias de inicializ...
Ejemplos #include <stdio.h>                       scanf ("%ld",&n); #include <stdlib.h>                                   ...
Bucles anidados Es posible anidar bucles. Los bucles anidados constan de un bucle externo con uno o mas b l i t           ...
Ejemplos #include <stdio.h>                       scanf ( "%d",&columnas) ; #include <stdlib.h>                        pri...
Ejercicios Escribir un programa que encuentre el primer numero primo introducido por el t l d   l teclado                 ...
Patrón de prueba de pantalla panorámica (16:9)                               Prueba de la                                r...
Upcoming SlideShare
Loading in...5
×

ESTRUCTURAS DE CONTROL: BUCLES EN C++

7,854

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
7,854
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
133
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "ESTRUCTURAS DE CONTROL: BUCLES EN C++"

  1. 1. ESTRUCTURAS DE CONTROL CONTROL:BUCLES
  2. 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. 3. Contenido1. La sentencia While2. Repetición: el bucle For3. Precauciones en el uso del bucle For4. Repetición: el bucle Do-While5. Comparación de bucles While, For y do-While6. Diseño de bucles7. Bucles anidados8. Ejercicios
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 30. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x316x9
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×