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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2013, 21:39   #1
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
По умолчанию сумма ряда Delphi, неправильно выводит ответ

необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для х изменяющихся от xn до xk с шагом h = (xn-xk)/10. Близость значений S(x) и Y(x) во всем диапазоне значений x указывает на правильность вычисления S(х) и Y(x).


Безымянный.jpg


Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label5: TLabel;
    Memo1: TMemo;
    Button1: TButton;
    Edit3: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.text:='0,1';
Edit2.text:='1';
Edit3.Text:='12';
Memo1.Clear;
end;

procedure TForm1.Button1Click(Sender: TObject);
var xn,xk,x,h,a,s,y:extended;
n,i:integer;
begin
Memo1.Lines.Add('Результаты ст. гр. 107232 Чекмарёва Н.В.,');
Memo1.Lines.Add('                          Слиженкова Д.В.');
xn:=StrToFloat(Edit1.Text);
Memo1.Lines.Add('xn='+FloatToStrF(xn,ffFixed,6,2));
xk:=StrToFloat(Edit2.Text);
Memo1.Lines.Add('xk='+FloatToStrF(xk,ffFixed,6,2));
n:=StrToInt(Edit3.Text);
Memo1.Lines.Add('n='+IntToStr(n));
x:=xn;
h:=(xk-xn)/10;
repeat
   s:=0; i:=0;
  while (i<n) do
    begin
      i:= i + 1;
      a:= power(-1,(n+1))*power(x,2*n+1)/(4*n*n-1);
      s:= s + a;
    end;

  y:=(1+x*x)/2*arctan(x)-x/2;
  Memo1.Lines.Add('при x='+FloatToStrF(x,ffFixed,6,2)+'  сумма ='
    +FloatToStrF(s,ffFixed,12,8)+'  y='+FloatToStrF(y,ffFixed,8,4));
  x:=x+h;
until x > xk
end;
end.

Последний раз редактировалось nati_94; 16.09.2013 в 21:42.
nati_94 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++,циклическая очередь, сразу норм выводит, а потом на где-то логика нарушается и неправильно выводит nati_94 Помощь студентам 2 17.03.2013 14:29
Сумма ряда,типизированные/нетипизированные файлы.Delphi. assasin666 Помощь студентам 0 20.12.2011 00:02
Некорректно выводит ответ merhaba1992 Паскаль, Turbo Pascal, PascalABC.NET 1 12.12.2011 19:08
Сумма ряда [Delphi] StudeHt Помощь студентам 0 15.12.2009 01:59
Задачи в Delphi (матрица, массив, сумма ряда). Помогите, пожалуйста! 8Lesya8 Помощь студентам 3 15.05.2009 20:06