Напишіть програму та поясніть задачу “Трикутник і точка” з підпрограмами

Поясніть задачу табулювання функції та напишіть програму табулювання із занесенням результатів у масиви Хе та Уе

Type Vector = Array [0..640] of Real;

Var XE, YE : Vector;

al, bl, h : Real;

Ne, i : Integer;

Function f (x : Real) : Real;

Begin f := x * Sin (x) End;

BEGIN {Початок головної програми}

Writeln ('Bведiть к-сть точок: Ne '); Readln( Ne);

Writeln ( 'Введiть промiжок al bl (область визначення)');

Readln ( al, bl);

h := (bl - al) / (Ne-1); { h -> крок табулювання функцiї f}

XE[0] := al;

For i := 0 to Ne - 1 do

Begin

YE [i] := f (Xe [i]);

XE [i + 1] := Xe[i] + h

End;

Опишіть можливості компоненти TСhart і правила побудови графіків функцій з її використанням.

Приклад . Побудова графіка за допомогою компоненту Chart

Компонент Chart знаходиться на сторінці TeeChartSTD. Помістіть його на форму. Запустіть редактор діаграм і створіть одну криву типу Fast Line. На вкладці Chart перейдіть до вкладки 3D і зніміть прапорець з пункту 3 Dimension для того, щоб прибрати тривимірне відображення графіка. Перейдіть до вкладки Legend і зніміть прапорець з пункту Visible. Перейдіть до вкладки Titles і в текстовому полі наберіть наступне: «парабола»

Перейдіть до вкладки Series редактора діаграм і на вкладці Format клацніть по кнопці Border. З'явиться вікно, в якому можна набудувати колір лінії. Після того, як колір вибраний, натисніть кнопку OK для закриття вікна. Щоб закрити вікно редактора діаграм натисніть в нім кнопку Close. Всі зміни, вироблювані у вікні редактора діаграм, відображаються відразу ж на ескізі графіка.

Вид додатку на етапі розробки представлений на наступному малюнку:

Для задання процедури, завдяки якій будуватиметься графік, зробіть подвійне клацання на формі. Тобто, графік промальовуватиметься при створенні форми, а відповідна процедура називається TForm1.FormCreate.

Текст файлу Unit1.pas

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;

type

TForm1 = class(TForm)

Chart1: TChart;

Button1: TButton;

Series1: TLineSeries;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

n,i : integer;

al,bl,h : real;

xe,ye : array[1..100] of real;

implementation

{$R *.dfm}

function f(x : real) : real;

begin

f := x*x-4;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Chart1.Series[0].Clear;

n := 100;

al := -20;

bl := 30;

h := (bl-al)/n;

xe[1] := al;

for i:=1 to n do

begin

ye[i] := f(xe[i]);

xe[i+1] := xe[i] + h;

end;

for i:=1 to n do

begin

Chart1.Series[0].AddXY(xe[i],ye[i],' ',clRed);

end;

end;

end.

Поясніть на прикладі весь можливий набір складових частин консольного проекту Delphi.

Необхідно пояснити суть і призначення наступних частин консоль-програми:

Program …

{$APPTYPE CONSOLE}

Uses …

Label ….

Const …

Type …

Var

Procedure ….

Function …

Begin

<тіло програми>

End.

Напишіть програму та поясніть задачу “Трикутник і точка” з підпрограмами

Фрагмент одного із варіантів програми:

function l(xk,yk,xr,yr:real):real; // Обчислює довжину сторони

begin

l:=sqrt(sqr(xr-xk)+sqr(yr-yk))

end;

function p(ak,ar,at:real):real; // Обчислює півпериметр трикутника

begin

p:=(ak+ar+at)*0.5

end;

function s(pk,ar,at,aq:real):real;//Обчислює площу трикутника

begin

s:=sqrt(pk*(pk-ar)*(pk-at)*(pk-aq))

end;

Var x1,y1,x2,y2,x3,y3,x4,a1,a2,a3,a4,a5,a6,y4,p1,p2,p3,p4,s1,s2,s3,s4,E,ss:real;

begin

writeln('x1,y1,x2,y2,x3,y3,x4,y4,E');

readln(x1,y1,x2,y2,x3,y3,x4,y4,E);

a1:=l(x1,y1,x2,y2);

a2:=l(x1,y1,x3,y3);

a3:=l(x2,y2,x3,y3);

a4:=l(x1,y1,x4,y4);

a5:=l(x2,y2,x4,y4);

a6:=l(x3,y3,x4,y4);

p1:=p(a1,a2,a3);

s1:=s(p1,a1,a2,a3);

p2:=p(a1,a4,a5);

s2:=s(p2,a1,a4,a5);

p3:=p(a2,a4,a6);

s3:=s(p3,a2,a4,a6);

p4:=p(a3,a5,a6);

s4:=s(p4,a3,a5,a6);

ss:=s2+s3+s4;

if abs(s1-ss)<=Eps then

writeln('to4ka nalegiTb Trukytnuky');

if abs(s1-ss)>E then

writeln('to4ka ne nalegiTb Trukytnuky');

readln;

end.

Наши рекомендации