| Цитата | 2. Зделайте програмный код для табуляцыи функцыи f(x) на промежутке [0,100] с шагом h=0,1 * 15 f(x)=log10(x)/sqrt(2x(в кубе)+3 Вычеслите количество елементов созданого масива. Значение елементов масива выведете на екран с использованием компонента StringGrid. 3.Вычислите средьнее арефметичное значение елементов масивазделаного в задании 2.
|
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Math;
type TForm1 = class(TForm) Button1: TButton; StringGrid1: TStringGrid; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); const h=0.1*15; var i,k: Integer; f,x,sum: Real; a: array[0..100] of Real; begin {for i:=0 to 100 do a[i]:=0; } StringGrid1.ColCount:=1; //можно сделать StringGrid1.FixedCols:=0; //в свойствах StringGrid1.FixedRows:=0; //StringGrid'a x:=0; //функция не может принимать значение x=0, т.к. log10(x), где x>0 k:=0; sum:=0; for i:=0 to 100 do begin if x<=100 then //рассматриваем интервал от 0 до 100 begin x:=x+h; a[k]:=log10(x)/(sqrt(2*x*x*x)+3); inc(k); end else break; end; StringGrid1.ColCount:=k; Label1.Caption:='Количество элементов созданного массива = '+IntToStr(k); for i:=0 to k-1 do begin StringGrid1.Cells[i,0]:=FloatToStrF(a[i],ffFixed,10,6); sum:=sum+a[i]; end; Label2.Caption:='Среднее арифметическое = '+FloatToStrF(sum/k,ffFixed,15,6); end;
end.
|
|