Está en la página 1de 12

Fundamentos de Algoritmos

DESARROLLAR PROCESOS LÓGICOS A TRAVÉS DE LA


IMPLEMENTACIÓN DE
ALGORITMOS.

ESTRUCTURAS ALGORITMICAS CICLICAS

PROGRAMA DE FORMACION:
ANALISIS Y DESARROLLO DE SOFTWARE

OSWALDO CONTRERAS SIERRA


(Ing. Sistemas)

Centro Nacional Colombo Alemán


Sede: Metalmecánica
2022

Ing. Oswaldo Contreras Sierra - 321 759 57 76 1


Fundamentos de Algoritmos

Contenido

CAPITULO 7: REPRESENTACIÓN DE ESTRUCTURAS CÍCLICAS.............................................................. 3


Contadores: ......................................................................................................................................... 3
Acumuladores: .................................................................................................................................... 4
Solución de Algoritmos Con el ciclo PARA .......................................................................................... 5
Solución de Algoritmos Con el ciclo MIENTRAS ................................................................................ 11

Ing. Oswaldo Contreras Sierra - 321 759 57 76 2


Fundamentos de Algoritmos

CAPITULO 7: REPRESENTACIÓN DE ESTRUCTURAS CÍCLICAS

Para empezar este capítulo partiremos con el siguiente ejemplo:

Suponga que se les ha solicitado diseñar un algoritmo que permita calcular el


promedio de notas de 100 estudiantes.

Si nos remitimos a capítulos anteriores vemos que el algoritmo tiene solución


usando las estructuras secuenciales, pero la dificultad que presenta es que se
debe solicitar nota por nota y cada una de esas notas debe ser almacenada en
una variable; eso resultaría muy engorroso y a su vez muy demorado; es en
estos casos donde se debe hacer uso de las estructuras repetitivas o Cíclicas,
ya que ellas nos generan una solución en las cuales se puede utilizar un mismo
conjunto de acciones que se puedan ejecutar una cantidad específica de veces.
Esta cantidad puede ser fija (previamente determinada por el programador) o
puede ser variable (estar en función de algún dato dentro del programa).

Para el desarrollo de este tipo de Estructuras vamos a hacer uso de los


Contadores y los acumuladores; los cuales definiremos a continuación:

Contadores: Es una variable en la memoria que se incrementará en una


unidad cada vez que se ejecute el proceso; en otras palabras el contador se
utiliza para llevar la cuenta de determinadas acciones que se pueden solicitar
durante la resolución de un problema.

Un contador está destinado a contener los diferentes valores que se van


incrementando o decrementando en cada iteración (Ciclo).

Notemos que para que un contador funcione perfectamente en ambos lados se


debe del igual o signo de asignación en algunos casos (<-), se debe colocar la
misma variable.

En las instrucciones de preparación se realiza la inicialización del contador o


contadores. La inicialización consiste en poner el valor inicial de la variable que
representa al contador. Generalmente se inicializa con el valor 0.

Ing. Oswaldo Contreras Sierra - 321 759 57 76 3


Fundamentos de Algoritmos

Ejemplos:

N=0
N=N+1 Cuenta de uno en uno (1, 2, 3…)

P=0
P=P+1

i=0
i=i+2 Cuenta de dos en dos (2, 4, 6, 8,…)

Acumuladores: Es una variable en la memoria cuya misión es almacenar


cantidades variables resultante de sumas sucesivas.

La principal diferencia con el contador es que el incremento o decremento de


cada suma es variable en lugar de constante como en el caso del contador.

La inicialización consiste en poner el valor inicial de la variable que representa


al Acumulador. Generalmente se inicializa con el valor 0.

Ejemplos:

Suma=0
Suma=Suma + Numero

Promedio=0
Promedio=Promedio + Suma

N=0
N=N+P

Ing. Oswaldo Contreras Sierra - 321 759 57 76 4


Fundamentos de Algoritmos

Solución de Algoritmos Con el ciclo PARA

Algoritmo 1:

Planteamiento del Problema: Calcular el promedio de un alumno que tiene


10 calificaciones en la materia de Fundamentos de Algoritmos.

El ciclo PARA es usado cuando conocemos el número de iteraciones


(Repeticiones), como es el caso del algoritmo planteado.

Para dar solución al ejercicio por Pseint, Agregamos el comando Para, el cual
se encuentra constituido por la siguiente estructura:

A continuación explicamos la estructura del Ciclo Para:

• Variable Numérica: Se declara una variable que permita almacenar el


número de iteraciones, es decir el conteo. Para el caso del algoritmo
propuesto son 10 calificaciones; por lo tanto la variable numérica
controla el conteo hasta 10.

• Valor Inicial y Valor Final: se inicializa la variable, dependiendo del


comportamiento de nuestro ejercicio; en el caso del algoritmo propuesto
se requiere contar desde el 1 hasta el 10; por ello se inicializa la variable
en 1 y deja de contar cuando llega a 10, es decir en el valor final se
asigna 10.

• Paso: Como el conteo de se hará de forma incremental de uno en uno


en paso se debe colocar 1.

Ing. Oswaldo Contreras Sierra - 321 759 57 76 5


Fundamentos de Algoritmos

• Secuencia de Acciones: el algoritmo nos está solicitando calcular el


promedio de 10 calificaciones, por lo tanto en esta opción se debe
solicitar desde el comando Escribir un mensaje que solicite el ingreso de
la calificación; se debe tener presente que ya se ha configurado el ciclo
para que se repita 10 veces, por lo tanto el mensaje solo debe incluirse
una vez.

• El siguiente paso es hacer uso del comando leer, con el propósito de ir


almacenando en una variable la calificación solicitada:

Algoritmo 2:

Planteamiento del Problema: Desarrolla un algoritmo que permita Leer 10


números y mostrar por pantalla cuántos de ellos son números positivos.

Vamos a desarrollar ahora el algoritmo por la Herramienta FreeDFD:

Ing. Oswaldo Contreras Sierra - 321 759 57 76 6


Fundamentos de Algoritmos

Paso 1: el algoritmo nos solicita mostrar por pantalla cuántos números son
positivos, para lo cual necesitamos un CONTADOR que permita ejecutar esta
acción; por ello este se declara y se inicializa en 0 en un comando asignar:

Paso 2: Usaremos el ciclo PARA, con el propósito de que nos permita solicitar
los 10 números que se analizaran, para lo cual se declara la variable n que se
inicia en 1 hasta que llegue a 10 y se incremente de 1 en 1:

Ing. Oswaldo Contreras Sierra - 321 759 57 76 7


Fundamentos de Algoritmos

Paso 3: Solicitamos cada uno de los números y se almacenan en una variable:

Paso 3: para continuar con el proceso se debe agregar una estructura


condicional, la cual nos verificar si el número es positivo o no. Es decir
comparamos la variable: num>0

Ing. Oswaldo Contreras Sierra - 321 759 57 76 8


Fundamentos de Algoritmos

Paso 4: Como el algoritmo nos solicita mostrar por pantalla cuántos números
son positivos agregamos el contador desde el comando asignar por el recorrido
del Sí, el cual se inicializado antes del ciclo. Ver paso 1:

Positivo=Positivo + 1

Paso 5: Finalmente se muestra desde el comando de salida la cantidad de


Números Positivos que se han almacenado en el Contador; este mensaje de
debe mostrar después del cierre del ciclo PARA:

Ing. Oswaldo Contreras Sierra - 321 759 57 76 9


Fundamentos de Algoritmos

Veamos como quedara finalmente el Diagrama de Flujo del Algoritmo:

Ing. Oswaldo Contreras Sierra - 321 759 57 76 10


Fundamentos de Algoritmos

Solución de Algoritmos Con el ciclo MIENTRAS

Recordemos que esta estructura repetirá un proceso durante “N” veces, donde
“N” puede ser fijo o variable. Para esto, la instrucción se vale de una
condición que es la que debe cumplirse para que se siga ejecutando. Cuando
la condición ya no se cumple, entonces ya no se ejecuta el proceso. En otras
palabras mientras se cumpla la condición se ejecuta las instrucciones y en caso
contrario dejan de ejecutarse.

Veamos algunos Algoritmos solucionados por Pseint y Dfd.

Algoritmo 1:

Planteamiento del Problema: Determinar cuántos hombres y cuántas


mujeres se encuentran en un grupo de n personas, suponiendo que los datos
son extraídos alumno por alumno.

Para la solución del algoritmo por Pseint se hará uso del comando Mientras:

Ing. Oswaldo Contreras Sierra - 321 759 57 76 11


Fundamentos de Algoritmos

Ing. Oswaldo Contreras Sierra - 321 759 57 76 12

También podría gustarte