
- •Методичний посібник для самостійної роботи
- •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.
- •Література
Хід роботи
Запустіть Delphi. При цьому автоматично буде створений новий проект з формою.
Збережіть проект у своїй папці, створивши в ній папку Світлофор. Для чого виконайте команду Save All, Unit назвіть U_svetofor, проект - P_svetofor.
Дайте назву формою: "Світлофор". Для цього в Інспекторові об'єктів на вкладці Властивості знайдіть властивість Caption і задайте заголовок вікна Світлофор.
З вкладки Additional палітри компонентів, вставте на форму компонент Bevel і розташуйте його так, щоб він служив як обрамлення для світлофора. Змініть його властивість Style на bsRaised - піднесений.
Виділіть компонент Bevel і вставте компонент з вкладки Additional. Змініть властивість Shape компонента Shape на stEllipse (для того щоб змінити властивості компонента, його потрібно вибрати, для цього досить клацнути по ньому мишкою).
Далі виберіть цей компонент знову і виберіть у меню Правка Копіювати, а потім 2 рази Правка Вставити - тепер стало 3 таких компонента.
Вставте на форму компонент Button (Кнопка) із вкладки Standart палітри компонентів. Описаним вище чином розмножте кнопки до кількості 3.
Д
ля кожної кнопки змініть властивість Caption на Червоний, Жовтий, Зелений - відповідно. Шрифт напису на кнопці можна змінити, клацнувши по властивості кнопки Fonts. Тепер все це розташуйте на формі (як на малюнку).
. Для того, щоб при натисканні на першій кнопці колір першого «очі» світлофора змінився на червоний, а решта - на білий, клацніть по ній 2 рази і запишіть вихідний код (пишіть тільки виділений жирним код - інше генерується автоматично):
procedure TForm1.Button1Click (Sender: TObject);
begin
Shape1.Brush.Color: = clRed; //властивість Brush визначає заливку об'єкта
Shape2.Brush.Color: = clWhite;
Shape3.Brush.Color: = clWhite;
end;.
Аналогічно поступаємо з іншими кнопками. Для «Жовтої» кнопки:
Shape1.Brush.Color: = clWhite;
Shape2.Brush.Color: = clYellow;
Shape3.Brush.Color: = clWhite;
і для «Зеленої»
Shape1.Brush. Color: = clWhite;
Shape2.Brush. Color: = clWhite;
Shape3.Brush. Color: = clGreen;
Щоб зробити так, щоб «очі» світлофора підстрибували при клацанні миші, напишіть обробник подій OnMouseDown і OnMouseUp для кожного з «очей»: для чого, виділіть об'єкт, перейдіть в Інспекторові об'єктів на вкладку Події, знайдіть назву потрібного подіїі клацніть два рази на текстовому вікні навпроти нього. При цьому з'явиться заготовка процедури, між begin і end напишіть необхідні оператори.
В обробнику події OnMouseDown:
shape1.Top: = shape1.Top +10; переміститься на 10 одиниць вниз по вертикалі.
Ця подія виникає, коли користувач натиснув ліву клавішу миші на об'єкті.
В обробнику події OnMouseUp кожного з «очей» помістіть код:
shape1.Top: = shape1.Top-10; елемент повернеться на місце.
Ця подія виникає, коли користувач відпустив ліву клавішу миші.!! Не забудьте змінювати номери інших двох компонентів на shape2, shape3.
Зробіть підказку, яка з'являтиметься при наведенні миші на «око» світлофора. Для кожного з компонентів Shape («очі світлофора») властивості ShowHint встановіть значення True. І у властивості Hint напишіть сам текст підказки, наприклад, «Натисни мене!" Або будь-яке інше, що підходить до даного випадку.
Ускладніть додаток. Зробіть так, щоб при запуску програми на екрані з'являлося вікно з запитом пароля. Для чого:
Створіть нову форму, натиснувши на кнопку Нова форма.
Для Form1 (першої, головної форми, не забудьте клацнути по ній, вибравши як об'єкта) в обробнику події OnShow (При появі) напишіть код:
procedure TForm1.FormShow (Sender: TObject);
begin
form2.Showmodal
end;
Це означає, що при появі вікна-форми1 на екран вискочить вікно-форма-2.
Виберіть Form2 і задайте їй заголовок: «Зміна пароля».
Подсвойству biSystemMenu властивості BorderIcons форми Form2 (подсвойства з'являються, коли натиснеш на плюсик) задайте значення false. Це означає, що ніяких кнопок в заголовку вікна не буде.
Додайте до списку змінних модуля Unit2 змінну логічного типу f: boolean. Для цього необхідно натиснути на кнопку Показати список модулів (Ctrl + F12) і вибрати в списку потрібний
Знайдіть у модулі блок опису глобальних змінних і додайте рядок, виділену жирним.
var
Form2: TForm2;
f: boolean;
Для форми Form2 в обробнику події OnCreate запишіть код:
procedure TForm2.FormCreate (Sender: TObject);
begin
f: = false
end;
При створенні форми f ініціалізується з початковим значенням false.
Для форми Form2 в обробнику події OnClose запишіть код:
procedure TForm2.FormClose (Sender: TObject; var Action: TCloseAction);
begin
if f = false then form1.close;
end;
Таким чином, якщо якийсь розумник натисне Alt + F4 для закриття вікна введення пароля, він нічого не доб'ється - автоматично закриється і головна форма, якщо пароль не був уведений правильно.
Помістіть на Form2 компонент Label (Мітка). Визначте для нього шрифт MS Sans Serif 12 напівжирний (для того, щоб змінити шрифт необхідно клацнути мишкою по кнопці з трьома крапками навпроти властивості Font компоненту в Інспекторові об'єктів). Дайте заголовок компоненту: Пароль.
Додайте на новій формі ще два компоненти - кнопку Button і поле для введення тексту Edit. Видаліть текст з властивості Text компонента Edit, встановіть його властивість AutoSize в false, а властивості PasswordChar надайте значення *. Прочитайте в теоретичних відомостях, що це означає.
Задайте кнопці заголовок ОК.
Розташуйте ці об'єкти, як показано на малюнку:
Запишіть код для обробника події OnClick кнопки Button1
procedure TForm2.Button1Click (Sender: TObject);
begin
if edit1.Text = 'secret' then
begin
f: = true; form2.Close;
end
else showmessage ('Пароль введено невірно!')
end;
Це означає, що якщо пароль (secret) введено вірно, то вікно введення пароля закриється і на екрані з'явиться головне вікно, інакше - програма видасть повідомлення про неправильне введення.
Виконати самостійно:
Зробити так, щоб при натисненні Enter в вікні введення пароля було аналогічно натисненню кнопки ОК. (Для цього використовуємо подія OnKeyPress для компонента Edit1, читайте теоретичні відомості).
Змініть заголовок вікна повідомлення про неправильне введення пароля на «Помилка!». При неправильному введенні пароля фокус повинен повертатися в поле введення.
Зробіть так, щоб при триразовому неправильному введенні вікно автоматично закривався.
Результатом виконання даної практичної роботи є створений згідно із завданням програмний продукт, пред'явлений викладачеві в електронному вигляді. В ході захисту практичної роботи студент повинен продемонструвати свої навички роботи з вивченими компонентами і методами проектування інтерфейсу користувача