ПРАКТИЧЕСКОЕ ЗАНЯТИЕ
РАЗРАБОТКА ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ ЦИКЛА С ПОСТУСЛОВИЕМ (REPEAT)
Целью практического занятия является приобретение навыков в составле- нии циклических программ с использованием оператора цикла Repeat.
Цикл – это многократно повторяющаяся последовательность операторов. В Паскале используются 3 типа циклов:
- цикл с постусловием (Repeat);
- цикл с предусловием (While);
- цикл с параметром (For).
2.1 Оператор цикла Repeat
Оператор цикла Repeat используется, когда заранее не известно количест- во повторений цикла.
Синтаксис оператора цикла с постусловием:
Repeat {повторять}
оператор1;
…
операторN
Until условие выхода из цикла; {до тех пор пока}
Таким образом, сначала выполняется последовательность операторов, а потом проверяется условие выхода из цикла. Поэтому цикл называется циклом с постусловием и выполняется один раз даже тогда, когда условие выхода из цикла истинно еще до его начала.
Тело цикла выполняется до тех пор, пока не станет истинным условие окончания цикла.
Определить какое по счету число из последовательности чисел, вводимых с клавиатуры, сделает сумму этих чисел больше заданного числа N.
Например: Задано N=25 и последовательность чисел: 2, 5, 1, 7, 9, 4, 8. В этом случае ответом будет являться: «шестое по счету число, сделало сумму чисел больше 25».
Для решения задачи потребуются переменная для суммы S, переменная для количества чисел, которые будут добавлены к сумме К.
В данной задаче первое число последовательности в любом случае должно быть добавлено к сумме. Поэтому операторы, находящиеся в теле цикла, хотя бы один раз будут выполнены, а дальше все зависит от того, что за последова- тельность чисел будет задаваться с клавиатуры. Для данной задачи использова- ние цикла While приведет к увеличению количества операторов в тексте про-
граммы, т.к. придется дублировать тело цикла до его начала, чтобы все-таки добавить первое число к сумме, а затем проверить условие цикла.
По приведенной на рисунке 2 блок-схеме алгоритма составить программу решения задачи.
![]() |
{т.к.
переменные S и К сами участвуют в опе- рации
сложения (см. тело цикла), их исходные значения присваиваются к нулю}
Изменить программу из задания, используя цикл While.
Письменно ответить на вопрос: «Какой способ решения вам кажется наи- более удачным (с циклом Repeat или While)? Почему?»
1) Чем оператор цикла с предусловием While отличается от оператора цикла с постусловием Repeat?
2) Если телом цикла является составной оператор, что при этом изменится для цикла Repeat?
3) Что необходимо предусмотреть для того, чтобы не произошло зациклива- ние программы?
4) Как остановить выполнение зациклившейся программы?
5) С помощью операторов цикла Repeat организуйте цикл, который будет выполняться 12 раз.
1) С клавиатуры вводится последовательность чисел, ввод прекратить, ко- гда их сумма станет кратна числу b.
2) Известна масса каждого груза, загружаемого в автомобиль. Загрузку автомобиля прекратить, когда общая масса всех грузов превысит грузоподъем- ность автомобиля.
3) С клавиатуры вводится последовательность чисел, ввод прекратить, ко- гда их произведение превысит 250.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.