You are on page 1of 3

ESTRUCTURAS DE REPETICIN: BUCLES

Introduccin
Los bucles (loops) se usan cuando necesita repetir un conjunto de instrucciones muchas veces.
MATLAB soporta dos tipos diferentes de bucles: el bucle for y el bucle while. Los bucles for son la
opcin ms sencilla cuando usted sabe cuntas veces necesita repetir el bucle. Los bucles while son
las opciones ms sencillas cuando necesita mantener la repeticin de las instrucciones hasta que se
satisface un criterio. Si tiene experiencia de programacin previa, puede estar tentado a usar bucles
de manera extensa. Sin embargo, se pueden componer programas MATLAB que eviten los bucles,
ya sea mediante el comando find o mediante la vectorizacin del cdigo. (En la vectorizacin se
opera sobre vectores enteros a la vez, en lugar de un elemento a la vez.) Es buena idea evitar los
bucles siempre que sea posible, porque los programas resultantes corren ms rpido y con
frecuencia requieren menos pasos de programacin.

Bucles for
La estructura del bucle for es simple. La primera lnea identifica el bucle y define un ndice, que es
un nmero que cambia en cada paso a travs del bucle. Despus de la lnea de identificacin viene
el grupo de comandos que se quiere ejecutar. Finalmente, la terminacin del bucle se identifica
mediante el comando end. En resumen, se tiene

for ndice=[matriz]
comandos a ejecutar
end

El bucle se ejecuta una vez para cada elemento de la matriz ndice identificada en la primera lnea.
He aqu un ejemplo realmente simple:

for k=[1,3,7]
k
end

Verique su salida en Matlab o en Compile online

He aqu un ejemplo de cdigo que encuentra el valor de 5 elevado a potencias entre 1 y 3:

for k=1:3
a=5^k
end

Puesto que los enunciados en el bucle se repiten tres veces, el valor de a se despliega tres veces en
la ventana de comandos.

Verique su salida en Matlab o en Compile online

Una de las formas ms comunes de usar un bucle for es para definir una nueva matriz. Considere,
por ejemplo, el cdigo

for k=1:5
a(k)=k^2
end

Este bucle define una nueva matriz, a, un elemento a la vez. Dado que el programa repite su
conjunto de instrucciones cinco veces, a la matriz a se agrega un nuevo elemento cada vez a lo largo
del bucle con la siguiente salida en la ventana de comandos:

a= 1
a=

1 4

a=

1 4 9

a=

1 4 9 16

a=

1 4 9 16 25

Nota
La mayora de los programas de cmputo no tienen la habilidad de MATLAB para
manipular matrices tan fcilmente; por tanto, se apoyan en bucles similares al recin presentado
para definir arreglos. Sera ms fcil crear el vector a en MATLAB con el cdigo

k=1:5
a=k.^2

que regresa

k=

1 2 3 4 5

a=

1 4 9 16 25
ste es un ejemplo de vectorizacin del cdigo.

Ejemplo
Otro uso comn para un bucle for es combinarlo con un enunciado if y determinar cuntas veces
algo es verdadero. Por ejemplo, en la lista de puntajes de examen que se muestra en la primera
lnea, cuntos estn por arriba de 90?

scores=[76,45,98,97];
conteo=0;
for k=1:length(scores)
if scores(k)>90
conteo=conteo+1;
end
end
disp(conteo)

Cada vez que se activa el bucle, si el puntaje es mayor que 90, el contador aumenta 1. Por esta
razn la salida es 2. Verifique su respuesta.

You might also like