- •Основи об’єктно-орієнтованого програмування
- •Факультету комп’ютерних наук та інформаційних технологій
- •Луцьк 2009
- •Факультету комп’ютерних наук та інформаційних технологій 1 Лабораторна робота №1 5 Програмування лінійних алгоритмів 5
- •2.1. Приклад створення додатка 14
- •9.3. Виконання індивідуального завдання 61
- •Програмування лінійних алгоритмів
- •1.1. Візуальне середовище delphi
- •1.2. Приклад створення додатка
- •1.2.1. Збереження проекта
- •1.2.2. Настройка вікон
- •1.2.3. Зміна заголовка Форми
- •1.2.4. Розміщення компонентів на Формі
- •1.2.5. Написання процедури обробки події створення Форми (FormCreate)
- •1.2.6. Написання процедури обробки події натиснення кнопки Button1 (Button1Click)
- •1.2.7. Текст модуля UnLinAlg
- •X,y,z,a,b,c,u : extended; // оголошення локальних змінних
- •1.2.8. Робота з додатком
- •1.3. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №2 Програмування алгоритмів, що розгалужуються
- •2.1. Приклад створення додатка
- •2.1.1. Розміщення компонентів на Формі
- •2.1.2. Створення процедур обробки подій FormСreate і Button1Сlick
- •2.1.3. Текст модуля UnRazvAlg
- •2.1.4. Робота з додатком
- •2.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №3 Програмування циклічних алгоритмів
- •3.1. Відладка модулів проекта
- •3.1.1. Відладка синтаксичних помилок
- •3.1.2. Відладка логічних помилок
- •3.2. Приклад створення додатка
- •3.2.1. Розміщення компонентів на Формі
- •3.2.2. Текст модуля UnCiklAlg
- •3.3. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №4 Програмування алгоритмів з використанням масивів
- •4.1. Приклад створення додатка
- •4.1.1. Розміщення компонентів на Формі
- •4.1.2. Створення процедур обробки подій SpinEdit1Change і SpinEdit2Change
- •4.1.3. Текст модуля UnMas
- •4.1.4. Робота з додатком
- •4.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №5 програмування Алгоритмів з використанням рядків
- •5.1. Приклад створення додатка
- •5.1.1. Розміщення компонентів на Формі
- •5.1.2. Створення процедур обробки подій
- •5.1.3. Текст модуля UnStr
- •Індивідуальні завдання
- •Лабораторна робота №6 Програмування алгоритмів з використанням записів
- •6.1. Приклад створення застосування
- •6.1.1. Розміщення компонентів на Формі
- •6.1.2. Створення процедур обробки подій FormCreate і Button1Click
- •6.1.3. Текст модуля UnZap
- •6.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №7 Програмування алгоритмів з використанням файлів
- •7.1. Приклад створення застосування
- •7.1.1. Розміщення компонентів на Формі
- •7.1.2. Створення процедур обробки подій
- •7.1.3. Текст модуля UnFile
- •7.1.4. Робота із застосуванням
- •7.2. Індивідуальні завдання
- •Лабораторна робота №8 Програмування алгоритмів з використанням функцій і процедур. Створення модулів
- •8.1. Приклад створення додатка
- •8.1.1. Розміщення компонентів на Формі
- •8.1.2. Створення модуля і підключення його до проекта
- •8.1.3. Текст модуля UnFuncProc
- •8.1.4. Текст модуля UnModul
- •8.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №9 Програмування алгоритмів з використанням динамічних структур даних
- •Приклади створення застосувань
- •9.1. Використання динамічних масивів
- •9.1.1. Розміщення компонентів на Формі
- •9.1.2. Створення процедур обробки подій FormCreate і Button1Click
- •9.1.3. Текст модуля UnDinMas
- •9.2. Використання динамічних списків
- •9.2.1. Розміщення компонентів на Формі
- •9.2.2. Створення процедур обробки подій FormCreate і Button1Click
- •9.2.3. Текст модуля UnStek
- •9.3. Виконання індивідуального завдання
- •Навчально-методичне видання
- •43018, М. Луцьк, вул. Львівська, 75
1.2.5. Написання процедури обробки події створення Форми (FormCreate)
Якщо програміст бажає, щоб з появою панелі інтерфейсу на екрані у відповідних полях знаходилися початкові значення даних, він повинен врахувати, що при запуску додатка виникає подія - створення Форми (OnCreate). Створимо процедуру обробки цієї події, яка занесе початкові значення змінних x, у, z в поля Edit1, Edit2 і Edit3 відповідно, а в полі Memo1 помістить рядок Лабораторна робота №1 – Лінійний алгоритм. Для цього двічі клацніть мишею на будь-якому вільному місці Форми. На екрані з'явиться текст модуля UnLinAlg, в якому DELPHI автоматично створює заготівку процедури-обробника події створення Форми: Procedure TForm1.FormCreate(Sender:TObject). Між операторами begin і end цієї процедури вставте операторів, які виконують необхідні дії (текст модуля приведений в п.1.2.7).
1.2.6. Написання процедури обробки події натиснення кнопки Button1 (Button1Click)
Помістимо на Форму кнопку, натиснення якої приведе до обчислення виразу. Виберіть в Палітрі Компонентів на сторінці Standart піктограму компонента Button. У властивості Caption Інспектора Об'єктів заміните напис на кнопці Button1 на Обчислити. У властивості Font підберіть шрифт. Відрегулюйте положення і розмір кнопки. Потім двічі клацніть “мишею” на кнопці, після чого курсор встановиться в тексті процедури-обробника події натиснення кнопки Button1 : Procedure TForm1.Button1Click(Sender:TObject). Уважно наберіть операторів цієї процедури, використовуючи текст модуля UnLinAlg.
1.2.7. Текст модуля UnLinAlg
Unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Memo1: TMemo;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// процедура обробки події створення форми
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='0,4'; // початкове значення Х
Edit2.Text:='8,75'; // початкове значення Y
Edit3.Text:='-19,63'; // початкове значення Z
Memo1.Clear; // очищення Memo1
// виведення рядка в Memo1:
Memo1.Lines.Add('лабораторна робота №1 – Лінійні алгоритми');
end;
// процедура обробки події натиснення кнопки Button1:
procedure TForm1.Button1Click(Sender: TObject);
var
X,y,z,a,b,c,u : extended; // оголошення локальних змінних
begin
x:=StrToFloat(Edit1.Text); // X присвоюється вміст Edit1
y:=StrToFloat(Edit2.Text); // Y присвоюється вміст Edit2
z:=StrToFloat(Edit3.Text); // Z присвоюється вміст Edit3
// вычисляеться вырадение
a:=sqrt(x)-y*y*y;
b:=sin(a) /cos(a);
c:=Exp(5*Ln(abs(b)));
u:=c+exp(y/z)*sin(z*z);
Memo1.Lines.Add('X = '+Edit1.Text+' Y = '+Edit2.Text+
' Z = '+Edit3.Text); // контрольний вивід X, Y, Z в Memo1
// виведення результату в Memo1:
Memo1.Lines.Add(' U = '+FloatToStrF(u,ffFixed,8,3));
end;
end.
Дані, з якими працюють компоненти Edit і Memo, мають тип String. Тому в процедурі TForm1.Button1Click при привласненні вмісту полів Edit1,Edit2,Edit3 змінним X,Y,Z за допомогою функції StrToFloat здійснюється перетворення даних типу String в дійсні значення з плаваючою точкою типу Extended. Якщо необхідно працювати з даними цілого типу, використовується функція StrToInt.
При виведенні даних в Memo1 використовується метод Add властивості Lines, причому для перетворення даних з дійсного значення в строкове і управління формою представлення результату, що виводиться, використовується функція FloatToStrF.