DIAGRAMA DE FLUJO DE DATOS
Definición:
El diagrama de flujo de datos es un modelo que describe los flujos de datos
o tuberías, los procesos que cambian o transforman los datos en un sistema,
las entidades externas que son fuente o destino de los datos (y en
consecuencia los límites del sistema) y los almacenamientos o depósitos de
datos a los cuales tiene acceso el sistema, permitiendo así describir el
movimiento de los datos a través del sistema.
En síntesis, el Diagrama de Flujo de Datos describe:
los lugares de origen y destino de los datos (los límites del
sistema),
las transformaciones a las que son sometidos los datos (los
procesos internos),
los lugares en los que se almacenan los datos dentro del sistema,
y
los canales por donde circulan los datos.
Características:
Relevante: Ya que posibilitar comunicar diferentes modelos para así
facilitar el entendimiento entre el usuario y el analista de sistemas.
Lógico: Ya que no identifica soporte físico.
Descendente: Se construye en forma descendente, de lo general a lo
particular.
El DFD posee niveles de desagregación o explosión o apertura de burbujas.
El Nivel 0 o Diagrama de Contexto es aquel que muestra una sola burbuja y
las entidades externas o terminadores con los que interactúa el sistema.
Simbología:
Entidad Externa:
Son generalmente clases lógicas de cosas o de
personas, las cuales representan una fuente o
destino de transacciones, como por ejemplo clientes,
empleados, proveedores, etc., con las que el sistema
se comunica. También pueden ser una fuente o
destino específico, como por ejemplo Departamento
Contable.
Como el sistema que esta bajo análisis acepta datos de otro sistema o bien
se los provee, este otro sistema es una Entidad Externa.
Mediante la designación de alguna cosa o de algún sistema como Entidad
Externa estamos estableciendo implícitamente que se encuentra fuera de
los límites del sistema que estamos considerando por lo cual no nos interesa
la transformación o proceso que se realiza dentro de ellos, es decir que
están fuera del control del sistema que se está modelando. Son sólo
proveedores o requeridores de datos del sistema bajo consideración.
Por todo ello, ni el analista ni el diseñador pueden cambiar ni los contenidos
ni la forma de trabajo de un terminador.
Proceso:
Indican aquellos lugares dentro del sistema en donde
la información (flujos de datos) que ingresan se
procesan o transforman. Es decir, son las funciones o
procesos que transforman entradas de datos en
salidas de información.
Su nombre deberá ponerse mediante una frase imperativa, que consistirá
idealmente de un verbo activo seguido por una claúsula objeto, cuanto mas
simple mejor. Al analista le servirá pensar que la descripción de la función
es "una orden a un empleado sin conocimiento del tema". Estas frases
imperativas no tienen sujeto; tan pronto como se introduce un sujeto se
habrá indicado como deberá realizarse físicamente la función ("El operador
ingresará los datos del alumno").
Un proceso puede ser físicamente una oficina repleta de empleados, un
procedimiento, o una combinación de actividades manuales y automatizadas.
Flujo de datos:
Representa un transporte de paquetes de datos
desde su origen hasta su destino, es decir que
representa una estructura de datos en movimiento
de una parte del sistema a otro.
Un flujo muestra las interfaces entre los elementos del DFD.
Puede imaginarse como una tubería por donde se envían paquetes de datos,
pero deberá tener una descripción de su contenido la cual deberá elegirse
de forma que sea lo más útil posible a los usuarios que revisen el DFD.
La flecha indica la dirección del flujo.
Puede estar contenido físicamente en una nota, una factura, una llamada
telefónica, de programa a programa, etc. Es decir, en cualquier medio por el
cual los datos pasan de una entidad o proceso a otra.
Almacén o archivo:
Representa un archivo lógico en donde se agregan o
de donde se extraen datos. Es una estructura de
datos, pero estática.
Puede ser físicamente un archivo de tarjetas, una microficha, un archivo, o
un archivo en cinta o diskette.
Deberá elegirse el nombre que sea más descriptivo para el usuario, que
identifique los paquetes de datos que contiene.
Implica escritura, actualización o
borrado de datos.
Implica lectura o recuperación de
información almacenada.
Guías para construir un DFD:
1. 1. Primero se deberán identificar las entidades externas ya que ello
implica definir los límites del sistema.
2. 2. Se deberán elegir nombres con significado tanto para procesos
como también para flujos de datos, almacenes y entidades externas. Si
es posible a partir del vocabulario del usuario evitando terminologías
técnicas.
3. 3. Identificar el papel del proceso del sistema, no quien lo realiza.
4. 4. Numerar los procesos, mediante un esquema de numeración
consistente que implique, para los lectores del DFD, una cierta secuencia
de ejecución.
5. 5. Se deberán, en la medida de lo posible, evitar los DFD
excesivamente complejos. Deberán ser comprensibles, digeribles y
agradables a la vista sin demasiados elementos.
6. 6. Todos los elementos se relacionan entre sí a través de flujos de
datos.
7. 7. Procesos: Se relacionarán con:
Almacenes
Entidades externas
Otros procesos
Deberán tener al menos una Entrada y una Salida, no son
manantiales de datos.
8. 8. Almacenes: Se relacionarán solamente con Procesos.
9. 9. Entidades Externas: Se relacionarán solamente con Procesos.
10. 10. En todos los niveles del Diagrama de Flujo de Datos deberá haber
igual cantidad de Entradas y de Salidas.
11. 11. Niveles del DFD:
Nivel de Partida: Diagrama de Contexto:
No existirán almacenes o archivos.
Se representarán las entidades externas que son fuente y
destino de los datos.
El sistema será representado como un proceso simple.
Se dibujarán sólo los flujos de datos de comunicación
exterior-sistema.
Nivel 1 y subsiguientes:
Deberá haber igual cantidad de archivos. Aunque podrá
existir mayor cantidad de almacenamientos en el nivel 2 debido
a la explosión de algún proceso.
En el último nivel, cada proceso realizará una función
específica y concreta.
12. 12. Cada proceso en el DFD de alto nivel de un sistema puede ser
"explotado" para convertirse en un DFD en si mismo.
13. 13. Cada proceso en el nivel inferior deberá estar relacionado,
inversamente, con el proceso del nivel superior. Es decir que, cada
proceso “padre” que se detalla en el DFD, ha de estar balanceado. La
regla del balanceo consiste en que cada proceso debe tener exactamente
los mismos datos de entrada/salida netos que el DFD hijo.
14. 14. Los flujos de datos pueden descomponerse en la “explosión” del
proceso en un DFD hijo.
15. 15. No se deberá prestar atención a las condiciones de tiempo, excepto a
las naturales precedencias lógicas y a los almacenamientos de datos
necesarios desde el punto de vista lógico. Se deberá dibujar un sistema
que nunca comience ni pare.
16. 16. Para evitar el cruzamiento de las líneas de flujo de datos, la misma
entidad (o el mismo almacén) se podrá dibujar mas de una vez en el
mismo diagrama; las dos (o mas) casillas por entidad pueden identificarse
con dos líneas inclinadas en el ángulo superior izquierdo de las mismas.
Diagramas de Flujo de Datos
Al mirar un DFD típico para un
sistema chico se nota lo
siguiente:
Requiere poca explicación.
Cabe fácilmente en una
página.
Se dibujó con computadora.
1. Los componentes de un DFD
Proceso
Círculo.
Muestra una parte del sistema
que transforma entradas en
salidas.
Se nombra con una frase u
oración sencilla
(preferentemente frase verbo-
objeto).
Diagramas de Flujo de Datos
1. Los componentes de un DFD
Flujo de datos
Flecha que llega o sale de un
proceso.
Describe el movimiento de
bloques o paquetes de
información de una parte del
sistema a otro.
El nombre representa el
significado del paquete (un
solo tipo de paquetes) que se
mueve por el flujo de datos.
Tiene dirección.
Flujos divergentes (copias o
división en paquetes más
simples) y convergentes (unión
para formar paquetes más
complejos). No los usamos.
No responde a dudas de
procedimiento.
Diagramas de Flujo de Datos
1. Los componentes de un DFD
1.3. Almacén
Dos líneas paralelas.
Modeliza una colección de
paquetes en reposo.
Puede ser requerimiento
fundamental o aspecto
conveniente de la realización del
sistema.
Ejemplos de aspectos
convenientes de interponer un
almacén entre dos procesos:
a) Ambos procesos se ejecutan en
la misma computadora pero no
hay memoria suficiente (o
algún otro recurso de
hardware)
b) Se espera que cualquiera de los
procesos se ejecute en hardware
poco confiable
c) Se espera que diferentes
programadores implementen los
dos procesos
d) El analista o diseñador
pensaron que algún día el
usuario necesitaría acceder
Un flujo que viene de un sistema
se interpreta como una lectura o
un acceso a la información del
almacén (no destructiva)
Un flujo hacia un almacén se
describe como una escritura, una
actualización o una eliminación
Diagramas de Flujo de Datos
2. Los componentes de un DFD
1.4. Terminador
Rectángulo.
Representan entidades externas
con las cuales el sistema se
comunica.
Persona, Organización externa,
Organismo gubernamental, grupo
o departamento dentro de la
organización.
Las relaciones que existan entre
los terminadores no se muestran
en el DFD
Diagramas de Flujo de Datos
Guía para la construcción de DFD
1.1. Elegir nombres con significado para
todos los componentes
Para los procesos:
Identificar las funciones que el sistema
está llevando a cabo.
Usar un verbo y un objeto. Evitar verbos
ambiguos: hacer, manejar, procesar,
etc.
1.2. Numerar los procesos
Como forma abreviada de identificar
las burbujas.
Base para la numeración jerárquica.
1.3. Redibujar el DFD tantas veces como
sea necesario
Para que sea:
Técnicamente correcto
Aceptable para el usuario
Estar lo suficientemente bien dibujado
para mostrarlo a la dirección de la
organización
Para mejorarlo estéticamente:
Tamaño y forma de las burbujas
Flujos curvos vs. rectos. Cruces de
flujos.
Diagramas hechos a mano vs.
diagramas generados por
computadora
Diagramas de Flujo de Datos
2. Guía para la construcción de
DFD
2.4. Evitar los DFD demasiado
complejos
Deben ser leídos y
comprendidos.
72 de cada componente o sea
debe caber en una hoja
normal.
Excepción: Diagrama de
contexto.
2.5. Asegurarse la consistencia
Evitar sumideros infinitos
Evitar las burbujas de
generación espontánea
Todos los flujos y procesos
deben estar etiquetados
Tener cuidado con los
almacenes de “sólo lectura” o
“sólo escritura”
Diagramas de Flujo de Datos
DFD por niveles
Organizar el DFD global en una serie de
niveles de modo que cada uno proporcione
más detalle sobre una porción del nivel
anterior.
El primer nivel consta de una
sola burbuja que representa la
totalidad del sistema
(diagrama de contexto). El DFD
que sigue se conoce como nivel 0
y representa la vista de más alto
nivel de las principales
funciones del sistema.
Los números de las burbujas
sirven para relacionar una
burbuja con el nivel siguiente
del DFD.
Diagramas de Flujo de Datos
3. DFD por niveles
Cuestiones a tener en cuenta:
¿Cuántos niveles?
Seguir “bajando” hasta llegar a
burbujas de poca complejidad.
Agregar niveles superiores para respetar la
regla 72.
En sistemas típicos, simples 2 o 3
niveles, medianos 3 a 6, grande
5 a 8.
¿Deben partirse todas las
partes del sistema al mismo
nivel de detalle?
No, pero cuidado con los
extremos.
¿Cómo se muestran estos
diagramas al usuario?
De forma descendente.
¿Cómo asegurar que los
distintos niveles sean
consistentes entre sí?
Los flujos de datos que entran y
salen de una burbuja en el nivel
i deben corresponder con los que
entran y salen de toda la figura
correspondiente del nivel i+1
que la describe.
Diagramas de Flujo de Datos
3. DFD por niveles
Cuestiones a tener en cuenta:
¿Cómo se muestran los
almacenes en los diversos
niveles?
Un almacén que aparece en un
nivel i se puede repetir en los
niveles sucesivos de
refinamiento i+1, i+2, etc. Pero
un almacén local al nivel i no
aparecía en los niveles
anteriores i-1, i-2, etc.
¿Cómo se realiza la partición
de los DFD en niveles?
Pese a que se leen en forma
descendente, no es necesario
desarrollarlos de esa manera.
Un enfoque que tiene más éxito
es identificar los
acontecimientos externos a los
cuales debe responder el sistema
y utilizarlos para crear un
primer borrador del DFD. De
ahí puede partirse hacia arriba
(para crear DFD de mayor nivel
de abstracción) y hacia abajo.
1. CONCEPTOS BASICOS PARA TRABAJAR CON DFD
a) ¿Que es Dfd?
Dfd es un software diseñado para construir y analizar
algoritmos . Usted puede crear diagramas de flujo de datos
para la representación de algoritmos de programación
estructurada a partir de las herramientas de edición que
para éste propósito suministra el programa. Después de haber
ingresado el algoritmo representado por el diagrama, podrá
ejecutarlo, analizarlo y depurarlo en un entorno interactivo
diseñado para éste fin. La interfaz gráfica de Dfd, facilita en
gran medida el trabajo con diagramas ya que simula la
representación estándar de diagramas de flujo en hojas de
papel.
b) Algoritmo
Un algoritmo es un procedimiento para la resolución de
problemas de cualquier tipo por medio de determinada
secuencia de pasos simples y no ambiguos. El concepto fue
utilizado originalmente para el cálculo matemático pero
ahora es ampliamente usado en programación de
computadoras.
c) Diagrama de Flujo de Datos
Un diagrama de flujo de datos es una descripción gráfica de
un procedimiento para la resolución de un problema. Son
frecuentemente usados para describir algoritmos y
programas de computador. Los diagramas de flujo de datos
están conformados por figuras conectadas con flechas. Para
ejecutar un proceso descrito por un diagrama de flujo de
datos se comienza por el INICIO y se siguen las flechas de
figura a figura, ejecutándose las acciones indicadas por
cada figura; el tipo de figura indica el tipo de paso que
representa.
Los diagramas de flujo son frecuentemente usados debido a
que pueden suprimir detalles innecesarios y tener un
significado preciso, si son usados correctamente.
d) Tipos de Datos
Real: Valores numéricos que van desde –1*10 ^ 2000 hasta
1*10 ^ 2000 . Los valores más cercanos a 0 que se pueden
manejar son 1*10 ^ -2000 y –1*10 ^ -2000.
Ejemplo: 1998, 1.0007, 0, 328721, -3242781
Cadena de Caracteres: Secuencia de caracteres encerrada
entre comillas simples.
Ejemplo: „Diagramar es fácil‟ , „París‟ , „1955‟
Lógico: La letra V ó F encerrada entre puntos, para indicar
verdadero ó falso respectivamente.
Ejemplo: .V. , .F. , .v. , .f.
e) Campos de Datos
Constantes: Con su nombre muestran su valor y éste no se
puede cambiar.
Ejemplo: 1996 , „Los algoritmos son útiles‟ , .V.
Variables: Es posible modificar su valor. El nombre de una
variable debe comenzar por una letra seguida de letras,
números o el caracter ( _ ).
Ejemplo: Valor , Contador , año , Valor_1
No se tiene en cuenta la diferencia entre mayúsculas y
minúsculas para el nombre de una variable; es decir, CASA
equivale a casa. Cuando una variable recibe un valor por
primera vez, el tipo de dato de ésta será igual al tipo de dato
del valor.
f) Arreglos
Dfd soporta arreglos n-dimensionales de cualquier tipo de
dato. El nombre de un arreglo debe comenzar por una letra
seguida de letras, números o el carácter ( _ ).
Ejemplo: Vector ( 2 ) , Matriz ( i , j ) , v ( 1, j, ñ, p )
No se tiene en cuenta la diferencia entre mayúsculas y
minúsculas para el nombre de un vector; es decir, VECTOR(2)
equivale a vector(2).
g) Interfaz de Usuario
Dfd posee una ventana principal que proporciona el
ambiente de trabajo en donde se pueden construir y analizar
algoritmos. Los componentes básicos de la ventana principal
son: La barra de menú, barras de herramientas, barras de
desplazamiento y el área de trabajo.
h) Acción Actual
Es el estado en el que se encuentra Dfd.
La acción actual puede ser:
Edición
Ejecución
Depuración
La barra de estado ubicada ubicada en la parte inferior de
la ventana de Dfd muestra la acción actual.
i) Subprograma Actual
En Dfd, solo un subprograma (incluyendo el principal) puede
ser visualizado a la vez, considerándose éste el Subprograma
Actual.
j) Errores de Sintaxis
Estos errores son detectados en tiempo de revisión cuando se
intenta ejecutar un algoritmo que contiene expresiones
incorrectas. El mensaje de error correspondiente será
mostrado y se indicara el objeto en el que se produjo el error.
2. SISTEMA DE MENÚS
a) Menú Archivo
Archivo | Nuevo
El comando Nuevo inicia la sesión de trabajo con un nuevo
diagrama.
Otras formas de acceder al comando:
Barra de herramientas:
Teclado: CTRL + N
Dfd da como nombre temporal al nuevo diagrama “Sin
nombre.dfd”, hasta que éste sea guardado con un nombre de
archivo único. Al ejecutar este comando quedará
seleccionada la opción Angulos en Grados del menú Opciones.
Archivo | Abrir
Inicia la sesión de trabajo con un diagrama ya existente,
con este comando puede abrir un archivo de Dfd y
comenzar a trabajar sobre él.
Otras formas de acceder al comando:
Barra de Herramientas
Teclado CTRL + A
Al abrir un archivo de Dfd, las opciones del menú Opciones,
tomarán el estado que tenían en el momento en que fue
guardado el archivo.
Archivo | Guardar
Guarda en disco el diagrama que se está editando(principal
y subprogramas) y el estado del menú Opciones, como un
archivo de extensión “dfd”.
A medida que Usted trabaja va haciendo cambios en el
diagrama original, por lo cual es conveniente guardar con
frecuencia el diagrama.
Otras formas de acceder al comando:
Barra de herramientas
Teclado CTRL + G
Archivo | Guardar Como
El comando Guardar Como guarda en disco permite colocar
un nombre al diagrama en edición. Se despliega un cuadro
de diálogo donde se selecciona el nombre y la ubicación
(unidad y directorio) del archivo en cual se va a guardar el
diagrama.
Otra forma de acceder el comando:
Teclado ALT + A , C
Archivo | Imprimir
Este comando despliega el cuadro de diálogo de impresión
del sistema, el tamaño del diagrama a imprimir será
proporcional al tamaño del diagrama que se visualiza en
pantalla.
Otras formas de acceder al comando:
Barra de herramientas
Teclado CTRL + P
Archivo | Salir
El comando Salir termina una sesión de trabajo con Dfd .
Otras formas de acceder al comando:
Teclado ALT + A , S
Si el diagrama en edición no ha sido guardado desde la
última modificación, Dfd le preguntará si desea guardar
antes de salir.
b) Menú Edición
Edición | Cortar
Este comando se usa para eliminar un
objeto seleccionado de un diagrama y
colocarlo en el portapapeles de Dfd . El
comando Cortar estará disponible
cuando un objeto eliminable se encuentre seleccionado y la
acción actual sea Edición.
Otras formas de acceder el comando:
Barra de herramientas
Teclado CTRL + X
Cuando se cortan objetos, estos reemplazan el contenido del
portapapeles de Dfd . Los objetos que conforman estructuras
de control serán cortados junto con su cuerpo.
Edición | Copiar
Este comando se usa para obtener una copia del objeto
seleccionado en el portapapeles de Dfd. El objeto seleccionado
queda intacto; es decir, no se remueve del diagrama. El
comando Copiar estará disponible cuando exista un objeto
eliminable seleccionado y la acción actual sea Edición.
Otras formas de acceder el comando:
Barra de herramientas
Teclado CTRL + C
Cuando se copian objetos, estos reemplazan el contenido del
portapapeles de Dfd. Los objetos que conforman estructuras de
control serán copiados juntos con su cuerpo.
Edición | Pegar
Use este comando para insertar una copia del contenido del
portapapeles de Dfd a continuación del objeto seleccionado.
El comando Pegar estará disponible cuando el portapapeles
de Dfd no esté vacío, exista un objeto seleccionado y la acción
actual sea Edición.
Otras formas de acceder al comando:
Barra de herramientas
Teclado CTRL + V
Después de haber sido pegado, el objeto permanece en el
portapapeles de Dfd, de manera que puede pegarlo las veces
que desee.
Edición | Eliminar
Este comando elimina el objeto seleccionado del diagrama
sin colocarlo en el portapapeles de Dfd . Se encontrará
disponible cuando un objeto eliminable se encuentre
seleccionado y la acción actual sea Edición.
Otras formas de acceder al comando:
Barra de herramientas
Teclado SUPR
Los objetos que conforman estructuras de control serán
eliminados junto con su cuerpo. En caso de que el objeto
seleccionado sea de tipo subprograma, entonces se ejecutará
el comando Eliminar Subprograma.
Edición | Eliminar Subprograma
Este comando se usa para eliminar todos los objetos que
conforman un subprograma. El comando estará disponible
cuando esté visualizado un subprograma (no el principal) y
la acción actual sea Edición.
Otras formas de acceder el comando:
Barra de herramientas
Teclado ALT + E, S
Edición | Insertar Objeto
Este comando se utiliza para insertar a continuación del
objeto seleccionado un objeto del tipo que indique el ítem
seleccionado en el menú Objeto; es decir, el último objeto
seleccionado en la barra de herramientas.
El comando estará disponible cuando exista un objeto
seleccionado, el ítem seleccionado en el menú Objeto sea
diferente de Cursor y la acción actual sea Edición.
Otra forma de acceder al comando:
Teclado INS
Mouse Clic sobre la zona de inserción
Edición Objeto | Editar
Este comando se utiliza para editar el contenido de un objeto
seleccionado. Estará disponible cuando se encuentre
seleccionado un objeto editable y la acción actual sea
Edición.
Otra forma de acceder al comando:
Teclado ENTER
Mouse Doble clic sobre el objeto
c) Menú Objeto
Objeto | Cursor
Este comando selecciona el cursor normal del Mouse, el cual
se puede usar para:
- Seleccionar y quitar la selección de objetos.
- Abrir los cuadros de diálogo para la edición de objetos.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, C
Cuando la acción actual es diferente de Ejecución, el cursor
normal puede cambiar dependiendo de la posición del
apuntador del Mouse.
Es la flecha de cursor que se presenta cuando el apuntador
del Mouse no está sobre ningún objeto. La forma de este
puntero depende de las propiedades del Mouse que maneja el
sistema.
El cursor en forma de mano señalando se presenta cuando el
apuntador del Mouse se sitúa sobre un objeto que se puede
seleccionar, éste indica que se puede seleccionar, quitar la
selección de otro objeto ó editar el objeto
Hacer clic con el botón izquierdo del Mouse dentro de un
objeto selecciona el objeto y quita la selección a cualquier otro
que se encuentre seleccionado en el subprograma actual.
Hacer clic con el botón izquierdo del Mouse sobre un área
vacía del diagrama quita la selección del objeto. Hacer
doble clic con el botón izquierdo del Mouse sobre un objeto
editable invoca al correspondiente cuadro de diálogo para
la edición.
Objeto | Asignación
Este comando se utiliza para indicar que el siguiente objeto a
ser insertado en el diagrama es de tipo Asignación.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, A
Objeto | Ciclo
Mientras
Este comando se utiliza para indicar que el siguiente objeto a
ser insertado en el diagrama es de tipo Ciclo Mientras.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, M
Objeto | Ciclo Para
Este comando se utiliza para indicar que el siguiente objeto a
ser insertado en el diagrama es de tipo Ciclo Para.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, P
Objeto | Decisión
Este comando se utiliza para indicar que el siguiente objeto a
ser insertado en el diagrama es de tipo Decisión.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, D
Objeto | Lectura
Este comando se utiliza para indicar que el siguiente objeto a
ser insertado en el diagrama es de tipo Lectura.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, E
Objeto | Llamada
Este comando se utiliza para indicar que el siguiente objeto a
ser insertado en el diagrama es de tipo Llamada.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, L
Objeto | Salida
Este comando se utiliza para indicar que el siguiente objeto a
ser insertado en el diagrama es de tipo Salida.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, S
Objeto | Nuevo Subprograma
El comando Nuevo Subprograma crea un nuevo subprograma
y lo deja como el subprograma actual. Este comando estará
disponible cuando la acción actual sea Edición.
Otras formas de acceder al comando:
Barra de herramientas
Teclado ALT + O, N
C) Menú Ver
Ver | Zoom
Este submenú posee los comandos
que manejan el tamaño de los
objetos en pantalla y el tamaño con el que pueden ser
impresos. Los comandos disponibles en este menú son:
Acercar
Alejar
Ver | Zoom | Acercar
Aumenta el tamaño de los objetos en pantalla.
Otras formas de acceder al comando:
Barra de herramientas
Teclado +
Ver | Zoom | Alejar
Disminuye el tamaño de los objetos en pantalla.
Otras formas de acceder al comando:
Barra de herramientas
Teclado -
Ver | Anterior Subprograma
Este comando visualiza en pantalla el subprograma anterior.
Los subprogramas se encuentran organizados de acuerdo al
orden en que fueron creados.
Otras formas de acceder al comando:
Barra de herramientas
Teclado CTRL + Flecha izquierda
Ver | Siguiente Subprograma
Este comando visualiza en pantalla el subprograma
siguiente. Los subprogramas se encuentran organizados de
acuerdo al orden en que fueron creados.
Otras formas de acceder al comando:
Barra de herramientas
Teclado CTRL + Flecha derecha
Ver | Depurador
Este comando muestra o esconde la ventana de depuración.
Otras formas de acceder al comando:
Barra de herramientas
Teclado F6
d) Menú Ejecución
Ejecución | Ejecutar
Este comando coloca la acción actual en
Ejecución y da paso a la ejecución del algoritmo.
En caso de que la acción actual sea Edición, se realizará
primero una revisión del diagrama para encontrar errores
de sintaxis. En caso de que un error sea encontrado, un
mensaje será desplegado indicando el tipo de error y el objeto
en el que se presentó. Si el diagrama está libre de errores, se
ejecutará el algoritmo a partir del objeto Inicio.
Otras formas de acceder al comando:
Barra de herramientas
Teclado F9
Ejecución | Pausar
Este comando hace una pausa en la ejecución del algoritmo
colocando la acción actual en Depuración Paso a Paso.
El comando solo estará disponible cuando la acción actual
sea Ejecución.
Otras formas de acceder al comando:
Barra de herramientas
Teclado PAUSA
Ejecución | Detener
Este comando coloca la acción actual en Edición, deteniendo
la ejecución ó depuración del algoritmo
. Este comando estará disponible cuando la acción actual
sea diferente de Edición.
Otras formas de acceder al comando:
Barra de herramientas
Teclado CTRL + PAUSA
e) Menú Depuración
Depuración | Paso Simple
Este comando permite ejecutar paso a
paso el algoritmo representado por el
diagrama en edición.
En caso de que la acción actual sea Edición, se realizará primero una revisión del
diagrama para encontrar errores de sintaxis. En caso de que un error sea encontrado, un
mensaje será desplegado indicando el tipo de error y el objeto en el que se presentó. Si
el diagrama está libre de errores se coloca la acción actual en Depuración Paso a Paso y
el siguiente objeto a ejecutar, que en este caso será el Inicio, será resaltado.
Si la acción actual es Depuración Paso a Paso, se ejecutará el
objeto resaltado y el nuevo objeto resaltado será el siguiente a
ejecutar.
Otras formas de acceder al comando:
Barra de herramientas
Teclado F7
Depuración | Ejecutar Hasta
Este comando ejecuta el algoritmo deteniéndose en el objeto
que se encuentre seleccionado.
Se encuentra disponible cuando la acción actual es diferente
de Ejecución y hay un objeto seleccionado en el subprograma
actual.
En caso de que la acción actual sea Edición se realizará
primero una revisión del diagrama para encontrar los
errores de sintaxis. En caso de que un error sea encontrado,
un mensaje de error será desplegado indicando el tipo de
error y el objeto en el que se presentó. Si el diagrama está
libre de errores se coloca la acción actual en Depuración
Ejecutar Hasta y se ejecutará el algoritmo hasta alcanzar el
objeto seleccionado.
Si la acción actual es Depuración Paso a Paso la ejecución
continúa a partir del objeto resaltado hasta alcanzar el
objeto seleccionado.
Otras formas de acceder al comando:
Barra de herramientas
Teclado F4
Una vez la ejecución alcanza el objeto que estaba
seleccionado, la acción actual pasará a ser Depuración Paso
a Paso y dicho objeto quedará resaltado.
Depuración | Detener
Este comando coloca la acción actual en Edición, deteniendo
la ejecución ó depuración del algoritmo
. Este comando estará disponible cuando la acción actual
sea diferente de Edición.
Otras formas de acceder al comando:
Barra de herramientas
Teclado CTRL + PAUSA
Depuración | Evaluar
Este comando despliega el diálogo evaluador.
Otra forma de acceder al comando:
Teclado F5
El comando esta disponible en cualquier momento.
f) Menú Opciones
Opciones | Angulos
El submenú Angulos contiene los comandos Angulos en
Grados y Angulos en Radianes, los cuales determinan las
unidades en que serán expresados los ángulos (grados ó
radianes respectivamente).
Recuerde que : 1 grado = PI / 180 radianes
3. OBJETOS EN DFD
a) Objeto Inicio
Es el primer objeto a ejecutar en cualquier
algoritmo. Al ser ejecutado, el objeto Inicio
transfiere el control al siguiente objeto.
El cuadro de dialogo
del objeto Inicio contiene
un espacio para la
descripción o
comentarios acerca
del algoritmo.
b) Objeto Asignación
El objeto Asignación asigna valores a campos variables. Al
ser ejecutado, puede realizar hasta tres asignaciones.
El cuadro de dialogo del objeto
Asignación contiene espacio
para tres asignaciones, cada
asignación consta de un
espacio para el campo variable
situado siempre a la izquierda,
el símbolo de asignación y un
espacio para la expresión
situada siempre a la derecha.
Esto indica que al campo
variable se le asigna el resultado de la evaluación de la
expresión. Debe realizarse por lo menos una asignación.
c) Objeto Ciclo Mientras
El objeto Ciclo Mientras tiene como
función el ejecutar un bloque de
objetos mientras que una condición
sea verdadera. La condición debe ser
siempre una expresión que al ser
evaluada de como resultado un valor de tipo de dato Lógico.
Ejemplo : 3<W , x >0 AND Sw = .V. , Valor*15 < 300*Contador.
Si al evaluar la condición se obtiene el valor .F. la ejecución del algoritmo continuará a
partir del objeto que sigue al Cierre.
El cuadro de dialogo del
objeto Ciclo Mientras
contiene espacio para la
expresión que conforma la
condición.
d) Objeto Ciclo Para
Su función es ejecutar un bloque de objetos mientras que la variable contadora no
alcance el límite establecido por el valor final. El contador es siempre una variable de
tipo de dato Real. Contiene además un valor inicial que será asignado al contador al
iniciar la ejecución del ciclo, un valor final y un valor de incremento. Si el contador
excede el valor final, la ejecución continuará a partir del objeto que sigue al Cierre. En
caso contrario, se ejecutará el cuerpo del ciclo y el contador será incrementado en el
valor indicado por el incremento.
El cuadro de diálogo del objeto Ciclo
para contiene espacio para la variable
contador, valor inicial, valor final y el
valor de incremento en su respectivo orden.
e) Objeto Decisión
El objeto decisión
selecciona el flujo a
seguir de acuerdo al
valor lógico de una
condición. La condición
debe ser siempre una
expresión que al ser
evaluada de como
resultado un valor de
tipo de dato Lógico.
Ejemplo : 3<w , x >0 AND sw = .V. , valor*15 < 300*contador.
El objeto Decisión esta asociado a dos bloques de objetos ubicados a lado y lado de
este, y un objeto Cierre Decisión ubicado a continuación de ambos bloques.
Si al evaluar la condición se obtiene el valor lógico .V., se ejecuta el bloque rotulado
con la palabra Si, en caso contrario se ejecuta el bloque rotulado con No. En ambos
casos la ejecución continua en el objeto Cierre Decisión.
El cuadro de dialogo del objeto
Decisión contiene espacio para la
expresión que conforma la condición, y
dos casillas por medio de las cuales se
puede especificar por cual lado
continuara el flujo en caso de que la
condición sea verdadera.
f) Objeto Lectura
El objeto Lectura permite la entrada de valores constantes
desde el teclado y se los asigna a campos variables . Podrá
ser leída cualquier cantidad de variables utilizando un objeto
Lectura. Al ejecutarse, el objeto despliega un cuadro de
diálogo por cada variable presente en la lista, este cuadro de diálogo espera que el
usuario introduzca un valor constante que será asignado a la respectiva variable.
El cuadro de diálogo para
la edición del objeto
contiene un espacio para
ingresar una lista de
variables separadas por
comas. Debe existir por lo
menos una variable.
g) Objeto Salida
El objeto Salida muestra valores por pantalla. Puede ser
visualizada cualquier cantidad de valores utilizando un
objeto Salida. Al ejecutarse, este objeto evalúa cada una de
la expresiones que contiene y despliega un cuadro de
diálogo que muestra el valor obtenido en cada una de las
expresiones en su respectivo orden.
El cuadro de diálogo para
la edición del objeto
contiene un espacio para
ingresar una lista de
expresiones separadas por
comas. Debe existir por lo
menos una expresión.
h) Objeto Llamada
La función de este objeto es realizar una llamada a un
subprograma, el cual debe encontrarse en el diagrama
en edición. En la llamada deben encontrarse los argumentos que han de ser pasados al
subprograma, la cantidad, el orden y el tipo de los argumentos deben coincidir con los
parámetros del subprograma.
Una vez que el subprograma haya sido ejecutado la ejecución continuará en el objeto
siguiente a la llamada.
El cuadro de diálogo para
la edición de este objeto
contiene el espacio para el
nombre del subprograma a
llamar y el espacio para la
lista de argumentos.
Dichos argumentos deben
estar separados por comas.
i) Objeto Subprograma
Es el primer objeto a ser ejecutado cuando un
subprograma es llamado. Al ser ejecutado, el objeto
Subprograma transfiere el control al siguiente
objeto.
El cuadro de diálogo del objeto
Subprograma contiene un espacio para
la descripción o comentarios acerca del
mismo ; contiene un espacio para el
nombre del subprograma y un espacio
para los parámetros. Estos parámetros
(si existen) deben estar separados por
comas. El nombre de un subprograma
debe comenzar por una letra seguida de
letras, números ó el caracter ( _ ).
Ejemplo : Factorial , Leer , Sub1
, sub_programa.
No se tiene en cuenta la diferencia entre
mayúsculas y minúsculas para el
nombre de un subprograma, es decir ,
SUB equivale a sub.
j) Objeto Fin
Este objeto junto con el objeto Inicio, delimita
el cuerpo del procedimiento principal. Solo
existe un objeto Fin en el diagrama ; la
ejecución de este objeto finaliza la ejecución
del algoritmo.
k) Objeto Cierre
Este objeto delimita el cuerpo de un ciclo, al culminar la
ejecución del ciclo el control se transfiere al objeto que sigue al
objeto Cierre Ciclo.
l) Objeto Cierre Decisión
Este objeto delimita el cuerpo de una estructura de decisión, al culminar la ejecución de
dicha estructura el control se transfiere al objeto que sigue al objeto Cierre Decisión.
m) Objeto Regrese
Este objeto junto con el Objeto Subprograma,
delimita el cuerpo de un subprograma. La
ejecución de este objeto transfiere el control al
objeto que realizó la llamada.
4. REFERENCIA DE OPERADORES Y FUNCIONES
Operadores de Asociatividad
( ) : Los paréntesis modifican la secuencia de evaluación de
una expresión.
Ejemplo :
3 * 2 + 5 da como resultado 11.
3 * (2+5) da como resultado 21.
Operadores de Acceso a Arreglos
Para hacer referencia a una casilla de un arreglo n-
dimensional se utilizan los paréntesis.
Ejemplo :
Vector(3), Matriz(i, j, k), V( i*2+1, j ), Liga( LigaD( x ) ).
Suma
Sintaxis X+Y
Entrada X, Y Valores de tipo Real.
Resultado La suma de X e Y.
Mas Unitario
Sintaxis +X
Entrada X Valor de tipo Real.
Resultado X.
Resta
Sintaxis X-Y
Entrada X, Y Valores de tipo Real.
Resultado La resta de X e Y.
Menos Unitario
Sintaxis -X
Entrada X Valor de tipo Real.
Resultado 0-X.
Exponenciación
Sintaxis X^Y
Entrada X,Y Valores de tipo Real.
Resultado Valor de X elevado a la potencia Y
Multiplicación
Sintaxis X*Y
Entrada X, Y Valores de tipo Real.
Resultado X Multiplicado por Y.
División
Sintaxis X/Y
Entrada X,Y Valores de tipo Real.
Resultado X dividido entre Y.
Módulo
Sintaxis X MOD Y
Entrada X, Y Valores de tipo Real.
Resultado El residuo de dividir X entre Y, definido como un
valor
R, tal que : X= Y*K+R, donde K es un entero y ABS(R) < ABS(Y).
Operadores de Cadenas de Caracteres
El operador (+) concatena dos cadenas de caracteres.
Ejemplo :
„Diagramar‟ + „ es fácil‟ da como resultado „Diagramar es
fácil‟
Mayor que
Sintaxis X>Y
Entrada X,Y Valores del mismo tipo de dato y que no
sean de tipo Lógico.
Resultado .V. (verdadero) si X>Y y .F. (falso) en caso
contrario.
Menor que
Sintaxis X<Y
Entrada X,Y Valores del mismo tipo de dato y que no
sean de tipo Lógico.
Resultado .V. ( Verdadero ) si X menor que Y .F. ( Falso ) en
caso contrario.
Menor o Igual a
Sintaxis X<=Y
Entrada X, Y Valores del mismo tipo de dato y que no
sean de tipo Lógico.
Resultado .V. ( Verdadero ) si X menor igual a Y y .F. ( Falso )
en caso contrario.
Mayor o Igual a
Sintaxis X>=Y
Entrada X,Y Valores del mismo tipo de dato y que no
sean de tipo Lógico.
Resultado .V. ( Verdadero ) si X es mayor o igual a Y y .F. (
Falso ) en caso contrario.
Igual a
Sintaxis X =Y
Entrada X, Y Valores del mismo tipo de dato.
Resultado .V. ( Verdadero ) si X es igual a Y y .F. ( Falso ) en
caso contrario.
Diferente de
Sintaxis X !=Y
Entrada X, Y Valores del mismo tipo de dato.
Resultado .V. ( Verdadero ) si X es diferente de Y y .F. ( Falso )
en caso contrario.
Y Lógico (Conjunción)
Sintaxis X AND Y
Entrada X, Y Valores de tipo de dato Lógico.
Negación del AND
Sintaxis X NAND Y
Entrada X, Y Valores de tipo de dato Lógico.
O Lógico
Sintaxis X OR Y
Entrada X, Y Valores de tipo de dato Lógico.
Negación del OR
Sintaxis X NOR Y
Entrada X, Y Valores de tipo de dato Lógico.
Negación Lógica
Sintaxis NOT X
Entrada X Valor de Tipo de dato Lógico.
O Lógico Exclusivo
Sintaxis X XOR Y
Entrada X, Y Valores de tipo de dato Lógico.
Negación de XOR
Sintaxis X XNOR Y
Entrada X, Y Valores de tipo de dato Lógico.
Valor Absoluto
Sintaxis ABS( X )
Entrada X Valor de tipo de dato Real.
Resultado Valor absoluto de X.
Ejemplo : ABS( -3 ) da como resultado 3.
Arcocoseno
Sintaxis ACOS( X )
Entrada X Valor de tipo de dato Real ; -1<= X <= 1.
Resultado El ángulo cuyo coseno sea igual a X .
Arcoseno
Sintaxis ASIN( X )
Entrada X Valor de tipo de dato Real.
Resultado El ángulo cuyo seno sea igual a X ; -1<= X <= 1.
Arcotangente
Sintaxis ATAN( X )
Entrada X Valor de tipo de dato Real.
Resultado El ángulo cuya tangente sea igual a X .
Coseno
Sintaxis COS( X )
Entrada X Valor de tipo de dato Real.
Resultado Coseno de X .
Coseno Hiperbólico
Sintaxis COSH( X )
Entrada X Valor de tipo de dato Real.
Resultado Coseno Hiperbólico de X .
Exponencial
Sintaxis EXP( X )
Entrada X Valor de tipo de dato Real.
Resultado El exponencial de X ; es decir el número e ( 2.71828182... ) elevado a la
potencia
X.
Nota : Esta es la función inversa de LN, por lo tanto LN( EXP( X ) ) = X.
Logaritmo Natural
Sintaxis LN( X )
Entrada X Valor de tipo de dato Real ; X>0.
Resultado Logaritmo Natural de X.
Logaritmo en Base 10
Sintaxis LOG( X )
Entrada X Valor de tipo de dato Real ; X>0.
Resultado Logaritmo en base 10 de X.
Numero Aleatorio
Sintaxis RANDOM( X )
Entrada X Valor de tipo de dato Real.
Resultado Genera un número aleatorio R, donde 0 <= R <= X-1 para todo X>1 y
R= 0 para
todo X<=1.
Convierte al Entero más Cercano
Sintaxis ROUND( X )
Entrada X Valor de tipo de dato Real.
Resultado El entero mas cercano a X.
Ejemplo : ROUND( 3.3 ) retorna 3
ROUND( -4.7 ) retorna -5.
Seno
Sintaxis SIN( X )
Entrada X Valor de tipo de dato Real.
Resultado Seno de X.
Seno Hiperbólico
Sintaxis SINH( X )
Entrada X Valor de tipo de dato Real.
Resultado Seno Hiperbólico de X.
Raíz Cuadrada
Sintaxis SQRT( X )
Entrada X Valor de tipo de dato Real ; X>=0.
Resultado Raíz Cuadrada de X.
Tangente
Sintaxis TAN( X )
Entrada X Valor de tipo de dato Real.
Resultado Tangente de X.
Nota : TAN( 90º + K*180º ) no esta definida para todo entero K .
Tangente Hiperbólica
Sintaxis TANH( X )
Entrada X Valor de tipo de dato Real.
Resultado Tangente Hiperbólica de X.
Extrae la Parte Entera
Sintaxis TRUNC( X )
Entrada X Valor de tipo de dato Real.
Resultado Parte entera de X.
Ejemplo : TRUNC( 3.7 ) Retorna 3.
TRUNC( -4.5 ) -4.
Largo de Cadena
Sintaxis LEN( S )
Entrada S Una cadena de caracteres.
Resultado Valor de tipo de dato Real ( un entero ) con el número de caracteres de la
cadena
S.
Subcadena
Sintaxis SUBSTRING( S, INICIO, CUANTOS )
Entrada S Una cadena de caracteres.
INICIO, Valor de tipo de dato Real( entero ), donde INICIO >=1.
CUANTOS, valor de tipo de dato Real( entero ), donde CUANTOS >=0.
Resultado Una cadena de caracteres que es subconjunto de la cadena S a partir de la
posición INICIO con CUANTOS caracteres de longitud.
Ejemplo : SUBSTRING( ‘DIAGRAMA’, 5, 4 ) Retorna ‘RAMA’.
5. MENSAJES DE ERROR
Abierto Paréntesis No Cerrado
Se presenta en tiempo de revisión cuando no es cerrado un paréntesis que fue abierto en
una expresión.
Ejemplo:
8*(X+3
Caracter Ilegal
Se presenta en tiempo de revisión cuando existe un caracter no válido en la expresión.
Ejemplo:
@3+2
Cerrado Paréntesis No Abierto
Se presenta en tiempo de revisión cuando es cerrado un paréntesis que no fue abierto en
alguna expresión.
Ejemplo:
( 8 MOD 4 ) * VALOR + 1 )
Constante Numérica Ilegal
Se presenta en tiempo de revisión cuando en una secuencia de números se encuentra un
caracter que no permite conformar una constante de tipo Real.
Ejemplo:
43$32
Demasiados Argumentos
Este error se presenta cuando se llama una función o se invoca a un subprograma con
más argumentos que los requeridos.
Desbordamiento en la Operación
Se presenta en tiempo de Ejecución cuando en la evaluación de una expresión se obtiene
un valor de tipo de dato Real superior a 1*10200 ó inferior a -1*10200.
Ejemplo:
10^2000 * 10^2000
Desbordamiento Negativo en la Operación
Se presenta en tiempo de Ejecución cuando en la evaluación de una expresión se obtiene
un valor de tipo de dato Real diferente de (0) cero superior a -1*10 -2000 e inferior a
1*10-2000.
Dimensión No Válida
Se presenta en tiempo de Ejecución cuando se hace referencia a un arreglo con un
número de índices que no corresponde a su dimensión.
La dimensión de un arreglo se establece la primera vez que se hace referencia a una
casilla del mismo para asignarle un valor.
División Entre Cero
Se presenta en tiempo de Ejecución cuando en la evaluación de una expresión existe una
división en donde el divisor es igual a cero.
Ejemplo:
X/0
El Identificador no es un Arreglo
Se presenta en tiempo de Ejecución cuando se utiliza el identificador o nombre de una
variable para un arreglo.
El Incremento Debe Ser Una Constante Real
Este error se presenta en tiempo de revisión cuando en un Objeto Ciclo Para se
encuentra que el incremento no es una constante Real.
El Valor del Contador Debe Ser de Tipo Real
Este error se presenta en tiempo de Ejecución cuando en un Ciclo Para se intenta
inicializar el contador con un valor que no es de tipo de dato Real.
El Valor del Límite Para el Contador Debe Ser de Tipo Real
Este error se presenta en tiempo de Ejecución cuando en un Ciclo Para se intenta
establecer como valor límite para el contador un valor que no es de tipo de dato Real.
Ilegal Nombre Para un Subprograma
Este error se presenta en tiempo de revisión cuando se encuentra un nombre no válido
para un subprograma en un Objeto Subprograma.
La Asignación de Valores Solo se Realiza en Campos Variables
Este error se presenta en tiempo de revisión cuando se intenta hacer una asignación a un
campo constante.
La Condición Debe Ser de Tipo Lógico
Este error se presenta en tiempo de Ejecución cuando en un Objeto Ciclo Mientras o en
un Objeto Decisión se encuentra que la expresión que conforma la condición no
devuelve un tipo de dato Lógico al ser evaluada.
La Función Requiere Argumentos
Este error se presenta en tiempo de revisión cuando se hace un llamado a una función
sin especificar argumentos.
Llamado de Función no Válido
Se presenta cuando un argumento ocasiona un llamado de función no válido.
Ejemplos:
TAN(90)
SQRT(-2)
Los Índices Deben Ser Enteros No Negativos Menores O Iguales que 65535
Este error se presenta en tiempo de Ejecución cuando alguno de los índices que se
utilizan para acceder a una posición de un arreglo, no es un valor de tipo de dato Real
(un entero) ó no se encuentra entre 0 y 65535.
Los Parámetros Deben Ser Variables
Este error se presenta en tiempo de revisión cuando en un Objeto Subprograma se
encuentra un parámetro que no es una variable.
Los Tipos No Coinciden
Este error se presenta en tiempo de Ejecución cuando se intenta hacer una operación con
tipos de datos diferentes.
Muy Pocos Argumentos
Este error se presenta cuando se llama a una función o se invoca a un subprograma con
menos argumentos que los requeridos.
No Se Encontró el Subprograma
Este error se presenta en tiempo de revisión cuando un Objeto Llamada invoca un
subprograma que no ha sido definido.
Operador Ilegal
Este error se presenta cuando se usa un operador de forma incorrecta.
Operador Lógico Ilegal
Este error se presenta cuando se usa incorrectamente un operador lógico.
Parámetro Repetido
Este error se presenta en tiempo de revisión cuando en un Objeto Subprograma se
encuentra un parámetro repetido.
Se Esperó ' para Delimitar la Cadena
Este error se presenta en tiempo de revisión cuando en una expresión se encuentra el
caracter (') para iniciar una constante de cadena y no se encuentra un caracter (') para
delimitarla.
Se Esperó un Operador
Este error se presenta en tiempo de revisión cuando hace falta por lo menos un operador
para conformar una expresión válida.
Se Esperó un Operando
Este error se presenta en tiempo de revisión cuando hace falta por lo menos un operando
para conformar una expresión válida.
Se Esperó una Constante Lógica (.V. ó .F.)
Este error se presenta en tiempo de revisión cuando en una expresión se encuentra un
caracter (.) para iniciar una constante de tipo de dato Lógico y no se encuentra un
caracter (.) para delimitarla.
Se Necesita un Valor Final para el Contador
Este error se presenta en tiempo de revisión cuando en un Objeto Ciclo Para no se
encuentra el valor final para el contador.
Se Necesita un Valor Inicial para el Contador
Este error se presenta en tiempo de revisión cuando en un Objeto Ciclo Para no se
encuentra el valor inicial para el contador.
Subprograma Repetido
Este error se presenta en tiempo de revisión cuando un subprograma se encuentra
definido más de una vez.
Uso Ilegal de la Coma ó Falta Expresión
Este error se presenta en tiempo de revisión cuando se comprueba el uso incorrecto de
una coma (,) en una expresión ó cuando no existe una expresión requerida.
Variable No Existe
Este error se presenta en tiempo de Ejecución cuando se intenta utilizar el valor de una
variable que no ha sido creada. Una variable se crea la primera vez que se le asigna un
valor.
Variable No Inicializada
Este error se presenta en tiempo de Ejecución cuando se intenta utilizar el valor de una
variable que no ha sido inicializada.