Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecton.DOC
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
980.99 Кб
Скачать

1.4.5. Неструктурированная форма записи алгоритмов

Рассмотрим задачу отыскания корней линейного уравнения ax+b=0 с дей­стви­тельными коэффициентами. Для ее решения может быть ис­поль­зо­ван алго­ритм, за­писанный в следующем виде.

Пункт 1. Присвоить объекту с именем a значение a

и объекту с именем b значение b

Перейти к пункту 2.

Пункт 2. Сравнить значение объекта с именем a с нулем.

Если значение объекта с именем a равно нулю,

то перейти к пункту 4, иначе перейти к пункту 3.

Пункт 3. Выдать ответ: решением является число -b/a.

Перейти к пункту 7.

Пункт 4. Сравнить значение объекта с именем b с нулем.

Если значение объекта с именем b равно нулю,

то перейти к пункту 6, иначе перейти к пункту 5.

Пункт 5. Выдать ответ: решений нет.

Перейти к пункту 7.

Пункт 6. Выдать ответ: решением является любое действительное

чис­ло.

Перейти к пункту 7.

Пункт 7. Завершить работу.

Алгоритм описывает действия исполнителя над значениями двух объек­тов (a, a) и (B, b), обладающих соответственно именами a и b. При­ве­денный алго­ритм обладает всеми характерными для алгорит­мов свой­ст­вами.

· Дискретность и определенность. Алгоритм состоит из 7 пунк­тов, ка­ж­дый из которых состоит из выполнимого оператора и опера­тора пере­хода к следующему пункту записи. Операторы сформулированы та­ким обра­зом, что понятны и недвусмысленны.

· Результативность. Данный алгоритм всегда приводит к ре­зуль­тату (хотя, может быть, и отрицательному - когда выдается ответ об отсут­ст­вии ре­шения) за конечное число шагов (в данном случае не более 5 ша­гов).

· Массовость. Алгоритм позволяет решать задачи для любых со­чета­ний значений a и b.

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

1.4.6. Структурированная форма записи алгоритмов

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

Основными элементами нашего языка (псевдокода) в структуриро­ванной форме явля­ются базовые операторы, задающие действия, кото­рые исполнитель спо­собен вы­полнить за один его шаг (такт работы). Ба­зовые операторы могут включать в себя:

· условия - логические выражения, истинность или ложность ко­то­рых может определить исполнитель;

· выражения - математические выражения;

· ключевые слова - слова специального вида, используемые как не­ко­то­рые "рамки" при конструировании из базовых операторов и условий но­вых со­ставных элементов языка. Для различия ключевых слов от прочих слов бу­дем в записи алгоритма выделять их каким-либо обра­зом, напри­мер, под­чер­киванием.

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

имяТипа объект имяОбъекта

Здесь, слово объект является ключевым. К примеру, оператор вида

числовой объект A

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

Базовым является часто используемый оператор, именуемый опе­ра­тором присваива­ния. Оператор имеет вид:

присвоить объекту с именем имяОбъекта значение выражения

Будем использовать сокращенную форму оператором присваивания:

имяОбъекта  ¬ выражение

Справа от знака присваивания (¬) можно использовать любое математи­че­ское выражение.

Конструируемые из базовых операторов, условий и ключевых слов но­вые составные эле­мен­ты именуются составными операторами. Ис­поль­зуются 3 ос­новных вида составных операторов:

  • последовательный оператор,

  • условный оператор,

  • циклический оператор (оператор цикла).

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

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

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