Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
rgr.doc
Скачиваний:
8
Добавлен:
25.04.2019
Размер:
1.74 Mб
Скачать

4.2. Базовые управляющие структуры

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

Рис.1.

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

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

  2. Структура разветвления — выполняет разветвление последовательности действий в зависимости от результата проверки какого-либо условия. Процесс обработки

осуществляется либо по ветви Да (при соблюдении условия), либо по ветви Нет. Схема данной структуры приведена на рис.2.

Рис.2.

Рис.3.

  1. Структура повторения реализована, как цикл с предусловием (рис. 3).

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

Согласно структуре повторения вначале идет проверка условия. Если условие соблюдается, то выполняется тело цикла, если не соблюдается, то осуществляется выход из цикла (передача управления другой структуре, описанной ниже).

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

Алгоритмический язык Паскаль с самого начала был задуман и разработан как структурированный язык. Все выше указанные структуры нашли в нем свое место. Более того, чтобы программист при написании программ чувствовал себя свободнее, помимо уже перечисленных структур в нем предусмотрен еще ряд дополнительных.

Цикл с постусловием. Схема данной структуры представлена на рис.4. Проверка условия происходит каждый раз после выполнения всех действий, предусмотренных в теле цикла. Тело цикла повторяется до тех пор, пока условие выхода ложно, как только условие примет значение «истина», произойдет выход из цикла. Данная структура характеризуется тем, что, каково бы ни было условие выхода из цикла, тело цикла обязательно выполнится хотя бы один раз.

Рис.4.

Рис.5.

Цикл с параметром (цикл с фиксированным числом повторений). Схема данной структуры приведена на рис.5. Число повторений определяется как начальным и конечным значениями параметра цикла, так и шагом ее изменения. В тех случаях, когда данная структура оказывается применимой, ее использование значительно упрощает процесс разработки алгоритма и, соответственно, программы.

Коррекция. Схема данной структуры приведена на рис.6. Действия выполняются только в ветви Да, а ветвь Нет каких-либо действий не содержит.

Вариант. Схема данной структуры представлена на рис.7. Осуществляется выбор варианта по значению некоторой управляющей переменной-селектора. На схеме такой переменной является С; если С имеет значение 1, то выполняется оператор Оп1, если С имеет значение 3, то выполняется оператор Оп2, если 5, то выполняется оператор Оп3. Если же С имеет значение, отличное от указанных, то выполняется оператор Оп.

Рекомендации по формату записи текста программы

Язык Паскаль не накладывает жестких требований на формат записи текста программы. Однако для удобства работы с текстом настоятельно рекомендуем вам соблюдать следующие правила:

Рис.6.

Рис.7.

  • Использовать систему отступов при записи вложенных операторов или операторов, заключенных в операторные скобки begin и end. Такой способ записи наглядно показывает структуру программы. Например:

While x<>y do

begin

If x>y then x:=x-y

else y:=y-x;

writeln(x:5,y:5)

end;

  • Не следует в одной строке записывать несколько операторов, кроме, может быть, простейших. В противном случае вы рискуете сильно усложнить отладку программы.

  • Объектам программы следует давать имена, отражающие их суть. Не избегайте длинных имен, если они помогают лучше понять смысл программы. За редким исключением не следует использовать однобуквенные имена вроде А, B и т.д.

  • Используйте комментарии для выделения в тексте логически завершенных фрагментов. Например:

{поиск минимального элемента в массиве}

Редактор выделяет ключевые слова языка программирования (BEGIN, END, IF, THEN, ELSE и др.) и текст комментариев цветом. Такое цветовое выделение облегчает чтение программы, помогает при поиске ошибок.

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