Дата: Воскресенье, 24.01.2010, 16:56 | Сообщение # 121
Группа: Удаленные
ерунда получается в лабе: f1 := sqrt(3)*x*x/2*arctan(x*sqrt(3)/(x+2)) + 1/2*(x*x+2)*ln(1-x*x*x)- 3/4*x*x*ln(1-x);
f2:= сумма всех значений от 0 до бесконечности (x^3k=3)/((k+1)(3k+1))
значения f2 в 10 раз меньше f1
Code
PROGRAM Ex1; Uses Crt; Const eps1 = 0.01; { Точность 10-2} eps2 = 0.001; { Точность 10-3 } eps3 = 0.0001; { Точность 10-4 } 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:=sqrt(3)*((x*x)/2)*arctan((x*sqrt(3))/(x+2))+1/4((x*x+2)*ln(1-x*x*x))-1/4(3*x*x*ln(1-x)); {функция f1} { Вычисляется значения функции f2} step:=x*x; {Начальное значение степени Х} f2_1:=0; {Начальное значение функции f2_1} k1:=0; repeat {Итерационный цикл для точности 10-2} inc(k1); step:=step*x; {Наращивается степень} slag:=step/((k1+1)*(3*k1+1)); {Считается очередное слагаемое} f2_1:=f2_1+slag; {Считается значение f2_1} until abs(slag)<=eps1; {Выход из цикла, когда слагаемое становится меньше точности 10-2} f2_2:=f2_1; k2:=k1; repeat {Итерационный цикл для точности 10-3} inc(k2); step:=step*x; {Наращивается степень} slag:=step/((k2+1)*(3*k2+1)); {Считается очередное слагаемое} f2_2:=f2_2+slag; until abs(slag)<=eps2; {Выход из цикла, когда слагаемое становится меньше точности 10-3} f2_3:=f2_2; k3:=k2; repeat {итерационный цикл для точности 10-4} inc(k3); step:=step*x; {Наращивается степень} slag:=step/((k3+1)*(3*k3+1)); {Считается очередное слагаемое} f2_3:=f2_3+slag; until abs(slag)<=eps3; {Выход из цикла, когда слагаемое становится меньше точности 10-4} { Вывод результатов} writeln('| ', x:5:2,' | ',f1:12:9,'| ',f2_1:5:2,'| ', k1:2,'| ',f2_2:6:3,'| ',k2:2,'| ',f2_3:7:4,'| ', k3:2,'|'); x:=x+b; end; { завершение таблицы } write('|-------+-------------+------+---+-------+---+--------+---|'); ReadKey END.
Добавлено (23.01.2010, 02:30) --------------------------------------------- как туго думается когда здоровье отвлекает. Час размышления и всё исправил
Добавлено (24.01.2010, 15:56) --------------------------------------------- есть функция типа e^x=1+x+(x^2)/2!+(x^3)/3!+... расчет идет пока слагаемое x^n/n! не станет меньше точности значение х берется из массива х(10) элементы вводятся в ручную как и точность расчета. не получается правильно описать функцию в программе, считается только слагаемое удовлетворяющее точности.
Сообщение отредактировал Accipiter - Суббота, 23.01.2010, 02:20
Дата: Воскресенье, 24.01.2010, 19:34 | Сообщение # 122
Admin
Группа: Администраторы
Сообщений: 1446
Статус: Оффлайн
Quote (Accipiter)
есть функция типа e^x=1+x+(x^2)/2!+(x^3)/3!+... расчет идет пока слагаемое x^n/n! не станет меньше точности значение х берется из массива х(10) элементы вводятся в ручную как и точность расчета. не получается правильно описать функцию в программе, считается только слагаемое удовлетворяющее точности.
Если я еще не забыл паскаля, то как-то так:
Code
eps := 0.0001; for i:=1 to 10 do begin x_temp := x[i];{ обрабатываемый X } fact := 1; { факториал на первой итерации } power := 1; { степень X на первой итерации } count := 0; { номер итерации } sum := 0; { сумма } item := 1; { значение слагаемого на первой итерации } while (item >= eps) begin sum := sum + item; count := count + 1; power := power * x_temp; { степень X на конкретной итерации } fact := fact * count; { факториал на конкретной итерации } item := power / fact; { значение слагаемого на конкретной итерации } end; end;
Дата: Понедельник, 17.05.2010, 22:50 | Сообщение # 130
Группа: Удаленные
Народ кто нить мне расскажет как раскурить написание блок-схем методом Насси-Шнайдермана, у меня наверно мозг не в ту сторону работает. Да и есть ли вспомогательные проги для рисования, остальные типы (дамке и по госту) рисуются хорошо в Visio а вот с этой блок схемкой затык, не могу из-за этого сдать контрольную :(((
О преподавателе: чаще всего принимает Глухова Лилия Александровна. Очень своеобразная женщина. Чаще всего Требует знаний. Но если перед нейй пару раз засветиться (подойти с вопросом - показать что Вам не пофиг на ее предмет), то на экзамене это может спасти.
Дата: Вторник, 21.09.2010, 21:53 | Сообщение # 135
Группа: Удаленные
Quote (Dest)
О преподавателе: чаще всего принимает Глухова Лилия Александровна. Очень своеобразная женщина. Чаще всего Требует знаний. Но если перед нейй пару раз засветиться (подойти с вопросом - показать что Вам не пофиг на ее предмет), то на экзамене это может спасти.
Дельный совет, надо брать в разработку. А если допустим досрочно на первом курсе сдавать, как она к этому отнесется?