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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2014, 13:28   #1
Igrohim
 
Регистрация: 16.11.2014
Сообщений: 8
Печаль Помогите найти ошибку в коде!

Было задание методом простых итераций решить уравнение, а также найти его экстремум. Если честно, я не уверен что инф-ция выводящаяся в мемо1 верная, и почему-то не строится 2-ой график.
Код:

Код:
unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, VCLTee.TeEngine,
  VCLTee.Series, Vcl.ExtCtrls, VCLTee.TeeProcs, VCLTee.Chart, Vcl.Buttons,
  Vcl.Menus;

type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit8: TEdit;
    Label9: TLabel;
    Edit9: TEdit;
    Button1: TButton;
    Edit10: TEdit;
    Label10: TLabel;
    Edit11: TEdit;
    Label11: TLabel;
    Label12: TLabel;
    Memo1: TMemo;
    Chart1: TChart;
    Series1: TLineSeries;
    SpeedButton3: TSpeedButton;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    Edit12: TEdit;
    Edit13: TEdit;
    Series2: TLineSeries;
    Memo2: TMemo;
    Label13: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
a0,a1,a2,a3,a4,a5,a6,a7,a8,x0,x,eps,yotx,y2otx,a,b:real;
begin
a0:=StrToFloat(Edit10.Text);
a1:=StrToFloat(Edit1.Text);
a2:=StrToFloat(Edit2.Text);
a3:=StrToFloat(Edit3.Text);
a4:=StrToFloat(Edit4.Text);
a5:=StrToFloat(Edit5.Text);
a6:=StrToFloat(Edit6.Text);
a7:=StrToFloat(Edit7.Text);
a8:=StrToFloat(Edit8.Text);
x0:=StrToFloat(Edit9.Text);
eps:=StrToFloat(Edit11.Text);
x:=x0;
yotx:=a0+a1*x*sin(a2*x)+a3*sin(a4*x*x)+a5*exp(a6*x)+a7*exp(a8/x);
a:=strtofloat(edit12.Text);
b:=strtofloat(edit13.Text);
x:=a;
repeat
  yotx:=a0+a1*x*sin(a2*x)+a3*sin(a4*x*x)+a5*exp(a6*x)+a7*exp(a8/x);
  Series1.AddXY(x,yotx);
  x:=x+0.1;

until
x>=b;
Memo1.Text:=FloatToStr(yotx);
end;

procedure Tform2.SpeedButton3Click(Sender: TObject);
begin
Series1.Clear;
Series2.Clear;
end;

procedure TForm2.Button2Click(Sender: TObject);
var
a0,a1,a2,a3,a4,a5,a6,a7,a8,x0,x,eps,yotx,y2otx,a,b:real;
begin
a0:=StrToFloat(Edit10.Text);
a1:=StrToFloat(Edit1.Text);
a2:=StrToFloat(Edit2.Text);
a3:=StrToFloat(Edit3.Text);
a4:=StrToFloat(Edit4.Text);
a5:=StrToFloat(Edit5.Text);
a6:=StrToFloat(Edit6.Text);
a7:=StrToFloat(Edit7.Text);
a8:=StrToFloat(Edit8.Text);
x0:=StrToFloat(Edit9.Text);
eps:=StrToFloat(Edit11.Text);
x:=x0;
a:=strtofloat(edit12.Text);
b:=strtofloat(edit13.Text);
x:=a;
   repeat
  y2otx:=a1*sin(a2*x)+a1*a2*x*cos(a2*x)+2*a3*a4*x*cos(a4*x*x)+a5*a6*exp(a6*x)-(a7*a8*exp(a8/x))/x*x;
  Series2.AddXY(x,y2otx);
  x:=x+0.1;

until
x>=b;
Memo2.Text:=FloatToStr(y2otx);
end;

procedure TForm2.N2Click(Sender: TObject);
var
tf:textfile;
begin
if (SaveDialog1.Execute) then
 AssignFile(tf, SaveDialog1.FileName);
 writeln(tf);
 CloseFile(tf);
end;

procedure TForm2.N3Click(Sender: TObject);
var
tf:textfile;
begin
if (OpenDialog1.Execute) and (FileExists(OpenDialog1.FileName)) then
begin
AssignFile(tf,OpenDialog1.FileName);
Reset(tf);
Readln(tf);
Readln(tf);
closefile(tf);
end;
end;




end.
Igrohim вне форума Ответить с цитированием
Старый 28.12.2014, 13:42   #2
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

А вместо кода unit1 можно лицезреть проект в виде файлов? А то как-то нет желания всё это воспроизводить, чтоб увидеть, что там у Вас не выводится.
WinCoder вне форума Ответить с цитированием
Старый 28.12.2014, 13:51   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
я не уверен что инф-ция выводящаяся в мемо1 верная
На калькуляторе проверить не желаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.12.2014, 14:11   #4
Igrohim
 
Регистрация: 16.11.2014
Сообщений: 8
По умолчанию

Вот архив со всем проектом
Вложения
Тип файла: rar 4д.rar (88.3 Кб, 12 просмотров)
Igrohim вне форума Ответить с цитированием
Старый 28.12.2014, 14:22   #5
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
и почему-то не строится 2-ой график
Видимо у меня что-то с глазами, но я вижу ровно два графика...
Изображения
Тип файла: png Безымянный.png (4.5 Кб, 68 просмотров)
WinCoder вне форума Ответить с цитированием
Старый 28.12.2014, 16:32   #6
Igrohim
 
Регистрация: 16.11.2014
Сообщений: 8
По умолчанию

какой-то глюк значит у меня - строится только 1(
Igrohim вне форума Ответить с цитированием
Старый 28.12.2014, 16:51   #7
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Вот что значит, скопипастил, но не понял, что скопипастил.
WinCoder вне форума Ответить с цитированием
Старый 28.12.2014, 17:34   #8
Igrohim
 
Регистрация: 16.11.2014
Сообщений: 8
По умолчанию

никакой копипасты - сам с 2 пары писал - только незнаю правильно ли)
Igrohim вне форума Ответить с цитированием
Старый 28.12.2014, 18:06   #9
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Во лечишь Как же ты его писал, если даже пользоваться им не можешь? Что это такое?
Код:
procedure TForm2.Button1Click(Sender: TObject);
WinCoder вне форума Ответить с цитированием
Старый 28.12.2014, 23:54   #10
Igrohim
 
Регистрация: 16.11.2014
Сообщений: 8
По умолчанию

А толку им пользоваться если я метод ПИ всё равно не знаю(

А то, что вы выделили, это если я не ошибаюсь строка о процедуре на моей форме относящаяся на 1 кнопку, с капчей "запустить", которая считывает все из эдитов и начинает процесс, который рассчитывает уравнение в пределах от а до б для моих А-энных и чертит по этому график.
Я не понимаю то ли он рассчитывает((
Igrohim вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку в коде Saka Помощь студентам 6 07.12.2009 11:43
Помогите найти ошибку в коде. Serror Общие вопросы C/C++ 7 04.10.2009 00:44
Помогите найти ошибку в коде Jora_Kornev Общие вопросы Delphi 10 10.01.2009 17:00
Помогите найти ошибку в коде! alex2008ean Паскаль, Turbo Pascal, PascalABC.NET 1 27.12.2008 18:31
помогите найти ошибку в коде Joker88 Помощь студентам 1 04.03.2008 12:43