Составить программу вычисления значения функции с помощью разложения в ряд. В Паскале.
10-11 класс
|
Вот, написал. Но она выдает неверные результаты!!! Не пойму в чем причина, вроде бы все правильно составлено. Покажи преподу, может он подскажет
var
s,y,e,x,nf:real;
n:integer;
begin
write('Введите число x: ');
readln(x);
write('Введите точность вычислений: ');
readln(e);
nf:=1;
s:=1;
n:=1;
y:=1;
while abs(y)>=e do
begin
n:=n+1;
nf:=(2*n-1)*(2*n-2)*nf; //здесь вычисляем факториал
y:=power(-1,n+1)*power(x,2*n-1)/nf;
if abs(y)>=e then s:=s+y
end;
writeln('sin(',x,')=',s)
end.
Другие вопросы из категории
десятичной в шестнадцатеричную
Из шестнадцатеричной в десятичную: В4
линии. У исполнителя существуют следующие команды:
Сместиться на вектор (а, Ь) – исполнитель перемещается в точку, в которую можно попасть из данной, пройдя а единиц по горизонтали и b – по вертикали.
Запись: Повторить 5[ Команда 1 Команда 2] означает, что последовательность команд в квадратных скобках повторяется 5 раз.
Чертежник находится в начале координат. Чертежнику дан для исполнения следующий алгоритм:
Сместиться на вектор (5,2)
Сместиться на вектор (-3, 3)
Повторить 3[Сместиться на вектор (1,0)]
Сместиться на вектор (3, 1)
На каком расстоянии от начала координат будет находиться исполнитель Чертежник в результате выполнения данного алгоритма?
10
const x:array [1..10] of integer=(-1,23,32,-8,27,-3,5,13,-4,17);
var i,k,s:integer; x1:array[1..10] of integer;
begin
for i:=1 to 10 do
x1[i]:=x[i];
begin
for k:=1 to 5 do
for i:=3 to 7 do if x[i]< x[i+1] then begin
S:=x1[i+1];
x1[i+1]:=x[i];
x1[i]:=s
end;
s:=x[6];
for i:=4 to 8 do s:=s+x[i] ;
writeln (s);
end;
end.
Ответ: 31. А именно, я не понимаю как именно идёт последовательность, знаю, что вложенный цикл повторяется пока не завершится, затем внешний пока не завершится. Но если оператор IF не выполняется, что следует? У меня именно в этом месте затуп. Буду признателен, если изложите по пунктам ход решения. спасибо!
Читайте также
результата введите ограничение на количество знаков после запятой. Примечание. В Паскале используются стандартные функции: SIN(X) - синус Х (аргумент задается в радианах); COS(X) - косинус Х (аргумент задается в радианах); Для подсчета угла в радианах используйте формулу: угол в радианах = (угол в градусах)*/180. Результат представьте в виде: Программа вычисления значений тригонометрических функций x° Sin(x) Cos(x) Tg(x) 1 2 3 .. 45
Составить программу вычисления значений функции F(x) на отрезке [а; b] с шагом h.
Результат представить в виде таблицы, первый столбец которой — значения
аргумента, второй — соответствующие значения функции: "F(x) = 1/2 ctg x/4+4"
аргумента, вто¬рой — соответствующие значения функции: F(x)=xcos(1\x)+2 Решить нужно в паскаль.
столбец которой - значения аргумента, второй - соответствующие значения функции.
F(x) = · х.
значения аргумента x. Учесть вывод сообщения о невозможности вычисления значения функции