Top.Mail.Ru
Ответы

Помогите с информатикой Delphi

В общем проблема такая:
Нужно Составить блок-схему алгоритма и программу на языке Object Pascal для расчета и печати 5 таблиц значений функций при указанных х и а = 1,1; 1,2; 1,3; 1,4; 1,5. Организовать вывод графика функции (с использованием графических компонент Delphi) по любой из созданных таблиц.
при х, изменяющемся от 0.1 до 1.6 с шагом 0.1
Я вроде пишу код, но чарт выдает out of range ошибку, помогите
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.TeeGDIPlus,
VCLTee.TeEngine, Vcl.ExtCtrls, VCLTee.TeeProcs, VCLTee.Chart, VCLTee.Series;

type
TForm2 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Memo2: TMemo;
Memo3: TMemo;
Memo4: TMemo;
Memo5: TMemo;
Chart1: TChart;
Series1: TLineSeries;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
a1, a2, a3, a4, a5: array [1 .. 16] of real;
i: Integer;
j:real;
begin
for i := 1 to 16 do
begin
a1[i] := 1 / (sqrt(1 + sqr(1.1 * i / 10)));
a2[i] := 1 / (sqrt(1 + sqr(1.2 * i / 10)));
a3[i] := 1 / (sqrt(1 + sqr(1.3 * i / 10)));
a4[i] := 1 / (sqrt(1 + sqr(1.4 * i / 10)));
a5[i] := 1 / (sqrt(1 + sqr(1.5 * i / 10)));
end;
for i := 1 to 16 do
begin
j:=i/10;
Memo1.lines.add ( '(' + floattostr(j) + ',' + floattostr(a1[i]) + ')');
Memo2.lines.add ( '(' + floattostr(j) + ',' + floattostr(a2[i]) + ')');
Memo3.lines.add ( '(' + floattostr(j) + ',' + floattostr(a3[i]) + ')');
Memo4.lines.add ( '(' + floattostr(j) + ',' + floattostr(a4[i]) + ')');
Memo5.lines.add ( '(' + floattostr(j) + ',' + floattostr(a5[i]) + ')');
end;
chart1.Series[1].Clear;
for i := 1 to 16 do
Chart1.Series[1].AddXY(i/10,a1[i],'',clred);

end;

end.

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

Вангую, что твой Chart1 не содержит Series[1].