Цикл с постусловием REPEAT Цикл с постусловием
Цикл REPEAT Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы один раз, а потом исследовать условие повторять ли его еще раз. Эту задачу выполнит другой вид цикла Repeat. repeat повторяй операторы операторы until ; до тех пор, пока условие не будет верным
Примеры использования цикла REPEAT a) repeat read (Number); Sum := Sum+Number; until Number=-1; b) repeat i := i+1; writeln (Sqr(i)) until Number=-1
Пример решения задачи Определить, является ли введенное число простым. Алгоритм решения этой задачи будет следующий. При помощи операции mod проводим проверку всех целых чисел от 2 до введенного числа Number. Мы проверяем является ли очередное проверяемое число делителем нашего числа (значит, остаток от деления введенного числа на проверяемое число равен нулю). Если такой делитель найден, значит, цикл досрочно завершает свою работу на некотором i-том шаге. Если делитель не найден, значит цикл проверил все числа и значение переменной цикла i будет равно конечному значению, т.е. Number. Поэтому, после записи цикла следует анализ значения переменной i и выводится соответствующее сообщение.
Пример решения задачи Program Prostoe; Uses Crt; Var i, {возможный делитель} Number : integer; {исследуемое число}
Пример решения задачи Begin ClrScr; writeln (Какое число должно быть проверено? ); read (Number); i := 1; repeat i := i+1; until Number mod i = 0; if Number=i then writeln (Number, является простым) else writeln (Number, делится на,i); readln; End.
Задачи для самостоятельного решения Составьте программу для определения N!-M! (N! = 1*2*3*4* *n) Найдите все натуральные числа от 1 до 1000, кратные 3 Запросить имя пользователя и напечатать "Привет, Вася!" 10 раз. (если Вася – имя пользователя)