Другие языки программирования и технологии

Для аргумента x, изменяющегося от –0.6 с шагом 0.05 вычислить 20 значений функций.

Вычислить значения функций f1(x) и f2(x) для значений аргументов, указанных в вариантах заданий № 1 – 30 по первой работе. Функцию f2(x) вычислить для ряда точностей . Для указанных точностей определить количество N элементов ряда, суммируемых для достижения заданной точности. Результаты расчетов свести в следующую таблицу:

Вот что я нарешал.. .
PROGRAM Ex1;
Uses CRT;
Const
eps1=0.01;
eps2=0.001;
eps3=0.0001;
a=-0.6;
b=0.05;
N=20;
Var
k1, k2, k3, i: Integer;
f1, f2_1, f2_2, f2_3, step, slag, x:real;
Begin
ClrScr;
writeln('_________________________________________________');
writeln('| | | e=0.01 | e=0.001 | e=0.0001 |');
writeln('| x | f1(x) |________|_________|__________|');
writeln('| | |f2(x)|N |f2(x) |N | f2(x) |N |');
writeln('|_____|___________|_____|__|______|__|_______|__|');
x:=a;
for i:=1 to N do
begin
f1:=((1-x)/x)*ln(1/(1-x));
step:=x;
f2_1:=0;
k1:=0;
repeat
inc(k1);
if (x<0) then step:=(-1)*exp(ln(abs(x))*k1);
if (k1=0) then step:=1;
step:=exp(ln(abs(x))*k1);
slag:=step/(k1*(k1+1));
f2_1:=f2_1+slag;
until abs(slag)<=eps1;
f2_2:=f2_1;
k2:=k1;
repeat
inc(k2);
step:=step*x;
slag:=step/(k2*(k2+1));
f2_2:=f2_2+slag;
until abs(slag)<=eps2;
f2_3:=f2_2;
k3:=k2;
repeat
inc(k3);
step:=step*x;
slag:=step/(k3*(k3+1));
f2_3:=f2_3+slag;
until abs(slag)<=eps3;
writeln('|',x:5:2,'|',f1:1:9,'|',f2_1:5:2,'|',k1:2,'|',f2_2:6:3,'|',k2:2,'|',f2_3:7:4,'|',k3:2,'|');
x:=x+b;
end;
writeln('|_______________________________________________|');
ReadKey
END.

Подскажите пожалуйста где и в чем моя ошибка
Вот и мне непонятно. отработало, 20 строк выдало. Что не нравится?
|-0.60|1.253343011| 0.38| 4| 0.382| 7| 0.3827|10|
|-0.55|1.235082078| 0.34| 4| 0.343| 6| 0.3426| 9|
|-0.50|1.216395324| 0.31| 4| 0.305| 6| 0.3045| 8|
|-0.45|1.197260349| 0.27| 3| 0.265| 5| 0.2648| 7|
|-0.40|1.177652828| 0.23| 3| 0.231| 5| 0.2310| 6|
|-0.35|1.157546285| 0.20| 3| 0.198| 4| 0.1984| 6|
|-0.30|1.136911813| 0.17| 3| 0.167| 4| 0.1669| 5|
|-0.25|1.115717757| 0.14| 3| 0.137| 4| 0.1366| 5|
|-0.20|1.093929341| 0.11| 2| 0.106| 3| 0.1061| 4|
|-0.15|1.071508225| 0.08| 2| 0.078| 3| 0.0785| 4|
|-0.10|1.048411978| 0.05| 2| 0.052| 3| 0.0516| 4|
|-0.05|1.024593448| 0.03| 2| 0.025| 3| 0.0254| 4|
|-0.00|0.000000000| 0.00| 1| 0.000| 2| 0.0000| 3|
| 0.05|0.974572593| 0.03| 2| 0.025| 3| 0.0254| 4|
| 0.10|0.948244641| 0.05| 2| 0.052| 3| 0.0518| 4|
| 0.15|0.920940600| 0.08| 2| 0.079| 3| 0.0791| 4|
| 0.20|0.892574205| 0.11| 2| 0.107| 3| 0.1074| 4|
| 0.25|0.863046217| 0.14| 3| 0.137| 4| 0.1369| 5|
| 0.30|0.832241536| 0.17| 3| 0.168| 4| 0.1677| 5|
| 0.35|0.800025416| 0.20| 3| 0.200| 4| 0.2000| 6|
Леха .
Леха .
83 853
Лучший ответ
Александр Князев Я и сам прекрасно понимаю что порога выдаёт 20 значений, я прошу проверить код, так как значения не верные, ну или хотябы указать на ошибки
Ошибок дохрена.

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

Не делишь на логические блоки, а выдаёшь поток команд.
Да хоть пробельными строками блин раздели! читать код же невозможно!

Не указываешь язык.
По синтаксису похоже на что-то из паскалей. Но хрен его знает
Александр Князев Для аргумента x, изменяющегося от –0.6 с шагом 0.05 вычислить 20 значений функций.

Турбо паскаль

Похожие вопросы