Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи.doc
Скачиваний:
19
Добавлен:
18.03.2015
Размер:
389.12 Кб
Скачать

Завдання.

  1. Реалізувати метод для рисування прямокутника (один кут прямокутника фіксується першим натисканням кнопки миші, другий кут слідує за курсором миші до наступного натискання кнопки миші).

  2. Реалізувати метод для переміщення мишею виведеного на полотно прямокутника.

Зміст звіту

1. Назва і мета роботи.

2. Код програми.

Контрольні питання

  1. Що таке Canvas? Назвіть основні властивості та методи класу TCanvas.

  2. Поясніть рядок коду If ssLeft in Shift Then Image. Canvas. LineTo (X, Y);

  3. У чому полягає перевага використання компонента Image для малювання графічних примітивів?

  4. Поясніть значення властивостей Down, GroupIndex та AllowAllUp кнопок швидкого доступу.

  5. У чому полягають переваги інвертованого стилю виведення графічних об’єктів?

Література

1. Александровский А. Delphi 5. Разработка корпоративных приложений. – М.: ДМК, 2000. – 512 с.

2. Архангельский А. Я. Object Pascal в Delphi. – М.: ЗАО «Издательство Бином», 1999. – 224 с.

3. Архангельский А. Я. Программирование в Delphi 6. – М.: ЗАО «Издательство Бином», 2002. – 1120 с.

4. Бобровский С. Delphi 5: Учебный курс. – СПб.: Питер, 2002. – 640 с.

5. Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985. – 406 с.

Лабораторна робота № 12

Тема: Використання одновимірних масивів.

Мета: Практичне застосування одновимірних масивів при написанні програм на мові Object Pascal у системі Delphi.

Завдання

Розглянемо технологію створення програми, що вводить значення елементів одновимірного масиву a[10] дійсного типу і знаходить його максимальний елемент.

1. Зробіть опис масиву a із 10 елементів дійсного типу. Обробка елементів масиву буде здійснюватися у різних процедурах головного модуля програми, тому опис масиву a повинен бути глобальним (інший шлях – здійснити опис масиву a як члену класу форми).

2. Розташуйте на формі компонент типу TEdit та компонент типу TButton – вони будуть слугувати для введення значень елементів масиву a[10]. Видаліть рядок, що за умовчання відображається на поверхні TEdit. На поверхні кнопки зробіть надпис “Введення значення”.

3. Введіть глобальну змінну цілого типу Count, що буде використовуватися як поточний номер елемента масиву.

Згенеруйте процедуру оброблення натискання на кнопку та введіть у неї наступний код:

Var

Code : Integer;

begin

// Збільшення поточного номера елемента масиву

inc(Count);

If Count ≤ 10 Then Val(Edit1.Text, a[Count], Code);

Edit1.Text := ‘’; // Очищення рядка

end;

Якщо поточний номер елемента масиву (змінна Count) менший ніж кількість його елементів, введене у поле Edit1.Text значення заноситься у даний елемент масиву a[Count]. Для трансформації змісту рядка у дійсне значення використовується стандартна процедура Val. Примітка. Параметр Code використовується для фіксації номеру некоректного символу у рядку (якщо такий є). Якщо помилки немає, параметр Code містить 0.

4. Запустіть додаток та вивчіть його властивості.

5. Для виведення результату можна використати будь-який з елементів редагування або зображення тексту.

Розташуйте на формі компонент типу TListBox, що призначений для відображення масиву рядків. Основною властивістю TListBox є масив елементів Items.

6. Розташуйте на формі компонент типу TButton і на поверхні кнопки зробіть надпис “Пошук максимуму”. Згенеруйте процедуру оброблення натискання на кнопку та введіть у неї наступний код:

Var

i : Integer; // Змінна циклу

// Змінна для зберігання значення поточного максимуму

max : Real;

begin

max := a[1];

for i := 1 to 10 do // Для всіх елементів масиву

begin

If a[i] > max Then max := a[i];

ListBox1.Items.Add(IntToStr(i) + ‘ – ‘ + FloatToStr(a[i]));

end;

ListBox1.Items.Add(‘Максимальний елемент – ‘ + FloatToStr(max));

end;

Алгоритм пошуку максимального елемента масиву є добре відомим. У процесі аналізу номери елементів масиву та їх значення трансформуються у рядковий тип за допомогою функцій IntToStr(i), FloatToStr(a[i]) та додаються у ListBox1 за допомогою методу Add. Примітка. Для трансформації рядка символів у ціле (дійсне) значення використовуються функції StrToInt, StrToFloat.