ответ:команди тіла циклу, після чого знову обчислюється значення логічного виразу, і якщо це значення знову true, то знову виконуються команди тіла циклу, після чого знову обчислюється значення логічного виразу; якщо значення логічного виразу дорівнює false, то команди тіла циклу не виконуються, а виконується команда, наступна за циклом.
Звертаємо вашу увагу:
• якщо в тілі циклу лише одна команда, то операторні дужки begin і end можна не ставити;
• серед команд тіла циклу можуть бути й лінійні фрагменти, і розгалуження, й інші цикли.
Розглянемо задачу, алгоритм розв’язування якої містить цикл з передумовою.
Задача. Скільки потрібно взяти доданків, перший з яких дорівнює заданому д ійсному числу, а кожний наступний на 3 більший від попереднього, щоб їхня сума перевищила 100?
Даними цієї задачі є перший доданок. Вводитимемо його в поле.
Перед початком циклу присвоїмо змінній s, яку використаємо для збереження суми, значення першого доданка. А змінній п, яку використаємо для збереження кількості взятих доданків, присвоїмо значення 1, бо в сумі вже враховано один (перший) доданок.
До суми потрібно додавати наступні доданки, поки ця сума буде меншою, або дорівнюватиме 100. Тому логічний вираз у заголовку циклу матиме вигляд s <= 100. У тілі циклу шукатимемо наступний доданок, додаватимемо його до поточного значення суми і збільшуватимемо кількість доданих доданків на 1.
Объяснение:
// PascalABC.NET 3.0, сборка 1088
var
x1,x2,y1,y2,r1,r2:real;
begin
Write('Введите координаты первой точки: '); Read(x1,y1);
Write('Введите координаты второй точки: '); Read(x2,y2);
r1:=sqr(x1)+sqr(y1); r2:=sqr(x2)+sqr(y2);
if r1>r2 then Writeln('Ближе вторая точка')
else
if r1<r2 then Writeln('Ближе первая точка')
else Writeln('Точки равноудалены')
end.
Тестовое решение:
Введите координаты первой точки: 16.3 -11.7
Введите координаты второй точки: 15.8 12
Ближе вторая точка