Documente Academic
Documente Profesional
Documente Cultură
1. Introduccin.
5. Anidamiento de repetitivas.
7. Variables auxiliares.
7.1. Contador.
7.2. Acumulador.
7.3. Interruptor.
1
1. Introduccin.
Una estructura repetitiva se usar para ejecutar un grupo de
instrucciones un nmero determinado de veces. Ese nmero de veces se
controlar por medio de una expresin booleana o condicin, cuyo valor ser
verdadero o falso. Estas estructuras se suelen denominar bucles. Veamos los
distintos tipos.
...
mientras (condicin)
Sentencia1
Sentencia2
...
finmientras
...
...
<Inicializar condicin>
mientras (condicin)
Sentencia1
Sentencia2
...
<Actualizar condicin>
finmientras
...
...
2
while (condicin)
{
Sentencia1;
Sentencia2;
...
} //equivale al finmientras
...
Ej.
//Bucle que se repite 10 veces.
numero = 1; //inicializa condicin
while (numero <= 10)
{
...
numero = numero + 1; //actualiza condicin
}
...
repetir
Sentencia1
Sentencia2
...
hasta (condicin)
...
...
do
{
Sentencia1;
Sentencia2;
...
} while (condicin);
3
...
Ello implica que el bucle finaliza cuando la condicin es falsa, ya que un
mientras expresa la idea contraria a un hasta.
Ej.
//Bucle que suma notas tecleadas, hasta que sea 0.
do
{
scanf(%d, ¬a); //inicializa y actualiza
suma += nota; //la condicin
}while (nota != 0);
...
para <Variable> de <VI> a <VF> con incremento <Inc>
Sentencia1
Sentencia2
...
finpara
...
...
<Variable> = <VI>
mientras ( <Variable> <= <VF> )
Sentencia1
Sentencia2
...
<Variable> = <Variable> + Inc
finmientras
...
...
for (<Vari> = <VI>; <Vari> <= <VF>; <Vari> += Inc)
{
4
Sentencia1;
Sentencia2;
...
}
...
...
for (Expresin1; Expresin2; Expresion3)
{
Sentencia1;
Sentencia2;
...
}
...
Ej.
5. Anidamiento de repetitivas.
Como cualquier otra estructura de control, las repetitivas tambin
pueden anidarse, es decir colocar una dentro de otra, lo cual puede hacerse
repetidas veces. Una estructura repetitiva es otra sentencia ms, por lo tanto
puede colocarse en cualquier punto previo marcado como sentencia.
...
while (condicin)
{
Sentenci1;
for (Exp1; Exp2; Exp3)
{
Sentencia2;
Sentencia3;
...
if (condicin)
Sentencia4;
else
Sentencia5;
} //cierra al for
Sentencia6;
} //cierra al while
...
6
Vamos a comentar algunos casos muy tpicos a la hora de usar
estructuras repetitivas.
resp = getche();
while (resp != N)
{
Sentencia1;
...
resp = getche();
}
Caso 2. Teclear una serie de datos, por ejemplo CODIGO, NOMBRE y NOTA,
hasta que el primer dato a teclear sea 0, o sea el CODIGO tecleado sea 0.
7
}
7. Variables auxiliares.
Algunas variables cumplen funciones particulares dentro del programa,
por lo que se les da un nombre especial. Veamos cuales son.
7.1. Contador.
Un contador es una variable que se usa para contar algn
acontecimiento del programa, por lo que generalmente se incrementan de 1 en
1. Estas variables deben inicializarse, generalmente a cero, para comenzar a
contar. A continuacin, cada vez que ocurra el evento a contar, se incrementar
en una unidad.
contador = 0 //Inicializacin
contador = contador + 1 //Incremento
// En pseudocdigo:
contador = 1 //En este caso se inicializa a 1.
mientras (contador <= numero)
...
contador = contador + 1
finmientras
Otro ejemplo podra ser contar cuntos nmeros son positivos de 100
tecleados:
// En C:
contador = 0
for (i=1; i <= 100; i++)
{
scanf(%d, &numero);
if (numero > 0)
contador++;
}
8
Como vemos, en ese ejemplo hay dos contadores: i cuenta las vueltas
del bucle, mientras que contador cuenta cuntos nmeros positivos se han
tecleado.
7.2. Acumulador.
Un acumulador es una variable que se usa para ir acumulando
elementos sucesivos con una misma operacin, generalmente suma o
producto. Al igual que los contadores, deben inicializarse antes de comenzar a
acumular. Se inicializan a 0 si la operacin de acumular es la suma y se
inicializan a 1 si la operacin es el producto. Y adems estas variables deben ir
acumulando.
Acumulador = 0 //Inicializacin
Acumulador = Acumulador + Numero //Acumula el numero
//En pseudocdigo:
suma = 0
para i de 1 a 10 con Incremento 1
Leer nota
suma = suma + nota
finpara
//En C:
producto = 1;
contador = 1;
while (contador <= 15)
{
producto *= contador;
contador++;
}
7.3. Interruptor.
Un interruptor es una variable que toma dos valores, verdadero o falso.
Se puede usar para recordar en un punto del programa, si previamente ocurri
algn evento. Por ejemplo, teclear 10 notas e indicar al final si alguna ha sido
un 10:
//En pseudocdigo:
interruptor = 0 // Falso
para i de 1 a 10 con Incremento 1
Leer nota
si (nota = 10)
interruptor = 1
finsi
finpara
si (interruptor = 1)
9
Escribir SI ha habido algn 10
finsi
En C sera:
interruptor = ! interruptor;
Por ejemplo, sumar los nmeros pares y los impares por separado, entre
el 1 y el 1000:
// En C:
interruptor = 1;
for (suma_par=0, suma_impar=0, i = 1; i <= 1000; i++)
{
if (interruptor)
suma_impar += i;
else
suma_par += i;
interruptor = !interruptor;
}
10
EJERCICIOS - CAPITULO 6:
7. Teclear DNI, nombre y edad de alumnos, hasta que el DNI tecleado sea
cero. Visualizar para cada alumno si es mayor de edad o no.
10. Teclear nmeros hasta que se teclee un cero y visualizar los divisores de
cada nmero tecleado.
12. Visualizar el producto de los nmeros pares e impares por separado desde
el 1 hasta cada uno de los nmeros que se tecleen, hasta que sea cero el
nmero tecleado.
13. Introducir una serie de caracteres hasta que se pulse la tecla Escape y
visualizar cuntas veces se ha tecleado cada una de las vocales.
11