Общая характеристика изобразительных средств алгоритмов
Чтобы довести алгоритмы до пользователя, его необходимо формализовать по некоторым правилам (соглашениям) посредством конкретных изобразительных средств, которые в конечном итоге формируют определенные вычислительные схемы этих алгоритмов. К основным изобразительным средствам алгоритмов относятся следующие способы их записи;
· словесный;
· формульно-словесный;
· блок-схемный;
· язык операторных схем;
· псевдокоды;
· алгоритмические языки.
Любое более или менее формализованное представление алгоритма независимо от используемых изобразительных средств должно содержать следующие элементы:
· начало и конец вычислительной схемы;
· объекты (данные), над которыми выполняются действия, и результаты выполнения алгоритма;
· этапы (шаги) преобразования данных с формализованной записью их содержания;
· указания о последовательности выполнения этапов и отдельных шагов алгоритмического процесса.
При словесном способе записи алгоритма содержание последовательных этапов вычислений задается в произвольной форме на естественном языке.
Формально-словесный способ записи алгоритма основан на задании инструкций о выполнении конкретных действий в определенной последовательности с использованием математических символов и выражений.
Эти два способа не являются строго формальными и наглядными. Наиболее наглядным способом записи алгоритма является графическое изображение логической структуры алгоритма в виде геометрических фигур (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций. Данный способ является строго формальным и наглядным (см. рис.2.1). Разработаны ГОСТы (ГОСТ 19.002-80 содержит условные графические обозначения, размеры и отображаемые ими функции). Эти ГОСТы входят в состав Единой системы программной документации под названием “Схемы алгоритмов и программ”.
Пример. Блок-схема вычисления наибольшего общего делителя (НОД) двух чисел A и B.
Рис. 2. 1
Операторная схема – это аналитическая форма представления алгоритма с помощью операторов, описывающих содержание некоторых автономных этапов или детальных шагов вычислительного процесса, выделенных при решении задачи. Предполагается, что каждый этап или шаг реализуется посредством арифметического оператора (А) и логического оператора ( Р). Схему дополняют специальными операторами управления: ввод данных (В), печать результатов (П), останов процесса (Я) и т.д. Каждый оператор имеет порядковый номер в виде индекса. Введены минимальные правила формализации управления логических схем программ: операторы выполняются в естественном порядке слева направо; если от оператора слева нет передачи управления оператору справа, то между ними ставится точка с запятой; при выполнении условия логического оператора очередным становится оператор, записанный справа от него, иначе подлежащий выполнению оператор указывается стрелкой. Операторный метод ввел математик А.А.Ляпунов в 1954 г. Данное изобразительное средство положило начало автоматизации программирования.
Пример. Алгоритм вычисления НОД двух чисел.
Н В1 А2 А3 Р4 ( M < > N) P5 ( M > N) A6; A7 П8 Я
Здесь В1 – ввод значений А и В; А2, А3 – присваивание их переменным M и N; Р4 , Р5 – проверка условий; А6, А7 – вычисление выражений M - N и N - M с последующим их присваиванием переменным M и N; П8 – печать результата.
Псевдокод – это язык проектирования алгоритмов, содержащий основные операторы, близкие к алгоритмическому языку, и текст предложений на естественном языке. Псевдокод является дальнейшим развитием формульно-словесной записи алгоритмов. Для более строгой формализации алгоритмического процесса здесь введены конструкции – аналоги условных циклических операторов.
Пример. Алгоритм вычисления НОД двух чисел.
Начало
Ввод значений А, В
M = A; N = B
ВЫПОЛНИТЬ ПОКА (M < > N)
ЕСЛИ M > N ТО
M = M-N
ИНАЧЕ
N = N-M
КОНЕЦ ЦИКЛА
Вывод: “Значение НОД равно” M
Конец вычислительного процесса
Все формы записи алгоритмов, кроме алгоритмических языков, являются вспомогательными. Конечная цель такой формализации алгоритма – зафиксировать его на конкретном алгоритмическом языке. При записи алгоритмов на языках программирования учитываются строгие правила конкретного языка.
Дата добавления: 2015-08-08; просмотров: 691;