Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
KatrinLuxury
12 / 12 / 9
Регистрация: 14.11.2016
Сообщений: 243
1

Решение неравенства. Подскажите как исправить

21.11.2016, 12:26. Просмотров 196. Ответов 1
Метки нет (Все метки)

Разработать алгоритм и составить программу вычисления таблицы значений функции, заданной в виде разложения в ряд. Значение функции вычислять с точностью >0, т.е. вычисление суммы членов ряда необходимо прекратить, когда абсолютная величина очередного члена ряда разложения окажется меньше :  ак  <.
При вычислении очередного члена целесообразно воспользоваться рекуррентным выражением:
ак+1=скак; к= 0, 1, 3, ...,
где ак - некоторый к-ый член ряда; ак+1 - следующий к+1-ый член ряда; ск - коэффициент, определяемый номером к.
При составлении программы необходимо по возможности воспользоваться операторами организации циклов WHILE, REPEAT, FOR.
Границы интервала вычислений функций a и b, величина шага изменения аргумента h и точность вычисления функции  задаются при вводе. На печать выводятся номер по порядку, значение аргумента, соответствующие ему, значение функции и номер члена ряда, на котором закончилось вычисление значение функции, в форме таблицы:
________________________
№|_Х__|__ f (x)_|_№ чл.р.|
1 |____|_______|________|
2 |____|_______|________|
3 |____|_______|________|
...|____|_______|________|

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
uses crt;
Var a,b,h,e:real;
    ck,x,res:real;
    k:integer;
begin
clrscr;
writeln('Данная программа предназначена для вычисления таблицы значений');
writeln('функции заданной в виде разложения в ряд.');
writeln;
write('Введите границу интервала a=');
readln(a);
repeat
write('Введите правую границу интервала b>',a:0:1,' b=');
readln(b);
until b>a;
repeat
write('Введите величину шага изменения аргумента h<',b-a:0:1,' h=');
readln(h);
until h<b-a;
repeat
write('Введите точность вычисления функции e>0 e=');
readln(e);
until e>0;
clrscr;
writeln('=========================================================');
writeln('|    #    |     X    |      F(x)     |        № чл.р.      |');
writeln('=========================================================');
x:=a;
repeat
k:=0;
res:=x;
ck:=x;
repeat
k:=k+1;
ck:=ck*x*x;
res:=res+ck/(2*k+1);
until abs(ck/(2*k+1))<e;
writeln('|',1:8,'|','|',x:6:3,'|',res:8:5,'|');
x:=x+h;
until x>b+h/2;
writeln('=================');
writeln('Press to ENTER');
readln;
end.
0
Миниатюры
Решение неравенства. Подскажите как исправить  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2016, 12:26
Ответы с готовыми решениями:

Решение неравенства
Пожалуйста помогите написать алгоритм решения неравенства Ax^2+Bx+C&gt;0 Очень...

Решение логарифмического неравенства
\lg\left(\frac{1}{2}x \right)&gt;3

Решение квадратного неравенства
Всем привет.Нужно написать программу решения неравенства ax2+bx+c&gt;=0 с...

Найти решение неравенства
Даны действительные числа a и b.Найти решение неравенства a*x&lt;b

Решение неравенства в целых числах
Необходимо написать программу, определяющую какие из целых чисел от -10 до 2...

1
JokeR.BY
CAPITAL OF ROCK!
1278 / 705 / 982
Регистрация: 03.03.2010
Сообщений: 2,284
Завершенные тесты: 2
21.11.2016, 13:22 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
var
    x, b, h, eps: Single;
    prec: Byte;
    k, count: Word;
    s, si, temp: Real;
    line: String;
begin
    WriteLn('Данная программа предназначена для вычисления таблицы значений');
    WriteLn('функции заданной в виде разложения в ряд.');
    Write('Введите границу интервала a=');
    ReadLn(x);
    repeat
        Write('Введите правую границу интервала b>', x:0:2, ' b=');
        ReadLn(b);
    until (b > x);
    repeat
        Write('Введите величину шага изменения аргумента h<', (b - x):0:2, ' h=');
        ReadLn(h);
    until (h < b - x);
    repeat
        Write('Введите точность вычисления функции e(0..1) e=');
        ReadLn(eps);
    until ((eps > 0) And (eps < 1));
    temp := eps;
    prec := 0;
    while (temp < 0.9999999) do
    begin
        Inc(prec);
        temp := temp * 10;
    end;
    line := '=================================';
    for k := 1 to 2 * prec do
        line := line + '=';
    WriteLn(line);
    WriteLn('|   # | ', 'X':(5 + prec), ' | ', 'F(x)':(5 + prec), ' | № чл.р. |');
    WriteLn(line);
    count := 0;
    repeat
        Inc(count);
        s := 0; si := x; k := 0;
        while (Abs(si) > eps) do
        begin
            s := s + si;
            Inc(k);
            si := si*Sqr(x)/2/k/(2*k + 1);
        end;
        WriteLn('| ', count:3, ' | ', x:5 + prec:prec, ' | ', s:5 + prec:prec, ' | ', k:7, ' |');       
        x := x + h;
    until (x > b);
    WriteLn(line);
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2016, 13:22

Подскажите как исправить ошибку
Здравствуйте! Помогите, пожалуйста, исправить ошибку в этой программе: program...

Сортировка массива. Подскажите ошибку и как её исправить
Сортировка массива по возрастанию. Массив выводит исходный. Как вывести...

Подсчитать количество символов в файле, подскажите,как исправить
Помогите исправить:данная вещь должна читать символы из файла(через запятую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru