Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Блок-схемы и Алгоритмы.docx
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
229 Кб
Скачать
☆

7. Понятие алгоритмического языка

 

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

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

Алгоритм, записанный на алгоритмическом языке, должен иметь название. Название желательно выбирать так, чтобы было ясно, решение какой задачи описывает данный алгоритм. Для выделения названия алгоритма перед ним записывают служебное слово АЛГ (АЛГоритм). За названием алгоритма (если это необходимо) записывают переменные, используемые в алгоритме, тип их данных (целый, вещественный и т. д). Для указания начала и конца алгоритма его команды заключают в служебные слова: НАЧ (НАЧало) и КОН (КОНец). Команды записывают последовательно:

 

АЛГ <название алгоритма>;

ПЕР <название переменной>: <тип переменной>;

НАЧ

<серия команд алгоритма>;

КОН

Например:

АЛГ пользования лифтом;

НАЧ

Нажать кнопку вызов;

Дождаться открытия дверей;

Войти в лифт;

Нажать кнопку этажа;

Дождаться остановки и открытия дверей;

Выйти из лифта;

КОН

 

Очень часто при составлении алгоритма требуется описать определенную величину.

Величина – это определенный информационный объект, который имеет имя, значение и тип.

Исполнителем алгоритмов работы с величинами может быть человек или специальное техническое устройство (компьютер). Такой исполнитель должен обладать памятью для хранения величин.

Величины бывают постоянными и переменными.

Постоянная величина (константа) не изменяет своего значения в ходе выполнения алгоритма (например: число π).

Переменная величина может изменять значение в ходе выполнения алгоритма. Переменная всегда обозначается символическим именем (например: X, Y, x, y).

Тип величины определяет множество значений, которые может принимать величина, и множество действий, которые можно выполнять с величиной. Основные типы величин: целый, вещественный, символьный, логический.

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

Например: A+B; 2*x–y; K+L – Sin(X) и др.

Команда присваивания – команда исполнителя, в результате которой переменная получает новое значение.

Формат команды:

 

<имя переменной> := <выражение>

 

Исполнение команды присваивания происходит в следующем порядке: сначала вычисляется <выражение>, затем полученное значение присваивается переменной. Например: С:= A+B; к:=10.

Любой алгоритм может быть построен из команд присваивания, ввода, вывода, ветвления и цикла.

Команда ввода – команда, при которой значения переменных задаются через внешний источник (например, клавиатуру).

Например: ВВОД А (ввод значения переменной А с клавиатуры).

Команды вывода – команда, по которой значение переменной передается во внешний источник (например, на экране дисплея).

 

пример 1.4. Вычисление суммы и произведения.

Даны два целых числа. Составить алгоритм нахождения суммы и произведения этих чисел.

В алгебраической форме решение выглядит следующим образом:

С=а+b

D=а*b

Исходными данными являются две целые величины а и b. Результат – два целых числа C и D.

 

АЛГ действия над числами

ПЕР а, b, С, D: целые

НАЧ

Ввод а, b

C:=a+b

D:=a*b

Вывод ‘Сумма=’, С

Вывод ‘Произведение=’, D

КОН

 

Обратите внимание, что для вывода текста (любой символьной последовательности) его следует записать в кавычках в команде Вывод.

 

Разветвляющиеся алгоритмы – это алгоритмы, при исполнении которых порядок следования команд определяется в зависимости от результатов проверки некоторых условий. Для их описания в алгоритмическом языке используют специальную составную команду – команду ветвления (где КВ – Конец Ветвления).

 

Полная форма команды

 

ЕСЛИ <условие>

ТО <серия1>

ИНАЧЕ <серия2>

КВ

Краткая форма команды

 

ЕСЛИ <условие>

ТО <серия>

КВ

 

Например:

 

ЕСЛИ документ не сохранен

ТО сохранить документ

ИНАЧЕ не сохранять документ

КВ

Например:

 

ЕСЛИ документ не сохранен

ТО сохранить документ

КВ

 

Пример 1.5. Определение max.

Даны два вещественных числа а, b. Найти наибольшее среди них.

 

АЛГ наибольшее число

ПЕР а, b, с: вещественные

НАЧ

Ввод а, b

ЕСЛИ а>b

ТО c:=a

ИНАЧЕ c:=b

КВ

Вывод ‘Наибольшее число=’, с

КОН

Команда выбора является развитием команды ветвления:

 

 

ВЫБОР

ПРИ<условие1>:<серия 1>

ПРИ<условие2>:<серия 2>

…

ПРИ<условиеN>:<серияN>

ИНАЧЕ <серия N+1>

КВ

Например:

 

ВЫБОР

ПРИ условие, что зима: одеться по-зимнему

ПРИ условие, что весна: одеться по-весеннему

ПРИ условие, что осень: одеться по-осеннему

ИНАЧЕ одеться по-летнему

КВ

 Алгоритмы, при исполнении которых отдельные команды или серии команд выполняются неоднократно, называются циклическими. Сами команды образуют циклическую часть (тело цикла) и ограничиваются словами НЦ (Начало Цикла) и КЦ (Конец Цикла). Для организации циклических алгоритмов в алгоритмическом языке используют специальную составную команду цикла.

 

Цикл с предусловием

 

ПОКА <условие>, ПОВТОРЯТЬ

НЦ

<циклическая часть>

КЦ

Цикл с постусловием

ПОВТОРЯТЬ

НЦ

<циклическая часть>

КЦ

ДО <условие>

 

Например:

 

ПОКА горит зеленый, ПОВТОРЯТЬ

НЦ

можно переходить дорогу

КЦ

Например:

 

ПОВТОРЯТЬ

НЦ

можно переходить дорогу

КЦ

ДО горит красный

 

Цикл с параметром – повторное выполнение циклической части, пока целочисленный параметр пробегает множество всех значений от начального (In) до конечного (Ik).

 Цикл с параметром

 

ДЛЯ I ОТ In ДО Ik повторять

НЦ

<циклическая часть>

КЦ

Например:

 

ДЛЯ I ОТ 1 ДО 31 повторять

НЦ

Вывод I, ‘ января’

КЦ

 

Пример 1.6. Вычисление факториала числа.

Дано целое положительное число n. Вычислить факториал этого числа: n!=1×2×3×…×n.

Задача решается с помощью циклического алгоритма. Составим три варианта этого алгоритма: с применением цикла с предусловием, с постусловием и с параметром.

 

Алгоритм с применением цикла с предусловием

АЛГ факториал

ПЕР F, I, N : целые

НАЧ

Ввод N

F:=1

I:=1

ПОКА I<= N, ПОВТОРЯТЬ

НЦ

F := F*I

I:=I+1

КЦ

Вывод ‘Факториал=’, F

КОН

 

Алгоритм с применением цикла с постусловием

 

АЛГ факториал

ПЕР F, I, N: целые

НАЧ

Ввод N

F:=1

I:=1

ПОВТОРЯТЬ

НЦ

F := F*I

I:=I+1

КЦ

ДО F>N

Вывод ‘Факториал=’, F

КОН

 

Алгоритм с применением цикла с параметром

 

АЛГ факториал

ПЕР F, I, N: целые

НАЧ

Ввод N

F:=1

ДЛЯ I ОТ 1 ДО N повторять

НЦ

F := F*I

КЦ

Вывод ‘Факториал=’, F

КОН