Программа
PROGRAM Log;
CONST Eps=1e-4; { Точность }
VAR Sum, { Сумма }
X,PowerX, { Аргумент, степень X }
Addend, { Слагаемое }
xBegin,xEnd, { Начальное и конечное значения аргументов }
Step { Шаг }
:real;
k, { Количество значений аргумента }
i,n:word; { Счетчики }
BEGIN
WriteLn; { Пропуск строки }
Write('Введите начальное значение x '); { Вывод приглашения }
ReadLn(xBegin); { Ввод начального значения аргумента }
Write('Введите конечное значение x '); { Вывод приглашения }
ReadLn(xEnd); { Ввод конечного значения аргумента }
Write('Введите количество значений аргумента '); { Вывод приглашения }
ReadLn(k); { Ввод количества значений аргумента }
WriteLn; { Пропуск строки }
Step:=(xEnd-xBegin)/(k-1); { Вычисление шага }
X:=xBegin; { Определение аргумента }
{ Вывод шапки таблицы: }
WriteLn('╔══════════╤═════════════╤═══════════════════╤═══════════════════╗');
WriteLn('║ Аргумент │ Значение │ Точное значение │ Количество членов ║');
WriteLn('╠══════════╪═════════════╪═══════════════════╪═══════════════════╣');
for i:=1 to k do { Цикл перебора аргументов }
Begin
PowerX:=1; { Начальное определение слагаемого }
Sum:=0; { Начальное определение суммы }
n:=0; { Начальное определение членов ряда }
repeat { Цикл набора суммы ряда }
n:=n+1; { Подсчет членов ряда }
PowerX:=PowerX*(X-1)/X; { Переопределение степени X }
Addend:=PowerX/n; { Вычисление слагаемого }
Sum:=Sum+Addend { Переопределение суммы }
until Abs(Addend)<Eps;
WriteLn('║ ',x:8:3,' │ ',Sum:11:6,' │ ',Ln(x),' │ ',n:8,' ║');
{ Вывод значения }
X:=X+Step
End;
WriteLn('╚══════════╧═════════════╧═══════════════════╧═══════════════════╝');
{ Закрытие таблицы }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию