logo
2012_METODICh_POSOBIE_PASCAL

Лабораторная работа № 7. Программирование алгоритмов циклической структуры с неизвестным числом повторений.

При выполнении работы необходимо знать:

Теоретический минимум:

При программировании алгоритмов циклической структуры с неизвестным числом повторений можно пользоваться оператором цикла while p do s; (с предусловием) или оператором цикла repeat s until p; (с постусловием).

Напомним синтаксис этих операторов на примере вычисления суммы ряда:

Цикл WHILE Цикл REPEAT

i:=2; S:=0; i:=2; S:=0;

while i<100 do repeat

begin S:=S+1/i;

S:=S+1/i; i:=i+1;

i:=i+1; until i>=100;

end;

Задача 7.

Вычислить приближенное значение числа с заданной точностью, если известно, что сумма ряда: приближается к значению при достаточно большом количестве членов ряда.

Математическая формулировка задачи:

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

Каждый член ряда вычисляется по формуле и помножается на -1, если n четное, и на +1, если n нечетное. Вычисления заканчиваются тогда, когда значение очередного члена ряда становится меньше, чем заданная точность вычислений.

Алгоритм решения задачи 7: Текст программы:

Program Ex_7;

Uses Crt;

Var

P: real; { сумма }

t: real; { точность вычислений }

el: real; { элемент ряда }

n: integer; { знаменатели дробей }

Begin

ClrScr;

P:=0;

n:=1;

el:=1;

write(‘ Задайте точность вычислений ’);

readln(t);

While el>=t do

begin

el:=1/(2*n-1);

if (n mod 2)=0

then P:=P-el;

else P:=P+el;

n:=n+1;

End;

P:=P*4;

Writeln(‘Значение ПИ равно ’ ,P);

Readln;

End.