REGLAS PARA LA ELABORACIÓN DE DIAGRAMAS DE FLUJO
Cuando el algoritmo se desea expresar en forma de
diagrama de flujo, se deben tener en cuenta algunas
reglas o principios básicos para su elaboración (Rojas &
Ñacato, 1980):
Poner un encabezado que incluya un título que
identifique la función del algoritmo; el nombre del
autor; y la fecha de elaboración;
Sólo se pueden utilizar símbolos estándar (ISO
5807);
Los diagramas se deben dibujar de arriba hacía
abajo y de izquierda a derecha;
La ejecución del programa siempre empieza en la
parte superior del diagrama;
Los símbolos de “Inicio” y “Final” deben aparecer
solo una vez;
La dirección del flujo se debe representar por medio
de flechas (líneas de flujo);
Todas las líneas de flujo deben llegar a un símbolo o
a otra línea;
Una línea de flujo recta nunca debe cruzar a otra.
Cuando dos líneas de flujo se crucen, una de ellas
debe incluir una línea arqueada en el sitio donde
cruza a la otra (ilustración 2-5);
Se deben inicializar las variables que se utilicen o
permitir la asignación de valores mediante consulta al
usuario;
Las bifurcaciones y ciclos se deben dibujar
procurando una cierta simetría;
Cada rombo de decisión debe tener al menos dos
líneas de salida (una para SI y otra para NO);
Las acciones y decisiones se deben describir
utilizando el menor numero de palabras posible; sin
que resulten confusas o poco claras;
Si el Diagrama se vuelve complejo y confuso, es
mejor utilizar símbolos conectores para reducir las
líneas de flujo;
Todo el Diagrama debe ser claro, ordenado y fácil de
recorrer;
El Diagrama se debe probar recorriéndolo con datos
iniciales simples (prueba de escritorio).
Incorrecto
Correcto
Ilustración 2-5: Cruce de líneas de flujo
Los Diagramas se pueden dibujar utilizando lápiz y
papel, en cuyo caso resultan muy útiles las plantillas
plásticas como la de la ilustración 2-6. Estas descargan
al estudiante de la preocupación por lograr uniformidad
en el dibujo.
Ilustración 2-6: Plantilla StandardGraph ISO 5807 para la elaboración
manual de Diagramas de Flujo.
También existe software especial para elaborar
Diagramas de Flujo en forma rápida y fácil. Los
programas para esta tarea permiten a los estudiantes:
Almacenar digitalmente los diagramas construidos;
Introducirles modificaciones fácilmente;
Imprimir copias de los diagramas para compartirlos
con compañeros o documentar sus trabajos;
Exportarlos en varios formatos gráficos para
utilizarlos en otros programas;
Alinear y organizar los símbolos automáticamente;
Agregar colores, tamaño de letra y sombreados para
lograr una apariencia profesional;
Ahorrar tiempo en la modificación de un diagrama ya
que no es necesario hacer todo el dibujo
nuevamente;
En las siguientes direcciones de Internet se puede
encontrar información de software para la elaboración
de Diagramas de Flujo:
Eduteka – Diagramas de Flujo
http://www.eduteka.org/modulos.php?catx=4&idSubX=117
GraFI-co
http://www.eduteka.org/pdfdir/graFIco.rar
SmartDraw
http://www.smartdraw.com
WinEsquema
http://www.softonic.com/ie/27771/WinEsquema
Dia Win32 Installer
http://www.softonic.com/ie/33781/dia
DFD 1.0
http://www.softonic.com/ie/16035/DFD
Paraben's Flow Charter
http://www.paraben.com/html/flow.html
Edraw Flowchart
http://www.edrawsoft.com/flowchart.php
Novagraph Chartist
http://www.tucows.com/preview/289535.html
Flow Charting 6
http://www.patton-patton.com
OrgPlus
http://www.tucows.com/preview/281861.html
Antechinus Draw Magic
http://www.tucows.com/preview/254904.html
Pág.29 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía:
http://www.eduteka.org/GuiaAlgoritmos.php
ACTIVIDAD
Basándose en la actividad anterior, convertir los algoritmos
elaborados en seudocódigo en diagramas de flujo:
1. Hallar el área de un cuadrado cuyo lado mide 5 cm.
2. Hallar uno de los lados de un rectángulo cuya área es de 15 cm 2
y uno de sus lados mide 3 cm.
3. Hallar el área y el perímetro de un círculo cuyo radio mide 2 cm.
4. Hallar el área de un pentágono regular de 6 cm de lado y con 4
cm de apotema.
Dato Curioso
En el año 1986, se introdujo en el supercomputador CRAY-2 la cifra
2^220+1, o número de Fermat 20 (que debe su nombre al
matemático Pierre Fermat, 1601-1665), para averiguar si se trataba
de un número primo. Al cabo de 10 días, el resultado fue "NO". Este
es el cálculo realizado por un computador en el que se ha tardado
más en dar una respuesta de "sí" o "no". (Libro Gunness de los
Records 2002)
Para avanzar en el tema de los Algoritmos resulta
indispensable que los estudiantes comprendan algunos
conceptos básicos (variables, constantes,
identificadores, funciones, operadores, etc), los cuales
serán indispensables tanto para diseñar algoritmos
como para traducirlos a un lenguaje de programación,
cualquiera que este sea (Logo, Java, Visual Basic, etc).
CONCEPTOS BÁSICOS DE PROGRAMACIÓN
Variables
Para poder utilizar algoritmos con diferentes conjuntos
de datos iniciales, se debe establecer una
independencia clara entre los datos iniciales de un
problema y la estructura de su solución. Esto se logra
mediante la utilización de Variables (cantidades que se
suelen denotar con letras –identificadores- y que pueden
tomar cualquier valor de un intervalo de valores
posibles).
En programación, las Variables son espacios de trabajo
(contenedores) reservados para guardar datos (valores).
El valor de una Variable puede cambiar en algún paso
del Algoritmo o permanecer invariable; por lo tanto, el
valor que contiene una variable es el del último dato
asignado a esta. En el Algoritmo de la Ilustración 2-4,
"área" es un ejemplo de Variable; en el paso 5 se
guardó en ella el resultado de multiplicar "base" por
"altura" y en el paso 6 se utilizó nuevamente para
guardar el valor de dividir su propio contenido ("área")
entre la Constante "div".
MicroMundos ofrece tres tipos de variables: Locales,
Globales y de Estado. Las primeras retienen su valor el
tiempo que dure la ejecución del procedimiento en el
cual se utiliza. Las variables Locales se pueden crear
con las primitivas asigna y local o en la línea del título de
un procedimiento.
En MicroMundos se utiliza el comando da para asignar
un valor a una variable o constante. La sintaxis es:
da “nombreVariable valor
que es equivalente a la forma nombreVariable=Valor
que se utiliza en la mayoría de los lenguajes de
programación.
Para utilizar el valor almacenado en una variable o
constante se debe anteponer dos puntos (:) al nombre;
en
:nombreVariable
los dos puntos significan “no quiero que ejecutes el
comando nombreVariable; quiero el valor almacenado
en nombreVariable”.
Las variables Globales se crean con los comandos da
o nombra. Estas variables solo pierden su valor cuando
se cierra MicroMundos o cuando se borran con el
comando bnombres.
En Scratch, se debe hacer clic en el botón “Variables” de
la paleta de bloques.
Luego se hace clic en el botón “Nueva variable” y se
asigna un nombre a la variable, en este caso “Puntaje”.
Cuando se genera una variable, aparecen los bloques
correspondientes a ella. Se puede escoger si la variable
es para todos los Objetos (global) o solo para un Objeto
(local).
Con el botón “Borrar una variable” se borran todos los
bloques asociados con una variable.
Al hacer clic sobre el cuadrito de selección, se empieza
a Informar el valor de la variable “Puntaje” en el
escenario.
Pág.30 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía:
http://www.eduteka.org/GuiaAlgoritmos.php
Incrementa la variable en una cantidad determinada (Si
se tiene más de una variable, utilice el menú
desplegable para seleccionar el nombre de la variable
que se desea modificar).
Inicializa la variable a un valor específico.
Muestra el monitor de la variable en el escenario.
Esta opción esconde el monitor de la variable para que
no aparezca en el escenario.
EJEMPLO
MicroMundos
para equilátero :tamaño
limpia
cp
repite 3 [adelante :tamaño derecha 120]
fin
Ahora escriba en el centro de mando de MicroMundos la palabra
equilátero seguida por un número que representa el tamaño de cada
lado del triángulo (ejemplo: equilátero 70 ).
La variable local :tamaño creada en la línea de título del
procedimiento equilátero, contiene el valor 70 mientras el
procedimiento se esté ejecutando. Los dos puntos “:” que preceden
el nombre de la variable tamaño le indican a Logo que no se quiere
la palabra tamaño si no el valor que contiene la variable tamaño.
Scratch
En Scratch haga clic en la bandera verde para que se dibuje en el
escenario un triángulo equilátero con lado 100. Para dibujar
triángulos de tamaños diferentes basta con fijar la variable tamaño a
otro valor.
EJEMPLO
Escriba en el área de procedimientos las siguientes líneas de código:
para tipoVariable :valorParámetro
limpia
da "variableGlobal 150
local "variableLocal
da "variableLocal 20
fin
Ahora escriba en el centro de mando de MicroMundos la secuencia
de instrucciones en cursiva y debe obtener las respuestas
subrayadas:
tipoVariable 70
muestra :valorParámetro
valorParámetro no tiene valor
muestra :variableLocal
variableLocal no tiene valor
muestra :variableGlobal
150
Observe que las variables :valorParámetro y :variableLocal no
conservan su valor por fuera del procedimiento tipoVariable, mientras
que la variable :variableGlobal es de tipo global y conserva su valor
(150) por fuera del procedimiento donde fue creada.
En MicroMundos también existen las variables de
estado que permiten conocer o modificar los
componentes más importantes de una tortuga, un
control o una caja de texto.
Constantes
Las Constantes se crean en Logo de la misma forma
que las variables y consisten en datos que, luego de ser
asignados, no cambian en ninguna instrucción del
Algoritmo. Pueden contener constantes matemáticas (pi)
o generadas para guardar valores fijos (3.8, "Jorge",
etc). En el Algoritmo de la Ilustración 2-4, "div" es un
ejemplo de Constante.
EJEMPLO
Las variables y constantes además de tener un Nombre
(identificador) para poder referirnos a ellas en los procedimientos,
guardan un Valor en su interior.
Nombre (identificador) Valor
apellido López
saldo 20000
tamaño 8.5
esTriángulo SI
ACTIVIDAD
Pedir a los estudiantes que analicen el siguiente ejemplo y que
escriban en forma de ecuación las situaciones planteadas.
Ejemplo: El doble de la edad de Carlos Andrés es 32 años:
edadCarlos es la constante donde se guarda la edad de Carlos
Andrés;
R/. 2 x edadCarlos = 32
Situaciones:
1. La mitad de un valor (valor1) es 60
2. Cuatro veces un número (número1) equivale a 20
3. Un número (número2) disminuido en 5 es 18
4. El doble (elDoble) del precio de una manzana
5. La midad (laMitad) del precio de una gaseosa
6. el triple (elTriple) de mi edad
Los valores que pueden tomar valor1, número1 y
Pág.31 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía:
http://www.eduteka.org/GuiaAlgoritmos.php
número2 (tres primeras situaciones) son constantes:
120, 5 y 23 respectivamente; no pueden tomar otros
valores. Además, estas constantes son las incógnitas de
las situaciones.
Los valores que pueden tomar elDoble, laMitad y
elTriple son variables ya que dependen de un precio o
de la edad del estudiante que resuelve el ejercicio. Los
valores de estas variables hay que conocerlos para
introducirlos en el problema como datos iniciales, pero
no son la incógnita. Para ampliar esta actividad, el
docente puede plantear nuevas situaciones o pedir a los
estudiantes que planteen situaciones similares.
ACTIVIDAD
Pedir a los estudiantes que traigan tres cajas de cartón (del tamaño
de las de los zapatos) y marcar cada caja con uno de los siguientes
letreros: BASE, ALTURA y DIVISOR. Introducir un papel en blanco
en cada una de las cajas. Solicitar a un estudiante del grupo que
escriba un valor en cada uno de los papeles guardados en las cajas.
Escribir en el tablero la fórmula para calcular el área de un triángulo
rectángulo:
(Base * Altura / 2)
Luego pedir a otro estudiante que escriba en el tablero los valores de
los papeles guardados en cada una de las cajas y aplique la fórmula
para calcular el área de un triángulo utilizando esos valores.
Repetir la operación pidiendo a otro estudiante que escriba nuevos
valores en el papel de cada una de las cajas, tachando los valores
anteriores.
Hacer notar que en los papeles guardados en las cajas marcadas
con “BASE” y “ALTURA” se han anotado valores diferentes en cada
ocasión. Este es el concepto de variable.
Hacer notar también que en el papel guardado en la caja “DIVISOR”
solo se anotó un valor (2) al comienzo del ejercicio y no hubo
necesidad de cambiarlo posteriormente. Este es el concepto de
constante.
Esta actividad se puede adaptar para reforzar el cálculo
de áreas y perímetros de otras figuras geométricas
planas.
Contadores
Los contadores en MicroMundos se implementan como
una estructura de programación (da “A :A + 1) que
consistente en almacenar en una variable (“A) el valor
de ella misma (:A) más un valor constante (1). Es muy
útil para controlar el número de veces que debe
ejecutarse un grupo de instrucciones.
En Scratch, se utiliza la instrucción cambiar ... por ...
para incrementar la variable en una cantidad
determinada.
En este caso se almacena en la variable Puntaje el valor
que ella tenga en el momento más el valor constante 1.
EJEMPLO
Escribir un procedimiento llamado contador para contar los números
entre 1 y 10.
MicroMundos
para contador
bnombres
da "número 0
repite 10 [da "número :número + 1
muestra nombres]
muestra frase
[El valor final del contador número es ] :número