Ciclo for- Presentacion

21

Transcript of Ciclo for- Presentacion

CICLO FOR.

BUCLES. CONTROL BÁSICO DEL

PROGRAMA

¿QUÉ ES UN BUCLE?

Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.

Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.En programación se denomina bucle a la ejecución repetidas veces de un mismo conjunto de sentencias. Normalmente en cada nueva ejecución varía algún elemento.

ELEMENTOS DE UN BUCLE• Variable de control: prácticamente un mandato impuesto por

el uso habitual es utilizar la letra i (Iterador) como variable de control, o bien sus sucesoras en caso de bucles anidados.

• Inicialización de la variable de control: En C se define en el primer parámetro del bucle junto con la variable de control.

• Condición de control: En C es el segundo parámetro y puede ser cualquier condición (ni siquiera es obligación que esté la variable de control, aunque una vez más, esto no se considera una buena práctica).

• Incremento• Cuerpo: es lo que se hará en cada iteración, pueden• ser una o más instrucciones.

TIPOS DE BUCLES• Los tres bucles más utilizados en programación son el bucle while,

el bucle for y el bucle repetir. También existe el bucle infinito, este es un error que consiste en realizar un ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones

se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigueejecutando el segmento de código indefinidamente.

EL BUCLE (CICLO) FOR• El enunciado for es una construcción de programación del C

que ejecuta un bloque de uno o más enunciados una determinada cantidad de veces. A veces es llamado ciclo for, debido a que la ejecución del programa por lo general hace ciclos por los enunciados más de una vez. A diferencia de while y do-while, el ciclo for es un ciclo determinado ya que

puede saberse con anticipación cuantas repeticiones efectuará. Para ello, se incluye un contador de iteraciones, es decir, una variable que se incrementa con cada repetición del bloque de instrucciones.

ESTRUCTURA DEL CICLO FOR EN C• En lenguaje C, el ciclo for tiene la siguiente

estructura: for ( inicial; condición; incremento) { enunciado } De manera más detallada for ( contador=valor_inicial; contador<=valor

final; contador=contador+1) { instrucciones }Existen los enunciados for

anidados

PROCESO DEL CICLO FOR • Cuando se encuentra un enunciado for durante la ejecución

del programa, suceden los siguientes eventos:1. La expresión inicial es evaluada- Lo inicial es por lo general un

enunciado de asignación que pone una variable a un valor determinado.

2. La expresión condición es evaluada- La condición es típicamente una expresión relacional .

3. Si la condición evalúa a falso (esto es, a cero), el enunciado for termina, y la ejecución pasa al primer enunciado que se encuentra a continuación del enunciado del for.

4. Si la condición evalúa a cierto, se ejecutan los enunciados que se encuentran dentro del for.

5. La expresión de incremento es evaluada y la ejecución regresa al paso 2.

La expresión de un enunciado for se muestra a continuación de manera esquemática.

Ejemplos 11. /*Este programa

permite saber si un numero es primo o no*/

2. 3. #include <stdio.h>4. #include <conio.h>5. 6. int x,i,k;7. 8. main ()9. {10. printf ("\n\t Ingrese

un numero positivo mayor que 1 (si el numero es 1 no es primo): ");

11. scanf ("%d",&x);

12. { 13. if (x<=1)14. { 15. return main ();16. }17. } 18. for (i=1;i<=x;i++)19. {20. if (x%i==0)21. k++;22. }23. if (k==2)24. printf ("\n El numero

%d es primo",x);25. else 26. printf ("\n El numero

%d no es primo",x);27. 28. getch ();29. return 0;30. }

EJEMPLO 21. #include <stdio.h>2. #include <conio.h>

3. int x,y,a,b=0,c,d=0;

4. main ()5. {6. printf ("Ingrese un numero

A del 5 al 50: ");7. scanf ("%d",&x);8. printf ("Ingrese un numero

B del 5 al 50: ");9. scanf ("%d",&y);

10. {11. if (x<5) 12. return main();13. else if (x>50)14. 15. return main(); 16. else if (y<5)17. return main ();

34. {35. {36. for

(a=1;a<=x;a++)37. {38. if (x

%a==0)39. b++;40. }41. } 42. if (b==2)43. printf ("\n El

numero %d es primo",x);44. else 45. printf ("\n El

numero %d no es primo",x);

46. } 47.

18. else if (y>50)19. return main ();20. else 21. {22. printf ("\n Cual

de los dos numeros es mayor?");

23. 24. } 25. }26. { 27. if (x<y)28. printf ("\n El

numero %d es mayor que el numero %d",y,x);

29. else if (x>y)30. printf ("\n El

numero %d es mayor que el numero %d",x,y);

31. else32. printf ("\n El

numero %d es igual a %d",x,y);

33. }

34. {35. {36. for (c=1;c<=y;c++)37. {38. if (y%c==0)39. d++;40. }41. } 42. if (d==2)43. printf ("\n El numero %d es

primo",y);44. else 45. printf ("\n El numero %d no

es primo",y);46. } 47. 48. 49. getch ();50. return 0;51. }

BUCLE WHILE Y DO-WHILE• El enunciado while, también llamado el ciclo while, ejecuta un bloque

de enunciado en tanto una condición especifica sea cierta. El enunciado while es equivalente a la estructura

mientras condición hacer instrucciones fin mientras En lenguaje C, el enunciado while tiene la forma while (condición) { instrucciones} • Existen los ciclos while anidados. • Si quisiésemos hacer el equivalente del for con el while pondríamos:

Como for (expresión 1; expresión 2; expresión 3) {sentencia} con el while sería: expresión 1; while (expresión 2) { sentencia ; expresión 3;}

PROCESO DEL CICLO WHILE• La condición que aparece en el ciclo es cualquier

expresión en C y el enunciado es un enunciado del C, simple o compuesto. Cuando la ejecución del programa llega al enunciado while suceden los siguientes eventos:

1. Es evaluada la expresión de la condición.2. Si la condición evalúa a falso, el enunciado while

termina, y la ejecución pasa al primer enunciado que se encuentre a continuación de los enunciados del while.

3. Si la condición evalúa a cierto, se ejecutan los enunciados C del while.

4. La ejecución regresa al punto 1.

• La operación de un enunciado while se muestra esquemáticamente a continuación:

EJEMPLOS1. #include <stdio.h>2. #include <conio.h>

3. int a,b=2,c,d=0;4. 5. main ()6. {7. printf ("\n Ingrese un numero positivo

diferente de 1: ");8. scanf ("%d",&a);9. { if (a==1)10. return main ();11. } 12. 13. if (a%2==0)14. c=a/2;15. else 16. c=(a-1)/2;17.

18. while (b<=c)19. {20. if (a%b==0)21. d=1;22. b++;23. }24. 25. 26. 27. if (d==0)28. printf ("\n El numero %d es primo",a);29. else 30. printf ("\n El numero %d no es primo", a); 31. 32. getch ();33. return 0;34. }

EJEMPLO 21. #include <stdio.h>

2. int num1,factorial,contador;3. main ()4. {5. printf ("Ingrese un numero

entero positivo: ");6. scanf ("%d",&num1);7.

8. factorial=1;9. contador=1;10. while (contador<=num1)11. {12. factorial=factorial*contador;13. contador=contador+1;14. }15. 16. printf ("\nEl factorial de %d es

%d",num1,factorial);17. 18. getch ();19. return 0;20. }

CICLO DO-WHILE• Es una construcción de ciclo de C, este ciclo ejecuta un

bloque de enunciados mientras una condición especifica es cierta. El ciclo do…while prueba la condición al final del ciclo en vez de hacerlo al principio, como es hecho por el ciclo for y por el ciclo while.

• La estructura del ciclo do…while es la siguiente : do { instrucciones} while (condición);Donde la condición es cualquier expresión del C, y las

instrucciones son un enunciado simple o compuesto del C.

PROCESO DEL CICLO DO-WHILE• Cuando la ejecución de un programa llega a un

enunciado do…while (do-while) suceden los siguientes eventos:

1. Se ejecutan los enunciados que se encuentran en instrucciones.

2. La condición de es evaluada. Si es cierta, la ejecución regresa al paso 1. Si es falsa el ciclo termina.

• La operación de un ciclo do…while se muestra esquemáticamente en la siguiente figura:

EJEMPLO1. #include <stdio.h>

2. int num1,factorial,contador;3. 4. main ()5. { 6. printf ("Ingresa un

numero entero positivo: ");7. scanf ("%d",&num1);8. 9. factorial=1;10. contador=1;

11. do 12. {13.

factorial=factorial*contador;14.

contador=contador+1;15. }16. while (contador<=num1);17. 18. printf ("\n El factorial de

%d es %d",num1,factorial);19. 20. getch ();21. return 0;22. }