Збірник практичних робіт з інформатики для 8 класу Середовище програмування Lazarus,

Про матеріал
Збірник практичних робіт з інформатики для 8 класу Середовище програмування Lazarus,
Перегляд файлу

Збірник практичних робіт з інформатики для 8 класу

Середовище програмування Lazarus,

 

Відображення рисунків із зовнішніх файлів

.

Види навчальної діяльності

Обговорюємо

  1.               Як у проектах, розроблених у середовищі програмування Lazarus, розміщують графічні зображення на формі? Яке їх призначення?
  2.               Які засоби передбачені в середовищі програмування Lazarus, щоб додані на форму малюнки не спотворювались, збільшувались, імітували рух?

Діємо разом

  •                   Вправа 1. У середовищі програмування Lazarus створіть проект, форма якого містить малюнок, що збережений у файлі ozon.png. При натисненні кнопки Збільшити розміри малюнка збільшується (імітується ефект наближення). 
  1.               Завантажте середовище Lazarus і створіть новий проект. 
  2.               Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям:

https://4.bp.blogspot.com/--V1Hi9lLXZE/WJXJEvT_55I/AAAAAAAAA8E/dz9DfJ22b4YzdikTS0bBfoQlSPmehSJegCLcB/s200/2017-02-04_142740.png

  1.               Для додавання на форму зображення скористайтеся компонентом Image:

https://2.bp.blogspot.com/-r3QMxjiIl8U/WJXU9O2KN_I/AAAAAAAAA8s/VAgYAmCxp5AaSym6kmHRUs-4yAlWbmiYwCLcB/s320/2017-02-04_151316.png

  1.               У вікні Інспектора об'єктів встановіть властивості для зображення: 

https://4.bp.blogspot.com/-g2IfriXpcfk/WJXh8m0zlPI/AAAAAAAAA88/yJY1wNY71JkIlwIyIl4IHpVIdKzVyzPKACLcB/s320/2017-02-04_152440.png

1 - виберіть об'єкт Image1,  2 (AutoSize) - автоматична зміна розміру компонента до реального розміру зображення, 3 (Hint) - текст вспливаючої підказки, коли курсор над об'єктом, 4 (Picture) - завантаження зображення, 5(ShowHint) - показувати чи не показувати текстову підказку, 6 (Stretch) - автоматичне масштабування (стиснення чи розтягнення). 

  1.               Створіть процедуру опрацювання події натиснення кнопки Збільшити і введіть команди у вікні редактора коду для переміщення малюнка та збільшення його:
  2.                           procedure TForm1.Button1Click(Sender: TObject);
  3.                           begin
  4.                             Image1.Top := Image1.Top + 100;
  5.                             Image1.Left := Image1.Left + 100;
  6.                         Image1.Height := Image1.Height + 100;
  7.                         Image1.Width := Image1.Width + 100;

end;

  1.           Запустіть проект на виконання. Перевірте, чи отримали ви потрібний результат.
  2.           Завершіть роботу з проектом і середовищем програмування.
  •                   Вправа 2. У середовищі програмування Lazarus створіть проектПолюси магнітів, який містить два малюнки магнітів, розташовані один напроти другого. Потрібні зображення збережені у файлахmagnit1.png, magnit2.png. Коли натиснути мишею на лівому малюнку, вони обидва наближаються один до одного, а на правому – віддаляються.
  1.               Завантажте середовище Lazarus і створіть новий проект.
  2.               Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям:

https://3.bp.blogspot.com/-sSrNDQzIGYY/WJXNSbwrdrI/AAAAAAAAA8Q/0zhY9wypdEgbYO_ICJ_EsKptB6EpcuRXgCLcB/s200/2017-02-04_144244.png

  1.               Створіть процедуру опрацювання події натиснули кнопкою миші. Для цього оберіть у вікні Інспектора об'єктів компонент Іmage1, на вкладці Події двічі натисніть у клітинці праворуч (...) від OnMouseDown 

https://1.bp.blogspot.com/-LyZqp_mJ110/WJXPWM6zozI/AAAAAAAAA8c/F1Ls_dUW3Fky4nkmsb-ieRIxSzb4jExlACLcB/s200/2017-02-04_145338.png

і введіть команди у вікні редактора коду для переміщення малюнка:

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  Image1.Left := Image1.Left + 10;

  Image2.Left := Image2.Left - 10

end;

  1.               Виконайте аналогічні дії для компонента Image2, врахувавши зміни у програмному коді. 
  2.               Запустіть проект на виконання. Перевірте, чи отримали ви потрібний результат.
  3.               Завершіть роботу з проектом і середовищем програмування.

Працюємо в парах

  •                   Поміркуйте, як скласти таблицю узагальнення щодо роботи із графічними об'єктами в середовищі програмування Lazarus. Складіть її засобами текстового процесора. Доповнюйте таблицю новими відомостями.

Виконуємо самостійно

  •                   Завдання. Створіть проект Площа фігур, вікно якого містить зображення трикутника, прямокутника й круга (створити в графічному редакторі), та опрацьовуються такі події: при наведенні вказівника миші на кожну фігуру та утримання натиснутою її лівої кнопки миші на екранній формі в написі виводиться формула площі відповідної фігури; якщо кнопку відпустити, формула зникне. Розгляньте зразок виконаного проекту

https://4.bp.blogspot.com/-3m89ocFoRIY/WJXpLgdkGEI/AAAAAAAAA9M/aqRuUU8Ks_UoCfAMnuLF34ndK72iV-HRwCLcB/s200/2017-02-04_163920.png

і проаналізуйте програмний код для опрацювання подій першого зображення (трикутника):

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  Label1.Caption := 'S = sqrt(p*(p-a))*(p-b)*(p-c)';

end;

 

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  Label1.Caption := 'Формула площі';

end;   

Напишіть програмний код для обробки подій для інших зображень (прямокутника і круга), при виконанні завдання для компонентів Imageзмінюйте значення таких властивостей:

https://3.bp.blogspot.com/-Ob56ca6hfyQ/WJXqRrneAFI/AAAAAAAAA9Y/rc2cPK02Tn0Vhe2IkVFN9MqCeghLR4Z9gCEw/s320/2017-02-04_164955.png

Домашнє завдання

 

 

Відображення базових графічних примітивів засобами мови програмування

Увага! Під час роботи з комп'ютером дотримуйтеся правил безпеки і санітарно-гігієнічних норм.

Види навчальної діяльності

Обговорюємо

  1.               Для чого використовують компонент Shape в середовищі програмуванняLazarus?
  2.               Як змінюють властивості геометричних фігур, побудованих за допомогою компонента Shape?

Діємо разом

  •                   Вправа 1. У середовищі програмування Lazarus створіть проект, у якому, коли натискають мишку на зображенні круга, він зафарбовується в колір, обраний у групі перемикачів Колір, а коли натискають мишкою зображення квадрата, - зафарбовується обраним кольором та застосовується стиль заливки, який обирають у групі Заливка.
  1.               Завантажте середовище Lazarus і створіть новий проект. 
  2.               Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям:

https://3.bp.blogspot.com/-Seryw-0lwFY/WJbuGiyqRLI/AAAAAAAAA9w/wh3Olxsg0V0lQPMTB910TN89_2D22bWSACLcB/s200/2017-02-05_111525.png

  1.               Для додавання на форму фігур скористайтеся компонентом Shape:

https://4.bp.blogspot.com/-2Zi9_1eqHNA/WJbuWQcJR-I/AAAAAAAAA90/ApEVtohf8kYVjoVMapaYXCNPuAZZO2SfwCLcB/s320/2017-02-05_111433.png

  1.               Для додавання на форму груп перемикачів скористайтеся компонентом RadioGroup і додайте відповідні значення у властивість Items:

https://4.bp.blogspot.com/-EwMTVNqjlD0/WJbuo6EHxpI/AAAAAAAAA-E/R_OM8uN8HH00JXhZ-5pm6FycGylYaEKLQCEw/s320/2017-02-05_111357.png

https://3.bp.blogspot.com/-YBD8UoJ_G_4/WJbzX25rYZI/AAAAAAAAA-k/sVCx7y9AWlUO_owmurCkO_usG06yXf-AwCEw/s200/2017-02-05_114021.png

  1.               У вікні Інспектора об'єктів встановіть властивості для фігур: Shape1 (Круг) і Shape2 (Квадрат)

https://2.bp.blogspot.com/-pPwPUQOQwlI/WJbwK7vN89I/AAAAAAAAA-I/mto6_Ksp5DQdI8larNroUihaK3JqINtOwCLcB/s200/2017-02-05_112330.png

https://2.bp.blogspot.com/-jeZsECPfMqg/WJbwNNdAvfI/AAAAAAAAA-M/eomgi3jf6I8s3amTaumkAoepVmJno86TACLcB/s200/2017-02-05_112415.png

  1.               Створіть процедуру опрацювання події натискання кнопкою миші на першій фігурі. Для цього оберіть у вікні Інспектора об'єктів компонент Shape1, на вкладці Події двічі натисніть у клітинці праворуч (...) від OnMouseDown 

https://4.bp.blogspot.com/-NSJ34cAOo7Y/WJbyYKTE9lI/AAAAAAAAA-Y/-l1b3ZnW3aMLJ5iQ7boADljOkrhEys7YQCLcB/s320/2017-02-05_113641.png

і введіть команди у вікні редактора коду:

procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

   if RadioGroup1.ItemIndex = 0 then

      Shape1.Brush.Color:=clRed

   else if RadioGroup1.ItemIndex = 1 then

      Shape1.Brush.Color:=clBlue

   else if RadioGroup1.ItemIndex = 2 then

      Shape1.Brush.Color:=clYellow

   else

      Shape1.Brush.Color:=clGreen;

end;

  1.               Створіть аналогічно процедуру опрацювання події натискання кнопкою миші на другій фігурі. Використайте такий програмний код:
  2.                           procedure TForm1.Shape2MouseDown(Sender: TObject; Button: TMouseButton;
  3.                             Shift: TShiftState; X, Y: Integer);
  4.                       begin
  5.                          if RadioGroup1.ItemIndex = 0 then
  6.                             Shape2.Brush.Color:=clRed
  7.                          else if RadioGroup1.ItemIndex = 1 then
  8.                             Shape2.Brush.Color:=clBlue
  9.                          else if RadioGroup1.ItemIndex = 2 then
  10.                             Shape2.Brush.Color:=clYellow
  11.                          else
  12.                             Shape2.Brush.Color:=clGreen;
  13.                        
  14.                          if RadioGroup2.ItemIndex = 0 then
  15.                             Shape2.Brush.Style:=bsHorizontal
  16.                          else if RadioGroup2.ItemIndex = 1 then
  17.                             Shape2.Brush.Style:=bsVertical
  18.                          else
  19.                             Shape2.Brush.Style:=bsSolid;

end;

  1.           Проаналізуйте програмний код опрацювання подій для обох фігур. Запустіть проект на виконання. Перевірте, чи змінюють свої властивості геометричні фігури.
  2.           Завершіть роботу з проектом і середовищем програмування.
  •                   Вправа 2. У середовищі програмування Lazarus розробіть проект Лінії, у якому на формі будуть малюватися лінії за допомогою протягування мишею: початок лінії буде розташовано в позиції, в якій натиснули кнопку миші, а кінець – де відпустили кнопку миші.
  1.               Завантажте середовище Lazarus і створіть новий проект.
  2.               Створіть процедуру опрацювання події натиснули кнопкою миші. Для цього оберіть у вікні Інспектора об'єктів компонент Form1, на вкладці Події двічі натисніть у клітинці праворуч (...) від OnMouseDown 

https://4.bp.blogspot.com/-00pyYA82RxA/WJb3_GN5c4I/AAAAAAAAA-w/rqBhUFzXJe03eBITRuRf_-JiowXpF00IgCLcB/s200/2017-02-05_120059.png

і введіть команди у вікні редактора коду

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  DownM := True;

  Form1.Canvas.MoveTo(X,Y);

end;

  1.               У вікні редактора коду запишіть програмний код для оголошення змінної логічного типу DownM, яка передаватиме стан натиснення миші в кожну процедуру опрацювання події

DownM: Boolean;

Зверніть увагу, що ми записуємо її у програмний код до опису процедури опрацювання подій:

https://1.bp.blogspot.com/-3W8sjjqiMqg/WJb5SvKaL5I/AAAAAAAAA_A/pfdB4Mw5JYIjhceRp1sLmywZx5HfcE4jgCLcB/s1600/2017-02-05_115827.png

  1.               У програмний код (аналогічно, як у пункті 2) запишіть процедури опрацювання подій для форми OnMouseUp - відпущена кнопка миші і OnMouseMove - переміщення миші:
  2.                           procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  3.                             Shift: TShiftState; X, Y: Integer);
  4.                           begin
  5.                             DownM := False;
  6.                           end;
  7.                        
  8.                       procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  9.                         Y: Integer);
  10.                       begin
  11.                          if DownM = True then
  12.                             begin
  13.                               Form1.Canvas.Pen.Color:=clFuchsia;
  14.                               Form1.Canvas.Pen.Width:=5;
  15.                               Form1.Canvas.Pen.Style:=psDot;
  16.                               Form1.Canvas.LineTo(X,Y)
  17.                             end

end; 

  1.           Проаналізуйте програмний код створених процедур, зверніть увагу на використання властивості Canvas - властивості компонента Form, який у свою чергу є об'єктом, що має свої методи і властивості. 
  2.           Запустіть проект на виконання. Спробуйте намалювати лініями своє ім'я.
  3.           Завершіть роботу з проектом і середовищем програмування.

Працюємо в парах 

  •                   Поміркуйте, як створити проект, у якому можна продемонструвати різні стилі заливки фігур. Реалізуйте цей проект у середовищі програмування Lazarus.

Виконуємо самостійно

  •                   Завдання. Розробіть проект Прямокутник, у якому в текстові поля чи у список даних вводять пари координат чисел, натискають кнопкуПобудувати й отримують прямокутник, побудований за вказаними значеннями координат. Розкоментуйте рядок з кодом і проаналізуйте зміни у виконанні програми. Орієнтовний зразок інтерфейсу

https://4.bp.blogspot.com/-z-DWJ8lxv_g/WJb-Gc2VDmI/AAAAAAAAA_M/V4fPpldEa4cWptkyknDtpQ0QZSnj-QN-gCLcB/s200/2017-02-05_122401.png

і програмний код, який можна використати у проекті:

procedure TForm1.Button1Click(Sender: TObject);

var x1, x2, y1, y2: integer;

begin

  x1:=StrToInt(Edit1.Text);

  y1:=StrToInt(Edit2.Text);

  x2:=StrToInt(Edit3.Text);

  y2:=StrToInt(Edit4.Text);

  Form1.Canvas.Brush.Color:=clYellow;

  Form1.Canvas.Rectangle(x1,y1,x2,y2);

  // Form1.Canvas.FillRect(x1,y1,x2,y2);

end;

Домашнє завдання

 

docx
До підручника
Інформатика 8 клас (Ривкінд Й.Я., Лисенко Т.І., Чернікова Л.А., Шакотько В.В.)
Додано
29 квітня 2020
Переглядів
4001
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку