ВИЗУАЛЬНЫЕ АЛГОРИТМЫ

 

При проектировании визуальных алгоритмов используют специальные графические элементы, называемые графически блоками, которые представлены на рис. 2.

 
 

Результатом алгоритмизации решения задачи является блок-схема алгоритма, состоящая из некоторой последовательности таких графических блоков.

 
 

 

 

Рис.2. Основные блоки визуальных алгоритмов

 

 

Общими правилами при проектировании визуальных алгоритмов являются следующие:

· В начале алгоритма должны быть блоки ввода значений входных данных.

· После ввода значений входных данных могут следовать блоки обработки и блоки условия.

· В конце алгоритма должны располагаться блоки вывода значений выходных данных.

· В алгоритме должен быть только один блок начала и один блок окончания.

· Связи между блоками указываются направленными или ненаправленными линиями.

Этап проектирования алгоритма следует за этапом формального решения задачи, на котором определены входные и выходные данные, а также зависимости между ними.

При построении алгоритмов для сложной задачи используют системный подход с использованием декомпозиции (нисходящее проектирование сверху-вниз). Как и при разработке любой сложной системы, при построении алгоритма используют дедуктивный и индуктивный методы. При дедуктивном методе рассматривается частный случай общеизвестных алгоритмов. Индуктивный метод применяют в случае, когда не существует общих алгоритмических решений.

Одним из системных методов разработки алгоритмов является метод структурной алгоритмизации. Этот метод основан на визуальном представлении алгоритма в виде последовательности управляющих структурных фрагментов. Выделяют три базовые управляющие процессом обработки информации структуры: композицию,

альтернативу и итерацию.С помощью этих структур можно описать любые процессы обработки информации.

Композиция (следование) - это линейная управляющая конструкция, не содержащая альтернативу и итерацию. Она предназначена для описания единственного процесса обработки информации.

Альтернатива - это нелинейная управляющая конструкция, не содержащая итерацию. Она предназначена для описания различных процессов обработки информации, выбор которых зависит от значений входных данных.

Итерация - это циклическая управляющая структура, которая содержит композицию и ветвление. Она предназначена для организации повторяющихся процессов обработки последовательности значений данных.

В соответствии с наличием в алгоритмах управляющих структур композиции, альтернативы и итерации алгоритмы классифицируют на: линейные, разветвленные и циклические алгоритмы.

Линейные алгоритмы не содержат блока условия. Они предназначены для представления линейных процессов. Такие алгоритмы применяют для описания обобщенного решения задачи в виде последовательности модулей. Пример линейного алгоритма приведен на рисунке 3.

 
 

 

 

Рис. 3. Пример линейного визуального алгоритма