CURSO: PENSAMIENTO COMPUTACIONAL
Tema: Estructuras Repetitivas
Docente: María Vilma Escobar Castillo
Arequipa - Perú
2025
Objetivos de la sesión
• Elaborar pseudocódigos y diagramas de flujo con estructuras repetititvas,
empleando contadores y acumuladores.
• Elaborar pseudocódigos y diagrama de flujo con estructuras repetititivas
aplicados a casos matemáticos y físicos.
Variables de control
● Las variables de control son variables que se utilizan en estructuras de
control, como bucles o condicionales, para controlar el flujo de ejecución
de un programa.
¿Para qué sirven las variables de control?
● Contadores: llevar la cuenta de las iteraciones o eventos.
○ Ejemplo: Contar cuántas veces se ingresa un número positivo.
● Acumuladores: acumular una suma o total de valores.
○ Ejemplo: Sumar todos los números ingresados por un usuario.
Contadores
• Un contador es una variable que se incrementa o disminuye en un
valor constante.
• Se puede usar para contar la cantidad de personas en un ambiente,
o la cantidad de productos en un almacén.
• Un contador tiene la siguiente forma:
contador <- contador + valor constante
• Ejemplos en pseudocódigo:
j <- j + 2
i <- i – 1
carros <- carros + 1
Acumuladores
• Un acumulador o totalizador es una variable cuya misión es el
almacenamiento de cantidades variables de procesos sucesivos.
• La diferencia con el contador radica en que el incremento o disminución
del acumulador es variable. Por ejemplo, la suma del dinero recaudado
por un parquímetro durante una semana, ya que no recauda la misma
cantidad todos los días
• La forma general de un acumulador es la siguiente:
Acumulador <- acumulador + valor variable
• Ejemplos en pseudocódigo:
acum <- acum + i
suma <- suma + valor
resta <- resta + variable
Diferencias: Contador vs Acumulador
El contador primero va aumentando o El acumulador va aumentando o
decrementando de manera constante. decrementando en una cantidad variable.
i <- i + 2 j <- j + variable
NOTA: Los contadores y acumuladores deben inicializarse, generalmente en cero,
es decir antes de iniciar un bucle o ciclo se debe hacer lo siguiente:
i <- 0
j <- 0
¿Qué es una estructura repetitiva?
● Es una instrucción que permite ejecutar un conjunto de órdenes
varias veces.
○ Ejemplo:si quieres que la computadora muestre los números del 1 al 5, en
lugar de escribir cinco veces la orden de mostrar cada número, le dices con
una estructura repetitiva: "Muestra los números comenzando desde el 1
hasta llegar al número 5 avanzando de 1 en 1". La computadora entonces
repite la acción de mostrar un número, una vez para cada número, hasta
llegar al 5.
● Esta estructura actúa para simplificar acciones repetitivas sin
tener que escribir la misma orden muchas veces indicando
condiciones de inicio, fin y cómo avanzará.
Estructura repetitiva “Para”
• La instrucción “Para” es una estructura de control en programación que permite
repetir un bloque de código un número específico de veces.
Para contador <- inicio Hasta fin Con Paso valor Hacer
// Sentencias a
repetir FinPara
• contador: es una variable de tipo contador que se declara dentro de esta
estructura, pero puede ser declarada fuera (Definir contador Como
Entero)
• inicio: es el valor numérico inicial que toma el contador.
• fin: es el valor numérico final hasta el que llegará el contador.
• valor: valor numérico que define de cuánto en cuánto aumenta el contador
Estructura repetitiva “Para” – Funcionamiento
El contador i comienza en 0
• Si tenemos El contador i llega hasta 6
El contador i avanza de 2 en 2
Para i <- 0 Hasta 6 Con Paso 2 Hacer
Escribir “Valor de i: ”, i
FinPara
• Su equivalente en estructura secuencial sería:
Escribir “Valor de i: ”, 0
Escribir “Valor de i: ”, 2
Escribir “Valor de i: ”, 4
Escribir “Valor de i: ”, 6
Estructura repetitiva “Para” – Diagrama
• Si se omite el valor
El contador i comienza en 0
central (valor de paso)
por defecto se asume
que avanza de uno en
uno.
• El valor de paso, puede
ser negativo, en cuyo
caso la estructura en
lugar de avanzar
retrocede, se debe
validar que el valor final
es menor que el inicial
en ese caso
El contador i avanza de 2 en 2
El contador i llega hasta 6
Caso: sumas sucesivas
Los números naturales son aquellos que usamos para contar y ordenar objetos. Son
una parte fundamental de las matemáticas y la programación.
Como parte de tu tarea de programación, se solicita que construyan un algoritmo en
pseudocódigo que sume los primeros 10 números naturales.
Al ejecutar el algoritmo, este debe imprimir el número 55, que es la suma de los
primeros 10 números naturales.
Resolución de caso: sin usar estructuras repetitivas
Proceso SUMA_DIEZ
Definir suma Como Entero
suma <- 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
Escribir “La suma de los primeros 10 números es ”, suma
FinProceso
Siguiendo mi solución anterior se puede calcular la suma de los primeros 10
naturales. Y si el problema cambia a los primeros 1000 números. ¿Se
debería seguir la misma lógica?
Resolución de caso: usando estructura
repetitiva
Proceso SUMA_DIEZ
Definir suma Como Entero
suma <- 0
Para i <- 1 Hasta 10 Hacer
suma <- suma + i
FinPara
Escribir “La suma de los primeros 10 números es ”, suma
FinProceso
Variante del caso: sumas sucesivas
del 1 al 1000
Proceso SUMA_MIL “suma” es una variable
Definir suma Como Entero de control de tipo
suma <- 0 acumulador, pues
aumenta según el valor
de una variable
Para i <- 1 Hasta 1000 Hacer
suma <- suma + i
FinPara
Escribir “La suma de los primeros 1000 números es ”, suma
FinProceso
Diagrama de flujo: sumas sucesivas del 1 al
10 y del 1 al 1000
¿Qué semejanzas y diferencias encuentras en el desarrollo?
Pseudocódigo para mostrar los números del 1 al 5 empleando la estructura
PARA y la estructura MIENTRAS
PARA y MIENTRAS
Estructura PARA Estructura MIENTRAS
La instrucción PARA es • La instrucción MIENTRAS se
conveniente cuando se conoce la debe emplear cada vez que se
cantidad de ciclos o veces que desconoce la
se va a repetir un proceso, o en cantidad de ciclos o veces
su defecto el valor final e inicial y que se va a repetir un
como va aumentando o proceso
disminuyendo. • Debemos declarar e inicializar sí
o sí al contador y hacer que
aumente o disminuya.
Estructura MIENTRAS
• La instrucción Mientras ejecuta una secuencia de instrucciones mientras la
condición que evalúa sea verdadera.
• Tiene la siguiente forma:
Mientras condición Hacer
// Sentencias a repetir
FinMientras
• Condición: Es una expresión lógica, si esta es verdadera se ejecutan las
sentencias, si es falsa se termina el proceso repetitivo.
Usos de la estructura MIENTRAS
● Ejecución repetitiva: Permite ejecutar un bloque de código
repetidamente mientras se cumpla una condición específica.
● Procesamiento de Datos: Es ideal para procesar colecciones de datos o flujos de
datos donde no se conoce la cantidad exacta de elementos o cuando el
procesamiento debe detenerse bajo ciertas condiciones.
● Bucles Infinitos Controlados: En algunos casos, se usa para crear bucles
infinitos donde el programa debe seguir funcionando hasta que se reciba una señal
para detenerse, como en servidores o aplicaciones de escucha continua.
Caso: mostrar valores pares con MIENTRAS
Los números pares son útiles porque permiten dividir la cantidad en partes iguales sin
romper los objetos originales. Por ejemplo, si tenemos un número par y lo dividimos a
la mitad, obtendremos dos partes iguales.
Como parte de tu tarea de programación, se solicita que construyan un algoritmo en
pseudocódigo que muestre los valores pares considerando el 0 hasta el par menor a
10 empleando la estructura MIENTRAS.
Al ejecutar el algoritmo, este debe mostrar: El valor de “a” es 0, luego 2 y así mientras
el que el valor de “a” sea menor a 10.
Resolución del caso
• Si tenemos:
Proceso DEMO_MIENTRAS
Variable contador a comienza en 0
Definir a Como Entero
Condición a evaluar
a <- 0
Mientras a < 10 Hacer El contador a aumenta de 2 en 2
Escribir “Valor de a: ”, a
a <- a + 2
FinMientras
FinProceso
Estructura repetitiva MIENTRAS –
diagrama
Variable
contador a • El punto central es la
comienza en 0 condición a evaluar, cuyo
formato en el diagrama de
flujo es el ROMBO, que
indica la evaluación de una
condición como en las
estructuras condicionales.
Condición a • Si la condición es FALSA,
evaluar se termina el bucle
• Si la condición es
VERDADERA, se repite el
bucle
El contador a
aumenta de 2
en 2
Estructura repetitiva REPETIR - HASTA QUE
• La instrucción Repetir-Hasta ejecuta una secuencia de instrucciones, siempre
que la condición evaluada sea falsa.
• Realiza el proceso por lo menos una vez, ya que evalúa la condición luego de
ejecutar el código.
• Se puede emplear para validar un dato ingresado por teclado sin que el
proceso haya finalizado.
Repetir
// Sentencias a repetir
Hasta Que condición
• Condición: es una expresión lógica, si el resultado es verdadero se termina la
estructura, pero si es falso, se repite el ciclo
Usos de la estructura REPETIR HASTA QUE
● Garantizar Ejecución Mínima: A diferencia de un bucle "MIENTRAS", el bucle
"REPETIR - HASTA QUE" garantiza que el bloque de código se ejecute al menos
una vez antes de verificar la condición. Esto es útil cuando el bloque de
código debe ejecutarse al menos una vez independientemente de la condición.
● Validación de Entradas: Se utiliza para validar entradas de usuario o de otros
sistemas. El programa puede repetir una solicitud de entrada hasta que el usuario
proporcione un dato válido.
Caso: convertir de negativo a positivo
Los números negativos son números que tienen un valor menor que cero. Se utilizan para representar
pérdidas, deudas, disminuciones o decrecimientos, entre otras cosas. Convertirlos a valores positivos
permite conocer el valor absoluto. Este es útil para evaluar la magnitud de los valores, además de su
dirección.
Por ejemplo, se puede usar para:
● Evaluar el sesgo en un sistema de medición
● Definir la distancia entre dos puntos cualesquiera de la recta real
Se solicita elaborar un pseudocódigo que sólo permita ingresar un número negativo y devuelva su
inverso. No se debe interrumpir el algoritmo si el valor ingresado no es negativo.
● Si se ingresa el valor 0, debe volver a pedir un número
● Si se ingresa el valor 10, debe volver a pedir un número
● Si se ingresa el valor -5, muestra su inversa: 5
Resolución del caso
• Si tenemos
Proceso DEMO_REPETIR
Definir num Como Entero Sentencias que se ejecutan
por lo menos una vez
Repetir
Escribir 'Ingrese un número negativo'
Leer num
Hasta Que num < 0
Condición a evaluar
Escribir 'Inverso ',-num
FinProceso
Resolución del caso en diagrama de flujo
Sentencias que
se ejecutan por
lo menos una
vez
Condición a
evaluar
¿Alguna consulta?
Gracias