Цикл – это замечательное изобретение, которое, в сущности, и делает компьютеры такими ценными. Он позволяет многократно повторить любую часть программы. цикл не может выполняться вечно, он заканчивается по какому-либо условию. Проверка этого условия может производиться в начале каждого повторяющегося шага, в этом случае цикл называется ПОКА. При проверке условия в конце каждого шага цикл называется ДО. Разновидностью цикла ДО является цикл ПЕРЕСЧЕТ.
10.1.Оператор цикла WHILE (цикл ПОКА).
Формат оператора: WHILE логическое выражение DO;
Оператор будет повторятся пока истинно логическое выражение. Перед каждым повторением оператора значение логического выражения вычисляется заново. Если необходимо повторить несколько операторов, их следует объединить в составной оператор, т.е. заключить в операторные скобки begin … end. Этот цикл может не выполниться ни разу, если условие при входе в него оказалось ложным. Таким образом, цикл ПОКА содержит условие повторения цикла.
ПРИМЕР 1. Программа подсчета суммы S первых 1000 членов гармонического ряда
1+1/2+1/3+1/4+…1/N.
Program Summa;
Var S:real;
N:integer;
Begin
S:=0; N:=0;
While n<1000 do
Begin
N:=n+1;
S:=s+1/n
End;
Writeln(s);
Readln
End.
Объяснение:
На вход подаются p1, q1 – числитель и знаменатель первой дроби; p2, q2 – числитель и знаменатель второй дроби. Общий знаменатель q = q1 * q2, дополнительные множители q2 и q1. Итоговая формула p1/q1 + p2/q2 = (p1 q2 + p2 q1)/(q1 q2).
var p1, p2, q1, q2: integer;
begin
read(p1, q1);
read(p2, q2);
write(p1 * q2 + p2 * q1, ' ', q1 * q2)
end.
Пример ввода:
3 4
1 2
Пример вывода:
10 8
Задача 7var x, y: real;
begin
read(x);
y := x * x;
y := 1 - y + 5 * y * y;
write(y * y);
end.
Пример ввода:
0.75
Пример вывода:
4.07850647