SESIÓN 04: BUCLES FINITOS E
INFINITOS
CONTENIDO
OBJETIVO ................................................................................................................ 3
CONTENIDO............................................................................................................ 4
INTRODUCCIÓN ..................................................................................................... 5
CONCEPTOS TEÓRICOS........................................................................................ 6
Bucles Finitos ....................................................................................................... 6
For ..................................................................................................................... 6
While................................................................................................................. 7
Break ................................................................................................................ 8
Continue.......................................................................................................... 8
Return ............................................................................................................... 9
Bucles Infinitos .................................................................................................. 10
While 1 ........................................................................................................... 11
BIBLIOGRAFÍA ....................................................................................................... 12
INTRODUCCIÓN
Con instrucciones de control de bucle, puede ejecutar repetidamente un
bloque de código, haciendo un bucle de retorno a través del bloque
mientras mantiene un seguimiento de cada iteración con una variable
de índice de incremento. El comando 𝑓𝑜𝑟 se usa para repetir un número
específico de veces, el comando 𝑤ℎ𝑖𝑙𝑒 es más adecuado para basar la
ejecución del bucle en cuánto tiempo una condición continúa siendo
verdadera o falsa, los comandos 𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒 y 𝑏𝑟𝑒𝑎𝑘 proporcionan más
control al salir del bucle.
CONCEPTOS TEÓRICOS
Los bucles son sentencias que se ejecutan repetidas veces en un
programa, hasta que las condiciones del bucle dejen de cumplirse.
BUCLES FINITOS
Los bucles finitos se ejecutan un determinado número de veces.
FOR
Sintaxis:
for vector=inicio: incremento: final
sentencias (que se deben ejecutar)
end
Ejemplo:
Hacer un programa para sumar los 5 primeros números naturales usando
𝑓𝑜𝑟.
Imagen N° 01 - Comando For
WHILE
Sintaxis:
while (condición)
sentencias (que se deben ejecutar cuando la
condición es verdadera)
end
Ejemplo:
Hacer un programa para sumar los 5 primeros números naturales usando
𝑤ℎ𝑖𝑙𝑒.
Imagen N° 02 - Comando While
BREAK
La sentencia 𝑏𝑟𝑒𝑎𝑘 finaliza la ejecución de un bucle 𝑓𝑜𝑟 o 𝑤ℎ𝑖𝑙𝑒 en el cual
se encuentra, luego el programa sigue la ejecución en la siguiente
sentencia fuera del bucle.
Ejemplo:
Hacer un programa que sume decimales (menores a uno) hasta que
dicha suma sea mayor a 5 usando 𝑏𝑟𝑒𝑎𝑘.
Imagen N° 03 - Comando Break
CONTINUE
La sentencia 𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒 pasa el control a la siguiente iteración en el bucle
𝑓𝑜𝑟 o 𝑤ℎ𝑖𝑙𝑒 en el cual aparece ignorando las restantes sentencias en el
cuerpo del bucle.
Ejemplo:
Hacer un programa que imprima los números desde 1 hasta 10 excepto
los múltiplos de 3 usando 𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒.
Imagen N° 04 - Comando Continue
RETURN
Provoca un retorno normal a la función de invocación o al teclado,
también termina el modo de teclado. Se debe tener cuidado cuando se
utilice 𝑟𝑒𝑡𝑢𝑟𝑛 dentro de los bloques condicionales, como 𝑖𝑓 o 𝑠𝑤𝑖𝑡𝑐ℎ, o
dentro del bucle sentencias de control, como 𝑓𝑜𝑟 o 𝑤ℎ𝑖𝑙𝑒. Cuando
MATLAB alcanza una sentencia 𝑟𝑒𝑡𝑢𝑟𝑛, este no sólo sale del bucle; que
sale de la secuencia de comandos o función y devuelve el control a la
función de invocación o símbolo del sistema.
Imagen N° 05 - Comando return
Imagen N° 06 - Ejecución
BUCLES INFINITOS
Un bucle debe contener condiciones que establezcan cuándo empieza
y cuándo acaba, de manera que, mientras las condiciones se cumplan,
ejecute una secuencia de código de manera repetitiva. En el ciclo
infinito, el bucle sigue ejecutando el segmento de código
indefinidamente.
WHILE 1
Repite la sentencia un número infinito de tiempo. Para salir de este ciclo
iterativo se utiliza sentencia 𝑏𝑟𝑒𝑎𝑘.
Sintaxis:
while 1
Sentencias (se ejecutan hasta que condicion sea verdadera)
if (condicion)
break;
end
end
Ejemplo:
Hacer un programa que halle la suma de los números aleatorios hasta
que sea mayor a 5.
Imagen N° 07 – While 1
Imagen N° 08 – Ejecución
EJEMPLO 01: NÚMEROS PRIMOS
OBJETIVO
El objetivo principal del ejemplo es crear un
programa que determine si un número dado
es primo.
PLANTEAMIENTO
Crear una función booleana 𝑒𝑠𝑃𝑟𝑖𝑚𝑜( 𝑛𝑢𝑚𝑒𝑟𝑜 )
que verifique si 𝑛𝑢𝑚𝑒𝑟𝑜 es un número primo o no
primo (no usar comando 𝑖𝑠𝑝𝑟𝑖𝑚𝑒)
DESARROLLO
Creamos la función 𝑒𝑠𝑃𝑟𝑖𝑚𝑜(𝑛𝑢𝑚), primero mostraremos el mensaje
de ayuda, luego los mensajes de errores para cuando son menores o
iguales a uno y para cuando sean números decimales:
Inicialmente diremos que todos los números (mayores a uno no
decimales) son primo, luego restringimos con un bucle iterativo desde 2
hasta 𝑛𝑢𝑚𝑒𝑟𝑜 − 1 en donde sean múltiplos y cambiaremos el valor de 𝑦 (El
valor booleano, 1: verdadero – 0:falso):
EJEMPLO 02: SUMATORIAS
OBJETIVO
El objetivo principal del ejemplo es aprender a
realizar bucles finitos para resolver sumatorias.
PLANTEAMIENTO
Crear un programa que halle el valor de suma
de la serie 𝑆:
𝑺 = 𝟏 × 𝟑 + 𝟐 × 𝟓 + 𝟑 × 𝟕 + ⋯ + 𝟏𝟗 × 𝟑𝟗
DESARROLLO
Primero debemos darle forma a la serie para poder programar:
𝑆 = 1 × 3 + 2 × 5 + 3 × 7 + ⋯ + 19 × 39
S = 𝟏 × (2 × 𝟏 + 1) + 𝟐 × (2 × 𝟐 + 1) + 𝟑 × (2 × 𝟑 + 1) + ⋯ + 𝟏𝟗 × (2 × 𝟏𝟗 + 1)
EJEMPLO 03: JUEGO DE DADOS
OBJETIVO
El objetivo principal del ejemplo es aprender a
crear programas de lanzar dados al azar en
MATLAB.
PLANTEAMIENTO
Crear un programa que simule el lanzamiento de
dos dados que cumplan las siguientes reglas:
- Las caras de los dados deben tener puntos (entre 1 a 6 sin repetir).
- Existen tres estados:
o Ganó: Cuando la suma de los dados es 12.
o Lanzar: Cuando no gana ni pierde debe volver a lanzar los
dados.
o Perdió: Cuando los valores de los dados lanzados son iguales,
la suma de valores son diferentes a 12 o cuando supera el
Instituto Científico del Pacífico
número máximo de intentos (20).
[Link]
DESARROLLO
Primero iniciamos el contador 𝑖 = 0 y el estado de juego es “lanzar”,
el programa se detendrá cuando el estado de juego cambie de
“ganar” o “perder”:
EJEMPLO 04: CONTADOR
OBJETIVO
El presente ejemplo tiene por objetivo verificar
si una condición se cumple para un conjunto
de valores.
PLANTEAMIENTO
A partir de un conjunto de número enteros sin
ordenar y con repetición. Verificar cuántos son
mayores a 30.
DESARROLLO
Primero se debe ingresar o generar el conjunto de elementos a verificar;
para este ejercicio se generan de forma aleatoria.
Las instrucciones que verifican son:
EJEMPLO 05: MÚLTIPLOS
OBJETIVO
El objetivo del presente ejemplo es emplear
bucles y funciones en Live Editor.
PLANTEAMIENTO
Crear una función en Live Editor que calcule la
suma de todos los múltiplos de 15 o 7 entre los
números 1 y 𝑁. Donde 𝑁 es un número natural.
Exportar en archivo PDF.
DESARROLLO
Las instrucciones que resuelve el problema se muestran a
continuación.
EJEMPLO 06: APROXIMACIONES
OBJETIVO
El objetivo del presente ejemplo es mostrar la
utilidad de los bucles infinitos.
PLANTEAMIENTO
Crear una función 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑐𝑖𝑜𝑛𝐸(𝑡𝑜𝑙) usando la
siguiente fórmula:
∞
1 1 1 1
𝑒=∑ =1+1+ + + +⋯
𝑘! 2 6 24
𝑘=0
Usar un bucle infinito; mostrar dos argumentos
de salida: 𝑒 y la iteración 𝑘 donde se cumple que
|𝑒 − exp(1)| ≤ 𝑡𝑜𝑙 y parar.
DESARROLLO
Se crea la función 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑐𝑖𝑜𝑛𝐸( ) para calcular la aproximación
al 𝑛ú𝑚𝑒𝑟𝑜 𝑒, la entrada 𝑡𝑜𝑙 es la diferencia que se debe cumplir para
detener el bucle.
SESIÓN 04
RECOMENDACIONES
En la resolución de cada uno de los ejercicios debe indicar los
pasos realizados con capturas de pantalla.
También adjunte los archivos trabajados para dar seguimiento y
para mejor corrección de la tarea.
Todo lo solicitado debe encontrarse dentro de una carpeta
comprimida con su nombre:
TAREA
En un archivo Live Editor use 𝑓𝑜𝑟 o 𝑤ℎ𝑖𝑙𝑒 para calcular el valor de 𝑆:
𝟏 𝟑 𝟓 𝟗𝟗
𝑺= + + +⋯+
𝟐 𝟒 𝟔 𝟏𝟎𝟎
Enviar el archivo en formato PDF.