Цикл с предусловием и постусловием

обучение PascalABC

При составлении программ часто возникает необходимость сократить запись кода при повторении однообразных команд. А когда количество их повторений заранее неизвестно и определяется некоторым условием, то можно использовать структуру — цикл с предусловием или цикл с постусловием.

Цикл — одна из форм управляющих конструкций в языках программирования. Используется для многократного выполнения набора команд.

Цикл с предусловием

На рисунке ниже представлена блок-схема цикла с предусловием. Другие названия цикла: цикл-пока, цикл с заданным условием продолжения работы.

Особенность данного вида цикла: операторы цикла будут повторяться до тех пор, пока условие истинно. Его проверка делается каждый раз перед выполнением операторов цикла. Цикл может ни разу не выполниться, если его условие ложно.

цикл с предусловием while pascal
Цикл while pascal

На рисунке показано два варианта записи данной структуры на языке программирования Паскаль:

  • с использованием операторных скобок (begin end), выполнение двух и более команд;
  • запись с одной командой.

Примеры задач

Задание 1. Даны два положительных числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без
наложений). Не используя операции умножения и деления, найдите длину незанятой части отрезка A.

Решение:
Вариант 1

program cycle1;
var a,b:real; {a,b - вещественные числа }
begin
read(a,b); { ввод исходных значений длин отрезков }
while a > b do a:=a-b; { цикл - вычисление остатка отрезка А }
write(a); { вывод остатка отрезка А }
end.

Вариант 2 (с подсказками)

program cycle1;
var a,b:real;
begin
write('Введите длину отрезка А '); { вывод текстовой подсказки на экран }
readln(a); { ввод исходного значения длины отрезка А }
write('Введите длину отрезка В '); { вывод текстовой подсказки на экран }
readln(b); { ввод исходного значения длины отрезка В }
while a > b do a:=a-b; { цикл - вычисление остатка отрезка А }
write('Длина незанятой части отрезка А равна ',a); { вывод остатка отрезка А }
end.

Цикл с постусловием

На рисунке ниже представлена блок-схема цикла с постусловием. Другие названия цикла: цикл-до, цикл с заданным условием окончания работы.

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

цикл repeat паскаль
Цикл с постусловием Паскаль

Задание 2. Дано целое число N (> 0). Найти наименьшее целое положительное число K, квадрат которого превосходит N: K2 > N. Функцию извлечения квадратного корня не использовать.

Решение:

program cycle2;
var n,k:integer; { n - заданное целое, k - искомое число}
begin
read(n); { ввод значения числа N }
 repeat
   k:=k+1; { вычисление проверяемого числа }
 until k*k > n; { проверка найденного числа на соответствие условию завершения цикла}
write(k); { вывод найденного числа }
end.

 

 

Рейтинг
( 4 оценки, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

− 4 = 1

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: