You are on page 1of 10

Lazos de repetición

Luis A. Muñoz – 2013 - UPC
Lazos de repetición
• Los lazos de repetición (también llamados
bucles o iteraciones) son otro método para
controlar el flujo de un programa.
• En un lazo un comando o una secuencia de
estos se repite varias veces consecutivamente.
Cada una de estas repeticiones se denomina
paso o iteración.
• Uno de los métodos de definir lazos es con el
comando for-end.
Lazo for…end
• En este tipo de lazo se realiza un numero definido de
iteraciones.
• En el primer paso k toma el valor de f y el sistema
ejecuta los comandos que se encuentran entre las
instrucciones for y end. Seguidamente el sistema
vuelve a la instrucción for para realizar el segundo
paso. Ahora k toma el valor de k=f+s y los comandos
anteriores se vuelven a ejecutar. Esto seguirá así hasta
que k tome el valor de k=t.
for k = f:s:t

Lazo for…end
……
…… programa MATLAB
……
for k=f:s:t
......
…… Grupo de comandos
…… de MATLAB
……
end
Por ejemplo, si k = 1:2:9, se llevaran a cabo cinco
interaciones y k tomará los valores de 1, 3, 5, 7 y 9 en
cada iteración del bucle.
Lazo for…end
Utilizar un lazo tipo for-end en un archivo
script para calcular la suma de los primeros n
términos de la siguiente serie numérica. Ejecutar
el fichero para n=4 y n=20.
Lazo for…end
n = input(‘Introduzca el numero de terminos: ‘);
S = 0; %Valor inicial de la suma
for k = 1:n %El paso por defecto es = 1
S = S+(-1)^k*k/2^k;
end
fprintf(‘El valor de la serie es: %f’,S);
>>lazo1
Introduzca el numero de terminos: 4
El valor de la serie es: -0.125000

>>lazo1
Introduzca el numero de terminos: 20
El valor de la serie es: -0.222216
Lazo while…end
• Otro de los métodos de definir lazos es con el
comando while-end.
• Este permite realizar un lazo cuando no se
conoce de antemano cuantas iteraciones es
necesario realizar.
while expresion condicional

Lazo while…end
while expresion_condicional
......
…… Grupo de comandos
…… de MATLAB
……
end
Al menos una de las variables de la expresión condicional
debe de cambiar de valor por la ejecución de los
comandos que están entre la sentencia while y la
sentencia end. En caso contrario, si ninguna de las
variables cambia, la condición del while se mantendrá
siempre igual y el bucle nunca acabará (bucle infinito).
Lazo while…end
Utilizar un lazo while-end para calcular la
función f(t) = 3e
t/100
hasta f(t) = 50.

t = 0; f = 3.*exp(t./100); %Valores iniciales
while f <= 50 %Calcular hasta que f <= 50
t = t + 0.01;
f = 3.*exp(t./100);
end
disp(t) %Muestra el resultado
>>lazo2

281.3500
break y continue
• Cuando se introduce el comando break dentro
un lazo, termina de forma completa la ejecución
del lazo (no solamente el último paso sino todo el
lazo). Cuando este comando aparece la ejecución
salta hasta el comando end del lazo y continua
con el siguiente comando (no vuelve hacia arriba
en la ejecución).
• Por el contrario, el comandos continue detiene
la ejecución del lazo, salta hasta el comandos end
y retorna a la parte superior del lazo para una
nueva iteración.