domingo, 10 de marzo de 2019

DIAGRAMAS DE FLUJOS - ENTREGA 01 (ESTRUCTURAS SECUENCIALES)

DIAGRAMAS DE FLUJO DE DATOS (DFDs)

INTRODUCCIÓN A LOS DIAGRAMAS DE FLUJO

Algunos estudiantes que están iniciándose en este maravilloso mundo de la programación, este post va para ellos.

Primero tenemos que tomar en cuenta el proceso de la información mediante el siguiente gráfico:


Cuando desarrollamos un algoritmo o estamos ante un problema del cual queremos buscar solución mediante un computador, lo primero es que tenemos que ingresar datos para luego ser clasificados y procesados, éstos se convierten en información útil al usuario para la toma de decisiones.

Primer ejemplo:

Algoritmo Preparación
                Leer agua, café, azúcar
                Si ¿agua no está hervida? entonces
                               hervir agua
                Fin Si
                Escribir “¿cuánto de azúcar desea?”
                Leer cantidad de azúcar
                Preparar taza de café
Fin Algoritmo

Para preparar una taza de café necesitamos obtener agua, café y azúcar (ENTRADA), luego tenemos una expresión lógica que si el agua no está hervida entonces hay q hervirla. Lanzamos un mensaje o pregunta ¿Cuánto de azúcar desea? (SALIDA), obtenemos ese dato como cantidad de azúcar (ENTRADA) y preparamos con todo lo que obtuvimos una deliciosa taza de café (PROCESO).

Este ejemplo no sería aconsejable programarlo en una computadora, veamos un ejemplo que podemos computar.

Otro ejemplo:

Algoritmo Sumar
                Escribir "Ingrese dos números:"
                Leer numeroA, numeroB
                suma = numeroA + numeroB
                Escribir "La suma es: "
                Escribir suma
Fin Algoritmo

En este ejemplo obtenemos dos números, numeroA y numeroB (ENTRADA), luego los procesamos o hacemos la suma de ambos números y asignamos a una variable (PROCESO), posteriormente mostramos en pantalla la suma de ambos números (SALIDA).


CONCEPTO Y SIMBOLOGÍA

Es la representación gráfica de un algoritmo (secuencia de pasos en la búsqueda de una solución).

Para elaborar un diagrama de clases, se emplean símbolos estandarizados para representar cada tipo de operación y flechas para representar el flujo en que se deben ejecutar los pasos.


ESTRUCTURAS SECUENCIALES

Ejemplo de una estructura de control en secuencia:

ALGORITMO
DIAGRAMA DE FLUJO
Nro.
Paso
1
Inicio
2
Leer los valores de a y b
3
Calcular la suma (suma = a + b)
4
Imprimir/ Mostrar suma
5
Fin


EJEMPLOS DE ALGORITMOS CON SUS RESPECTIVOS DIAGRAMAS DE FLUJO
Estructuras de Control Secuencial

Empecemos con ejercicios fáciles para ir entendiendo el uso de diagramas de flujo, nuestro primer ejercicio y siguiendo el ejemplo al principio de este post será la suma, resta, multiplicación, división, módulo (residuo) y potencia de dos números.

Ejercicio 001.

ALGORITMO
Nro.
Paso
1
Inicio del programa
2
Mostrar en pantalla el mensaje: "Ingrese 2 números:"
3
Leer los valores de a y b
4
Calcular la suma
(suma = a + b)
5
Calcular la resta
(resta = a - b)
6
Calcular el producto
(producto = a * b)
7
Calcular la división
(division = a / b)
8
Calcular el residuo
(modulo = a MOD b)
9
Calcular la potencia
(potencia= a ^ b)
10
Mostrar o imprimir en pantalla cada una de las variables calculadas como:
suma
resta
producto
division
residuo
potencia
11
Fin del programa


Este ejercicio se puede resumir de la siguiente manera:

Cabe aclarar que en este ejercicio sería bueno controlar la división, recuerden que no se puede dividir un número entre 0. Podemos controlarlo con el símbolo de rombo (expresión lógica), pero en ejercicios más adelante (próximas entregas) veremos la estructura de control if .. then (si .. entonces).

Ejercicio 002.

Realizar un algoritmo que proporcione el promedio de 4 números leídos por teclado.

Supongamos:
a = 3 (leer por teclado)
b = 4 (leer por teclado)
c = 7 (leer por teclado)
d = 2 (leer por teclado)

PROMEDIO = (a+b+c+d) / 4 = 16/4 = 4

Mostrar en pantalla: Promedio: 4

Ejercicio 003.

Realizar un algoritmo que permita intercambiar dos números leídos por teclado.

Supongamos:
x = 17 (leído por teclado)
y = 43 (leído por teclado)

Muchos consideran esta lógica a = b y b = a, pues no está bien porque perderíamos el valor de a y ambas variables tendrían el valor de 43. Para la solución de este ejercicio necesitamos una variable auxiliar, donde asignamos el valor de a a aux para no perder su valor, a es igual al valor de b y por último b toma el valor que guardamos en aux.



Ejercicio 004.

Desarrollar un algoritmo que realice la conversión de kilogramos a libras.

Sabiendo que 1 kilo es equivalente a 2.20462262 libras entonces podemos diagramar de la sgte. manera:


Ejercicio 005.

Realizar un algoritmo que calcule el valor de la hipotenusa en un cuadrado rectángulo según el Teorema de Pitágoras.

El teorema de Pitágoras es c2 = a2 + b2

donde c es la hipotenusa, a y b son los catetos.
despejando tenemos:


El diagrama de flujo es el sgte.:


Ejercicio 006.

Desarrollar un algoritmo para calcular el área de un circulo, sabiendo que:
Área del círculo = PI * radio2.

Ejercicio 007.

Desarrollar un algoritmo para calcular el área de un cilindro, sabiendo que:

Área del cilindro = 2 * PI * radio * (radio + h).


Ejercicio 008.

Desarrollar un algoritmo para calcular la distancia entre 2 puntos P1(x1, y1) y P2(x2, y2).

Ejercicio 009.

Diseñar un DFD para calcular el área de un triángulo equilátero, triángulo rectángulo y triángulo isósceles.




Ejercicio 010.

Calcular la pendiente de una recta (m) para dos puntos distintos P1(x1, x2) y P2(y1, y2) de la recta, sabiendo que:


Aquí podrás ver los códigos fuentes de los DFDs secuenciales.

Nota. Hasta ahora he plasmado diagramas de flujo que no tienen ninguna estructura de control if...else, while, do-while y for, en las siguientes entregas veremos más ejercicios con estructuras de control condicionales y repetitivas.

Si alguien quiere que le ayude con la solución de algún algoritmo, pues comente que yo responderé.

5 comentarios:

  1. Gracias men, muy bueno el post.

    ResponderEliminar
  2. Oye, gran explicación sobre el uso de diagramas de flujo en los algoritmos. Puede utilizar nuestra herramienta de diagramas de flujo para crearlos en línea. Es fácil de usar y tiene muchas plantillas de diagramas de flujo para que pueda empezar rápidamente. Además, puedes compartirlo y obtener retroalimentación sobre tu algoritmo.

    ResponderEliminar
  3. Es una explicacion muy buena y entendible, hay formade descaragar el contenido? Muchas gracias.

    ResponderEliminar
  4. Buen día, gracias excelente aporte me ha ayudado mucho!!

    ResponderEliminar
  5. Estoy comenzando y este post me ayudó muchísimo. Lo voy a leer hasta que sueñe con esto. Gracias

    ResponderEliminar