Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты по Информатике 1 курс 13 группа.docx
Скачиваний:
6
Добавлен:
15.04.2019
Размер:
134.65 Кб
Скачать

Билет 17. Основные правила композиции структурированных программ. Базисы Вирта и Дейкстры. Эквивалентность базисов.

Структурированные алгоритмы - это алгоритмы, которые строятся с использованием только трех правил композиции вычислительных действий (3 управляющие структуры):

- последовательные действия (следование);

- альтернативные действия (выбор);

- повторяемые действия (цикл).

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

Структурированные алгоритмы и программы легко понимаемы, модифицируемы, в них легче находить ошибки, по ним легче производить анализ правильности программ.

Управляющие структуры образуют базис. Базис Дейкстры: следование, выбор, цикл «пока». Базис Вирта: следование, выбор, цикл «до». Св-ва базиса:

- независимость (каждая из базисных структур не может быть представлена комбинацией 2-х других);

- полнота (любой алгоритм может быть осуществлен с помощью них);

- эквивалентность базисов (следование и выбор сохраняются, а циклы «до» и «пока» взаимозаменяемы).

Билет 18. Последовательность действий. Особенность реализации в языке Паскаль.

Тривиальный билет.

Билет 19. Альтернативные действия. Альтернатива и полуальтернатива. Особенность реализации в языке Паскаль. Синтаксис и семантика.

Оператор if выбирает между двумя вариантами развития событий:

if <условие> then <один_оператор>

[else <один_оператор>];

Обратим внимание, что перед словом else (когда оно присутствует, конечно же) символ «;» не ставится — ведь это разорвало бы оператор на две части.

Условный оператор if работает следующим образом:

Сначала вычисляется значение <условия> — это может быть любое выражение, возвращающее значение типа Boolean.

Затем, если в результате получена «истина» (True), то выполняется оператор, стоящий после ключевого слова then, а если «ложь» (False) — без дополнительных проверок выполняется оператор, стоящий после ключевого слова else. Если же else–ветвь отсутствует, то не выполняется ничего.

Билет 20. Повторяемые действия. Реализация итерационных циклов пока и до в языке Паскаль. Синтаксис и семантика, особенность реализации.

Если заранее неизвестно, сколько раз необходимо выполнить тело цикла, то удобнее всего пользоваться циклом с предусловием (while) или циклом с постусловием (repeat-until).

Общий вид этих операторов таков:

while <условие_1> do <оператор>; (если операторов несколько, то используем begin и end)

repeat <операторы> until <условие_2>; (если операторов несколько, то используем begin и end)

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

Циклы while и repeat-until можно назвать в некотором смысле противоположными друг другу.

Последовательности действий при выполнении этих циклов таковы:

Для while:

Для repeat-until:

1. Проверяется, истинно ли <условие_1>.

1. Выполняются <операторы>.

2. Если это так, то выполняется <оператор>.

2. Проверяется, ложно ли <условие_2>

3. Пункты 1 и 2 выполняются до тех пор, пока <условие_1> не станет ложным.

3. Пункты 1 и 2 выполняются до тех пор, пока <условие_2> не станет истинным.

Таким образом, если <условие_1> изначально ложно, то цикл while не выполнится ни разу. Если же <условие_2> изначально истинно, то цикл repeat-until выполнится один раз.