Напишіть програму та поясніть задачу “Трикутник і точка” з підпрограмами
Поясніть задачу табулювання функції та напишіть програму табулювання із занесенням результатів у масиви Хе та Уе
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.