Информатика и ИКТ подготовка к ЕГЭ
Способы задания алгоритма - Алгоритмы - Краткий теоретический справочник
Алгоритм — заранее заданное возможному исполнителю точное предписание совершить определённую последовательность действий для получения решения задачи за конечное число шагов.
4.1. Способы задания алгоритма
На практике наиболее распространены следующие способы задания алгоритмов:
— словесный (запись на естественном языке);
— графический (изображения из графических символов);
— псевдокод (полуформализованное описание алгоритмов на условном алгоритмическом языке, включающее в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
— программный (тексты на языках программирования).
Словесный способ
Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задаётся в произвольном изложении на естественном языке.
Пример. Запишите алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Евклида).
Алгоритм может быть следующим:
1) Задать два числа.
2) Если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма.
3) Определить большее из чисел.
4) Заменить большее из чисел разностью большего и меньшего из чисел.
5) Повторить алгоритм с шага 2.
Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи.
Графический способ
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется схемой алгоритма, или блок-схемой. В блок-схеме каждому типу действий соответствует геометрическая фигура, представленная в виде блочного символа. В таблице приведены наиболее часто употребляемые символы.
Название |
Блок-схема |
Пояснение |
Пуск-останов |
Начало, конец алгоритма, входи выход в подпрограмму |
|
Процесс |
Вычислительное действие или последовательность действий |
|
Решение |
Проверка условий |
|
Модификация |
Начало цикла |
|
Предопределённый процесс |
Вычисления по подпрограмме |
|
Ввод-вывод |
Ввод-вывод в общем виде |
Блок «процесс» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.
Блок «решение» используется для обозначения переходов управления по условию. В каждом блоке «решение» должны быть указаны вопрос, условие или сравнение, которые он определяет.
Блок «модификация» используется для организации циклических конструкций. Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.
Блок «предопределённый процесс» используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.
Псевдокод
Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.
В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования. Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам. В псевдокоде, так же, как и в формальных языках, есть служебные слова, смысл которых однозначно определён. Например, алгоритмы на алгоритмическом языке записываются с помощью служебных слов, представленных в таблице 1.8.
Таблица 1.8. Служебные слова алгоритмического языка.
алг (алгоритм) |
сим (символьный) |
дано |
да |
нет |
арг (аргумент) |
лит (литерный) |
надо |
ДЛЯ |
при |
рез (результат) |
лог(логический) |
если |
от |
до |
нач(начало) |
таб (таблица) |
то |
знач |
выбор |
кон (конец) |
нц (начало цикла) |
иначе |
и |
или |
цел (целый) |
кц (конец цикла) |
все |
ввод |
вывод |
вещ (вещественный) |
длин (длина) |
пока |
утв |
не |
Общий вид алгоритма:
алг название алгоритма (аргументы и результаты)
дано условия применимости алгоритма
надо цель выполнения алгоритма
нач описание промежуточных величин
последовательность команд (тело алгоритма)
кон
Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключённая между словами нач и кон, — телом алгоритма.
Программный способ записи алгоритмов
Алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. В этом случае язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой.