Песни о Паскале | страница 59



Итоги

• Цикл со счетчиком FOR-TO-DO удобен при известном количестве повторений, которое вычисляется при входе в цикл.

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

• Оператор выбора CASE-OF-ELSE-END допускает метки из нескольких чисел, и даже диапазоны целых чисел.

А слабо?

А) Позвольте ученику отказаться от сдачи экзамена. Признаком отказа будет ввод нуля в качестве ответа. В этом случае надо досрочно выйти из цикла и обойти выставляющий оценку оператор (вспомните о процедуре Break).

Б) Напишите программу, которая по введенному числу дает заключение о том, какому дню недели оно соответствует – рабочему (1-5) или выходному (6,7), например:


>День = 2

>Рабочий

>День = 7

>Выходной

>День = 20

>Ошибка!


Здесь выделенные числа напечатаны пользователем.

В) Напишите программу, которая, запросив число N, печатала бы числа от 1 до N в обратном порядке, например:


>N = 3

>3

>2

>1


Г) Существует вариант цикла FOR, где счетчик цикла не наращивается, а уменьшается, этот оператор выглядит так:

FOR N:= начальное_значение DOWNTO конечное_значение DO оператор

Ключевое слово DOWNTO задает счет в обратном порядке (DOWN – «вниз»); при этом начальное значение счетчика должно быть больше или равно конечному, иначе цикл не выполнится ни разу. Воспользуйтесь этим оператором для решения предыдущей задачи (задание В).

Д) Пусть программа запросит два числа N и M, а затем вычислит их произведение без использования операции умножения (*). Подсказка: организуйте цикл суммирования N раз числа M.

Е) Напишите программу, вычисляющую сумму чисел от 1 до N, где N – число, вводимое пользователем.

Ж) Напишите программу, вычисляющую сумму только тех чисел от 1 до N, которые делятся либо на три, либо на пять.

Задачи на темы предыдущих глав

И) Платный участок трассы протянулся с километра P1 до километра P2 (P1

К) Дорожная служба запланировала ремонт трассы на участке с R1 по R2 (R1

• Будут ли ремонтировать весь платный участок P1–P2 ?

• Будут ли ремонтировать хотя бы часть платного участка P1–P2 ? Если да, то определить длину ремонтируемой платной части.

• Будут ли ремонтировать хотя бы часть бесплатного участка? Если да, то определить длину ремонтируемой бесплатной части.