Задача 1. Чарівні кнопки.
Створити проєкт «Чарівні кнопки», у якому при натисканні кнопки Зліва-направо або Справа-наліво з поданих фрагментів слів «КА», «БАН» утворюється слово у вказаному порядку.
1. Відкрити середовище програмування Lazarus.
2. У меню проєкт оберіть вказівку Створити проєкт.
3. Створюємо форму (мал.1) та міняємо значення властивостей о’єкта (таб 1).
мал.1
Об’єкт |
Властивість |
Значення властивості |
Form1 |
Caption |
Чарівні кнопки |
Label 1 |
Caption |
КА |
Label 2 |
Caption |
БАН |
Label 3 |
Caption |
СЛОВО |
Button1 |
Caption |
Зліва-направо |
Button2 |
Caption |
Справа-наліво |
Таб.1
4. Натискаємо двічі на кнопку Button1, щоб перейти у вікно редактора коду.
5. Створюємо програмний код.
Label3.Caption:= Label1.Caption + Label2.Caption;
6.Аналогічно додаємо програмний код , яка буде опрацьовувати подію при натисканні на кнопку Button2.
Label3.Caption:= Label2.Caption + Label1.Caption;
Отже, наш програмний код буде мати вигляд
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
label3.Caption:=label1.Caption + label2.Caption;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
label3.Caption:=label2.Caption + label1.Caption;
end;
7. Збережіть проєкт й усі файли, які його складають. Запустіть проєкт на виконання. Перевірте, чи виконуються вказані в завданні дії під час натискання кожної з кнопок. За наявності помилок виправте їх.
8. Завершіть роботу із проєктом і середовищем програмування.
Задача 2. Довідник з фізики.
Створити проєкт «Довідник з фізики», у якому головна екранна форма матиме вигляд, як на малюнку 2.
1. Відкрити середовище програмування Lazarus.
2. У меню проєкт оберіть вказівку Створити проєкт.
3. Створюємо форму (мал.2) та міняємо значення властивостей о’єкта (таб 2).
мал.2
Об’єкт |
Властивість |
Значення властивості |
Form1 |
Caption |
Довідник |
Label 1 |
Caption |
Види теплообміну |
Font |
Шрифт: Book Antiqua, Стиль шрифту: жирний, Розмір:20 |
|
Button1 |
Caption |
Теплопровідність |
Font |
Шрифт: Book Antiqua, Стиль шрифту: жирний, Розмір:20 |
|
Button2 |
Caption |
Конвекція |
Font |
Шрифт: Book Antiqua, Стиль шрифту: жирний, Розмір:20 |
|
Button3 |
Caption |
Випромінювання |
Font |
Шрифт: Book Antiqua, Стиль шрифту: жирний, Розмір:20 |
|
Button4 |
Caption |
Завершити
|
Font |
Шрифт: Book Antiqua, Стиль шрифту: жирний, Розмір:20 |
|
|
|
|
Таб.2
4. Натискаємо двічі на кнопку Button1, щоб перейти у вікно редактора коду.
5. Створюємо програмний код.
Unit2.Form2.ShowModal;
6.Аналогічно додаємо програмний код , яка буде опрацьовувати подію при натисканні на кнопку Button2.
Unit3.Form3.ShowModal;
7. Відповідно для кнопки Button3 програмний код буде мати вигляд
Unit4.Form4.ShowModal;
8. Для кнопки Button4
form1.Close;
9. Тепер у розділі implementation необхідно ввести наступне
uses Unit2, Unit3, Unit4;
Відповідно програма буде мати вигляд
implementation
uses Unit2, Unit3, Unit4;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
Unit2.Form2.ShowModal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Unit3.Form3.ShowModal;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Unit4.Form4.ShowModal;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
form1.Close;
end;
10. Збережіть проєкт й усі файли, які його складають. Запустіть проєкт на виконання. Перевірте, чи виконуються вказані в завданні дії під час натискання кожної з кнопок. За наявності помилок виправте їх.
11. Завершіть роботу із проєктом і середовищем програмування.
Задача 3. Туристична агенція.
У середовищі програмування Lazarus розробіть для туристичної агенції проєкт реєстраційної форми на подорож містами Європи, у якій турист може вказати такі відомості:
procedure TForm1.Button1Click(Sender: TObject);
var kod,month, day, number: integer;
feeding:real;
begin
kod:=StrToInt(InputBox('Введення даних','Введіть персональний код',''));
month:=StrToInt(InputBox('Введення даних','Введіть місяць',''));
day:=StrToInt(InputBox('Введення даних','Введіть кількість днів',''));
number:=StrToInt(InputBox('Введення даних','Введіть кількість осіб',''));
feeding:=StrToFloat(InputBox('Введення даних','Введіть тип харчування',''));
Label7.Caption:=IntToStr(kod);
Label8.Caption:=IntToStr(month);
Label9.Caption:=IntToStr(day);
Label10.Caption:=IntToStr(number);
Label11.Caption:=FloatToStr(feeding);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
10. Збережіть проєкт й усі файли, які його складають. Запустіть проєкт на виконання. Перевірте, чи виконуються вказані в завданні дії під час натискання кожної з кнопок. За наявності помилок виправте їх.
11. Завершіть роботу із проєктом і середовищем програмування.
Задача 4 «Маса тіла»
Вправа 1. Вітальна листівка. завдання.
У середовищі програмування Lazarus розробіть проект Вітальна листівка за зразком, у якому у відповідні текстові поля на екранній формі користувач вносить ім’я адресата привітання, подію та ім’я автора привітання.
person := Edit1.Text;
Label5.Caption := person;
Label5.Visible := True; Edit1.Visible := False;
Label1.Visible := False;
procedure TForm1.Button1Click(Sender: TObject);
var
person, event, nik: string;
begin
person:=edit1.Text;
label5.Caption:=person;
label1.Visible:=false;
label5.visible:=true;
edit1.Visible:=false;
event:=edit2.Text;
label6.Caption:=event;
label3.Visible:=false;
label6.visible:=true;
edit2.Visible:=false;
nik:=edit3.Text;
label7.Caption:=nik;
label7.visible:=true;
edit3.Visible:=false;
end;
Задача . Дата народження.
Завдання. Розробіть проект у середовищі Lazarus, у якому в текстові поля, розміщені у верхній частині форми, користувач вводить день, місяць і рік свого народження та після натиснення кнопки Пуск у відповідному текстовому написі формується дата народження у форматі день.місяць.рік.
1. Сплануйте проект. Передбачте, які об’єкти будуть використані на екранній формі та які події будуть відбуватись із ними.
2. Запустіть середовище Lazarus, створіть новий проект. Змініть значення властивості Caption об’єкта Form1, надавши їй значення Дата народження.
Розмістіть на формі об’єкти за зразком і надайте значень їх властивостям, що визначені самостійно. Властивості Enabled текстового поля для виведення результату надайте значення False.
3. Створіть процедуру опрацювання події: натиснуто кнопку Пуск. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: var d, m, y, rez: string;
4. У вікні редактора коду запишіть команди присвоювання значень змінним d, m, y за зразком: d := edit1.text;
5. Запишіть вираз для отримання значення змінної rez: rez := d + '.' + m + '.' + y; 6. Надайте значення отриманої змінної властивості Text текстового поля для відображення повної дати народження. Програма буде мати вигляд
procedure TForm1.Button1Click(Sender: TObject);
var
d, m, y, rez : string;
begin
d := Edit1.Text;
m := Edit2.Text;
y := Edit3.Text;
rez := d + '.' + m + '.' + y;
end;
end.
7. Запустіть проект на виконання. Введіть дані в текстові поля, місяць народження запишіть числом. Натисніть кнопку Пуск і перевірте правильність роботи програми. Якщо є помилки — виправте ї х.
8. Завершіть роботу з проектом і середовищем.
Задача. Ініціали.
Розробіть у середовищі Lazarus проект, після запуску якого до текстових полів екранної форми користувач вводитиме прізвище, ім'я і по батькові. Після натиснення кнопки Старт до відповідного текстового поля будуть виводитися прізвище та ініціали.
var last_name, first_name, surname, full_name : string;
6.У вікні редактора коду запишіть команди присвоювання значень змінним last_name, first_name, surname:
last_name := Edit1.Text;
first_name := Edit2.Text;
surname := Edit3.Text;
7. Запишіть команду знаходження значення змінної величини full_name:
full_name := last_name + ' ' + UTF8copy(first_name, 1, 1) + '.' + UTF8copy(surname, 1, 1) + '.';
8.Запишіть команду виведення отриманого значення змінної full_name у текстове поле, захищене від редагування:
Edit4.Text := full_name;
9. Запустіть проект на виконання. введіть дані в текстові поля. Натисніть кнопкуСтарт і перевірте правильність роботи програми. Якщо є помилки - виправте їх.
10.Збережіть проект і завершіть роботу із середовищем.
Задача. Калькулятор
Розробіть проект у середовищі Lazarus, у якому за введеним значенням температури води буде визначатись її агрегатний стан.
1. Сплануйте проект. Передбачте, які об’єкти будуть використані на екранній формі та які події відбуватимуться з ними.
2. Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Калькулятор. Змініть значення властивостей об’єкта Form1, розмістіть на формі потрібні об’єкти та надайте значень їх властивостям, щоб отримати форму.
Скористайтеся фрагментом програмного коду для однієї із арифметичних дій:
procedure TForm1.Button1Click(Sender: TObject);
var a, b: real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
Edit3.Text:= FloatToStr(a+b);
end;
3. Запустіть проект на виконання. введіть дані в текстові поля. Натисніть кнопкуСтарт і перевірте правильність роботи програми. Якщо є помилки - виправте їх.
4. Збережіть проект і завершіть роботу із середовищем.
Задача. Агрегатний стан води. завдання.
Розробіть проект у середовищі Lazarus, у якому за введеним значенням температури води буде визначатись її агрегатний стан.
1. Сплануйте проект. Передбачте, які об’єкти будуть використані на екранній формі та які події відбуватимуться з ними.
2. Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Стан_води. Змініть значення властивостей об’єкта Form1, розмістіть на формі потрібні об’єкти та надайте значень їх властивостям, щоб отримати форму.
3. Візьміть до уваги, що для всіх об’єктів використовується значення властивості шрифта — Arial Unicode MS, розмір — 16. Стиль шрифта визначте за малюнком. Задайте значення False властивості Enabled текстового поля для виведення значення.
4. Створіть процедуру опрацювання події натиснення кнопки Визначити. У вікні редактора коду введіть програмний код . Зверніть увагу на структуру команди розгалуження.
procedure TForm1.Button1Click(Sender: TObject);
var t:integer;
begin t := StrToint(Edit1.Text);
if t100 then Edit2.Text := 'Вода перебуває у газоподібному стані' else
Edit2.Text := 'Вода перебуває в рідкому стані';
end; .
5.Запустіть проект на виконання. Введіть значення температури, наприклад, 25. Перевірте отриманий результат. Установіть, яка умова відповідає отриманому значенню.
6. Запустіть проект на виконання ще раз для значення –10,5. Поясніть, чому проект не виконується. Внесіть зміни до проекту так, щоб користувач міг задавати температуру води дійсним числом. Зауважте, що дійсне число, яке вводиться в текстове поле, записується із десятковою комою, а в програмному коді використовують число, записане з десятковою крапкою.
7. Збережіть зміни у проекті. Завершіть роботу із проектом і середовищем програмування.
Задача.. Замовлення квітів. завдання.
Складіть проект Замовлення квітів у середовищі Lazarus для оформлення електронного замовлення квітів за зразком У проекті натиснення кнопки Оформити замовлення викликає виведення відповідного тексту в текстовому полі, яке захищене від змін, а натиснення кнопки Завершити — закриває вікно форми.
1. Сплануйте проект. Передбачте, які об’єкти будуть використані на екранній формі та які події відбуватимуться із ними.
2. У папці Навчальні проекти власної структури папок створіть папку Замовлення_квітів.
3. Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Замовлення_квітів. Змініть значення властивостей об’єкта Form1, розмістіть на формі потрібні об’єкти та надайте значень їх властивостям, щоб отримати вигляд, як на малюнку Візьміть до уваги, що для всіх об’єктів використовується значення властивості шрифта — Bookman Old Style, розмір — 14. Стиль шрифта визначте за малюнком.
procedure TForm1.Button1Click(Sender: TObject);
var s, t: string;
begin
s:='';
t:='';
if CheckBox1.Checked then s:=s+CheckBox1.Caption+', ';
if CheckBox2.Checked then s:=s+CheckBox2.Caption+', ';
if CheckBox3.Checked then s:=s+CheckBox3.Caption+', ';
if CheckBox4.Checked then s:=s+CheckBox4.Caption+', ';
if CheckBox5.Checked then s:=s+CheckBox5.Caption+', ';
if RadioButton1.Checked
then t:=t+'у кошику.'
else
if RadioButton2.Checked
then t:=t+'в звичайному пакуванні.'
else
t:=t+'в особливому пакуванні.';
Edit1.Text:='Ви обрали '+s+t;
end;
4. Створіть процедуру опрацювання події: натиснуто кнопку Оформити замовлення. У вікні редактора коду введіть код .
5. Створіть процедуру опрацювання події натиснення кнопки Завершити. Для цього використайте метод Close.
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
Задача . Кольорова форма.
Розробіть проект Кольорова форма в середовищі Lazarus, у якому форма змінюватиме значення своїх властивостей — колір і розмір залежно від обраних перемикачів у групах Колір та Розмір.
1. У папці Навчальні проекти власної структури папок створіть папку Кольорова_форма.
2. Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Кольорова_форма. Змініть значення властивості Caption об’єкта Form1 на Кольори.
3. Розмістіть на екранній формі потрібні об’єкти — групи перемикачів із заголовками Колір та Розмір.
4. Змініть значення властивостей Items кожної групи, увівши відповідні пояснення до перемикачів.
5. Створіть процедуру опрацювання події: натиснуто кнопку Пуск. У вікні редактора коду введіть команди для зміни значення властивості color екранної форми залежно від увімкненого перемикача. Значення цієї властивості розпочинається із літер cl, після яких записують англійською мовою назву кольору.
Наприклад:
if RadioGroup1.ItemIndex=0 then
Form1.color:=clRed;
Введіть команди зміни розміру форми за зразком:
if RadioGroup2.ItemIndex = 0 then
begin form1.height := 100;
form1.width := 400;
end;
Для середнього розміру оберіть висоту 200, ширину 600, а для великого — 300, 800 відповідно.
procedure TForm1.Button1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=0 then Form1.color:=clRed;
if RadioGroup1.ItemIndex=0 then Form1.color:=clyellow;
if RadioGroup1.ItemIndex=0 then Form1.color:=clgreen;
if RadioGroup2.ItemIndex = 0 then
begin
form1.height := 100;
form1.width := 400;
end;
if RadioGroup2.ItemIndex = 0 then
begin
form1.height := 200;
form1.width := 600;
end;
if RadioGroup2.ItemIndex = 0 then
begin
form1.height := 300;
form1.width := 800;
end;
end.
8. Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов’язані з об’єктами управління екранної форми. Якщо є помилки — виправте їх.
9. Завершіть роботу з проектом і середовищем програмування.
Задача. Перетворення. завдання.
Розробіть проект у середовищі Lazarus, у якому, коли клацають мишею на зображенні круга, він зафарбовується в колір, обраний у групі перемикачів Колір, а коли клацають мишею на зображенні квадрата, — зафарбовується обраним кольором та застосовується стиль заливки, який обирають у групі Заливка.
1. Сплануйте проект. Передбачте, які об’єкти будуть використані на екранній формі та які події відбуватимуться з ними.
2. У папці Навчальні проекти власної структури папок створіть папку Перетворення.
3. Відкрийте середовище Lazarus, створіть новий проект. Змініть значення властивостей об’єкта Form1, розмістіть на формі об’єкти та надайте значень їх властивостям.
4. Створіть процедуру опрацювання події клацання кнопкою миші на колі. Для цього оберіть у таблиці вікна Інспектора об’єктів вкладку Події, двічі клацніть у клітинці праворуч від OnMouseDown. У вікні редактора коду запишіть програмний код.
procedure TForm1.Shape1MouseDown(Seder: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: integer);
begin
if RadioGroup1.ItemIndex=0 then Shape1.Brush.Color := clRed;
if RadioGroup1.ItemIndex=1 then Shape1.Brush.Color := clBlue;
if RadioGroup1.ItemIndex=2 then Shape1.Brush.Color := clGreen;
end;
5. Створіть процедуру опрацювання події клацання кнопкою миші на квадраті. У вікні редактора коду запишіть програмний код.
procedure TForm1.Shape2MouseDown(Seder: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: integer);
begin
if RadioGroup1.ItemIndex=0 then Shape2.Brush.Color := clRed;
if RadioGroup1.ItemIndex=1 then Shape2.Brush.Color := clBlue;
if RadioGroup1.ItemIndex=2 then Shape2.Brush.Color := clGreen;
if RadioGroup2.ItemIndex=0 then Shape2.Brush.Style := bsHorizontal;
if RadioGroup2.ItemIndex=1 then Shape2.Brush.Style := bsVertical;
if RadioGroup2.ItemIndex=2 then Shape2.Brush.Style := bsSolid; end;
6. Запустіть проект на виконання. Перевірте, чи змінюють свої властивості геометричні фігури за умовою завдання та обраними значеннями властивостей. 7. Завершіть роботу з проектом і середовищем програмування.
Задача. Просте число.
Число називають простим, якщо воно ділиться без остачі тільки на одиницю й на себе. Розробіть програмний проект у середовищі Lazarus, за допомогою якого буде перевірятись, чи є простим введене в текстове поле число.
1. Сплануйте проект. Передбачте, які об’єкти будуть використані на екранній формі та які події відбуватимуться з ними.
2. У папці Навчальні проекти власної структури папок створіть папку Просте_число.
3. Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Просте_число. Змініть значення властивостей об’єкта Form1, розмістіть на формі потрібні об’єкти та надайте значень їх властивостям, щоб отримати форму.
4. У програмному коді опрацювання події натиснення кнопки Перевірити введіть команди .
procedure TForm1.Button1Click(Sender: TObject);
var
n, i: integer;
begin
n := strToint(edit1.Text);
i := 1; repeat i := i+1
until n mod i=0;
if n = i then edit2.text := 'введене число просте'
else edit2.text := 'введене число не просте';
end;
end.
5. Запустіть проект на виконання. Введіть число 15. Перевірте отриманий результат.
6. Запустіть проект на виконання ще раз для значення 19. Перевірте отриманий результат.
7. Збережіть зміни у проекті. Завершіть роботу з проектом і середовищем програмування.