
- •Методичний посібник для самостійної роботи
- •5.05010201 «Обслуговування комп’ютерних систем і мереж»
- •5.05010201 «Обслуговування комп’ютерних систем і мереж»
- •Затверджено методичною радою коледжу
- •Мета та задачі предмету. Історія створення та розвитку мови Pascal. Етапи розробки програми. Інтегроване середовище Turbo Pascal 7.0. Основні розділи теми.
- •Помилки. Компілятор. Синтаксис і семантика
- •Типи помилок
- •Інтегроване середовище Turbo Pascal 7.0.
- •Рядок меню.
- •Меню Compile
- •Питання для самоконтролю.
- •Алфавіт мови. Структура програми. Типи даних. Основні розділи теми.
- •Алфавіт мови
- •Типи даних
- •Стандартні типи даних.
- •Цілі типи
- •Дійсні типи
- •Нестандартні прості типи.
- •Наприклад
- •Завдання 1:
- •Типізовані константи.
- •Структура програми.
- •Перша програма.
- •Питання для самоконтролю.
- •Лінійні програми. Команди присвоювання. Команди введення та виведення даних. Форматоване виведення даних. Основні розділи теми.
- •Лінійні програми.
- •Команда присвоювання.
- •Основні операції, стандартні функції і процедури. Основні операції
- •Основні стандартні функції і процедури
- •Правила запису арифметичних виразів.
- •Правила запису стандартних функцій.
- •Команди введення даних (read, readln).
- •Команди виведення даних (write, writeln).
- •Форматоване виведення даних.
- •Х.ХхххххххххЕзнакхх
- •Питання для самоконтролю.
- •Завдання 2:
- •Розгалуження: складена команда, логічний вираз, команда розгалуження if. Команда case. Основні розділи теми.
- •Розгалуження
- •Складений оператор.
- •Логічний вираз
- •Умовний оператор if.
- •Задача2:
- •Задача 3.
- •Оператор goto.
- •Вкладений if
- •Слід знати:
- •Задача 4.
- •Задача 5.
- •Оператор вибору case.
- •Задача 6.
- •Питання для самоконтролю.
- •Завдання 3. Написати і відладити наступні програми.
- •Цикли. Команда циклу з параметром (for), команда циклу з передумовою (while), команда циклу з після умовою (repeat). Основні розділи теми.
- •Оператор циклу з параметром (for).
- •Ця команда діє, як і попередня, але крок зміни лічильника рівний -1.
- •Задача 7.
- •Задача 8.
- •Задача 9.
- •Команда циклу з передумовою (while).
- •Задача 10.
- •Команда циклу з післяумовою (repeat).
- •Задача 11.
- •Задача 12.
- •Задача 13.
- •Завдання 4:
- •Завдання 5:
- •Завдання 6:
- •Завдання 7.
- •Дайте відповідь на питання, скільки разів ця цифра зустрічається в числі Задача 17:
- •Завдання 8
- •Вкадені цикли.
- •Задача 18
- •Завдання 9
- •Питання для самоконтролю.
- •Масиви. Опис масивів. Дії над масивами. Масиви. Основні розділи теми.
- •Опис масивів.
- •Опис меж
- •Дії над масивами.
- •Заповнення масиву даними
- •Виведення масиву.
- •Обробка масиву
- •Дії з одновимірними масивами
- •Завдання 10:
- •Питання для самоконтролю.
- •Завдання для самоконтролю.
- •Сортування масивів. Двовимірні масиви. Сортування масиву Основні розділи теми.
- •Лінійне сортування (сортування відбором)
- •Програма лінійного сортування по не зростанню
- •Бульбашковий метод.
- •Підсумовування елементів кожного рядка.
- •Програма транспонування матриці.
- •Завдання 12:
- •Питання для самоконтролю.
- •Підпрограми. Процедури, функції. Рекурсивні функції. Основні розділи теми.
- •Процедури (procedure) і функції (function).
- •Виклик процедур і функцій.
- •Оператор виклику працює так:
- •Область дії параметрів:
- •Завдання 13:
- •Рекурсивні функції.
- •Завдання 14:
- •Задачі, з постановки якиїх можна витягнути рекурсію.
- •Задачі, які можна розв’язати як окремий випадок узагальненої.
- •Задачі, в яких можна використати характеристику або властивість функції.
- •Відкриті масиви.
- •Завдання 15:
- •Питання для самоконтролю.
- •Дані рядкового типу string. Основні розділи теми.
- •Тип даних char.
- •Рядковий тип
- •Задача 28.
- •Операції над рядками
- •Задача 29.
- •Операції відношення
- •Рядкові процедури і функції
- •Задача 30.
- •Задача 31.
- •Питання для самоконтролю.
- •Завдання 16:
- •Модулі. Модулі користувача. Стандартні модулі. Основні розділи теми.
- •Поняття модуля
- •Структура модуля
- •Компіляція модулів
- •Стандартні модулі Короткий опис модулів.
- •Графіка
- •Запитання
- •Оператор with
- •Питання для самоконтролю.
- •Завдання 18:
- •Файли і робота з ними. Основні розділи теми.
- •Текстові файли
- •Типізовані файли.
- •Процедури і функції для типізованих файлів:
- •Питання для самоконтролю.
- •Завдання 19:
- •Інтегроване середовище розробки Delphi 7. Мова програмування Delphi. Структура програми Delphi: структура проекту, структура модуля, елементи програми. Основні розділи теми.
- •Інтегроване середовище розробки.
- •Головне вікно
- •Інструментальні кнопки
- •Палітра компонентів
- •Вікно форми
- •Вікно дерева об'єктів
- •Вікно інспектора об'єктів
- •Вікно коду програми
- •Зміна властивостей форми
- •Оброблювач події OnClick
- •Структура програм Delphi
- •Структура проекту
- •Структура модуля
- •Питання для самоконтролю.
- •Класи. Складові класу. Методи та властивості. Питання для самоконтролю.
- •Методи.
- •Властивості.
- •Оголошення класу.
- •Питання для самоконтролю.
- •Форми. Різновид форм. Створення і використання форм. Основні розділи теми.
- •Різновиди форм.
- •Методи форми
- •Події форми.
- •Робота з формою.
- •Питання для самоконтролю.
- •Компоненти. Властивості компонентів. Основні розділи теми.
- •Знайомство з компонентами.
- •Вкладка Standard
- •Вкладка Additional
- •Вкладка Win32
- •Вкладка System
- •Вкладка Dialogs
- •Вкладка Win31
- •Вкладка Samples
- •Вкладка ActiveX
- •Робота з об’єктами.
- •Питання для самоконтролю.
- •Delphi 7. Файли. Доступ до файлу. Текстові файли. Основні розділи теми.
- •Теоретичні відомості.
- •Хід роботи
- •Практична робота № 2.
- •Тема: Створення гри «Спіймай кнопку».
- •Мета: Вивчення особливостей компонента Timer.
- •Короткі теоретичні відомості.
- •Хід роботи.
- •Практична робота № 3
- •Тема: Створення логічної гри.
- •Мета: Вивчення можливостей використання властивості Tag і об'єкта Sender.
- •Короткі теоретичні відомості.
- •Хід роботи.
- •Практична робота № 4.
- •Тема: Генератор функцій.
- •Мета: Вивчення компонента PaintBox і методів малювання на канві. Компонент TrackBar.
- •Короткі теоретичні відомості.
- •Хід роботи.
- •Практична робота № 5
- •Тема: Створення елементів інтерфейсу найпростішого графічного редактора.
- •Мета: Вивчення компонентів ColorGrid, SpinEdit, RadioGroup, ListBox, ColorDialog.
- •Короткі теоретичні відомості.
- •Хід роботи. Частина 1
- •Частина 2.
- •Література
Практична робота № 2.
Тема: Створення гри «Спіймай кнопку».
Мета: Вивчення особливостей компонента Timer.
Короткі теоретичні відомості.
Компонент Timer (палітра System) дозволяє задавати в додатку інтервали часу. Таймер знаходить численні застосування: синхронізація мультиплікації, закриття якихось вікон, з якими користувач довгий час не працює, включення зберігача екрану або закриття зв'язків з віддаленим сервером при відсутності дій користувача, регулярний опитування якихось джерел інформації, завдання часу на відповідь в навчальних програмах - все це безліч завдань, в яких потрібно задавати інтервали часу, вирішується за допомогою таймера.
Таймер - невізуальних компонент, який може розміщуватися в будь-якому місці форми. Він має дві властивості, що дозволяють їм управляти: Interval - інтервал часу в мілісекундах і Enabled - доступність. Властивість Interval задає період спрацювання таймера. Через заданий інтервал часу після попереднього спрацьовування, або після програмної установки властивості Interval, або після запуску програми, якщо значення Interval встановлено під час проектування, таймер спрацьовує, викликаючи подія OnTimer. В обробнику цієї події записуються необхідні операції.
Якщо задати Interval = 0 або Enabled = false, то таймер перестає працювати. Щоб запустити відлік часу треба або задати Enabled = true, якщо встановлено позитивне значення Interval, або задати позитивне значення Interval, якщо Enabled = true.
Наприклад, якщо потрібно, щоб через 5 секунд після запуску програми закрилася форма - заставка, що відображає логотип програми, на неї треба розмістити таймер, задати в ньому інтервал Interval = 5000, а в обробник події OnTimer вставити оператор Close, що закриває вікно форми.
Хід роботи.
Запустіть Delphi. При цьому автоматично буде створений новий проект з формою.
Збережіть проект у своїй папці, створивши в ній папку Спіймай кнопку. Для чого виконайте команду Save All, Unit назвіть U_catch, проект - P_ catch.
Для оформлення вікна програми знадобиться три компоненти - стрибуча командна кнопка (Button1), кнопка виходу (Button2) і таймер. Зразковий вид форми показаний на малюнку:
Додайте на форму 2 копки.
Задайте першій кнопці наступні властивості:
Caption - Введіть заголовок: Натисни мене.
TabStop - False. Ця властивість дозволяє вибирати елемент управління клавішею TAB. У цій грі клавіатурою користуватися не можна.
Visible - false. Спочатку кнопка повинна бути невидима, щоб користувач не знав, де вона знаходиться.
Height - 30, Width - 80
Left -10, Top -10. У лівому верхньому положенні відстань між кнопкою і краями форми 10 пікселів.
Тепер необхідно обчислити, який розмір буде мати вікно програми. Рисунок ілюструє, як саме це повинно бути зроблено.
Задайте властивості форми ClientWidth (Внутрішня ширина) - значення 360, властивості ClientHeight (Внутрішня висота) - 200. На малюнку замість 100-120, замість 80-100.
Щоб розмір вікна не можна було змінити в ході роботи програми, задайте властивості форми BorderStyle – bsSingle.
Для кнопки «Вихід» Button2 задайте властивості:
Left - 110, Top - 160, Width - 80, Height - 30.
Default - True. Фокус введення завжди буде належати цій кнопці і натискання клавіші Enter буде пов'язано тільки з нею.
Додайте на формі компонент Timer (вкладка System).
Властивості Interval задайте значення 500.Проміжок часу задається в мілісекундах. Тому кнопка буде стрибати на нове місце кожні півсекунди.
Створіть для компонента Timer обробник події OnTimer (Сигнал таймера). Подвійний клік на білому тлі навпаки події OnTimer вкдадки Events
procedure TForm1.Timer1Timer (Sender: TObject);
var i: integer ;/ / описуємо локальну змінну
begin
i: = random (9); / / випадкове значення в діапазоні від 0 до 9
button1.Visible: = true;
button1.Top: = 10 +50 * (i div 3);
button1.Left: = 10 +100 * (i mod 3);
end;
Таким чином, при кожному сигналі таймера, положення кнопки (властивості Left та Top) будуть змінюватися випадковим чином.
Напишіть процедуру для клацання на кнопці Button1 наступним чином:
procedure TForm1.Button1Click (Sender: TObject);
begin
button1.Caption: = 'Готово!';
button1.enabled: = false;
timer1.enabled: = false;
end;
Якщо клацання стався, значить, гра закінчилася перемогою. Щоб повідомити про це, змінюємо напис на кнопці і відключаємо кнопку і таймер (властивість Enabled).
Створіть обробник події при натисканні на кнопці Button2 (Вихід):
procedure TForm1.Button2Click (Sender: TObject);
begin
form1.Close
end;
Для ініціалізації процедури генерації випадкових чисел створіть процедуру обробки завантаження форми:
procedure TForm1.FormCreate (Sender: TObject);
begin
randomize
end;
Виконайте самостійно:
Додайте дві кнопки «Швидше» і «Повільніше». Клацання по одній з них буде збільшувати значення інтервалу таймера на 100 мілісекунд, а за іншою - зменшувати його в 2 рази.
,
Результатом виконання даної практичної роботи є створений згідно із завданням програмний продукт. Виконане завдання повинне бути пред'явлено викладачеві в електронному вигляді. В ході захисту практичної роботи студент повинен продемонструвати свої навички роботи з вивченими компонентами і методами проектування інтерфейсу користувача.