Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
ВнизПодскажите, помогите! Найти похожие ветки
← →
Dominic (2007-06-01 13:31) [0]Скажите, плиз, кто знает, где ошибка в программе! Должен вычисляться синус при заданной точности вычисления...
procedure TForm1.Button1Click(Sender: TObject);
var
y:real;// вычисляемое значение y
t:real;// точность вычисления
n:integer;// номер члена ряда
f:integer; // факториал
h:integer;
elem:real;// значение члена ряда
x:real;
z:real;
i:integer;
begin
h:=0;
f:=1;
y:=0;
n:=1;
t:=StrToFloat(Edit2.Text);
x:=StrToFloat(Edit1.Text);
elem:=1;// чтобы начать цикл
while elem>=t do
begin
h:=h+1;
f:=f*(2*h+1);
elem:=((-1)*n*x*(2*n+1))/f;
if n MOD 2=0
then y := y - elem
else
y:=y+elem;
n:=n+1;
end;
z:=x+y;
Memo1.Text:=FloatToStr(z);
end;
← →
Desdechado © (2007-06-01 13:53) [1]real заменить на extended
точность вроде же определяется разницей соседних членов ряда
где же проверка?
← →
MBo © (2007-06-01 14:03) [2]
x2 := -x * x;
elem := x;
h := 2;
y := x;
while Abs(elem) >= t do begin
elem := elem * x2 / (h * (h + 1));
y := y + elem;
h := h + 2;
end;
← →
Dominic (2007-06-01 14:08) [3]неа, всё равно 0 получается:( в формуле синуса ошибка, скорее всего.. А проверка не нужна, вроде..
← →
ANB © (2007-06-01 14:22) [4]
> Должен вычисляться синус при заданной точности вычисления.
> ..
RoundTo(sin(X), N)
:)
← →
MBo © (2007-06-01 15:56) [5]> Dominic
Я привел код, который считает синус, аргумент - x, значение синуса в переменной y
← →
Dominic (2007-06-04 19:20) [6]Спасибо за ответ! Но теперь я не могу для косинуса написать такую же программу... Мне нужно, чтобы считался факториал с оператором FOR и всё это участвовало в вычислении cos"а.. Числовой ряд при разложении cos записывается как (-1)^n*(x^2n)/(2n)! Скажите, плиз, кто знает как сделать!
← →
Правильный Вася (2007-06-04 20:04) [7]а по образцу
← →
Dominic (2007-06-04 20:26) [8]C for не получается, не знаю как расписать...
← →
Dominic (2007-06-04 21:26) [9]Хотя бы подскажите где ошибка, я не понимаю:(
procedure TForm1.Button1Click(Sender: TObject);
var
y:real;// Вычисляемое значение y
t:real;// Точность вычисления
n:integer;//Номер члена ряда
h:integer;
elem:real;//Значение члена ряда
x:real;
z:real;
g:real;
x2:real;
begin
h:=0;
y:=0;
n:=1;
t:=StrToFloat(Edit2.Text);
x:=StrToFloat(Edit1.Text);
for n:=1 to h do
begin
h := h * n;
end;
x2 := -x * x;
elem := x;
h := 2;
y := 0;
while Abs(elem) > t do begin
elem := elem * x2 / h ;
y := y + elem;
h := h + 2;
if n MOD 2=0
then y := y - elem
else
y:=y+elem;
n:=n+1;
end;
z:=x+y;
Memo1.Text:=FloatToStr(z);
end;
← →
MBo © (2007-06-05 06:52) [10]найди 3 отличия
x2 := -x * x;
elem := 1;
h := 1;
y := 1;
while Abs(elem) >= t do begin
elem := elem * x2 / (h * (h + 1));
y := y + elem;
h := h + 2;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c