Programa para la elaboración de diagramas de bloques online. “Desarrollo del algoritmo VBA. Diagrama de bloques. Estructuras algorítmicas

EsquemaEsta es una abstracción de un proceso o sistema que muestra claramente las partes más significativas.. Los esquemas se han utilizado ampliamente desde la antigüedad hasta nuestros días: dibujos de pirámides antiguas, mapas de tierras, diagramas de circuitos eléctricos. Obviamente, los antiguos marineros querían intercambiar mapas y por eso desarrollaron un sistema unificado de notaciones y reglas para su implementación. Se han desarrollado acuerdos similares para la representación de diagramas algorítmicos y están consagrados en GOST y estándares internacionales.

Opera en el territorio de la Federación Rusa. sistema unificado de documentación del programa (USPD), del cual forma parte el Estándar Estatal - GOST 19.701-90 "Diagramas algorítmicos para programas, datos y sistemas". A pesar de que las notaciones descritas en el estándar se pueden utilizar para representar diagramas de recursos del sistema, diagramas de interacción de programas, etc., este artículo solo describe el desarrollo de diagramas de algoritmos de programas.

El GOST considerado cumple casi por completo con el estándar internacional. ISO 5807:1985.

Elementos del diagrama de flujo del algoritmo

Un diagrama de bloques es un conjunto de símbolos correspondientes a las etapas del algoritmo y las líneas que las conectan. Línea de puntos Se utiliza para conectar un símbolo con un comentario. línea continua refleja las dependencias de control entre símbolos y puede estar provisto de una flecha. Es posible que la flecha no se indique cuando el arco se dirige de izquierda a derecha y de arriba a abajo. Según la cláusula 4.2.4, las líneas deben acercarse al símbolo desde la izquierda o desde arriba, y venir desde abajo o desde la derecha.

Hay otros tipos de líneas que se utilizan, por ejemplo, para representar diagramas de bloques de algoritmos paralelos, pero ellas, al igual que una serie de símbolos específicos, no se consideran en este artículo. Sólo se consideran los símbolos básicos, que siempre son suficientes para los estudiantes.

Terminador para el inicio y fin de la función.

Cada función comienza y termina con un terminador. El tipo de valor de retorno y argumentos de la función generalmente se especifica en los comentarios del bloque terminador.

Operaciones de entrada y salida de datos.

GOST define muchos símbolos de entrada/salida, por ejemplo, salida a cintas magnéticas, pantallas, etc. Si la fuente de datos no es crítica, se suele utilizar el símbolo del paralelogramo. Los detalles de E/S se pueden especificar en los comentarios.

Realizar operaciones sobre datos.

Un bloque de operaciones generalmente contiene una o más (GOST no prohíbe) operaciones de asignación que no requieren llamar a funciones externas.

Bloque que ilustra la ramificación del algoritmo.

El bloque en forma de diamante tiene una entrada y varias salidas con signo. Si un bloque tiene 2 salidas (corresponde a un operador de bifurcación), el resultado de la comparación se firma con ellas: "sí/no". Si salen más líneas del bloque (operador de selección), el nombre de la variable se escribe dentro de él y los valores de esta variable se escriben en los arcos salientes.

Llamar a un procedimiento externo

Las llamadas a funciones y procedimientos externos se colocan en un rectángulo con líneas verticales adicionales.

Inicio y fin del ciclo.

Los símbolos de inicio y fin de un bucle contienen un nombre y una condición. Es posible que la condición no esté presente en uno de los símbolos del par. La ubicación de la condición determina el tipo de operador correspondiente a los símbolos en el lenguaje de alto nivel: un operador con una condición previa (mientras) o una condición posterior (hacer... mientras).

Preparación de datos

El símbolo de "preparación de datos" en cualquier forma (no hay explicaciones ni ejemplos en GOST) especifica los valores de entrada. Normalmente se utiliza para definir ciclos contrarios.

Conector

Si el diagrama de flujo no cabe en una hoja, se utiliza un símbolo de conector para reflejar la transición del flujo de control entre hojas. El símbolo se puede utilizar en una hoja si por alguna razón no es conveniente trazar una línea.

Comentario

Un comentario se puede conectar a un bloque o a un grupo. Un grupo de bloques está resaltado en el diagrama con una línea de puntos.

Ejemplos de diagramas de bloques

Como ejemplos, se construyen diagramas de bloques de algoritmos de clasificación muy simples, con énfasis en varias implementaciones de bucles, porque Los estudiantes cometen la mayor cantidad de errores en esta parte.

Orden de inserción

Matriz en algoritmo clasificación por inserción dividido en partes clasificadas y aún no procesadas. Inicialmente, la parte ordenada consta de un elemento y aumenta gradualmente.

En cada paso del algoritmo, el primer elemento de la parte sin procesar de la matriz se selecciona y se inserta en la parte ordenada para conservar el orden requerido de los elementos. La inserción se puede realizar al final de la matriz o en el medio. Al insertar en el medio, debe mover todos los elementos ubicados "a la derecha" de la posición de inserción un elemento hacia la derecha. El algoritmo utiliza dos bucles: en el primero se seleccionan los elementos de la parte sin procesar y en el segundo se realiza la inserción.


Diagrama de flujo del algoritmo de clasificación por inserción

El siguiente diagrama de bloques utiliza un símbolo de rama para organizar el bucle. En el bucle principal (i< n) Itera a través de los elementos de la parte sin formato de la matriz. Si se procesan todos los elementos, el algoritmo termina; de lo contrario, se busca una posición para la inserción; yo-eso elemento. La posición buscada se almacenará en la variable j como resultado del bucle interno, que desplaza elementos hasta que se encuentra un elemento cuyo valor es menor yo-eso.

En diagrama de bloques muestra cómo se puede utilizar el símbolo de transición: se puede utilizar no solo para conectar partes de circuitos ubicados en diferentes hojas, sino también para reducir el número de líneas. En algunos casos, esto le permite evitar cruzar líneas y hace que el algoritmo sea más fácil de entender.

Clasificación de burbujas

Clasificación de burbujas, así como clasificación por inserción, utiliza dos bucles. En un bucle anidado, se realiza una comparación de elementos por pares y, si se viola su orden, se realiza una reorganización. Como resultado de ejecutar una iteración del bucle interno, se garantiza que el elemento máximo se desplazará al final de la matriz. El bucle externo se ejecuta hasta que se ordena toda la matriz.


Diagrama de flujo del algoritmo de clasificación de burbujas

El diagrama de bloques muestra el uso de los símbolos de inicio y fin del bucle. La condición del bucle exterior (A) se comprueba al final ( con poscondición), funciona siempre que la variable ha intercambiado asuntos verdadero. El bucle interior utiliza condición previa para iterar a través de pares de elementos comparados. Si los elementos están en el orden incorrecto, se reorganizan llamando procedimiento externo (intercambio). Para comprender el propósito del procedimiento externo y el orden de sus argumentos, es necesario escribir comentarios. Si la función devuelve un valor, se puede escribir un comentario en el carácter terminador final.

Ordenar por selección

EN clasificación de selección la matriz se divide en partes ordenadas y sin procesar. Inicialmente, la parte clasificada está vacía, pero poco a poco va aumentando. El algoritmo busca el elemento mínimo de la pieza sin procesar y lo intercambia con el primer elemento de la misma pieza, después de lo cual se considera que el primer elemento ha sido procesado (la pieza ordenada aumenta).


Diagrama de flujo de clasificación de selección

El diagrama de bloques muestra un ejemplo del uso del bloque "preparación" y también muestra que en algunos casos es posible describir el algoritmo de una manera más "ampliada" (sin entrar en detalles). Los detalles de implementación no son relevantes para la clasificación de selección. encontrar el índice del elemento mínimo de la matriz, por lo que pueden describirse mediante un símbolo de llamada a procedimiento externo. Si no hay un diagrama de bloques del algoritmo del procedimiento externo, no estaría de más escribir un comentario en el símbolo de llamada. Una excepción pueden ser funciones con nombres significativos como; intercambiar, ordenar, … .

2.1 Desarrollo de algoritmos.

Algoritmo- Este

a. descripción de la secuencia de acciones para resolver un problema o lograr una meta;

b. reglas para realizar operaciones básicas de procesamiento de datos;

do. descripción de cálculos utilizando fórmulas matemáticas.

Antes de comenzar a desarrollar un algoritmo, es necesario comprender claramente la tarea: qué se debe obtener como resultado, qué datos iniciales se necesitan y cuáles están disponibles, qué restricciones existen sobre estos datos. A continuación, debe anotar qué acciones se deben tomar para obtener el resultado requerido a partir de los datos iniciales.

En la práctica, las formas más comunes de presentar algoritmos son:

Verbal (grabaciones en lenguaje natural);

Gráfico (imágenes de símbolos gráficos);

Pseudocódigos (descripciones semiformalizadas de algoritmos en un lenguaje algorítmico condicional, que incluyen tanto elementos de un lenguaje de programación como frases en lenguaje natural, notaciones matemáticas generalmente aceptadas, etc.);

Software (textos en lenguajes de programación).

La forma verbal de escribir algoritmos es una descripción de las sucesivas etapas del procesamiento de datos. El algoritmo se especifica de forma libre en lenguaje natural.

Ejemplo. Escribe un algoritmo para encontrar el máximo común divisor (MCD) de dos números naturales.

El algoritmo podría ser el siguiente:

1. establecer dos números;

2. si los números son iguales, tome cualquiera de ellos como respuesta y deténgase; de ​​lo contrario, continúe ejecutando el algoritmo;

3. determinar el mayor de los números;

4. reemplace el número mayor con la diferencia entre los números mayor y menor;

5. repita el algoritmo del paso 2.

El algoritmo descrito es aplicable a cualquier número natural y debería conducir a una solución al problema. Convéncete de ello utilizando este algoritmo para determinar el máximo común divisor de los números 125 y 75.

El método verbal no está muy extendido por las siguientes razones:

Estas descripciones no son estrictamente formalizables;

Sufre de palabrería en las notas;

Hay margen para la ambigüedad en la interpretación de cada normativa.

La forma gráfica de presentar algoritmos es más compacta y visual en comparación con la verbal.

Cuando se presenta gráficamente, el algoritmo se representa como una secuencia de bloques funcionales interconectados, cada uno de los cuales corresponde a la ejecución de una o más acciones.

Esta representación gráfica se llama diagrama de flujo o diagrama de flujo.

El pseudocódigo es un sistema de notaciones y reglas diseñado para escribir algoritmos de manera uniforme.

Ocupa un lugar intermedio entre los lenguajes naturales y formales.

Por un lado, está cerca del lenguaje natural ordinario, por lo que los algoritmos se pueden escribir y leer en él como texto normal. Por otro lado, el pseudocódigo utiliza algunas construcciones formales y simbolismo matemático, lo que acerca la notación del algoritmo a la notación matemática generalmente aceptada.

En pseudocódigo, no se adoptan reglas sintácticas estrictas para escribir comandos inherentes a los lenguajes formales, lo que facilita la escritura del algoritmo en la etapa de diseño y permite utilizar un conjunto más amplio de comandos diseñados para un ejecutor abstracto. Sin embargo, el pseudocódigo suele contener algunas construcciones inherentes a los lenguajes formales, lo que facilita pasar de escribir en pseudocódigo a escribir un algoritmo en un lenguaje formal. En particular, en el pseudocódigo, así como en los lenguajes formales, existen palabras funcionales cuyo significado se determina de una vez por todas. No existe una definición única o formal de pseudocódigo, por lo que son posibles varios pseudocódigos, que se diferencian en el conjunto de palabras funcionales y construcciones básicas (básicas).

2.2 Diagrama de bloques.

Un diagrama de flujo es una representación gráfica de un algoritmo en el que se representa como una secuencia de bloques funcionales interconectados, cada uno de los cuales corresponde a la ejecución de una o más acciones.

En el diagrama de flujo, cada tipo de acción (ingresar datos iniciales, calcular los valores de las expresiones, verificar las condiciones, controlar la repetición de acciones, completar el procesamiento, etc.) corresponde a una figura geométrica representada como un símbolo de bloque. Los símbolos de bloque están conectados por líneas de transición que determinan el orden en que se realizan las acciones.

Estos son los símbolos más utilizados.

Nombre del símbolo Designación y ejemplo de llenado. Explicación
Proceso Acción computacional o secuencia de acciones.
Solución Comprobación de condiciones
Modificación Inicio del ciclo
Proceso predefinido Cálculos por subrutina, subrutina estándar
E/S E/S en general
Arranque-parada Inicio, fin del algoritmo, entrada y salida a la subrutina.
Documento Resultados de impresión

El bloque "proceso" se utiliza para indicar una acción o secuencia de acciones que cambia el significado, la forma de presentación o la ubicación de los datos. Para mejorar la claridad del diagrama, se pueden combinar varios bloques de procesamiento individuales en un solo bloque. La presentación de operaciones individuales es bastante gratuita.

El bloque de "decisión" se utiliza para indicar transiciones de control condicionales. Cada bloque de "solución" debe identificar la pregunta, condición o comparación que define.

El bloque "modificación" se utiliza para organizar estructuras cíclicas. (La palabra modificación significa modificación, transformación). Dentro del bloque se escribe un parámetro de ciclo, para el cual se indican su valor inicial, la condición de contorno y el paso para cambiar el valor del parámetro para cada repetición.

El bloque "proceso predefinido" se utiliza para indicar llamadas a algoritmos auxiliares que existen de forma autónoma en forma de algunos módulos independientes y para llamadas a rutinas de biblioteca.

Ejemplo. Elabora un diagrama de bloques de un algoritmo para determinar las alturas ha, hb, hc de un triángulo con lados a, b, c, si



Dónde pag = (a + b + c) / 2.
Solución. Introduzcamos la notación entonces h a = t/a, h b = t/b, h c = t/c. El diagrama de flujo debe contener inicio, entrada a, b, c, cálculo p, t, h. a, hb, hc , envíe los resultados y deténgase.

2.3 Estructuras algorítmicas.

Los algoritmos pueden considerarse como ciertas estructuras que constan de elementos básicos (es decir, básicos) individuales. Naturalmente, con este enfoque de los algoritmos, el estudio de los principios básicos de su diseño debería comenzar con el estudio de estos elementos básicos.

La estructura lógica de cualquier algoritmo se puede representar mediante una combinación de tres estructuras básicas: siguiente, ramificación y bucle.

Un rasgo característico de las estructuras básicas es la presencia de una entrada y una salida.

1. A continuación se muestra la estructura básica. Formado a partir de una secuencia de acciones que se suceden una tras otra:

2. Estructura ramificada básica. Proporciona, dependiendo del resultado de la verificación de la condición (sí o no), la elección de una de las formas alternativas de operar el algoritmo. Cada ruta conduce a una salida común, por lo que el algoritmo continuará ejecutándose sin importar qué ruta se elija.

Estructura derivación existe en cuatro variantes principales:

Si-entonces-si no;

La elección es diferente.

1) condición si-si, entonces la acción finaliza si 2) si-si no, si la condición entonces las acciones 1, de lo contrario, las acciones 2 terminan si 3) elección elección con condición 1: acciones 1 con condición 2: acciones 2. . . . . . . . . . . . bajo condición N: acciones N fin de elección

4) elección; de lo contrario, elección según la condición 1: acción 1 según la condición 2: acción 2. . . . . . . . . . . .

bajo condición N: acciones N en caso contrario acciones N+1 fin de elección

Ejemplo. Cree un diagrama de bloques del algoritmo para calcular la función.

La estructura básica es un ciclo. Proporciona la ejecución repetida de un determinado conjunto de acciones, lo que se denomina cuerpo del bucle. La estructura del ciclo existe en tres versiones principales:.

Tipo de bucle

La estructura básica es un ciclo. Proporciona la ejecución repetida de un determinado conjunto de acciones, lo que se denomina cuerpo del bucle. Para.

Indica que se ejecute el cuerpo del bucle para todos los valores de una determinada variable (parámetro de bucle) en un rango determinado.

La estructura básica es un ciclo. Proporciona la ejecución repetida de un determinado conjunto de acciones, lo que se denomina cuerpo del bucle. Adiós.

Ordena que se ejecute el cuerpo del bucle siempre que se cumpla la condición escrita después de la palabra while.

hacer - por ahora

Ordena que se ejecute el cuerpo del bucle siempre que se cumpla la condición escrita después de la palabra while. La condición se verifica después de ejecutar el cuerpo del bucle. Tenga en cuenta que los bucles for y while también se denominan bucles con verificación previa de la condición, y bucles para hacer, while, bucles con verificación posterior de la condición. En otras palabras, es posible que los cuerpos de los bucles for y while no se ejecuten ni siquiera una vez si la condición de finalización del bucle no es inicialmente verdadera. Haga el cuerpo del bucle hasta que se ejecute al menos una vez, incluso si la condición para finalizar el bucle no es inicialmente verdadera. Ciclo para i de i1 a i2 paso i3 cuerpo del ciclo (secuencia de acciones) fin del ciclo

bucle while condición cuerpo del bucle (secuencia de acciones) final del bucle

ciclo del cuerpo del bucle (secuencia de acciones) hasta el final de la condición del bucle

con una precisión determinada (para una serie de potencia alterna dada, la precisión requerida se logrará cuando el siguiente término sea más pequeño en valor absoluto).

Calcular sumas es una tarea cíclica típica. La peculiaridad de nuestro problema específico es que el número de términos (y, en consecuencia, el número de repeticiones del cuerpo del bucle) se desconoce de antemano. Por lo tanto, el bucle debe finalizar cuando se logre la precisión requerida.

Al compilar un algoritmo, es necesario tener en cuenta que los signos de los términos se alternan y aumenta la potencia del número x en los numeradores de los términos.

Terminaremos con un algoritmo muy ineficiente que requiere una gran cantidad de operaciones. Es mucho mejor organizar los cálculos de la siguiente manera: si designamos el numerador de cualquier término con la letra p, entonces el numerador del siguiente término será igual a -р*х (el signo menos asegura la alternancia de los signos de los términos), y el término en sí será m

será igual a p/i, donde i es el número del término.

Un algoritmo que incluye un bucle iterativo se denomina algoritmo iterativo. Los algoritmos iterativos se utilizan en la implementación de métodos numéricos iterativos. En los algoritmos iterativos, es necesario garantizar que se cumpla la condición para salir del ciclo (convergencia del proceso iterativo). De lo contrario, el algoritmo se repetirá, es decir. la propiedad principal del algoritmo, la eficacia, no se cumplirá.

Bucles anidados.

Puede haber casos en los que sea necesario repetir una determinada secuencia de declaraciones dentro del cuerpo de un bucle, es decir, organizar un bucle interno. Esta estructura se llama bucle dentro de un bucle o bucles anidados. La profundidad de anidamiento de los bucles (es decir, el número de bucles anidados entre sí) puede ser diferente.

Cuando se utiliza una estructura de este tipo, para ahorrar tiempo en la computadora, es necesario mover todas las declaraciones que no dependen del parámetro del bucle interno del bucle interno al externo.

Ejemplo bucles anidados para. Calcule la suma de los elementos de la matriz dada A(5,3).

Ejemplo bucles anidados por ahora. Calcule el producto de aquellos elementos de la matriz dada A(10,10) que se encuentran en la intersección de filas pares y columnas pares.

8.2. Diagramas de flujo de algoritmos

Al describir algoritmos, los diagramas de flujo (diagrama de flujo básico) se han utilizado con éxito durante mucho tiempo. La construcción de diagramas de flujo de algoritmos está regulada por GOST 19.701-90 (ISO 5807-85) "Sistema unificado de documentación de programas. Diagramas de algoritmos de programas, datos y sistemas. Convenciones y reglas de ejecución". Esta norma estatal se basa en la norma internacional "ISO 5807-85. Procesamiento de información: símbolos y convenciones de documentación para datos, diagramas de flujo de programas y sistemas, diagramas de redes de programas y diagramas de recursos del sistema".

Según GOST 19.701-90 bajo esquema Se refiere a una representación gráfica de la definición, análisis o método de resolución de un problema. Los diagramas se pueden utilizar para representar aspectos tanto estáticos como dinámicos de un sistema. Los símbolos dados en la norma estatal se pueden utilizar en lo siguiente tipos de circuitos :

Esquemas de datos: determinan la secuencia del procesamiento de datos y sus medios;

Diagramas de programa: muestran la secuencia de operaciones en el programa (de hecho, son diagramas de flujo de algoritmos en el sentido tradicional);

Diagramas de operación del sistema: muestran la gestión de operaciones y flujos de datos en el sistema;

Diagramas de interacción de programas: muestran la ruta de activación de programas (módulos) y su interacción con los datos correspondientes;

Diagramas de recursos del sistema: muestran la configuración de bloques de datos y bloques de procesamiento.

Como puede verse en los tipos de diagramas anteriores, se pueden utilizar no sólo para modelar el aspecto de comportamiento, sino también para problemas funcionales, de información y de diseño de componentes.

Al construir un modelo de comportamiento de un sistema, se utilizan los principios básicos del enfoque estructural: los principios de descomposición y ordenamiento jerárquico. Un modelo de comportamiento es un conjunto de diagramas (diagramas) interconectados con diferentes niveles de detalle, y con cada nuevo nivel de detalle el sistema adquiere contornos cada vez más completos.

Los diagramas pueden incluir lo siguiente: elementos de notación gráfica :

Símbolos de datos: indican la presencia de datos, el tipo de medio o el método de entrada/salida de datos;

Símbolos de proceso: indican las operaciones que se deben realizar con los datos;

Símbolos de línea: indican flujos de datos entre procesos y/o medios de almacenamiento, así como flujos de control entre procesos;

Caracteres especiales: se utilizan para hacer que los diagramas sean más fáciles de escribir y leer.

Además de dividirse según el contenido semántico, cada categoría de símbolos (excepto las especiales) se divide en símbolos básicos y específicos. Símbolo básico Se utiliza cuando se desconoce el tipo exacto de proceso o medio de almacenamiento o no es necesario describir el medio de almacenamiento real (proceso). Carácter específico Se utiliza cuando se conoce el tipo exacto de proceso o medio de almacenamiento y esto debe mostrarse en el diagrama. La siguiente tabla muestra los elementos de la notación de diagrama de flujo gráfico.

Tabla 8.1. Símbolos en diagramas de bloques.

No. Símbolo Nombre Notas
1. SÍMBOLOS DE DATOS
Básico
1.1 Datos Datos cuyo portador no está definido
1.2 Dispositivo de almacenamiento (memoria) Datos almacenados en una forma adecuada para el procesamiento automático, medio no definido
Específico
1.3 RAM Datos almacenados en RAM (memoria de acceso aleatorio)
1.4 Memoria en serie Datos almacenados en cinta magnética (cinta magnética, casete de cinta)
1.5 Memoria de acceso directo Datos almacenados en discos duros o disquetes, CD, DVD, ZIP, etc.
1.6 Documento Datos no presentados en formato informático (en papel, en películas, etc.)
1.7 Entrada manual Datos ingresados ​​manualmente usando un teclado, mouse, lápiz, etc.
1.8 Mapa Datos sobre tarjetas perforadas, tarjetas magnéticas, tarjetas con etiquetas legibles, etc.
1.9 cinta de papel Datos en cinta de papel.
1.10 Mostrar Datos mostrados en la pantalla del monitor, indicadores de señal, etc.
2. SÍMBOLOS DEL PROCESO
Básico
2.1 Proceso Operación de procesamiento de datos elemental (atómico) (por ejemplo, n:=n+1)
Específico
2.2 Proceso predefinido (procedimiento) Un proceso que consta de operaciones descritas en otra parte (en otro diagrama)
2.3 Operación manual Operación manual
2.4 Preparación Operaciones preparatorias realizadas para modificar operaciones posteriores (bucle con parámetro)
2.5 Solución Una operación con una entrada y varias salidas alternativas, una de las cuales se activa después de probar la condición escrita dentro del símbolo (declaraciones If-Then-Else o Case)
2.6 Actividades paralelas Ejecución paralela de dos o más operaciones.
2.7 Límites del ciclo El principio y el final del ciclo. Las características del bucle (inicialización, incremento, condición) se registran al principio o al final, dependiendo de dónde se verifique (ciclos con condición previa o posterior).
3. SÍMBOLOS DE LÍNEA
Básico
3.1 Línea Flujo de datos o control
Específico
3.2 Canal de comunicación Transmisión de datos a través del canal de comunicación.
3.3 Línea de puntos Una conexión alternativa entre dos o más símbolos o para delinear una sección comentada del diagrama.
4. PERSONAJES ESPECIALES
4.1 GOST Conector Se utiliza para romper líneas y continuarlas en otro lugar.
Normalmente se utiliza para indicar partes interconectadas de un diagrama en diferentes hojas. El número de conexión está escrito dentro del conector.
ISO
4.2 terminador Salida al entorno externo o entrada del entorno externo (el comienzo y el final de un proceso de procesamiento de datos [en este caso, dentro se escribe “principio” o “fin”], el origen o destino de los datos, el comienzo y el final de un proceso predefinido)
4.3 Destinatario - remitente Funcionalmente similar al símbolo "Terminator"
4.4

NORMA ESTATAL DE LA UNIÓN DE LA URSS

SISTEMA UNIFICADO DE DOCUMENTACIÓN DE SOFTWARE

DIAGRAMAS DE ALGORITMOS, PROGRAMAS, DATOS Y SISTEMAS

CONVENIOS Y NORMAS DE IMPLEMENTACIÓN

GOST 19.701-90
(ISO 5807-85)

COMITÉ ESTATAL DE LA URSS PARA LA GESTIÓN Y NORMAS DE CALIDAD DE LOS PRODUCTOS

NORMA ESTATAL DE LA UNIÓN DE LA URSS

Fecha de introducción 01.01.92

Esta norma se aplica a convenciones (símbolos) en diagramas de algoritmos, programas, datos y sistemas y establece reglas para la ejecución de diagramas utilizados para mostrar varios tipos de problemas de procesamiento de datos y medios para resolverlos.

La norma no se aplica a la forma de entradas y símbolos colocados dentro o adyacentes a símbolos que sirven para aclarar las funciones que realizan.

Los requisitos de la norma son obligatorios.

1. DISPOSICIONES GENERALES

1.1. Los diagramas de algoritmos, programas, datos y sistemas (en lo sucesivo, diagramas) constan de símbolos con un significado determinado, un breve texto explicativo y líneas de conexión.

1.2. Los esquemas se pueden utilizar en varios niveles de detalle, y el número de niveles depende del tamaño y la complejidad del problema de procesamiento de datos. El nivel de detalle debe ser tal que las distintas partes y las relaciones entre ellas se comprendan como un todo.

1.3. Esta norma define símbolos para su uso en la documentación de procesamiento de datos y proporciona orientación sobre convenciones para su uso en:

1) esquemas de datos;

2) diagramas de programa;

3) esquemas de operación del sistema;

4) esquemas de interacción del programa;

5) diagramas de recursos del sistema.

1.4. La norma utiliza los siguientes conceptos:

1) símbolo básico: un símbolo utilizado en los casos en que se desconoce el tipo exacto de un proceso o medio de almacenamiento o no es necesario describir el medio de almacenamiento real;

2) símbolo específico: un símbolo utilizado en los casos en que se conoce el tipo exacto de un proceso o medio de almacenamiento o cuando es necesario describir el medio de almacenamiento real;

3) diagrama: una representación gráfica de la definición, análisis o método para resolver un problema, en la que se utilizan símbolos para mostrar operaciones, datos, flujo, equipos, etc.

2. DESCRIPCIÓN DEL CIRCUITO

2.1. Esquema de datos

2.1.1. Los esquemas de datos representan la ruta de los datos para resolver problemas y definen los pasos de procesamiento, así como los distintos medios de almacenamiento utilizados.

2.1.2. El esquema de datos consta de:

1) símbolos de datos (los símbolos de datos también pueden indicar el tipo de medio de almacenamiento);

2) símbolos del proceso que se debe realizar con los datos (los símbolos de proceso también pueden indicar funciones realizadas por la computadora);

3) símbolos de línea que indican flujos de datos entre procesos y (o) medios de almacenamiento;

2.1.3. Los símbolos de datos preceden y siguen a los símbolos de proceso. El esquema de datos comienza y termina con caracteres de datos (excepto caracteres especiales).

2.2. Esquema del programa

2.2.1. Los diagramas de programa muestran la secuencia de operaciones en un programa.

2.2.2. El esquema del programa consta de:

1) símbolos de proceso que indican las operaciones reales de procesamiento de datos (incluidos los símbolos que definen el camino que debe seguirse, teniendo en cuenta las condiciones lógicas);

2) símbolos lineales que indican el flujo de control;

3) símbolos especiales utilizados para hacer que el diagrama sea más fácil de escribir y leer.

2.3. Diagrama de funcionamiento del sistema

2.3.1. Los diagramas de operación del sistema representan el control de las operaciones y el flujo de datos en el sistema.

2.3.2. El esquema de operación del sistema consta de:

1) símbolos de datos que indican la presencia de datos (los símbolos de datos también pueden indicar el tipo de medio de almacenamiento);

2) símbolos de proceso, que indican las operaciones que se deben realizar sobre los datos, y también definen la ruta lógica que se debe seguir;

3) símbolos lineales que indican flujos de datos entre procesos y (o) medios de almacenamiento, así como el flujo de control entre procesos;

4) símbolos especiales utilizados para hacer que el diagrama de flujo sea más fácil de escribir y leer.

2.4. Esquema de interacción del programa.

2.4.1. Los diagramas de interacción del programa muestran la ruta de activación del programa y la interacción con los datos correspondientes. Cada programa en el diagrama de interacción del programa se muestra solo una vez (en el diagrama de operación del sistema, un programa se puede mostrar en más de un flujo de control).

2.4.2. El esquema de interacción del programa consta de:

1) símbolos de datos que indican la presencia de datos;

2) símbolos de proceso que indican operaciones que deben realizarse con los datos;

3) símbolos lineales que representan el flujo entre procesos y datos, así como el inicio de procesos;

4) símbolos especiales utilizados para hacer que el diagrama sea más fácil de escribir y leer.

2.5. Diagrama de recursos del sistema

2.5.1. Los diagramas de recursos del sistema muestran la configuración de datos y unidades de procesamiento que se requiere para resolver una tarea o conjunto de tareas.

2.5.2. El diagrama de recursos del sistema consta de:

1) símbolos de datos que muestran los dispositivos de entrada, salida y almacenamiento de la computadora;

2) símbolos de proceso que representan procesadores (unidades centrales de procesamiento, canales, etc.);

3) símbolos lineales que muestran la transferencia de datos entre dispositivos de entrada/salida y procesadores, así como la transferencia de control entre procesadores;

4) símbolos especiales utilizados para hacer que el diagrama sea más fácil de escribir y leer.

Se dan ejemplos de implementación de circuitos en.

3. DESCRIPCIÓN DE SÍMBOLOS

3.1. Símbolos de datos

3.1.1. Símbolos de datos básicos

3.1.1.1. Datos

El símbolo muestra datos, el medio de almacenamiento no está definido.

3.1.1.2. Datos memorizados

El símbolo muestra los datos almacenados en una forma adecuada para su procesamiento; el medio de almacenamiento no está definido.

3.1.2. Caracteres de datos específicos

3.1.2.1. Memoria de acceso aleatorio

El símbolo muestra los datos almacenados en el dispositivo de memoria de acceso aleatorio.

3.1.2.2. Memoria de acceso serie

El símbolo representa datos almacenados en un dispositivo de almacenamiento de acceso en serie (cinta magnética, casete de cinta magnética, casete de cinta).

3.1.2.3. Dispositivo de almacenamiento de acceso directo

El símbolo representa datos almacenados en un dispositivo de almacenamiento de acceso directo (disco magnético, tambor magnético, disquete).

3.1.2.4. Documento

El símbolo muestra los datos presentados en el soporte en forma legible (diagrama de la máquina, documento para lectura óptica o magnética, microfilm, rollo de cinta con datos resumidos, formularios de entrada de datos).

3.1.2.5. Entrada manual

El símbolo muestra los datos ingresados ​​manualmente durante el procesamiento desde cualquier tipo de dispositivo (teclado, interruptores, botones, lápiz óptico, tiras de códigos de barras).

3.1.2.6. Mapa

El símbolo muestra datos presentados en un soporte similar a una tarjeta (tarjetas perforadas, tarjetas magnéticas, tarjetas con etiquetas legibles, tarjetas con etiqueta desprendible, tarjetas con etiquetas escaneables).

3.1.2.7. cinta de papel

El símbolo muestra datos presentados en un soporte en forma de cinta de papel.

3.1.2.8. Mostrar

El símbolo muestra datos presentados en forma legible por humanos en un medio en forma de dispositivo de visualización (pantalla de observación visual, indicadores de entrada de información).

3.2. Símbolos de proceso

3.2.1.Símbolos de proceso básicos

3.2.1.1. Proceso

El símbolo representa una función de procesamiento de datos de cualquier tipo (realizar una operación específica o un grupo de operaciones que resulta en un cambio en el valor, forma o disposición de la información, o en determinar cuál de varias direcciones de flujo debe seguirse).

3.2.2. Símbolos específicos del proceso

3.2.2.1. Proceso predefinido

El símbolo muestra un proceso predefinido que consta de una o más operaciones o pasos de programa que están definidos en otro lugar (en una subrutina, módulo).

3.2.2.2. Operación manual

El símbolo representa cualquier proceso realizado por una persona.

3.2.2.3. Preparación

El símbolo representa la modificación de una instrucción o grupo de instrucciones para afectar alguna función posterior (configurar un interruptor, modificar un registro de índice o inicializar un programa).

3.2.2.4. Solución

El símbolo representa una decisión o función de tipo interruptor que tiene una entrada y varias salidas alternativas, una y solo una de las cuales puede activarse después de evaluar las condiciones definidas dentro del símbolo. Los resultados del cálculo correspondiente se pueden escribir junto a las líneas que representan estas rutas.

3.2.2.5. Actividades paralelas

El símbolo representa la sincronización de dos o más operaciones paralelas.

Ejemplo.

Nota. Los procesos C, D y E no pueden comenzar hasta que se haya completado el proceso A; de manera similar, el proceso F debe esperar a que se completen los procesos B, C y D, pero el proceso C puede comenzar y/o completarse antes de que el proceso D comience y/o finalice, respectivamente.

3.2.2.6. Límite de bucle

El símbolo de dos partes representa el principio y el final de un ciclo. Ambas partes del símbolo tienen el mismo identificador. Condiciones de inicialización, incremento, terminación, etc. se colocan dentro del símbolo al principio o al final, dependiendo de la ubicación de la operación que verifica la condición.

Ejemplo.

3.3. Símbolos de línea

3.3.1.Símbolo de línea básica

3.3.1.1. Línea

El símbolo representa el flujo de datos o control.

Se pueden agregar flechas direccionales según sea necesario o para mejorar la legibilidad.

3.3.2.Símbolos de línea específicos

3.3.2.1. Transferencia de control

El símbolo representa una transferencia directa de control de un proceso a otro, a veces con la posibilidad de un retorno directo al proceso iniciador después de que el proceso iniciado haya completado sus funciones. El tipo de transferencia de control debe nombrarse dentro del símbolo (por ejemplo, solicitud, llamada, evento).

3.3.2.2. Canal de comunicación

El símbolo muestra la transmisión de datos a través del canal de comunicación.

3.3.2.3. Línea de puntos

Un símbolo representa una relación alternativa entre dos o más símbolos. Además, el símbolo se utiliza para delimitar el área anotada.

Ejemplo 1.

Cuando una de varias salidas alternativas se utiliza como entrada para un proceso, o cuando una salida se utiliza como entrada para procesos alternativos, estos símbolos se conectan mediante líneas de puntos.

Ejemplo 2.

Una salida utilizada como entrada para el siguiente proceso se puede conectar a esa entrada mediante una línea de puntos.

3.4. Caracteres especiales

3.4.1. Conector

El símbolo representa la salida a parte del circuito y la entrada desde otra parte de este circuito y se utiliza para romper una línea y continuarla en otro lugar. Los símbolos de conector correspondientes deben contener el mismo designador único.

3.4.2. terminador

El símbolo representa la salida al entorno externo y la entrada del entorno externo (principio o final del diagrama del programa, uso externo y origen o destino de los datos).

3.4.3.Comentario

El símbolo se utiliza para agregar comentarios descriptivos o notas explicativas con fines de explicación o notas. Las líneas de puntos en un símbolo de comentario están asociadas con un símbolo correspondiente o pueden delinear un grupo de símbolos. El texto de los comentarios o notas debe colocarse cerca de la forma delimitadora.

Ejemplo.

3.4.4. Aprobar

El símbolo (tres puntos) se utiliza en diagramas para indicar la omisión de un símbolo o grupo de símbolos en los que no se especifica ni el tipo ni el número de símbolos. El símbolo se utiliza sólo dentro o entre símbolos de línea. Se utiliza principalmente en diagramas que representan soluciones generales con un número desconocido de repeticiones.

Ejemplo.

4 REGLAS PARA LA APLICACIÓN DE SÍMBOLOS Y EJECUCIÓN DE DIAGRAMAS

4.1. Reglas para usar símbolos.

4.1.1. Un símbolo tiene como objetivo identificar gráficamente la función que representa, independientemente del texto dentro de ese símbolo.

4.1.2. Los símbolos del diagrama deben estar espaciados uniformemente. Mantenga las conexiones a una longitud razonable y reduzca al mínimo el número de líneas largas.

4.1.3. La mayoría de los símbolos están diseñados para permitir que se incluya texto dentro del símbolo. Las formas de los símbolos especificadas en esta norma pretenden servir como guía para los símbolos realmente utilizados. No se deben cambiar los ángulos y otros parámetros que afectan la forma apropiada de los símbolos. Los símbolos deben tener, si es posible, el mismo tamaño.

Los personajes se pueden dibujar en cualquier orientación, pero siempre que sea posible se prefiere la orientación horizontal. Reflejar la forma de un personaje denota la misma función, pero no es lo preferido.

4.1.4. La cantidad mínima de texto necesaria para comprender la función de un símbolo determinado debe colocarse dentro del símbolo determinado. El texto de lectura debe escribirse de izquierda a derecha y de arriba a abajo, independientemente de la dirección del flujo.

Ejemplo.

Si la cantidad de texto colocado dentro de un símbolo excede sus dimensiones, se debe utilizar un símbolo de comentario.

Si el uso de símbolos de comentarios pudiera confundir o interrumpir el flujo del diagrama, el texto debería colocarse en una hoja separada y debería proporcionarse una referencia cruzada al símbolo.

4.1.5. Los esquemas pueden utilizar un identificador de símbolo. Este es el identificador asociado con un símbolo determinado, que identifica el símbolo para uso de referencia en otros elementos de la documentación (por ejemplo, un listado de programas). El ID del símbolo debe estar ubicado a la izquierda encima del símbolo.

Ejemplo.

4.1.6. Los diagramas pueden utilizar descripciones de símbolos (cualquier otra información, por ejemplo, para mostrar un uso especial de un símbolo con una referencia cruzada o para mejorar la comprensión de una función como parte de un diagrama). La descripción del símbolo debe ubicarse a la derecha encima del símbolo.

Ejemplo.

4.1.7. En los diagramas de sistemas, los símbolos que representan medios de almacenamiento a menudo representan métodos de entrada/salida. Para usarlo como referencia a la documentación, el texto del diagrama para los símbolos que representan métodos de salida debe colocarse a la derecha encima del símbolo, y el texto de los símbolos que representan métodos de entrada debe colocarse a la derecha debajo del símbolo.

Ejemplo.

4.1.8. Los diagramas pueden utilizar una representación detallada, que se indica mediante un símbolo de barra para el proceso o los datos. El símbolo de la barra indica que hay información más detallada disponible en otra parte del mismo conjunto de documentación.

Un símbolo de raya es cualquier símbolo que tiene una línea horizontal dibujada en su interior en la parte superior. Entre esta línea y la línea superior del símbolo hay un identificador que indica una representación detallada de ese símbolo.

El carácter terminador debe usarse como primer y último carácter de la representación detallada. El primer carácter terminador debe contener una referencia, que también está presente en el carácter de barra.

Símbolo con raya Vista detallada

4.2. Reglas para hacer conexiones.

4.2.1. Los flujos de datos o flujos de control en los diagramas se muestran como líneas. La dirección del flujo de izquierda a derecha y de arriba a abajo se considera estándar.

En los casos en los que se necesita mayor claridad en el diagrama (por ejemplo, al realizar conexiones), se utilizan flechas en las líneas. Si el flujo tiene una dirección distinta a la estándar, las flechas deben indicar esa dirección.

4.2.2. Deben evitarse las líneas que se cruzan en los diagramas. Las líneas que se cruzan no tienen conexión lógica entre sí, por lo que no se permiten cambios de dirección en los puntos de intersección.

Ejemplo.

4.2.3. Se pueden combinar dos o más líneas entrantes en una línea saliente. Si dos o más líneas se fusionan en una sola, se debe cambiar la ubicación de la fusión.

Ejemplo.

4.2.4. Las líneas en los diagramas deben acercarse al símbolo desde la izquierda o desde arriba, y originarse desde la derecha o desde abajo. Las líneas deben dirigirse hacia el centro del símbolo.

4.2.5. Si es necesario, las líneas de los diagramas deben dividirse para evitar intersecciones innecesarias o líneas demasiado largas, y también si el diagrama consta de varias páginas. El conector al comienzo de la ruptura se llama conector externo y el conector al final de la ruptura se llama conector interno.

Ejemplo.

Conector externo Conector interno

4.3. Convenciones especiales

4.3.1. Múltiples salidas

4.3.1.1. Se deben mostrar varias salidas de un símbolo:

1) varias líneas desde este símbolo hasta otros símbolos;

2) una línea de un símbolo determinado, que luego se bifurca en el número correspondiente de líneas.

Ejemplos.

4.3.1.2. Cada salida de símbolo debe ir acompañada de los valores de condición correspondientes para mostrar la ruta lógica que representa, de modo que se identifiquen esas condiciones y las referencias correspondientes.

Ejemplos.

4.3.2. Vista repetida

4.3.2.1. En lugar de un solo símbolo con texto asociado, se pueden usar múltiples símbolos superpuestos, cada uno de los cuales contiene texto descriptivo (usando o generando múltiples medios de almacenamiento o archivos, produciendo múltiples copias de informes impresos o formatos de tarjetas perforadas).

4.3.2.2. Cuando varios caracteres representan un conjunto ordenado, el orden debe ser desde el frente (primero) hacia atrás (último).

4.3.2.3. Las líneas pueden ingresar o originarse desde cualquier punto de los símbolos superpuestos, pero se deben cumplir los requisitos. La prioridad o el orden secuencial de múltiples símbolos no cambia según el punto en el que entra o sale una línea.

Ejemplo.

5. APLICACIÓN DE SÍMBOLOS

Nombre del símbolo

Esquema de datos

Esquema del programa

Diagrama de funcionamiento del sistema

Esquema de interacción del programa.

Diagrama de recursos del sistema

Símbolos de datos

Básico

Datos memorizados

Específico

Memoria de acceso aleatorio

Memoria de acceso secuencial

Dispositivo de almacenamiento de acceso directo

Documento

Entrada manual

cinta de papel

necesitarás

  • - plantilla para dibujar diagramas de bloques;
  • - portaminas;
  • - borrador;
  • - papel;
  • - un ordenador con acceso a Internet.

Instrucciones

El principio y el final del algoritmo están indicados por óvalos. Dentro de ellos se colocan las palabras “Principio” y “Fin”, respectivamente. Una flecha hacia abajo viene del óvalo, que simboliza el comienzo del algoritmo, y una flecha desde arriba llega al óvalo, que simboliza el final del algoritmo.

Los pasos correspondientes a actividades que no son de E/S se indican mediante rectángulos. Un ejemplo de tal acción es el cálculo y asignación del resultado a una variable particular. La flecha del paso anterior llega al rectángulo desde arriba y la flecha del paso siguiente viene desde debajo.

Los paralelogramos se utilizan para representar pasos correspondientes a operaciones de E/S. Hay dos tipos de operaciones de este tipo: asignar datos recibidos de algún lugar a una variable y enviar datos de una variable a un archivo, puerto, impresora, etc.

Las ramas están indicadas por diamantes. La flecha del paso anterior llega a la esquina superior del diamante y flechas como "No" y "Sí" vienen de sus esquinas laterales. Llegan, respectivamente, a los pasos realizados cuando no se cumple la condición y cuando se cumple la condición. La esquina inferior del diamante queda libre. En sí mismo (por ejemplo, igualdad, estricta o no estricta) dentro de un diamante.

Un rectángulo con paredes laterales dobles representa la transición a la subrutina. Después de que se encuentra una declaración de retorno en una subrutina, continúa la ejecución del programa principal. En el interior se indica el nombre de la subrutina. Los diagramas de bloques de todas las subrutinas se encuentran debajo del diagrama de bloques del programa principal o en páginas separadas.

Si desea crear diagramas de flujo electrónicamente, utilice una aplicación llamada Flowchart. Si lo deseas, también puedes dominar lenguajes de programación especiales en los que el propio proceso de programación consiste en la elaboración de un diagrama de flujo. Hay dos lenguajes de este tipo: Dragon y HiAsm.

Fuentes:

  • cómo dibujar un diagrama de bloques

Un diagrama de flujo es una forma de registro formalizado de un algoritmo o proceso. Cada paso del algoritmo en esta representación se representa en forma de bloques de varias formas, que están conectados por líneas. En un diagrama de flujo, puede mostrar todas las etapas de la resolución de cualquier problema, comenzando con la entrada de datos iniciales, el procesamiento por parte de los operadores, la ejecución de funciones cíclicas y condicionales y terminando con las operaciones para generar los valores resultantes.

Instrucciones

Como regla general, al comienzo del algoritmo se ingresan los datos iniciales para resolver el problema. Dibuja un paralelogramo debajo de la línea para que sea una extensión continua del diagrama. En un paralelogramo, escriba la acción que se está realizando, generalmente son operaciones de datos desde la pantalla (Leer nInp) u otros dispositivos. Es importante que las variables que ingresó en este paso se utilicen más adelante en todo el cuerpo del diagrama de flujo.

La ejecución de una o un grupo de operaciones, cualquier procesamiento de datos (cambio de valor o forma de presentación) se indica mediante un rectángulo. Dibuja esta figura en el lugar correcto del algoritmo al elaborar el diagrama de flujo. Dentro del rectángulo, anota las acciones realizadas, por ejemplo, la operación de asignación se escribe de la siguiente manera: mOut = 10*nInp b + 5. A continuación, también para continuar con el diagrama de flujo, dibuja una línea hacia abajo.

Un componente importante de cualquier algoritmo y, en consecuencia, de un diagrama de flujo son los operadores condicionales y cíclicos. Estos operadores tienen una entrada y dos o más salidas alternativas. Después de calcular la condición especificada por el operador, la transición adicional se lleva a cabo a lo largo de una sola ruta. Dibuja la entrada al elemento como una línea que ingresa al vértice superior del elemento.

Para especificar un operador de condición, dibuje un diamante en esta línea. Dentro de la figura, indique la condición en sí y dibuje líneas que indiquen la transición posterior dependiendo de su cumplimiento. La condición se establece en el caso general mediante operaciones de comparación (>,<, =). Переход по линии вниз осуществляется при истинном условии, назад – при ложном. Укажите около выходных линий фигуры результаты условия (true, false). Невыполнение условия (false) возвращает к определенному шагу выше по телу алгоритма. Проведите линии под прямым углом от выхода с условия и до нужного оператора.

El operador cíclico se indica mediante rectángulos con esquinas biseladas. Además, para dibujar este operador se utilizan dos figuras de contorno. El comienzo del ciclo está indicado por una figura con las esquinas superiores biseladas, el final del ciclo, por una figura con las esquinas inferiores biseladas. En la forma del comienzo del bucle, indique la condición para el bucle y entre las formas de límite dibuje operadores de bucle.

Al final del diagrama de flujo, se debe indicar la salida de los datos resultantes a los medios o a la pantalla. La declaración de salida se dibuja de manera similar a la declaración de entrada. Dibuje un paralelogramo y las operaciones de inferencia dentro de él usando variables de salida.

Un diagrama de flujo es una forma universal de expresar un algoritmo, que luego puede traducirse a cualquier lenguaje de programación. Está creado en una forma adecuada para la lectura humana. Esto le permite verificar manualmente la exactitud del algoritmo.

Instrucciones

Al final de cada una de las líneas que conectan los elementos del diagrama de bloques entre sí, aplique. Esto le permitirá determinar con mayor precisión el orden de las acciones, especialmente si el algoritmo está ramificado.




Arriba