Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2010, 18:45   #1
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
Вопрос Функция для суммы

Код:
function summ(x,eps:real):real;
var
s: real;
begin
s:=1;
n:=1;
x:=0.1;

while (abs(s-fun(x))<=eps) do begin

s:= s + exp(ln(-1)*n)*((exp(ln(x)*(2*n+1)))/fuck(n));
n:=n+1;

summ:= s;
end;

end;
нужно, чтобы значение суммы совпадало со значением функции y=sinx
0.1<=x<=1

Подскажите где ошибка....
при х=0,1 выдает значение суммы: -3,65602648080598E164 а значение функции:0,0998334166468282
Vitalina69 вне форума Ответить с цитированием
Старый 07.12.2010, 18:48   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Полное задание можете написать?

P.S. fuck(n) - шедевр
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 07.12.2010, 18:48   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

fun(x) - эт чего?
Код:
while (abs(exp(ln(-1)*n)*((exp(ln(x)*(2*n+1)))/fuck(n)))<=eps) do begin
только имхо препод не примет вашу реализацию
вот сюда гляньте
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 07.12.2010 в 18:50.
Mad_Cat вне форума Ответить с цитированием
Старый 07.12.2010, 19:02   #4
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию

Составить программу для вычисления суммы ряда с заданной точность .eps и значения функции на заданном диапазоне изменения аргумента(Количество расчетных точек - не менее 10)

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
   z,y,c,x,s,eps:real;
   i,n:integer;

implementation

{$R *.dfm}
function fun(x:real):real;
begin
fun:=Sin(x);
end;

function fuck(n:integer):integer;
var
   i,f: integer;
begin
  f:=1;
  for i:=1 to n do f:=f*(2*i+1)*i;
  fuck:=f;
end;


function summ(x,eps:real):real;
var
s: real;
begin
s:=1;
n:=1;
x:=0.1;

while (abs(s-fun(x))<=eps) do begin

s:= s + exp(ln(-1)*n)*((exp(ln(x)*(2*n+1)))/fuck(n));
n:=n+1;

summ:= s;
end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin
  eps:=StrToFloat(Edit1.Text);
  {x:=StrToFloat(Edit4.Text)};
  { z:=StrToFloat(Edit5.Text);
   y:=StrToFloat(Edit6.Text);
   c:=StrToFloat(Edit7.Text);}
   x:=0.1;
   while x<=1 do begin

    memo2.Lines.Add(floattostr(summ(x,eps)));
    memo3.Lines.Add(floattostr(fun(x)));
    memo1.Lines.Add(floattostr(x));

    x:=x+0.1;


end;
         end;

end.

Последний раз редактировалось alex_fcsm; 07.12.2010 в 19:20.
Vitalina69 вне форума Ответить с цитированием
Старый 07.12.2010, 19:02   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Поиском пользуйтесь

http://programmersforum.ru/showthrea...EE%F1%F2%FC%FE

http://programmersforum.ru/showthrea...EE%F1%F2%FC%FE
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 07.12.2010, 19:14   #6
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию

Оххх, если б я там че-нить еще понимала(((((((
Vitalina69 вне форума Ответить с цитированием
Старый 07.12.2010, 19:24   #7
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Итак нам нужно вычислять функцию, пока ее значение больше определенного значения

Получается что-то такое
Код:
sum:=0;
n:=1;
repeat
f:=[значение функции зависяще от n];
if f>eps then sum:=sum+f;
n:=n+1;
until f<eps;
Если вам нужна сумма ряда, то где собственно его формула?
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 07.12.2010, 19:36   #8
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию

вот сумма ряда
Изображения
Тип файла: jpg x_f9fcbbc4.jpg (5.2 Кб, 64 просмотров)
Vitalina69 вне форума Ответить с цитированием
Старый 07.12.2010, 19:42   #9
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

f:=[значение функции зависяще от n];
Код:
f:=pos(x,2*n+1)/fact(2*n+1);
Реализуйте функции возведения в степень(pos) и факториал(fact) числа(на форуме 100500 раз обсуждались)
Код:
if n mod 2 = 0 then sum:=sum+f
   else sum:=sum -f
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 07.12.2010, 19:48   #10
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию

Спасибо огромное за помощь!!! Ща попробую сделать)))) эх.... наверно не выйдет из меня хороего программиста(((((((((
Vitalina69 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа для вычисления суммы ряда Vitalina69 Общие вопросы Delphi 2 01.12.2010 19:47
Функция суммы введенных чисел. I_student Помощь студентам 5 10.10.2010 14:43
функция суммы ряда gector_sm Помощь студентам 1 02.06.2010 18:12
функция подсчета суммы элементов после первого отрицательного nikzntu Общие вопросы C/C++ 0 13.01.2009 21:40