Está en la página 1de 36

SEPARATA:

CAPITULO 2:
DIAGRAMAS DE FLUJO

SEMANA 03
Docente: Ing. Christian Alfredo Arevalo Jesus

1. DIAGRAMAS DE FLUJO
1.1. Introducción
1.2. Conceptos
1.3. Simbología
1.4. Reglas básicas para la construcción de Diagramas de Flujo:
1.5. Esquema General
1.6. Características que debe cumplir un Diagrama de Flujo
1.7. Recomendaciones
1.8. Ventajas de los Diagramas de Flujo
1.9. Tipos de Diagramas de Flujos

2. ESTRUCTURAS DE CONTROL EN DIAGRAMAS DE FLUJO


2.1. Estructura Secuencial en Diagramas de Flujo
2.2. Estructura Selectiva o Alternativa en Diagramas de Flujo
2.3. Estructura Repetitiva o Iterativa en Diagramas de Flujo

3. EJEMPLOS Y EJERCICIOS PROPUESTOS

Curso: Algoritmos y Estructura de Datos


2
Docente: Ing. Christian Alfredo Arevalo Jesus

La Separata que se presenta a continuación lleva por título: “DIAGRAMAS


DE FLUJO”. Este material realizado tiene como único propósito que el alumno
tenga conocimiento en forma detallada acerca del algoritmo tipo gráfico.
Una vez recopilado el material bibliográfico, procesado y analizado se llegaron
a conclusiones que permitirán enriquecer los conocimientos; aquellos que
serán útiles en la vida cotidiana como profesionales en la materia.
Esta separata proporciona la base teórica y práctica realizada en la clase de
la asignatura “Algoritmos y Estructuras de Datos I” la cual es necesaria para
tener un mayor alcance y comprensión sobre los algoritmos desde una
perspectiva visual, aunque no es la más utilizada, debido al tiempo empleado
para elaborar un diagrama de flujo, lo cual se reduciría al utilizar una
herramienta. Aunque no es la temática de esta separata el uso de esta
herramienta; es necesario comprender lo explicado aquí ya que se reconocerá
cada uno de los elementos necesarios para la elaboración de un diagrama de
flujo y como utilizarlos.
Finalmente el objetivo es dar a conocer a todos los alumnos interesados sobre
el tema una información actualizada y veraz detallando los mínimos detalles
que el autor plasma en sus investigaciones.

Curso: Algoritmos y Estructura de Datos


3
Docente: Ing. Christian Alfredo Arevalo Jesus

1. DIAGRAMAS DE FLUJO

1.1. Introducción
Los diagramas de flujo son una manera de representar visualmente el flujo de
datos a través de sistemas de tratamiento de información. Los diagramas de
flujo describen que operaciones y en que secuencia se requieren para
solucionar un problema dado.
Un diagrama de flujo u organigrama es una representación diagramática que
ilustra la secuencia de las operaciones que se realizarán para conseguir la
solución de un problema. Los diagramas de flujo se dibujan generalmente
antes de comenzar a programar el código frente a la computadora. Los
diagramas de flujo facilitan la comunicación entre los programadores y la
gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la
programación de un problema y facilitan la comprensión de problemas
complicados y sobre todo muy largos. Una vez que se dibuja el diagrama
de flujo, llega a ser fácil escribir el programa en cualquier idioma de alto nivel.
Vemos a menudo cómo los diagramas de flujo nos dan ventaja al momento
de explicar el programa a otros. Por lo tanto, está correcto decir que un
diagrama de flujo es una necesidad para la documentación mejor de un
programa complejo.

1.2. Conceptos
 Es la representación gráfica de los pasos que deben seguirse para resolver
un problema.
 El traducir una descripción narrada a diagrama de flujo agrega claridad y
precisión a la descripción de una tarea.
 Además, al elaborar el diagrama de flujo, se descubren situaciones que no
habían sido consideradas.
 En la elaboración de éstos, la simbología juega un papel muy importante, ya
que debe estar adecuada a ciertos estándares, con el fin de que sea
entendida por cualquier persona dedicada al campo de computación.

Curso: Algoritmos y Estructura de Datos


4
Docente: Ing. Christian Alfredo Arevalo Jesus

 Cada una de las figuras representa una etapa en la solución del problema;
dentro de ellas se anotan indicaciones. Las líneas señalan el flujo de la
información.
 En la actualidad se emplean poco, pero resultan muy útiles cuando se
comienza en el estudio de la programación.
 El problema con los diagramas de flujo es que a medida que crece la
complejidad de las proposiciones, también crece el detalle con el que hay
que dibujarlas.
 Esto llegaba a convertirlos en figuras fraccionadas (pues de otro modo no
cabrían en la hoja), y difíciles de seguir y entender.
 El equivalente simbólico de la flecha se llama goto (ir a) y está, en términos
generales, excluido de la programación moderna debido a su poder
“desestructurante” y caótico sobre los programas (aunque si se usa con
cuidado puede llegar a ser de alguna utilidad).
En Resumen un Diagrama de Flujo:
Es la representación gráfica de flujo de un algoritmo o de secuencias
rutinarias. Se basan en la utilización de diversos símbolos para representar
operaciones específicas. Se les llama diagramas de flujo porque los símbolos
utilizados se conectan por medio de flechas para indicar la secuencia de la
operación.

1.3. Simbología
Los Diagramas de flujo se dibujan generalmente usando algunos símbolos
estándares; sin embargo, algunos símbolos especiales pueden también ser
desarrollados cuando sean requeridos. Algunos símbolos estándares, que se
requieren con frecuencia para diagramar programas de computadora se
muestran a continuación:

Inicio o fin del programa

Curso: Algoritmos y Estructura de Datos


5
Docente: Ing. Christian Alfredo Arevalo Jesus

Pasos, procesos o líneas de instrucción de


programa de computo

Operaciones de entrada y salida

Toma de decisiones y Ramificación

Conector para unir el flujo a otra parte del


diagrama

Cinta magnética

Disco magnético

Conector fuera de página

Líneas de flujo

Anotación

Display, para mostrar datos

Envía datos a la impresora

1.4. Reglas básicas para la construcción de Diagramas de Flujo:


 Todo diagrama debe tener un inicio y fin.
 Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de
izquierda a derecha.

Curso: Algoritmos y Estructura de Datos


6
Docente: Ing. Christian Alfredo Arevalo Jesus

 Los símbolos se unen con líneas, las cuales tienen en la punta una flecha
que indica la dirección que fluye la información procesos, se deben de utilizar
solamente líneas de flujo horizontal o verticales (nunca diagonales).
 Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del
diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se
debe tener en cuenta que solo se vana utilizar conectores cuando sea
estrictamente necesario.
 No deben quedar líneas de flujo sin conectar.
 Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando
el uso de muchas palabras.
 Todos los símbolos pueden tener más de una línea de entrada, a excepción
del símbolo final.
 Solo los símbolos de decisión pueden y deben tener más de una línea de
flujo de salida.
 Realizar un gráfico claro y equilibrado.
 Evitar la terminología de un lenguaje de programación o máquina.
 Utilizar comentarios al margen (si es necesario) para que éste sea
entendible por cualquier persona que lo consulte.
 A cada bloque o símbolo se accede por arriba y/o por la izquierda y se sale
por abajo y/o por la derecha.
 Si el diagrama abarca más de una hoja es conveniente enumerarlo e
identificar de donde viene y a donde se dirige.

Curso: Algoritmos y Estructura de Datos


7
Docente: Ing. Christian Alfredo Arevalo Jesus

En Resumen las Reglas más importantes son:


1. Todos los símbolos han de estar conectados
2. A un símbolo de proceso pueden llegarle varias líneas
3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo
saldrán dos.
4. A un símbolo de inicio nunca le llegan líneas.
5. De un símbolo de fin no parte ninguna línea.

1.5. Esquema General

1.6. Características que debe cumplir un Diagrama de Flujo


En los diagramas de flujo se presuponen los siguientes aspectos:
 Existe siempre un camino que permite llegar a una solución
(finalización del algoritmo).
 Existe un único inicio del proceso.
 Existe un único punto de fin para el proceso de flujo (salvo del rombo
que indica una comparación con dos caminos posibles).
Desarrollo del Diagrama de Flujo:
Las siguientes son acciones previas a la realización del diagrama de flujo:

Curso: Algoritmos y Estructura de Datos


8
Docente: Ing. Christian Alfredo Arevalo Jesus

 Identificar las ideas principales a ser incluidas en el diagrama de flujo.


Deben estar presentes el dueño o responsable del proceso, los dueños
o responsables del proceso anterior y posterior y de otros procesos
interrelacionados, otras partes interesadas.
 Definir qué se espera obtener del diagrama de flujo.
 Identificar quién lo empleará y cómo.
 Establecer el nivel de detalle requerido.
 Determinar los límites del proceso a describir. Los pasos a seguir para
construir el diagrama de flujo son :
 Establecer el alcance del proceso a describir. De esta manera quedará
fijado el comienzo y el final del diagrama. Frecuentemente el comienzo
es la salida del proceso previo y el final la entrada al proceso siguiente.
 Identificar y listar las principales actividades/subprocesos que están
incluidos en el proceso a describir y su orden cronológico.
 Si el nivel de detalle definido incluye actividades menores, listarlas
también.
 Identificar y listar los puntos de decisión.
 Construir el diagrama respetando la secuencia cronológica y asignando
los correspondientes símbolos.
 Asignar un título al diagrama y verificar que esté completo y describa
con exactitud el proceso elegido.

1.7. Recomendaciones
 Evitar sumideros infinitos, burbujas que tienen entradas pero no
salidas.
 Evitar las burbujas de generación espontánea, que tienen salidas sin
tener entradas, porque son sumamente sospechosas y generalmente
incorrectas.
 Tener cuidado con los flujos y procesos no etiquetados. Esto suele ser
un indicio de falta de esmero, pero puede esconder un error aún más

Curso: Algoritmos y Estructura de Datos


9
Docente: Ing. Christian Alfredo Arevalo Jesus

grave: a veces el analista no etiqueta un flujo o un proceso porque


simplemente no se le ocurre algún nombre razonable.

1.8. Ventajas de los Diagramas de Flujo


 Favorecen la comprensión del proceso a través de mostrarlo como un
dibujo. El cerebro humano reconoce fácilmente los dibujos. Un buen
diagrama de flujo reemplaza varias páginas de texto.
 Permiten identificar los problemas y las oportunidades de mejora del
proceso. Se identifican los pasos redundantes, los flujos de los re-
procesos , los conflictos de autoridad, las responsabilidades, los cuellos
de botella, y los puntos de decisión.
 Muestran las interfaces cliente-proveedor y las transacciones que en
ellas se realizan, facilitando a los empleados el análisis de las mismas.
 Son una excelente herramienta para capacitar a los nuevos empleados
y también a los que desarrollan la tarea, cuando se realizan mejoras en
el proceso.

1.9. Tipos de Diagramas de Flujos


 Formato Vertical: En él el flujo o la secuencia de las operaciones, va de
arriba hacia abajo. Es una lista ordenada de las operaciones de un
proceso con toda la información que se considere necesaria, según su
propósito.
 Formato Horizontal: En él el flujo o la secuencia de las operaciones, va
de izquierda a derecha.
 Formato Panorámico: El proceso entero está representado en una sola
carta y puede apreciarse de una sola mirada mucho más rápido que
leyendo el texto, lo que facilita su comprensión, aun para personas no
familiarizadas. Registra no solo en línea vertical, sino también
horizontal, distintas acciones simultáneas y la participación de más de
un puesto o departamento que el formato vertical no registra.

Curso: Algoritmos y Estructura de Datos


10
Docente: Ing. Christian Alfredo Arevalo Jesus

 Formato Arquitectónico: Describe el itinerario de ruta de una forma o


persona sobre el plano arquitectónico del área de trabajo. El primero
de los flujogramas es eminentemente descriptivo, mientras que los
utilizados son fundamentalmente representativos.

2. ESTRUCTURAS DE CONTROL EN DIAGRAMAS DE FLUJO

2.1. Estructura Secuencial en Diagramas de Flujo

Se caracteriza porque una acción se ejecuta detrás de otra. El flujo del


programa coincide con el orden físico en el que se han ido poniendo las
instrucciones. Dentro de este tipo podemos encontrar operaciones de
inicio/fin, inicialización de variables, operaciones de asignación, cálculo,

Curso: Algoritmos y Estructura de Datos


11
Docente: Ing. Christian Alfredo Arevalo Jesus

sumarización, etc. Este tipo de estructura se basa en las 5 fases de que consta
todo algoritmo o programa:

1. Definición de variables (Declaración)


2. Inicialización de variables.
3. Lectura de datos
4. Cálculo
5. Salida

Ejemplo 1: Se desea encontrar la longitud y el área de un círculo de radio 5.

Solución:
El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un
radio conocido y de valor 5. Las salidas serán entonces la longitud y el área.
(Fase 5 del algoritmo) Sabemos que la longitud de un círculo viene dada por
la fórmula 2 * pi * radio y que el área viene dada por pi * radio al cuadrado.
(Fase 4 del algoritmo) Si definimos las variables como: (fase 1 del algoritmo)
L = Longitud A = área R = radio pi = 3.1416 hagamos el algoritmo:

Inicio
Pi  3.1416 (definición de un valor constante)
R  5 (radio constante ya que es conocido su valor)
A  pi * R ^ ² (asignación del valor del área)
L  2 * pi * R (asignación del valor de la longitud)
Escribir (A, L) (salida del algoritmo)
Fin

Curso: Algoritmos y Estructura de Datos


12
Docente: Ing. Christian Alfredo Arevalo Jesus

Representación en Diagrama de Flujo para el ejemplo:

En este ejercicio no existen datos de entrada ya que para calcular el área y la


longitud necesitamos únicamente el radio y el valor de Pi los cuales ya son
dados en el problema Modificar el problema anterior para que sea capaz de
calcular el área y la longitud de un círculo de cualquier radio requerido.

Solución:
El problema es el mismo con la variante de que ahora ya existe un dato de
entrada, puesto que el radio puede ser cualquiera y será necesario que el
usuario sea quien lo introduzca de teclado. Usando las misma definición de
variables tenemos:

Algoritmo:

Inicio
Pi  3.1416 (fase de inicialización)
Leer (R) (fase de lectura)
Area  pi * R ^ ² (fase de cálculos)

Curso: Algoritmos y Estructura de Datos


13
Docente: Ing. Christian Alfredo Arevalo Jesus

L  2 * pi * R
Escribir (A, L) (fase de salida)
Fin

Note que la instrucción de asignación fue cambiada por la instrucción leer. En


el flujograma deberán cambiarse también los símbolos que los representan:

Ejemplo 3:
Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15
respectivamente. Desplegar el resultado.

Salidas: Sueldos finales


Entradas: Salarios de los empleados
Datos adicionales: aumentos del 10, 12 y 15%
Cálculos:
Sueldo final = sueldo inicial + aumento
Aumento = sueldo inicial * porcentaje/100
Definición de variables:
Sf1, Sf2, Sf3 = los sueldos finales
S1, S2, S3 = salarios de los empleados
Aum1, aum2, aum3 = aumentos

Algoritmo:
Leer (S1, S2, S3)
Aum1  S1 * 0.10
Aum2  S2 * 0.12
Aum3  S3 * 0.15
Sf1  S1 + Aum1
Sf2  S2 + Aum2

Curso: Algoritmos y Estructura de Datos


14
Docente: Ing. Christian Alfredo Arevalo Jesus

Sf3  S3 + Aum3
Escribir (SF1, SF2, SF3)
Fin

Representación en Diagrama de Flujo para el ejemplo:

2.2. Estructura Selectiva o Alternativa en Diagramas de Flujo

Las estructuras selectivas o alternativas se clasifican en:


a) Simples
b) Dobles
c) Compuestas
d) Múltiples

Curso: Algoritmos y Estructura de Datos


15
Docente: Ing. Christian Alfredo Arevalo Jesus

a) Estructura Selectiva Simple:


Se identifican porque están compuestos únicamente de una condición.
La estructura si - entonces evalúa la condición y en tal caso:
Si la condición es verdadera, entonces ejecuta la acción Si (o acciones
si son varias).
Si la condición es falsa, entonces no se hace nada.

Español Inglés
Si <condición> If <condición>
Entonces then
<acción Si> <acción Si>
fin_si endif

Ejemplo 1:
Construir un algoritmo tal, que dado como dato la calificación de un
alumno en un examen, escriba "Aprobado" en caso que esa calificación
fuese mayor que 8.
Salidas: mensaje de aprobado si se cumple la condición.
Entradas: calificación
Datos adicionales: un alumno aprueba si la calificación es mayor que 8
Variables:
Cal = calificación

Algoritmo:

Curso: Algoritmos y Estructura de Datos


16
Docente: Ing. Christian Alfredo Arevalo Jesus

Inicio
Leer (cal)
Si cal > 8 entonces
Escribir ("aprobado")
Fin_si
Fin

Su Representación en Diagrama de Flujo:

b) Estructura Selectiva Doble:


Son estructuras lógicas que permiten controlar la ejecución de varias
acciones y se utilizan cuando se tienen dos opciones de acción, por la
naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la
vez, es decir, son mutuamente excluyentes.
Representación pseudocodificada.

Español Inglés
Si <condición> entonces If <condición> then
<acción S1> <acción S1>
sino else
<acción S2> <acción S2>
Fin_Si End_if

Curso: Algoritmos y Estructura de Datos


17
Docente: Ing. Christian Alfredo Arevalo Jesus

Entonces, si una condición C es verdadera, se ejecuta la acción S1 y si


es falsa, se ejecuta la acción S2.

Ejemplo 1:
Dado como dato la calificación de un alumno en un examen, escriba
"aprobado" si su calificación es mayor que 8 y "Reprobado" en caso
contrario.

Algoritmo:

Inicio
Leer (cal)
Si cal > 8 entonces
Escribir ("aprobado")
Sino
Escribir ("reprobado")
Fin_si
Fin

Curso: Algoritmos y Estructura de Datos


18
Docente: Ing. Christian Alfredo Arevalo Jesus

Ejemplo 2:
Dado como dato el sueldo de un trabajador, aplicar un aumento del
15% si su sueldo es inferior a $1000 y 12% en caso contrario, luego
imprimir el nuevo sueldo del trabajador.

Algoritmo:

c) Estructura Selectiva Compuesta:


En la solución de problemas encontramos numerosos casos en los que
luego de tomar una decisión y marcar el camino correspondiente a
seguir, es necesario tomar otra decisión. Dicho proceso puede repetirse
numerosas veces. En aquellos problemas en donde un bloque
condicional incluye otro bloque condicional se dice que un bloque está
anidado dentro del otro.

Curso: Algoritmos y Estructura de Datos


19
Docente: Ing. Christian Alfredo Arevalo Jesus

Ejemplo 1:
Determinar la cantidad de dinero que recibirá un trabajador por
concepto de las horas extras trabajadas en una empresa, sabiendo que
cuando las horas de trabajo exceden de 40, el resto se consideran
horas extras y que éstas se pagan al doble de una hora normal cuando
no exceden de 8; si las horas extras exceden de 8 se pagan las
primeras 8 al doble de lo que se paga por una hora normal y el resto al
triple.
Solución:
Lo primero que hay que determinar es si el trabajador trabajó horas
extras o no. Encontrar las horas extras de la siguiente forma:
Horas extras = horas trabajadas – 40
En caso que sí trabajó horas extras:
Si horas extras > 8 entonces a horas extras excedentes de 8 = horas
extras -8 y pago por horas extras = pago por hora normal * 2 * 8 + pago
por hora normal * 3 * horas extras excedentes de 8
De otra forma (solo horas al doble) pago por horas extras = pago por
hora normal * 2 * horas extras.
Finalmente, pago total que recibirá el trabajador será:
Pago = pago * hora normal * 40 + pago por horas extras.
Si no trabajó horas extras tendremos:
Pago = pago por hora normal * horas trabajadas.
Datos de salida: Pago.
Datos de entrada: número de horas trabajadas y pago por hora normal.
Definición de variables:
ht = horas trabajadas het = horas extras que exceden de 8
ph = pago por hora normal phe = pago por horas extras
he = horas extras pt = pago que recibe el trabajador

Curso: Algoritmos y Estructura de Datos


20
Docente: Ing. Christian Alfredo Arevalo Jesus

Algoritmo:

Inicio
Leer (ht, ph)
Si ht >40 entonces
He  ht – 40
Si he > 8 entonces
Het he – 8
Phe ph * 2 * 8 + ph * 3 * het
Sino
Phe  ph * 2 * he
Fin_si
Ptph * 40 + phe
Sino
Pt  ph * ht
Fin_si
Escribir (pt)
Fin

Ejemplo 2:
Dados los datos A, B y C que representan números enteros diferentes,
construir un algoritmo para escribir estos números en forma
descendente. Este es un ejemplo de los algoritmos conocidos como de
Lógica Pura, ya que poseen muchas decisiones y muchas
bifurcaciones.
Salida: A, B y C ordenados descendentemente.
Entradas: A, B y C.
La dinámica del problema es comparar dos números a la vez para
conocer cuál es el mayor.

Curso: Algoritmos y Estructura de Datos


21
Docente: Ing. Christian Alfredo Arevalo Jesus

d) Estructura Selectiva Múltiple:


Con frecuencia es necesario que existan más de dos elecciones posibles. Este
problema se podría resolver por estructuras selectivas simples o dobles, anidadas o
en cascada, pero si el número de alternativas es grande puede plantear serios
problemas de escritura y de legibilidad.
Usando la estructura de decisión múltiple se evaluará una expresión que podrá tomar
n valores distintos, 1, 2 , 3, ....,n y según que elija uno de estos valores en la condición,
se realizará una de las n acciones o lo que es igual, el flujo del algoritmo seguirá sólo
un determinado camino entre los n posibles.
Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la
acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N realizará la acción
N.

Ejemplo 1:
Diseñar un algoritmo tal que dados como datos dos variables de tipo entero, obtenga
el resultado de la siguiente función:

Curso: Algoritmos y Estructura de Datos


22
Docente: Ing. Christian Alfredo Arevalo Jesus

Algoritmo:

Diagrama de Flujo:

Ejemplo 2.
Dados como datos la categoría y el sueldo de un trabajador, calcule el aumento
correspondiente teniendo en cuenta la siguiente tabla. Imprimir la categoría del trabajador y
el nuevo sueldo.

Curso: Algoritmos y Estructura de Datos


23
Docente: Ing. Christian Alfredo Arevalo Jesus

Definición de variables:
Cate = categoría
Sue = sueldo
Nsue = nuevo sueldo

Algoritmo:

Inicio
Leer (cate, sue)
En caso que cate sea
1: hacer nsue <-- sue * 1.15
2: hacer nsue <-- sue * 1.10
3: hacer nsue <-- sue * 1.08
4: hacer nsue <-- sue * 1.07
Fin_caso_que
Escribir (cate, nsue)
Fin

2.3. Estructura Repetitiva e Iterativa en Diagramas de Flujo

Son operaciones que se deben ejecutar un número repetido de veces. El


conjunto de instrucciones que se ejecuta repetidamente cierto número de
veces, se llama Ciclo, Bucle o Lazo.

Iteración es cada una de las diferentes pasadas o ejecuciones de todas las


instrucciones contenidas en el bucle.

Curso: Algoritmos y Estructura de Datos


24
Docente: Ing. Christian Alfredo Arevalo Jesus

Fases de un Programa Cíclico:

1. Entrada de datos e instrucciones previas


2. Lazo o bucle
3. Instrucciones finales o resto del proceso
4. Salida de resultado

Ejemplo de bucle infinito:

En el flujograma anterior, observa que la flecha que se regresa hacia arriba


nos está indicando que hay que volver a evaluar la expresión. En ese caso
como el bucle es infinito, no se tiene una condición para terminar y se estará
haciendo siempre. En el siguiente ejemplo, ya se agregó una condición, la
cual nos permitirá finalizar la ejecución del bucle en el caso en que la condición
se cumpla.

Curso: Algoritmos y Estructura de Datos


25
Docente: Ing. Christian Alfredo Arevalo Jesus

Ejemplo de bucle finito:

Bucles Repetitivos:

A continuación, te muestro tres diseños de estructuras cíclicas: las


independientes son cuando los bucles se realiza uno primero hasta que se
cumple la condición y solo en ese caso se entra al bucle B.
En los ciclos anidados, al entrar a una estructura de repetición, dentro de ella
se encuentra otra. La más interna se termina de realizar y se continúa con la
externa hasta que la condición se cumple.
En los bucles cruzados, los cuales no son convenientes de utilizar, se tiene
que iniciamos un bucle y no se ha terminado cuando empezamos otro, luego
utilizamos estructuras goto (saltos) para pasar al bucle externo y se quedan
entrelazados.
Esto puede ocasionar que el programa pierda el control de cuál proceso se
está ejecutando y podamos obtener resultados erróneos. Veamos
gráficamente el diseño de estas tres formas cíclicas:

Curso: Algoritmos y Estructura de Datos


26
Docente: Ing. Christian Alfredo Arevalo Jesus

2.3.1. Estructura de Control “Repetición”:

Curso: Algoritmos y Estructura de Datos


27
Docente: Ing. Christian Alfredo Arevalo Jesus

2.3.2. Estructura de Control “Iteración”:

3. EJEMPLOS Y EJERCICIOS PROPUESTOS

Diagrama de flujo que encuentra la suma de los primeros 50 números


naturales.

Bueno, y ahora la descripción del diagrama anterior.

Curso: Algoritmos y Estructura de Datos


28
Docente: Ing. Christian Alfredo Arevalo Jesus

Suma, es la variable a la que se le va agregando la valor de cada número


natural. N, es el contador. Éste recorrerá lo números hasta llegar al 50.
 El primer bloque indica el inicio del Diagrama de flujo

 El segundo bloque, es un Símbolo de procesos


En este bloque se asume que las variables suma y N han sido declaradas
previamente y las inicializa en 0 para comenzar a el conteo y la suma de
valores.
 El tercer bloque, es también un Símbolo de procesos

En éste paso se incrementa en 1 la variable N (N


= N + 1). Por lo que, en la primera pasada esta N valdrá 1, ya que estaba
inicializada en 0.
 El cuarto bloque es exactamente lo mismo que el anterior

Pero en éste, ya se le agrega el valor de N a la


variable que contendrá la suma (En el primer caso contendrá 1, ya que N
= 1).
 El quinto bloque es uno Símbolo de Toma de decisiones y Ramificación
Lo que hay dentro del bloque es una pregunta que se le hace a los valores

que actualmente influyen en el proceso ¿Es


N=50?, Obviamente la respuesta es no, ya que N todavía es 1. por lo que
el flujo de nuestro programa se dirigirá hacía la parte en donde se observa
la palabra no: Tercer Bloque, éste le sumará 1 (N=N+1) y vuelve a llegar a
éste bloque, donde preguntará ¿Es N=50?... ¡No!, todavía es 2. Ha pues,

Curso: Algoritmos y Estructura de Datos


29
Docente: Ing. Christian Alfredo Arevalo Jesus

regresa al Tercer bloque y vuelve hacer lo mismo. Y así hasta llegar a 50,
obteniendo así la suma de los primeros 50 primeros números naturales.
 Por último indicamos que el resultado será mostrado en la impresora (Este
se puede cambiar por el display para mostrar datos).

 Fin del programa (o del diagrama)

MÁS EJEMPLOS:

Ejemplo 1: Se desea encontrar la longitud y el área de un círculo de radio 5.


Solución:
El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un
radio conocido y de valor 5. Las salidas serán entonces la longitud y el área.
(Fase 5 del algoritmo). Sabemos que la longitud de un círculo viene dada por
la fórmula 2 * pi * radio y que el área viene dada por pi * radio al cuadrado.
(Fase 4 del algoritmo).
Si definimos las variables como: (fase 1 del algoritmo)
L = Longitud A = área R = radio pi = 3.1416.

Algoritmo:

Inicio
Pi <- 3.1416 (definición de un valor constante)
R <- 5 (radio constante ya que es conocido su valor)
A <- pi * R ^ ² (asignación del valor del área)
L <- 2 * pi * R (asignación del valor de la longitud)
Escribir (A, L) (salida del algoritmo)

Curso: Algoritmos y Estructura de Datos


30
Docente: Ing. Christian Alfredo Arevalo Jesus

Fin

Diagrama de Flujo:

En este ejercicio no existen datos de entrada ya que para calcular el área y la


longitud necesitamos únicamente el radio y el valor de Pi los cuales ya son
dados en el problema.

Ejemplo 2: Modificar el problema anterior para que sea capaz de calcular el


área y la longitud de un círculo de cualquier radio requerido.

Solución:
El problema es el mismo con la variante de que ahora ya existe un dato de
entrada, puesto que el radio puede ser cualquiera y será necesario que el
usuario sea quien lo introduzca de teclado. Usando la misma definición de
variables tenemos:

Curso: Algoritmos y Estructura de Datos


31
Docente: Ing. Christian Alfredo Arevalo Jesus

Algoritmo:
Inicio
pi <- 3.1416 (fase de inicialización)
Leer (R) (fase de lectura)
A <- pi * R ^ ² (fase de cálculos)
L <- 2 * pi * R
Escribir ( A, L ) (fase de salida)
Fin

Note que la instrucción de asignación fue cambiada por la instrucción leer.


En el diagrama de flujo deberán cambiarse también los símbolos que los
representan:

Ejemplo 3: Leer el sueldo de tres empleados y aplicarles un aumento del 10,


12 y 15% respectivamente. Desplegar el resultado.

Salidas: Sueldos finales


Entradas: Salarios de los empleados
Datos adicionales: aumentos del 10, 12 y 15%
Cálculos:
Sueldo final = sueldo inicial + aumento
Aumento = sueldo inicial * porcentaje/100
Definición de variables:
Sf1, Sf2, Sf3 = los sueldos finales
S1, S2, S3 = salarios de los empleados
Aum1, aum2, aum3 = aumentos

Curso: Algoritmos y Estructura de Datos


32
Docente: Ing. Christian Alfredo Arevalo Jesus

Algoritmo:

Inicio
Leer (S1,S2, S3)
Aum1 <- S1 * 0.10
Aum2 <- S2 * 0.12
Aum3 <- S3 * 0.15
Sf1 <- S1 + Aum1
Sf2 <- S2 + Aum2
Sf3 <- S3 + Aum3
Escribir (SF1, SF2, SF3)
Fin

Diagrama de Flujo:

Curso: Algoritmos y Estructura de Datos


33
Docente: Ing. Christian Alfredo Arevalo Jesus

EJERCICIOS PROPUESTOS PARA RESOLVER:

1. Calcule el área de un círculo de cualquier radio.


2. Lea una cantidad depositada en un banco y que calcule la cantidad final
después de aplicarle un 20% de interés.
3. Un maestro desea saber qué porcentaje de hombres y que porcentaje
de mujeres hay en un grupo de estudiantes.
4. Un alumno desea saber cuál será su calificación final en la materia de
Lógica Computacional. Dicha calificación se compone de tres
exámenes parciales cuya ponderación es de 30%, 30% y 40%.
5. Una farmacia aplica al precio de los remedios el 10% de descuento.
Hacer un programa que ingresado el costo de los medicamentos
calcule el descuento y el precio final.
6. Dados 2 números, estar en capacidad de sumarlos, restarlos,
multiplicarlos y dividirlos.
7. Dados los coeficientes de una Ecuación de 2do Grado, calcular y
mostrar x1 y x2.
8. Calcular la Serie de Fibonacci hasta un número dado.
9. Calcular la nota definitiva para 5 alumnos, tomando en cuenta las
ponderaciones siguientes:
o 1er Parcial: 30%
o 2do Parcial: 25%
o 3er Parcial: 20%
o 4to Parcial: 25%
10. Calcular el sueldo quincenal, tomando en cuenta los siguientes
parámetros:
a. Bs 450.000 por quincena
b. Bono de 10% de profesionalización a los que tienen título
universitario
c. Bono quincenal de transporte de Bs 70.000
d. Bono de alimentación de Bs 5.000 por día laborado

Curso: Algoritmos y Estructura de Datos


34
Docente: Ing. Christian Alfredo Arevalo Jesus

e. Deducciones:
i. 2% Seguro Colectivo
ii. 1% Paro Forzoso
iii. 2% Seguro Social
iv. 2% Caja de Ahorro
11. Calcular los números primos en un rango dado
12. Calcular la suma de todos los números enteros impares, en un rango
dado.
13. Calcular la factorial de un número.
14. Calcular el salario neto de un trabajador en función del número de
horas trabajadas, precio de la hora de trabajo y considerando unos
descuentos fijos al salario bruto en concepto de impuestos (20 por
100).

Curso: Algoritmos y Estructura de Datos


35
Docente: Ing. Christian Alfredo Arevalo Jesus

 Estructura de datos y algoritmos. Mark Allen Weiss. Editorial LIMUSA.


1990.
 Programación Estructurada. Un enfoque algorítmico. Leobardo López
Román. Computec
 Fundamentos de Programación. Algoritmos y Estructura de Datos - Luis
Joyanes Editorial Mc Graw Hill – 1990.
 Estructura de Datos y Algoritmos - Mark Allen Weiss - Editorial Limusa –
1990.
 Estructura de datos. Seymour Lipschutz. Mc Graw Hill.

Curso: Algoritmos y Estructura de Datos


36

También podría gustarte