Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Алгоритмизация. Лекция 1- 6 .doc
Скачиваний:
7
Добавлен:
01.04.2025
Размер:
1.01 Mб
Скачать

1.2. Словесная форма записи алгоритмов

Первоначально для записи алгоритмов пользовались средствами обычного языка, но с тщательно отобранным набором слов и фраз, не допускающим повторений, синонимов, двусмысленностей, лишних слов. Кроме того, принимались определённые соглашения о форме записи, порядке выполнения действий, допускалось использова­ние математических символов.

Рассмотрим пример — алгоритм отыскания минимума и максимума в любой конечной последовательности из n вещественных чисел а , а ,..., а ,…, а . При небольшом количестве чисел доста­точно беглого взгляда, чтобы указать максимум и мини­мум. Однако, если n велико, задача усложняется. В этом легко убедиться, если попытаться отыскать максимум и минимум среди нескольких сотен многоразрядных чисел. Поэтому необходимо придерживаться определенной системы. Например, взять в качестве начального значе­ния

как для максимума, так и для минимума первое число, далее последовательно перебирать числа и срав­нивать каждое из них с установленным к текущему мо­менту значением максимума. Если очередное число пре­вышает максимум, считать его новым значением макси­мума (прежнее значение «забыть»), после чего можно переходить к новому числу. Если анализируемое число не больше максимума, то сравнить его с установленным к текущему моменту значением минимума. Если число оказывается меньшим минимума, считать его новым зна­чением минимума и перейти к следующему числу; если число не меньше минимума, просто переходить к анализу следующего числа. Перебрав, таким образом, все числа, получим окончательные значения максимума и миниму­ма. Изложенные правила можно представить в виде словесной записи:

Начало.

1. Ввести (а , i= 1, 2, ..., n).

2. min:=a ; max:=a .

3. i:=2.

4. Если а > mах, то перейти к п. 5, иначе перейти к п. 6.

5. max:=a ; перейти к п. 8.

6. Если a < min, перейти к п. 7, иначе перейти к п. 8.

7. min:=a .

8. i:=i+1.

9. Если i ≤ n, то перейти к п. 4, иначе перейти к п. 10.

10. Печатать (max, min).

Конец.

1.3. Псевдокод

Псевдокод представляет собой метод применения естественного языка для описания алгоритма, но с конструкциями, близкими к конструкциям структурных языков программирования. Это позволяет создавать машинно-независимое описание процесса решения задачи, допускающее последовательное использование языков программирования. Псевдокод

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

Ключевые слова выбираются так, чтобы сделать алгоритм ясным, строгим и однозначным. Ключевые слова псевдокода обязательно выделяются подчёркиванием, более крупным шрифтом (написанием иностранных слов и т. п.

Примером псевдокода является алгоритмический язык акад. А.П. Ершова, который изучается в старших классах средней школы. Ключевые слова алгоритмического языка выделяются более жирным написанием и подчеркиванием. В качестве основных в нем используются конструкция последовательности (отдельные операторы записываются на отдельных строках друг за другом или отделяются точкой с запятой), конструкция еслитоиначе, конструкция повторения поканцкц (служебные слова нц и кц служат для выделения в алгоритме тела цикла). Ниже приведены примеры записи алгоритмов на языке А. П. Ершова:

алг нахождение минимума и максимума в последовательности

чисел (цел k, n, вещ таб a [k : n], вещ max, min)

арг k, n, а

рез mах, min

нач цел i

min: = a[ k ]

max: = a[ k ]

i : = k +1

пока i ≤ n

нц

если а[ i ] > max

то max: = а[ i ]

иначе если а[ i ] < min

то min: = а[ i ]

все

i : = i + 1

кц

кон

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]