Está en la página 1de 19

Capítulo I

Conceptos básicos del Lenguaje

ESTRUCTURAS DE REPETICIÓN

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


1
Sistemas Computacionales
Estructuras de Repetición

Son aquellas que controlan la repetición de un conjunto de


instrucciones mediante la evaluación de una condición.

Toda estructura de repetición está compuesta por los


siguientes elementos:
1. Condición : expresión a evaluar ( entrada o no al ciclo).
2. Bloque de instrucciones: instrucciones a ejecutarse.
3. Ciclo o iteración : proceso de ejecución del ciclo varias
veces.

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


2
Sistemas Computacionales
Sentencias de Repetición

a. Ciclos Definidos: Son aquellos donde se conoce el número


de veces que es necesario ejecutarlo.

a.1 Ciclo controlado por Contador


Requiere :
1. nombre de la variable de control o contador
2.valor inicial de la variable de control
3. incremento o decremento
4. establecer la condición que compruebe el valor final de la
variable de control.
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
3
Sistemas Computacionales
Sentencias de Repetición

b. Ciclos no Definidos :
Son aquellos donde no se conoce con anticipación el
número de veces que se ejecutará el ciclo.
b.1 Ciclo controlado por respuesta : se utiliza en aquellas
ocasiones en que se le da al usuario la opción de determinar el
ciclo.
Requiere:
1. el nombre de la variable de control
2. valor inicial de la variable de control
3. la condición que comprueba el valor final de la variable de
control
4. Colocar dentro del bloque de instrucciones la solicitud de la
respuesta del usuario, para la variable de control.
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
4
Sistemas Computacionales
Sentencias de Repetición

Para realizar procesos con Ciclos Definidos, las estructuras de


repetición requieren de un contador, que debe ser inicializado.

∗ Contador : variable que se utiliza para contar las veces que se


ejecuta el ciclo un número constante de veces.

Formato :
Variable contador = variable contador +/- [ constante numérica]

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


5
Sistemas Computacionales
Sentencias de Repetición

Ejemplo Contador :
cont = 0;
cont = cont + 2;

Reglas :
1. Definir la variable contador
- 2. Inicializar con un valor que puede ser 0 ó cualquier otro
int cont; cont = 0;
3. Incrementar con valor constante
cont = cont + 1;

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


6
Sistemas Computacionales
Sentencias de Repetición

Acumulador: es una variable cuya función es almacenar


cantidades variables, resultantes de sumas sucesivas.

Formato:
Variable acumulador = variable acumulador + variable ;

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


7
Sistemas Computacionales
Sentencias de Repetición
Ejemplo:
float salariobruto;
float acum ;
acum = 0;
------
scanf(“%f”, &salariobruto);
acum = acum + salariobruto;
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
8
Sistemas Computacionales
Sentencias de Repetición

1. Sentencia WHILE:
Ejecuta una sentencia, simple o compuesta, mientras la expresión sea cierta.
Formato:
while(expresión)
{
sentencias;
}
La ejecución sucede si :
∗ se evalúa la expresión
•Si la primera vez el resultado es cero (falso),
, no se ejecuta el ciclo ni una sola vez y se
pasa a la sig. Instrucción.
•si el resultado es = 1 ( cierto), se ejecuta la
sentencia dentro del while y se repite el proceso.

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


9
Sistemas Computacionales
Sentencias de Repetición
Ejemplo 1: Imprimir los 10 primeros números

int c;  1. declarar variable contador


c = 0;  2. Inicializar
while (c < 10)  3. condición
{
c = c + 1; -- 4. incremento
printf(“%d”, c);
}
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
10
Sistemas Computacionales
Sentencias de Repetición
EJEMPLO: Calcular la suma de los 20 primeros números pares

int cont , p , tot;


cont = 0; p =0; tot=0; Inicializar
while (cont < 20)
{  condición
p = p + 2;
tot = tot + p;
cont = cont + 1; -- incremento
printf(“%d”, c);
}
printf(“La suma de los 20 primeros números pares es %d”,tot);
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
11
Sistemas Computacionales
Ciclos No Definidos
Ciclo con respuesta
Ejemplo: Leer un grupo de números y sumarlos.
int num, suma;
char resp;  1. definición de variable de control
suma=0;
resp = ‘s’;  2. inicializar variable de control
while( resp ==’s’ || resp ==’S’)  3. condición
{
printf(“Ingrese un número”);
scanf(“%d”,&num);
suma = suma + num;
printf("Desea leer otro número? s/n”);
resp = getchar();  4. leer respuesta
}
printf("\nLa suma es \n%d",suma);
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
12
Sistemas Computacionales
Sentencias de Repetición
Ciclo con Valor Centinela

Ejemplo 1: Aceptar un carácter diferente de a :


#include <stdio.h>
main()
{
char c;
c = ‘\0’;  caracter nulo
while (c!=’a’)
c = getchar( );

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


13
Sistemas Computacionales
Ciclo con Valor Centinela
Ejemplo: Leer una serie de velocidades siempre y cuando la
velocidad sea diferente de -9999.
c=0;
printf(“Ingrese la velocidad”);  1ª lectura
scanf(“%f”,&vel);
suma=0;
while( vel != -9999)  condición
{
suma = suma + vel;
c = c + 1;
printf(“Ingrese la velocidad”);  leer valor
scanf(“%f”,&vel); }
prom = sum/cont;
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
14
Sistemas Computacionales
Sentencias de Repetición

3. Sentencia for:
Permite ejecutar una sentencia simple o compuesta repetidamente un número
conocido de veces.
Formato: for(inicio ; condicion ; incremento/decremento)
{ sentencia(s);}

Ini = valor inicial de la variable de control, puede ser una constante o el valor de
una variable.
cond = es una expresión que comprueba la variable de control (debe ser cierta)

incre/decre = define la manera en que cambia la variable de control.


Cuando se ejecuta la sentencia for, la condición se evalúa y se comprueba antes de
entrar al ciclo, el incremento es evaluado al final del ciclo.
La ejecución del ciclo continuará mientras el valor de expresión 2 no sea cero, o sea
mientras la condición sea cierta.

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


15
Sistemas Computacionales
Sentencias de Repetición

Caso 1: Sentencia simple. Se imprimen los números del 1 al 100


------
main ( )
{
int x;  declaración
for(x=1 ; x<=100 ; x++)  inicializacion/cond/increm.
printf(“%d”,x);
}

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


16
Sistemas Computacionales
Sentencias de Repetición

Versión 2 del caso anterior :


int dígito;
for( ; digito<=100 ; )
printf(“%d”,digito++);

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


17
Sistemas Computacionales
Sentencias de Repetición
Caso 2 : presentación de un ejemplo con sentencias
compuestas.
----
int k ;
for(k=7 ; k<=122 ; k+=7)
{
printf(“Se imprime el valor de k: %d”,k);
printf(“Cuadrado de k: %d”,k *k);
printf(“número de veces ejecutado: %d”,x=x+1);
}

Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de


18
Sistemas Computacionales
Sentencias de Repetición
a. Ciclos Anidados
Un bucle for colocado dentro de otro bucle for.
Ejemplo: Imprimir una matriz 5*6 y rellenarla de asteriscos.
main( )
{
int fila col;
char c = ‘*’;
printf(“imprimir matriz \n ”,k);
for(fila=1;fila<=5,fila++)
{
for(col=1; col <= 6; col++)
printf(“%c”,c);
}
printf(“\n”);
}
Prof. Mitzi Murillo de Velásquez Fac. de Ingeniería de
19
Sistemas Computacionales

También podría gustarte