ГДЗ Інформатика 9 клас. Підручник [Бондаренко О.О., Ластовецький В.В.] 2017
14.02.2019,
9 Клас / Інформатика,
39 591,
0
§ 37. Візуалізація елементів табличної величини за допомогою графічних примітивів (Сторінка 205)
Питання для самоперевірки
1. Опишіть порядок створення масиву автофігур типу TShape.
Відкрийте середовище Lazarus, створіть новий проект, у якому відображатимуться у вигляді лінійчатої діаграми дані з таблиці.
Розробіть інтерфейс програми згідно скріншота.
На форму додайте компонент Panel як контейнер для компонентів Image і Shape. Розмістіть на панелі компонент Image і 4 компоненти Shape (за кількістю елементів у масиві). Для створення легенди діаграми на форму додамо 4 компоненти Label.
Об'єкти TShape належать до типу даних TShape. У розділі опису глобальних змінних опишемо наступним чином.
var
Form1: TForm1;
sh: array[1..4] of TShape; // масив типу TShape
implementation
Тепер можна працювати з автофігурами, звертаючись до них, як до елементів масиву sh[i]. Аналогічно створимо масив типу TLabel для об'єктів Label.
var
Form1: TForm1;
sh: array[1..4] of TShape; // масив типу TShape
lb: array[1..4] of TLabel; // масив типу TLabel
implementation
Заповнення масивів відбуватиметься під час створення форми.
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Canvas.Brush.Color := clWhite; // встановлюємо колір області
Image1.Canvas.FillRect(Image1.ClientRect); // побудови діаграми
{ заповнення масиву типу TShape }
sh[1] := Shape1; { 1-й елемент масиву sh — фігура з іменем Shape1 }
sh[2] := Shape2; sh[3] := Shape3; sh[4] := Shape4;
{ заповнення масиву типу TLabel }
lb[1] := Label1;lb[2] := Label2; lb[3] := Label3; lb[4] := Label4;
end;
2. Який графічний метод використовують для побудови гістограми; кругової діаграми?
Діаграми можна створювати, програмуючи креслення графічних примітивів (лінія, прямокутник, сектор) графічними методами полотна Canvas. Для побудови стовпців гістограми (стовпчастої діаграми) використаємо графічний метод Canvas.Rectangle(x1,y1,x2,y2).
У круговій діаграмі кожному елементу масиву відповідає сектор, градусна міра якого пропорційна величині елемента.
3. Опишіть алгоритм побудови кругової діаграми.
Занесені до масиву K[1..4] of Integer. Областю побудови діаграми є полотно елемента керування Image1.
const K: array[1..4] of Integer = (2, 6, 15, 7);
cl: array[1..4] of TColor = (clBlue,clGreen,clYellow,clRed);// масив кольорів
var
i: Integer; sum, ps: Real; // градусна міра сектора
x0, y0: Integer; // координати центра діаграми
wx, wy: Integer; // координати першої точки
x,y: Integer;// координати наступних точок
r: Integer;// радіус
begin
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.FillRect(Image1.ClientRect);
sum := 0; For i := 1 to 4 do sum := sum + K[i]; { обчислення координат центра діаграми }
x0 := Image1.Width div 2;
y0 := Image1.Height div 2;
r := Image1.Width div 2; // обчислення радіуса
wx := x0 + r; wy := y0; // перша точка ps := 0; For i := 1 to 4 do
With Image1.Canvas do
begin
ps := ps + 2 * pi * K[i]/sum;// кут сектора
x := Round(x0 + r * cos(ps));
y := Round(y0 + r * sin(ps));
Brush.Color := cl[i];
Pie(x0 – r, y0 – r, x0 + r, y0 + r, x, y, wx, wy);
wx := x; wy := y;
end;
end;
Якщо помітили в тексті помилку, виділіть її та натисніть Ctrl + Enter