Tema 6b
Estructuras de control
repetitivas
Estructuras de control repetitivas
• Ciclos
– Mientras (while)
– Hasta que (do-while)
– Número de veces (for)
Repetitiva (Mientras)
1
C
1
no
C
si
2
2
3
3
Repetitiva (Mientras)
Palabra
reservada
instrucción1;
while(condicion)
instrucción2;
instrucción3;
instrucción1;
while(condicion){
instrucción2;
instrucción3;
instrucción4;
}
instrucción5;
“evaluable”
a verdadero
o falso.
Se repite mientras
se evalúe “verdadero”
Bloque
Repetitiva (Mientras)
f ( x) 
k(x  m)
2
1 k(x  m)
k 0
1  m  1
2
Repetitiva (Mientras)
no
k<=0
si
Ingrese valor de k
k<=0
Ingrese valor de k
m<=-1 o m>=1
no
m<=-1 o m>=1
Ingrese valor de m
si
Ingrese valor de m
Calcular f(x)
Calcular f(x)
Repetitiva (Mientras)
double f=0,x=0,aux=0;
int k=0,m=-2;
printf("Ingrese valor de k: ");
while(k<=0)
scanf("%d",&k);
printf("Ingrese valor de m: ");
while((m<=-1)||(m>=1))
scanf("%d",&m);
printf("Valor de m invalido");
}
printf("Ingrese valor de x: ");
scanf("%lf",&x);
aux=k*(x-m)*(x-m);
f= aux/(1+aux);
printf("f(%0.2f)=%f [%f]\n",x,f,aux);
Repetitiva (Hasta que)
1
1
2
no
2
C
si
3
C
3
Repetitiva (Hasta que)
Palabra
reservada
Bloque
instrucción1;
do
instrucción2;
while(condición)
instrucción3;
instrucción1;
do{
instrucción2;
instrucción3;
instrucción4;
}while(condicion);
instrucción5;
“evaluable”
a verdadero
o falso
Se repite mientras
se evalúe “verdadero”
(Igual que el while)
Repetitiva (Hasta que)
Ingrese valor de k
si
k<=0
no
Ingrese valor de m
Ingrese valor de k
k<=0
Ingrese valor de m
m<=-1 o m>=1
si
m<=-1 o m>=1
no
Calcular f(x)
Calcular f(x)
Repetitiva (Hasta que)
printf("Ingrese valor de k: ");
do
scanf("%d",&k);
while(k<=0);
printf("Ingrese valor de m: ");
do{
scanf("%d",&m);
printf("Valor de m invalido\n");
}while( (m<=-1)||(m>=1) );
printf("Ingrese valor de x: ");
Repetitiva (Número de veces)
1
1
Inicio, fin
Inicio, fin
2
2
3
3
Repetitiva (Número de veces)
Palabra reservada
separadores
for(inicio;termino;incremento)
Se ejecuta una vez,
antes de iniciar las repeticiones
Se ejecuta después de
cada iteración
Condicion de termino de
Las repeticiones
Repetitiva (Número de veces)
instrucción 1;
for(inicio;termino;incremento)
instrucción 2;
instrucción 3;
instrucción 1;
for(inicio;termino;incremento){
instrucción 2;
instrucción 3;
}
instrucción 4;
Repetitiva (Número de veces)
int i;
for(i=0;i<10;i++){
printf(“%d\n”,i);
}
0
1
2
3
4
5
6
7
8
9
Repetitiva (Número de veces)
int i,j;
for(i=0,j=10;((i<10)&&(j>0));i++,j--){
printf("%d - %d\n",i,j);
}
0 - 10
1-9
2-8
3-7
4-6
5-5
6-4
7-3
8-2
9-1
Repetitiva (Número de veces)
n
f ( x) 
k(x  m)
2
 1 k(x  m)
k 1
k  0 ,1, 2 ,..... n
1  m  1
2
Repetitiva (Número de veces)
…
printf("Ingrese valor de n: ");
do
scanf("%d",&n);
while(n<=0);
…
for(k=0;k<=n;k++){
aux=k*(x-m)*(x-m);
f= f + aux/(1+aux);
printf("f(%0.2f)=%f [%f]\n",x,f,aux);
}
…
Repetitiva (Número de veces)
• Tarea
– Crear diagramas de flujo y de caja
Fin Tema 6b
Estructuras de control
repetitivas
Descargar

Document