ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
DIAGRAMA DE FLUJO DE ALGORITHMAND
1.1 Introducción
1.2 Resolución de problemas
1.3 Algoritmo
1.3.1 Ejemplos de algoritmo
1.3.2 Propiedades de un algoritmo
1.4 Diagrama de flujo
1.4.1 Símbolos del diagrama de flujo
1.4.2 Algunos ejemplos de diagramas de flujo
1.4.3 Ventajas de los diagramas de flujo
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
1.1 INTRODUCCIÓN
La inteligencia es una de las características clave que diferencian a un ser humano de otros
seres vivos de la tierra. La inteligencia básica cubre la resolución de problemas del día a día
y la elaboración de estrategias para manejar diferentes situaciones que siguen surgiendo en
el día a día. Una persona va al banco para retirar dinero. Luego de conocer el saldo en su
cuenta, decide retirar el monto total de su cuenta pero tiene que dejar un saldo mínimo en su
cuenta. Aquí, decidir cuánto puede sacar de la cuenta es uno de los ejemplos de la
inteligencia básica. Durante el proceso de resolución de cualquier problema, se intenta
encontrar los pasos necesarios a seguir en una secuencia. En esta unidad, desarrollará su
comprensión sobre la resolución de problemas y los enfoques.
1.2 SOLUCIÓN DE PROBLEMAS
¿Puedes pensar en un día de tu vida que no tenga solución de problemas? La respuesta a esta pregunta
es, por supuesto, No. En nuestra vida estamos destinados a resolver problemas. En nuestra actividad
diaria, como comprar algo en una tienda general y hacer pagos, depositar la tarifa en la escuela o retirar
dinero de una cuenta bancaria. Todas estas actividades implican algún tipo de resolución de problemas.
Se puede decir que cualquier actividad que realice un ser humano o una máquina para lograr un objetivo
específico se incluye en la resolución de problemas. Para hacerlo más claro, veamos algunos otros
ejemplos.
Ejemplo 1: Si está viendo un canal de noticias en su televisor y desea cambiarlo a un canal de
deportes, debe hacer algo, es decir, moverse a ese canal presionando ese número de canal en su 2
control remoto. Este es un tipo de resolución de problemas.
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
Ejemplo 2: Un lunes por la mañana, un estudiante está listo para ir a la escuela pero aún no ha
recogido los libros y copias que se requieren según el horario. Así que aquí recoger libros y copias
según el horario es una especie de resolución de problemas.
Ejemplo 3: Si alguien te pregunta, ¿qué hora es ahora? Por lo tanto, ver la hora en tu reloj y decírselo
también es una especie de solución de problemas.
Ejemplo 4: Algunos estudiantes en una clase planean ir de picnic y deciden compartir los gastos entre
ellos. Por lo tanto, calcular los gastos totales y la cantidad que una persona tiene que dar para hacer un
picnic también es una forma de resolver problemas.
Ahora, en términos generales, podemos decir que el problema es una especie de barrera para lograr algo y la
resolución de problemas es un proceso para eliminar esa barrera mediante la realización de una secuencia de
actividades.
Aquí es necesario mencionar que todos los problemas del mundo no se pueden resolver. Hay algunos
problemas que no tienen solución y estos problemas se denominan Problemas abiertos.
Si puede resolver un problema dado, también puede escribir un algoritmo para él. En la siguiente sección
aprenderemos qué es un algoritmo.
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
1.3 ALGORITMO
El algoritmo se puede definir como: "Una secuencia de actividades que se procesarán para obtener la salida
deseada de una entrada determinada".
Webopedia define un algoritmo como: “Una fórmula o conjunto de pasos para resolver un problema en
particular. Para ser un algoritmo, un conjunto de reglas debe ser inequívoco y tener un punto de parada claro
”. Puede haber más de una forma de resolver un problema, por lo que puede haber más de un algoritmo
para un problema.
Ahora, si tomamos la definición de algoritmo como: "Una secuencia de actividades que se procesarán para obtener
la salida deseada de una entrada determinada". Entonces podemos decir que:
1. Obtener la salida especificada es esencial después de ejecutar el algoritmo.
2. Se obtendrá salida solo si el algoritmo se detiene después de un tiempo finito.
3. Las actividades en un algoritmo deben definirse claramente, es decir, que no sean ambiguas.
Antes de escribir un algoritmo para un problema, uno debe averiguar cuáles son las entradas al algoritmo
y cuál es la salida esperada después de ejecutar el algoritmo. Ahora tomemos algunos ejercicios para
desarrollar un algoritmo para algunos problemas simples: Mientras escribimos algoritmos, usaremos el
siguiente símbolo para diferentes operaciones:
'+' para la adición
'-' para restar
'*' para multiplicar
'/' para División y
'' para la asignación. Por ejemplo A X * 3 significa que A tendrá un valor
de X * 3.
4
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
1.3.1 Ejemplo de algoritmo
Problema 1: Encuentra el área de un círculo de radio r.
Entradas al algoritmo:
Radio r del círculo.
Rendimiento esperado:
Área del círculo
Algoritmo:
Paso 1: Leer / ingresar el Radio r del Círculo Paso 2: Área
PI * r * r // cálculo del área
Paso 3: Área de impresión
Problemam2: Escribe un algoritmo para leer dos números y encontrar su suma.
Entradas al algoritmo:
Primer num1.
Segundo num2.
Rendimiento esperado:
Suma de los dos números.
Algoritmo:
Paso 1: iniciar
Paso 2: Leer \ ingresar el primer num1. Paso 3: Leer \
ingresar el segundo num2. Paso 4: suma
num1 + num2 // cálculo de suma
Paso 5: Imprimir suma
Paso 6: Fin
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
Problema 3: Convierta la temperatura Fahrenheit a Celsius Entradas al
algoritmo:
Temperatura en Fahrenheit
Rendimiento esperado:
Temperatura en grados Celsius
Algoritmo:
Paso 1: iniciar
Paso 2: Lea la temperatura en Fahrenheit F Paso 3: C
5/9 * (F32)
Paso 4: Temperatura de impresión en grados Celsius: C
Paso 5: Fin
Tipo de algoritmos
El algoritmo y el diagrama de flujo, clasificación a los tres tipos de controlar
estructuras. Son:
1. Secuencia
2. Ramificación (selección)
3. Bucle (repetición)
Estas tres estructuras de control son suficientes para todos los propósitos. La secuencia se ejemplifica mediante la
secuencia de declaraciones colocadas una tras otra: la anterior o antes de que la otra se ejecute primero. En los
diagramas de flujo, la secuencia de declaraciones suele estar contenida en el cuadro de proceso rectangular.
• los rama se refiere a una decisión binaria basada en alguna condición. Si la condición es verdadera,
se explora una de las dos ramas; si la condición es falsa, se toma la otra alternativa. Esto suele estar
representado por la construcción 'si-entonces' en pseudocódigos y programas. En los diagramas de
flujo, esto se representa mediante el cuadro de decisión en forma de diamante. Esta estructura 6
también se conoce como selección estructura.
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
Problema 1: escribir algoritmo para encontrar el mayor número entre dos números
Paso 1: iniciar
Paso 2: Leer / ingresar A y B
Paso 3: Si A es mayor que B, entonces C = A
Paso 4: si B es mayor que A entonces C = B
Paso 5: Imprimir C
Paso 6: Fin
Problemam2: escribir algoritmo para encontrar el resultado de la ecuación: () {
Paso 1: iniciar
Paso 2: lectura / entrada x
Paso 3: Si X es menor que cero, entonces F = -X
Paso 4: si X es mayor o igual a cero, entonces F = X
Paso 5: Imprimir F
Paso 6: Fin
Problema 3: Un algoritmo para encontrar el valor más grande de tres números.
Paso 1: iniciar
Paso 2: Leer / ingresar A, B y C
Paso 3: Si (A> = B) y (A> = C) entonces Max = A
Paso 4: Si (B> = A) y (B> = C) entonces Max = B
Paso 5: Si (C> = A) y (C> = B) entonces Max = C
7
Paso 6: Imprimir Max
Paso 7: Fin
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
• los lazo permite que una declaración o una secuencia de declaraciones se ejecuten
repetidamente en función de alguna condición de ciclo. Está representado por las construcciones
'while' y 'for' en la mayoría de los lenguajes de programación, para bucles ilimitados y bucles
limitados respectivamente. (Los bucles ilimitados se refieren a aquellos cuyo número de
iteraciones depende de la eventualidad de que se cumpla la condición de terminación; los bucles
limitados se refieren a aquellos cuyo número de iteraciones se conoce de antemano). En los
diagramas de flujo, una flecha hacia atrás sugiere la presencia de un bucle. . Un viaje alrededor
del bucle se conoce como iteración. Debe asegurarse de que la condición para la terminación del
bucle debe cumplirse después de un número finito de iteraciones; de lo contrario, termina como
un bucle infinito, un error común que cometen los programadores sin experiencia. El bucle
también se conoce como repetición estructura.
Ejemplos:
Problema 1: Un algoritmo para calcular números pares entre 0 y 99
1. comienzo
2. Yo ← 0
3. Escribir I en salida estándar
4. Yo ← yo + 2
5. Si ( Yo <= 98 ) entonces ir a la línea 3
6. Fin
Problemam2: Diseñe un algoritmo que obtenga un valor natural, n, como entrada y calcule números 8
impares iguales o menores que n. Luego escríbalos en la salida estándar:
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
1. comienzo
2. Leer n
3. Yo ← 1
4. Escribir yo
5. Yo ← yo + 2
6. Si ( Yo <= n ) entonces ir a la línea 4
7. Fin
Problema 3: Diseñe un algoritmo que genere números pares entre 1000 y 2000 y luego los
imprima en la salida estándar. También debe imprimir la suma total:
1. comienzo
2. I ← 1000 y S ← 0
3. Escribir yo
4. S ← S + I
5. Yo ← yo + 2
6. Si ( Yo <= 2000 ) entonces ir a la línea 3
más ir a la línea 7
7. Escribe S
8. Fin
Problema 4: Diseñe un algoritmo con un número natural, n, como entrada que calcule la
siguiente fórmula y escriba el resultado en la salida estándar:
S = ½ + ¼ +… + 1 / n
1. comienzo
2. Leer n
3. I ← 2 y S ← 0
4. S = S + 1 / I
5. Yo ← yo + 2
6. Si (I <= n), vaya a la línea 4 o escriba S
en la salida estándar
7. Fin
No es infrecuente combinar el uso de estas estructuras de control, por ejemplo, un bucle dentro de un
bucle (bucles anidados), una rama dentro de otra rama (anidado si), una rama dentro de un bucle, un 9
bucle dentro de una rama, etc. . Los algoritmos complejos pueden tener una estructura lógica más
complicada y profunda
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
nivel de anidamiento, en cuyo caso es mejor demarcar partes del algoritmo como partes más
pequeñas separadas módulos. Los principiantes deben capacitarse para dominar el uso y la
combinación de estructuras de control de manera adecuada, y pasar por la molestia de rastrear el
algoritmo antes de convertirlo en código.
1.3.2 Propiedades del algoritmo
Donald Ervin Knuth ha proporcionado una lista de cinco propiedades para un algoritmo, estas
propiedades son:
1) Finitud: un algoritmo siempre debe terminar después de un número finito de pasos. Significa que
después de cada paso uno se acerca a la solución del problema y después de un número finito de
pasos, el algoritmo llega a un punto final.
2) Definición: Cada paso de un algoritmo debe definirse con precisión. Se realiza mediante acciones
bien pensadas que se realizarán en cada paso del algoritmo. Además, las acciones se definen de
forma inequívoca para cada actividad en el algoritmo.
3) Entrada: Cualquier operación que realice necesita algún valor / cantidades iniciales asociadas con
diferentes actividades en la operación. Entonces, el valor / las cantidades se le dan al algoritmo antes de
que comience.
4) Salida: Uno siempre espera salida / resultado (valor / cantidades esperados) en términos de salida
de un algoritmo. El resultado se puede obtener en diferentes etapas del algoritmo. Si algún resultado
es de la etapa intermedia de la operación, entonces se conoce como resultado intermedio y el
resultado obtenido al final del algoritmo se conoce como resultado final. La salida es el valor esperado 10
/ las cantidades siempre tienen una relación específica con las entradas
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
5) Efectividad: Algoritmos a desarrollar / escribir usando operaciones básicas. En realidad, las operaciones
deben ser básicas, de modo que, en principio, incluso una persona pueda realizarlas exactamente y en un
período de tiempo finito, utilizando únicamente papel y lápiz.
1.4 DIAGRAMA DE FLUJO
El diagrama de flujo es un diagrama que presenta visualmente el flujo de datos a través de los sistemas
de procesamiento. Esto significa que al ver un diagrama de flujo se pueden conocer las operaciones realizadas y
la secuencia de estas operaciones en un sistema. Los algoritmos no son más que una secuencia de pasos para
resolver problemas. Por tanto, se puede utilizar un diagrama de flujo para representar un algoritmo. Un diagrama
de flujo describirá las operaciones (y en qué secuencia) se requieren para resolver un problema dado. Puede ver
un diagrama de flujo como un modelo de un diseño que ha realizado para resolver un problema.
Por ejemplo, suponga que va a hacer un picnic con sus amigos y luego planifica las actividades que realizará
allí. Si tiene un plan de actividades, entonces sabrá claramente cuándo hará qué actividad. De manera
similar, cuando tenga un problema que resolver usando una computadora o, en otras palabras, necesite
escribir un programa de computadora para un problema, entonces será bueno dibujar un diagrama de flujo
antes de escribir un programa de computadora. El diagrama de flujo se dibuja de acuerdo con reglas
definidas.
11
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
1.4.1 Símbolos del diagrama de flujo
Hay 6 símbolos básicos comúnmente utilizados en los diagramas de flujo de programas en lenguaje
ensamblador: Terminal, Proceso, entrada / salida, Decisión, Conector y Proceso predefinido. Esta no es una
lista completa de todos los posibles símbolos de los diagramas de flujo, son los que se utilizan con mayor
frecuencia en la estructura de la programación en lenguaje ensamblador.
Símbolo Nombre Función
Indica cualquier tipo de operación
Proceso interna dentro del Procesador
o memoria
Se utiliza para cualquier operación de
entrada / salida (E / S). Indica que la
de entrada y salida
computadora está para obtener datos
o resultados de salida
Solía hacer una pregunta que puede
Decisión ser respondido en formato binario (Sí /
No, Verdadero / Falso)
Permite dibujar el diagrama de
flujo sin cruzarse
Conector
líneas o sin reverso
fluir.
Se utiliza para invocar una subrutina o
Proceso predefinido
un programa de interrupción.
Indica el inicio o finalización del
Terminal programa, proceso o
interrumpir programa
Líneas de flujo Muestra la dirección del flujo.
12
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
1.4.2 Reglas generales para diagramas de flujo
1. Todos los cuadros del diagrama de flujo están conectados con flechas. (No líneas)
2. Los símbolos del diagrama de flujo tienen un punto de entrada en la parte superior del símbolo sin otros puntos
de entrada. El punto de salida para todos los símbolos del diagrama de flujo se encuentra en la parte inferior,
excepto el símbolo de Decisión.
3. El símbolo de decisión tiene dos puntos de salida; estos pueden estar en los lados o en la parte inferior y en un
lado.
4. Generalmente, un diagrama de flujo fluirá de arriba hacia abajo. Sin embargo, se puede mostrar un flujo
ascendente siempre que no supere los 3 símbolos.
5. Los conectores se utilizan para conectar interrupciones en el diagrama de flujo. Ejemplos son:
• De una página a otra.
• Desde la parte inferior de la página hasta la parte superior de la misma página.
• Un flujo ascendente de más de 3 símbolos
6. Las subrutinas y los programas de interrupción tienen sus propios
diagramas de flujo.
7. Todos los diagramas de flujo comienzan con un proceso terminal o predefinido (para interrupciones
programas o subrutinas) símbolo.
8. Todos los diagramas de flujo terminan con una terminal o un bucle contencioso.
Los diagramas de flujo utilizan símbolos que se han utilizado durante varios años para representar el
13
tipo de operaciones y / o procesos que se realizan. El formato estandarizado proporciona un método
común para que las personas visualicen
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
problemas juntos de la misma manera. El uso de símbolos estandarizados facilita la interpretación de los
diagramas de flujo, sin embargo, estandarizar los símbolos no es tan importante como la secuencia de
actividades que conforman el proceso.
1.4.4 Algunos ejemplos de diagramas de flujo
Ahora, discutiremos algunos ejemplos sobre diagramas de flujo. Estos ejemplos ayudarán a
comprender adecuadamente la técnica de diagrama de flujo. Esto le ayudará en el proceso de desarrollo del
programa en la siguiente unidad de este bloque.
Problema 1: Calcula el área de un círculo de radio r.
14
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
Problema 2: Convierta la temperatura Fahrenheit a Celsius.
Problema 3: Diagrama de flujo para un algoritmo que obtiene dos números e imprime la suma de su valor
15
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
Problema 5: Algoritmo para encontrar el mayor número entre dos números.
comienzo
Leer A, B
Cierto Falso
Si A> B
Imprimir A Imprimir B
FIN
Problema 6: Diagrama de flujo para el problema de imprimir números pares entre 9 y 100:
dieciséis
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
Problema 7: Diagrama de flujo para el problema de imprimir números impares menores que un número
dado. También debe calcular su suma y recuento.
17
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
problema8: Diagrama de flujo para calcular el promedio de 25 puntajes de exámenes.
comienzo
Suma = 0, C = 0
Entrar en examen
Puntuaciones, S
Suma = Suma + S
C=C+1
No
Es C =
25?
si
Av = Suma / 25
Imprimir Av
FIN
18
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
1.4.5 Ventajas de usar diagramas de flujo
Como comentamos, el diagrama de flujo se utiliza para representar algoritmos en forma
pictórica. Esta representación pictórica de una solución / sistema tiene muchas ventajas. Estas
ventajas son las siguientes:
1) Comunicación: Un diagrama de flujo se puede utilizar como una mejor forma de comunicación de la
lógica de un sistema y los pasos involucrados en la solución, a todos los interesados, en particular al
cliente del sistema.
2) Análisis eficaz: se puede utilizar un diagrama de flujo de un problema para realizar un análisis eficaz del
problema.
3) Documentación del programa / sistema: Los diagramas de flujo del programa son una parte vital de una
buena documentación del programa. El documento del programa se utiliza para diversos fines, como conocer
los componentes del programa, la complejidad del programa, etc.
4) Mantenimiento eficiente del programa: una vez que un programa se desarrolla y se vuelve operativo,
necesita mantenimiento de vez en cuando. Con la ayuda del diagrama de flujo, el mantenimiento se vuelve
más fácil.
5) Codificación del programa: Cualquier diseño de solución de un problema se convierte finalmente en programa de
computadora. Escribir código que haga referencia al diagrama de flujo de la solución se vuelve fácil.
19
Amir yasseen Mahdi |
ALGORITMO Y DIAGRAMA DE FLUJO | Clase 1 2013
Verifique su progreso 1
1) ¿Qué es un algoritmo?
2) ¿Explica la necesidad de un algoritmo?
3) ¿Escribe un algoritmo para encontrar la edad promedio de un grupo de 10 jugadores?
4) Escriba un algoritmo para este problema: Ramshewak sale al mercado para comprar algunas
frutas y verduras. Tiene una moneda de 500 rupias con él para marketing. En una tienda, compra
2,0 kg de Apple a un precio de Rs. 50,0 por kg, 1,5 kg de mango a 35,0 rupias por kg, 2,5 kg de
papa a 10,0 rupias por kg y 1,0 kg de tomate a 15 rupias por kg. Él da la moneda de Rs. 500
para el comerciante. Descubra la cantidad que el comerciante devolverá a Ramshewak. y
también diga el artículo total comprado.
5) Encuentra factorial de N?
6) Explique los pasos involucrados en el dibujo de un diagrama de flujo.
7) Explique los usos del diagrama de flujo.
8) Dibuja un diagrama de flujo para encontrar la suma de los primeros 100 números naturales.
9) Dibuja un diagrama de flujo para encontrar el mayor de los tres números x, y y z.
10) ¿Dibujar un diagrama de flujo para el problema de determinar el número primo?
11) Dibuje un diagrama de flujo que genere los primeros 50 elementos de la serie de Fibonacci:
1, 1, 2, 3, 5, 8,…?
12) ¿Diseñar un algoritmo para convertir un número decimal, n, a formato binario?
20
Amir yasseen Mahdi |