Глава 1. Понятие алгоритма, базовые алгоритмические констркуции - 1.3. Способы записи алгоритмов

E-mail Печать PDF
Рейтинг пользователей: / 17
ХудшийЛучший 
Индекс материала
Глава 1. Понятие алгоритма, базовые алгоритмические констркуции
1.2. Свойства алгоритма
1.3. Способы записи алгоритмов
1.4. Базовые алгоритмические конструкции
1.4.1. Линейные алгоритмы
1.4.2. Разветвляющиеся алгоритмы
1.4.3. Циклические алгоритмы
1.4.4. Итерационные циклы
1.4.5. Вложенные циклы
1.4.6. Использование рекуррентной формулы
1.5. Тестирование алгоритма
Все страницы

1.3. Способы записи алгоритмов

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

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

Запишем алгоритм поиска максимального из двух чисел a и b.

1.     Задать числовые значения a и b.

2.     Если a > b, то max присвоить значение a, иначе max = b.

3.     Записать в качестве результата значение max.

4.     Конец.

Правильность алгоритма можно проверить, если выполнить его формально «вручную».

Номер этапа

a

b

max

Пояснение

1

8

16

-

Задаем числовые значения a, b

2

8

16

-

8 > 16 - неверно, следовательно,  max = 16 (выбираем действие после слова иначе)

3

8

16

16

Записываем ответ: max = 16

 

Номер этапа

a

b

max

Пояснение

1

8

3

-

Задаем числовые значения a, b

2

8

3

-

8 > 3 - верно, следовательно,  max = 8

3

8

8

16

Записываем ответ: max = 8  (выбираем действие  после слова то)

Алгоритм можно записать, частично используя стандартные приемы построения алгоритмов в виде комбинации базовых алгоритмических структур. Таких базовых структур всего три: следование, ветвление и цикл. Характерной особенностью всех базовых структур является наличие одного входа и одного выхода.

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

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

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

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

алг название алгоритма (арг список исходных данных; рез список результатов)

нач

    описание промежуточных величин

последовательность команд алгоритма

кон

Запишем задачу нахождения наибольшего из двух чисел a и b с использованием псевдокода.

алг Нахождение наибольшего (арг a, b; рез max)

нач

    ввод a, b

Если a > b

то max = a

иначе max = b

Все если

вывод max

кон

В дальнейшем мы будем использовать этот язык для записи алгоритмов в силу его простоты и наглядности.

Графическая форма представления алгоритма является более компактной. Алгоритм изображается в виде последовательности связанных между собой блоков, каждый из которых соответствует выполнению одного или нескольких действий. Графическое представление алгоритма называется блок-схемой. Графические обозначения блоков стандартизованы. Некоторые из часто используемых блоков представлены в табл. 1.

Отдельные блоки соединяются линиями потоков информации. Направление линий сверху вниз или слева направо принимается за основное (см. табл. 1).

Алгоритм, записанный на языке программирования, называется программой. При использовании этих языков запись алгоритма совершенно формальна и пригодна для выполнения на ЭВМ. Отдельная конструкция языка программирования называется оператором. Программа - это упорядоченная последовательность операторов.

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

В записи алгоритма команда ввода выглядит так:

ввод < список переменных >

Пример: ввод а, b, c.

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

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

вывод < список вывода >.

Пример: вывод a, b, c.

Одной из основных команд в алгоритмах является команда присваивания. Она записывается так:

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

Знак «=» читается «присвоить».

Например, y = 5 читается «переменной y присвоить значение 5». После выполнения команды присваивания значение переменной, записанной слева от знака «=», становится равным значению выражения, записанного справа от знака «=».

Таблица 1

Изображение основных блоков на блок-схеме

Обозначение блока

Пояснение

Процесс (вычислительное действие, реализованное операцией присваивания)

Решение (проверка условия, реализующая условный переход)

Начало, конец алгоритма

Ввод исходных данных, вывод результатов

Модификация (для организации циклов с параметром)

Примеры команд присваивания: x = 1/2; z = a + b; k = 2 * k.

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

1.     Значение выражения, записанного в правой части команды присваивания, вычисляется с использованием текущих значений всех величин, входящих в это выражение;

2.     Переменной присваивается новое вычисленное текущее значение. При этом предшествующее значение переменной стирается из памяти компьютера.

Следовательно, команда k = 2 * k означает, что значение переменной k, хранящее в ячейке памяти, увеличивается в 2 раза и полученный результат становится новым текущим значением переменной k.



 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

Комментарии

Интересное




Похожие материалы

Партнёры