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
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.
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;
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
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++); }}
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);}}
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); }
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); }
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;
}
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);}
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); }
Prof. Addys de LamProf. Addys de Lam
SENTENCIA forSENTENCIA for
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);
}}
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);}}
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);
}}
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);
}}}}
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);
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 */
}
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”);
}}}}