ВУЗ:
Составители:
Рубрика:
29
Действительно,
1
1
1
!1
)3(ln
xslag =
,
xslagxxxslag
2
3ln
2
3ln
*
!1
)3(ln
!2
)3(ln
1
1
1
2
2
2
===
Итак, приступим к программной реализации данного алгоритма.
В программе потребуются переменные
x, y, s, slag вещественного ти-
па
real, а также переменная i целочисленного типа byte. Кроме того, можно
задать как константу количество слагаемых
n и шаг изменения аргумента
функции
x.
program lab4;
const n=10;
h=0.05;
var i:byte;
x,y,s,slag:real;
Текст информационного блока, с которого начинается тело программы,
подробно рассматривать не будем. Перейдем сразу к формированию шапки
таблицы и заданию начального значения
x.
writeln (’! x ! y ! s !’);
x:=0;
Теперь организуем «внешний» цикл, в котором будут изменяться значе-
ния аргумента
x до тех пор, пока не будет достигнута верхняя граница задан-
ного интервала [0,1; 1]. У компилятора Turbo Pascal имеется некоторая особен-
ность работы с данными вещественного типа: из-за небольших погрешностей
вычислений переменная
х в конце цикла может принять значение чуть меньше
единицы, поэтому условие x<=1 может оказаться ложным, хотя по нашим под-
счетам должно быть истинным. Для того, чтобы избежать такой ситуации, в ка-
честве условия выхода из цикла можно использовать выражение x<1+h.
Тело цикла содержит несколько операторов, поэтому необходимо исполь-
зовать операторные скобки. В
теле «внешнего» цикла будет находиться еще
один цикл, вычисляющий очередное слагаемое и постепенно формирующий
сумму из n слагаемых. Заранее известное количество повторений (количество
слагаемых равно 10) делает целесообразным использование оператора цикла
for, в котором параметром цикла будет номер слагаемого.
while x<1+h do
begin
y:=exp(x*ln(3));
s:=1; slag:=1;
for i:=1 to n do
begin
slag:= slag*ln(3)/i*x;
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »