18
Prof. Addys de Lam Prof. Addys de Lam ESTRUCTURAS DE CONTROL ESTRUCTURAS DE CONTROL REPETITIVAS REPETITIVAS OBJETIVOS. OBJETIVOS. Conocer el funcionamiento de las Conocer el funcionamiento de las estructuras de control repetitivas. estructuras de control repetitivas. Establecer la evaluación de condiciones Establecer la evaluación de condiciones necesarias para decidir si se debe seguir necesarias para decidir si se debe seguir ejecutando o si se debe tener el proceso ejecutando o si se debe tener el proceso repetitivo. repetitivo. Codificar programas en el lenguaje C donde Codificar programas en el lenguaje C donde se utilicen las diferentes estructuras de se utilicen las diferentes estructuras de control repetitivas. control repetitivas.

ESTRUCTURAS DE CONTROL REPETITIVAS

  • Upload
    kaia

  • View
    78

  • Download
    3

Embed Size (px)

DESCRIPTION

ESTRUCTURAS DE CONTROL REPETITIVAS. OBJETIVOS. Conocer el funcionamiento de las estructuras de control repetitivas. Establecer la evaluación de condiciones necesarias para decidir si se debe seguir ejecutando o si se debe tener el proceso repetitivo. - PowerPoint PPT Presentation

Citation preview

Page 1: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

ESTRUCTURAS DE CONTROL ESTRUCTURAS DE CONTROL REPETITIVASREPETITIVAS

OBJETIVOS.OBJETIVOS. Conocer el funcionamiento de las estructuras de Conocer el funcionamiento de las estructuras de

control repetitivas.control repetitivas. Establecer la evaluación de condiciones Establecer la evaluación de condiciones

necesarias para decidir si se debe seguir necesarias para decidir si se debe seguir ejecutando o si se debe tener el proceso ejecutando o si se debe tener el proceso repetitivo.repetitivo.

Codificar programas en el lenguaje C donde se Codificar programas en el lenguaje C donde se utilicen las diferentes estructuras de control utilicen las diferentes estructuras de control

repetitivas. repetitivas.

Page 2: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

ESTRUCTURAS DE CONTROL REPETITIVASESTRUCTURAS DE CONTROL REPETITIVAS

Conceptos necesariosConceptos necesarios

CONTADORCONTADOR

4+14+13+13+12+12+11+11+10+10+1

5544332211

VALOR INICIAL VARIABLE (CONT)

CONSTANTE

CONT =CONT +1;CONT= 0;

Page 3: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

ESTRUCTURAS DE CONTROL REPETITIVASESTRUCTURAS DE CONTROL REPETITIVAS

Conceptos necesariosConceptos necesarios

ACUMULADORACUMULADOR

SE REQUIERE ACUMULAR DINERO EN UNA ALCANCIASE REQUIERE ACUMULAR DINERO EN UNA ALCANCIA

0.90+0.500.90+0.500.40+0.500.40+0.500.35+0.050.35+0.050.25+0.100.25+0.100+0.250+0.25

0.500.500.500.500.050.050.100.100.250.25

VALOR INICIAL VARIABLE (AHORRO)

VARIABLE (CANT) AHORRO = AHORRO +CANT;

AHORRO= 0;

1.40

Page 4: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de Lam

SENTENCIA DE CONTROLSENTENCIA DE CONTROL

LA SENTENCIA WHILELA SENTENCIA WHILE

FORMATO: FORMATO: while (expresión) sentenciawhile (expresión) sentencia

EJEMPLO 1:EJEMPLO 1: #include <stdio.h>#include <stdio.h>

main ( ) /* visualizar los números del 0 al 9 */main ( ) /* visualizar los números del 0 al 9 */ {{ int digito = 0;int digito = 0;

while ( digito < = 9 ) while ( digito < = 9 ) {{ printf (“%d\n”, digito);printf (“%d\n”, digito);

++digito;++digito; }}

}}óó#include <stdio.h>#include <stdio.h>main ( ) /* visualizar los números del 0 al 9 */main ( ) /* visualizar los números del 0 al 9 */{{ int digito = 0;int digito = 0;

while ( digito < = 9 ) while ( digito < = 9 ) printf (“%d\n, digito++);printf (“%d\n, digito++); }}

Page 5: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de Lam

SENTENCIAS DE CONTROLSENTENCIAS DE CONTROLSENTENCIA WHILESENTENCIA WHILE

EJEMPLO 2:EJEMPLO 2:##include <stdio.h>include <stdio.h>

main ( ) /* calculo de la media de n números*/main ( ) /* calculo de la media de n números*/ {{

int n, cont = 1;int n, cont = 1; float x, media, suma =0;float x, media, suma =0; printf (“Entre el total de números a procesar:”);printf (“Entre el total de números a procesar:”); scanf ( “%d”, &n);scanf ( “%d”, &n); /* Leer los números *//* Leer los números */

while ( cont < = n) { printf (“Entre los valores:”);

scanf (“%f”, &x); suma += x;

++cont; }

/* Calculo e impresión de la media *//* Calculo e impresión de la media */media = suma/n;media = suma/n;printf (“\nLa media es %f\n”, media);printf (“\nLa media es %f\n”, media);}}

Page 6: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

LA SENTENCIA DO-WHILE

FORMATO: do sentencia while ( expresión )

EJEMPLO 1: #include <stdio.h>

main ( ) /* visualiza los números del 0 al 9 */ {

int digito = 0; do printf (“%d\n”, digito++);

while (digito < = 9); }

Page 7: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

LA SENTENCIA DO-WHILE

EJEMPLO 2:

#include <stdio.h> main ( ) /* calculo de la media de n números*/ { int n, cont = 1; float x, media, suma =0; printf (“Entre el total de números a procesar:”); scanf ( “%d”, &n); /* Leer los números */ do { printf (“Entre los valores:”); scanf (“%f”, &x); suma += x; ++cont; } while ( cont <= n); /* calculo e impresión de la media */ media = suma/n; printf (“\nLa media es %f\n”, media); }

Page 8: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

LA SENTENCIA FOR

FORMATO: for ( expresión 1; expresión 2; expresión 3) sentencia

en donde: expresión 1: inicializar un parámetro ( índice ).

expresión 2: representa una condición a satisfacer para ejecutar el bucle. expresión 3: expresión monaria o de asignación para modificar el valor

del párametro.

La sentencia for es equivalente a:

expresión 1; while ( expresión 2) { sentencia; expresión 3;

}

Page 9: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

LA SENTENCIA FOR

EJEMPLO 1:

#include <stdio.h> /* visualiza los números del 0 al 9 */

main ( ){

int digito;

for ( digito = 0; digito <= 9; ++digito ) printf (“%d\n”, digito);}

Page 10: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

EJEMPLO 2:#include <stdio.h>/* calculo de la media de n números*/

main ( ) {

int n, cont ; float x, media, suma =0; /* Leer la cantidad de numeros a procesar */

printf (“Entre el total de números a procesar:”); scanf ( “%d”, &n);

/* Leer los números */ for ( cont=0; cont < = n; ++cont ) { Printf (“Entre los valores:”);

scanf (“%f”, &x); suma += x;

}

/* Calculo e impresión de la media */ media = suma/n;

printf (“\nLa media es %f\n”, media); }

Page 11: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

SENTENCIA forSENTENCIA for

Page 12: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

EJEMPLOS DEL USO DEL FOREJEMPLOS DEL USO DEL FOR

/* Suma de los números pares hasta 10*//* Suma de los números pares hasta 10*/

#include <stdio.h>#include <stdio.h> main()main(){ int n,suma =0;{ int n,suma =0;

system(“Cls”);system(“Cls”);

for (n=0; n<=10; n+=2)for (n=0; n<=10; n+=2)suma += n;suma += n;

Printf (“La suma de numeros pares: %d”,suma);Printf (“La suma de numeros pares: %d”,suma);

}}

Page 13: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de Lam

EJEMPLOS DEL USO DEL FOREJEMPLOS DEL USO DEL FOR

/* suma de los números del 10 al 1 *//* suma de los números del 10 al 1 */

#include <stdio.h>#include <stdio.h>Main ()Main (){ int n,suma =0;{ int n,suma =0; system(“Cls”);system(“Cls”);

for (n=10; n >= 1; n--)for (n=10; n >= 1; n--) suma += n;suma += n; Printf (“La suma de los 10 primeros numeros : %d”,suma);Printf (“La suma de los 10 primeros numeros : %d”,suma);}}

Page 14: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

EJEMPLOS DEL USO DEL FOREJEMPLOS DEL USO DEL FOR

/* Imprime los numeros del 1 al 10 con incrementos de 0.5 *//* Imprime los numeros del 1 al 10 con incrementos de 0.5 */

#include <stdio.h>#include <stdio.h>

main()main()

{ {

float n;float n;

system(“Cls”);system(“Cls”);

for (n=1; n <= 10; n+= 0.5)for (n=1; n <= 10; n+= 0.5)

Printf (“%d”,n);Printf (“%d”,n);

}}

Page 15: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

EJEMPLOS DEL USO DEL FOREJEMPLOS DEL USO DEL FOR

/* Imprime los numeros del 1 al 100 que no sean múltiplos de 5 *//* Imprime los numeros del 1 al 100 que no sean múltiplos de 5 */

#include <stdio.h>#include <stdio.h> main()main()

{ { int n;int n;system(“Cls”);system(“Cls”);for (n=0; n <= 100; n++)for (n=0; n <= 100; n++)

{{if ( n % 5 == 0)if ( n % 5 == 0)continue;continue;Printf (“%d”,n);Printf (“%d”,n);

}}}}

Page 16: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

BUCLES ANIDADOS

1. Los bucles se pueden anidar uno en otro.2. Un bucle debe estar completamente incluido dentro del otro.3. Los bucles internos y externos no necesitan ser generados por el

mismo tipo de estructura de control.4. Cada bucle debe ser controlado por un índice diferente.

EJEMPLO:

#include <stdio.h>/* calculo de la media de varias listas de números */

main ( ) {

int n, cont, bucles, contbucles; float x, media, suma =0; /* Leer la cantidad de listas a procesar */

printf (“Entre el total de listas:”); scanf ( “%d”, &bucles);

Page 17: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

/* Bucle exterior... Procesar cada lista */ for ( contbucles=1; contbucles <= bucles; ++contbucles) { /* Leer la cantidad de numeros para cada lista */ suma = 0;

printf (“\nLista número %d\nCuantos números?”,contbucles); scanf ( “%d”, &n );

/* Leer los números */ for ( cont=1; cont < = n; ++cont ) { printf (“Entre los valores:”);

scanf (“%f”, &x); suma += x;

} /* fin del bucle interno */

/* Calculo e impresión de la media */ media = suma/n; printf (“\nLa media es %f\n”, media); } /* fin del bucle externo */

}

Page 18: ESTRUCTURAS DE CONTROL REPETITIVAS

Prof. Addys de LamProf. Addys de Lam

EJEMPLOS DEL USO DEL FOREJEMPLOS DEL USO DEL FOR

/* Imprime un tablero de ajedrez y sobre él marca con * las celdas a las que se /* Imprime un tablero de ajedrez y sobre él marca con * las celdas a las que se pueden mover un alfil */pueden mover un alfil */

#include <stdio.h>#include <stdio.h> main()main(){ { int falfil,calfil; int falfil,calfil; /* Posición del alfil *//* Posición del alfil */

int fila, columna;int fila, columna; /*Posicion actual */ /*Posicion actual */system(“Cls”);system(“Cls”);printf(“Posición del alfil (fila,columna):”);printf(“Posición del alfil (fila,columna):”);scanf(“%d %d”,&falfil,&calfil);scanf(“%d %d”,&falfil,&calfil);

for (fila=1; fila <= 8; fila++) {for (fila=1; fila <= 8; fila++) {for (columna=1; columna <= 8; columna++) {for (columna=1; columna <= 8; columna++) {if ((fila+columna == falfil + calfil)|| (fila-columna == falfil -if ((fila+columna == falfil + calfil)|| (fila-columna == falfil -

calfil))calfil)) printf(“*”);printf(“*”);elseelse

if (fila+columna)%2 ==0)if (fila+columna)%2 ==0)printf(“B”);printf(“B”);elseelseprintf(“N”);printf(“N”);

}}printf(“\n”);printf(“\n”);

}}}}