ВУЗ:
{Z ← Z-1;
J ← J+l}
Ответы на вопросы для самопроверки
Раздел 4.1
1. Процесс – это выполнение алгоритма. Программа – это запись алгоритма.
2. Во вступительной главе этой книги приводились примеры алгоритмов для исполнения музыкальных произведений,
управления стиральными машинами, конструирования моделей, исполнения фокусов, а также алгоритм Евклида. Многие из
"алгоритмов", с которыми мы сталкиваемся в обыденной жизни, не соответствуют его формальному определению. В тексте
был приведен пример алгоритма деления столбиком. Другой пример – алгоритм, который день за днем выполняют часы,
перемещая свои стрелки и отсчитывая время.
3. Неформальное определение не отвечает требованию, по которому шаги алгоритма должны быть последовательными
и однозначными. Оно сводится к общим требованиям, чтобы шаги были выполнимыми и в итоге приводили к определенно-
му результату.
4. Здесь есть два важных момента. Первый заключается в том, что эти команды определяют бесконечный процесс. Од-
нако в действительности процесс рано или поздно достигнет ситуации, когда в кармане больше не останется ни одной моне-
ты. Второй момент состоит в том, что фактически в этой ситуации алгоритм может даже начаться. С данной точки зрения
задача является неоднозначной. Представленный алгоритм не "говорит" нам, как поступить в этой ситуации.
Раздел 4.2
1. Один из примеров можно получить методом композиции. На химическом уровне примитивами считаются молекулы,
хотя в действительности эти частицы состоят из атомов, которые, в свою очередь, образуются из электронов, протонов и
нейтронов. Сегодня мы знаем, что даже эти "примитивы" имеют составные части.
2. Если процедура составлена правильно, ее можно использовать в качестве строительного блока для более крупных
программных структур без пересмотра ее внутреннего устройства.
3.
X ← большее из двух заданных чисел;
Y ← меньшее из двух заданных чисел;
while (Y не нуль) do
{Remainder ← остаток от деления X на Y;
X ← Y;
Y ← Remainder}
GCD ← X
4. Все цвета можно получить в результате сочетания красного, синего и зеленого цветов, поэтому телевизионные элек-
тронно-лучевые трубки разрабатываются так, чтобы генерировать именно эти три основных цвета.
Раздел 4.3
1. a)
if (n = 1 или n = 2)
then {Ответ – это список из одно числа n}
else {Разделить n на 3, получив частное q и остаток r
if (r = 0)
then {Ответ – это список из q троек}
if (r = 1)
then {Ответ – это список из q-1 троек и 2 двойки}
if (r = 2)
then {Ответ – это список из q троек и 1 двойки}
}
б) Результатом был бы список, содержащий 667 троек.
в) Возможно, вы экспериментировали с малыми входными величинами перед тем, как нашли подходящий вариант ре-
шения.
2. а) Да. Подсказка. Поместите первую фишку в центр доски так, чтобы она не попала в квадрант, содержащий выре-
занный квадрат, а накрыла по одному квадрату во всех остальных квадрантах. В результате каждый квадрант будет пред-
ставлять собой уменьшенный вариант исходной задачи.
б) Доска с одним вырезанным квадратом содержит 2n – 1 квадратов, и каждая фишка покрывает точно три квадрата.
в) Части а и б этого вопроса представляют собой замечательный пример того, как знание решения одной проблемы по-
зволяет решить другую. См. четвертую фазу Полиа.
3. Он говорит: "Это правильный ответ".
Раздел 4.4
1. Изменить условие в операторе while так, чтобы он читался следующим образом: "Искомое значение не равно теку-
щему входному значению, и есть еще входные значения, подлежащие проверке".
2.
Z ← 0;
X ← 1;
repeat {Z ← Z + X;
X ← X + 1}
until (X = 6)
3.
Страницы
- « первая
- ‹ предыдущая
- …
- 105
- 106
- 107
- 108
- 109
- …
- следующая ›
- последняя »
