Визуальные алгоритмы
При проектировании визуальных алгоритмов используют специальные графические элементы, называемые графически блоками, которые представлены на рис. 2.
Результатом алгоритмизации решения задачи является блок-схема алгоритма, состоящая из некоторой последовательности таких графических блоков.
Рис.2. Основные блоки визуальных алгоритмов
Общими правилами при проектировании визуальных алгоритмов являются следующие:
· В начале алгоритма должны быть блоки ввода значений входных данных.
· После ввода значений входных данных могут следовать блоки обработки и блоки условия.
· В конце алгоритма должны располагаться блоки вывода значений выходных данных.
· В алгоритме должен быть только один блок начала и один блок окончания.
· Связи между блоками указываются направленными или ненаправленными линиями.
Этап проектирования алгоритма следует за этапом формального решения задачи, на котором определены входные и выходные данные, а также зависимости между ними.
При построении алгоритмов для сложной задачи используют системный подход с использованием декомпозиции (нисходящее проектирование сверху-вниз). Как и при разработке любой сложной системы, при построении алгоритма используют дедуктивный и индуктивный методы. При дедуктивном методе рассматривается частный случай общеизвестных алгоритмов. Индуктивный метод применяют в случае, когда не существует общих алгоритмических решений.
Одним из системных методов разработки алгоритмов является метод структурной алгоритмизации. Этот метод основан на визуальном представлении алгоритма в виде последовательности управляющих структурных фрагментов. Выделяют три базовые управляющие процессом обработки информации структуры: композицию,
альтернативу и итерацию.С помощью этих структур можно описать любые процессы обработки информации.
Композиция (следование) - это линейная управляющая конструкция, не содержащая альтернативу и итерацию. Она предназначена для описания единственного процесса обработки информации.
Альтернатива - это нелинейная управляющая конструкция, не содержащая итерацию. Она предназначена для описания различных процессов обработки информации, выбор которых зависит от значений входных данных.
Итерация - это циклическая управляющая структура, которая содержит композицию и ветвление. Она предназначена для организации повторяющихся процессов обработки последовательности значений данных.
В соответствии с наличием в алгоритмах управляющих структур композиции, альтернативы и итерации алгоритмы классифицируют на: линейные, разветвленные и циклические алгоритмы.
Линейные алгоритмы не содержат блока условия. Они предназначены для представления линейных процессов. Такие алгоритмы применяют для описания обобщенного решения задачи в виде последовательности модулей. Пример линейного алгоритма приведен на рисунке 3.
Рис. 3. Пример линейного визуального алгоритма