
- •Методичний посібник для самостійної роботи
- •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.
- •Література
Практична робота № 5
Тема: Створення елементів інтерфейсу найпростішого графічного редактора.
Мета: Вивчення компонентів ColorGrid, SpinEdit, RadioGroup, ListBox, ColorDialog.
Короткі теоретичні відомості.
ColorGrid - приклад компонента, що використовується для створення таблиці кольорів, в якій користувач вибирає потрібний колір. Компонент візуальний. Властивість GridOrdering визначає зовнішній вигляд сітки (кількість рядків і стовпців). Властивість ForegroundColor визначає колір, вибраний користувачем лівої клавішею, BackgroundColor - правою.
SpinEdit - вікно редагування в комбінації з кнопкою-лічильником. Властивості MinValue і МахValue компонента задають відповідно мінімальне і максимальне значення чисел, властивість Increment задає збільшення числа при кожному натисканні на кнопку. Властивість Value визначає поточне значення числа. Це властивість можна читати, щоб дізнатися, яка кількість задав користувач.
Радіокнопки утворюють групи взаємозалежних індикаторів, з яких зазвичай може бути обраний тільки один. Компонент RadioGroup - панель групи радіокнопок, яка може містити регулярно розташовані стовпцями і рядками радіокнопки. Напис в лівому верхньому кутку панелі визначається властивістю Caption. А написи кнопок і їх кількість визначаються властивістю Items, які мають тип TStrings. Натиснувши на кнопці з трьома крапками близько цієї властивості у вікні Інспектора Об'єктів, ви потрапите в редактор списків рядків. У ньому ви можете занести написи, які хочете бачити близько кнопок, по одній в рядку. Скільки рядків ви запишете - стільки і буде кнопок.
Визначити, яку з кнопок вибрав користувач, можна по властивості ItemIndex, яке показує індекс обраної кнопки. Індекси, як завжди в Delphi, починаються з 0. За замовчуванням ItemIndex = -1, що означає відсутність обраної кнопки.
Компонент ListBox відображає списки рядків. ListBox відображає список в розкритому вигляді і автоматично додає в список смуги прокрутки, якщо всі рядки не поміщаються у вікні компонента.
Основна властивість компонента, що містить список рядків, - Items, що має тип TStrings. Заповнити його під час проектування можна, натиснувши кнопку з трьома крапками близько цієї властивості у вікні Інспектора Об'єктів. Під час виконання працювати з цією властивістю можна, користуючись властивостями і методами класу TStrings - Clear, Add та іншими. Номер вибраного рядка можжно дізнатися з властивості ItemIndex. Якщо жоден рядок не вибрана, то ItemIndex = -1.
Компонент ColorDialog викликає діалогове вікно вибору кольору. Основна властивість компонента ColorDialog - Color. Це властивість відповідає тому кольором, який обрав у діалозі користувач.
Хід роботи. Частина 1
Запустіть Delphi. При цьому автоматично буде створений новий проект з формою.
Збережіть проект у своїй папці, створивши в ній папку Графічний редактор1. Для чого виконайте команду Save All, Unit назвіть U_grafred1, проект - P_ grafred1.
Дайте назву формою: Графічний редактор.
Помістіть на форму компонент Shape (палітра Aditional) і ColorGrid (палітра Samples). Властивості Shape компонента Shape присвоїти значення stRectangle. Властивості GridOrdering компонента ColorGrid присвоїти значення go8x2.
Розташуйте компоненти на формі наступним чином:
Створіть обробник події OnChange компонента ColorGrid
Shape1.Pen.Color: = ColorGrid1.ForegroundColor;
Shape1.Brush.Color: = ColorGrid1.BackgroundColor;
Запустіть програму і подивіться як вона працює. Лівим клацанням по палітрі вибирається колір контуру (передній колір), правим - колір фону (задній колір).
Використовуючи компонент SpinEdit (палітра Samples) створіть можливість зміни товщини контуру від 1 до 50.
Властивості MaxValue задайте значення 50, MinValue - 1
В обробнику події OnChange компонента SpinEdit запишіть: shape1.Pen.Width: = SpinEdit1.Value;
Розташуйте компонент Label (властивість Caption - Контур) і SpinEdit, як це показано на малюнку нижче:
Розташуйте на формі компонент RadioGroup.
Надайте його властивості Caption і властивості Items (містить назви рядків списку) значення, як це показано на малюнку пункт 10. Зробіть так, щоб за замовчуванням був обраний перший компонент списку. Для цього властивості ItemIndex компонента RadioGroup задайте значення 0 (нумерація в списку починається з нуля)
В обробнику OnClick для RadioGroup1 запишіть:
if RadioGroup1.ItemIndex = 0 then Shape1.Shape: = stCircle;
{якщо обраний перший елемент списку}
if RadioGroup1.ItemIndex = 1 then Shape1.Shape: = stEllipse;
if RadioGroup1.ItemIndex = 2 then Shape1.Shape: = stRoundRect;
if RadioGroup1.ItemIndex = 3 then Shape1.Shape: = stRoundSquare;
if RadioGroup1.ItemIndex = 4 then Shape1.Shape: = stSquare;
Розташуйте на формі компоненти Label (властивість Caption - Спосіб заливки) і компонент ListBox. В Редакторі списку рядків компонента ListBox (викликається клацанням по властивості Items) введіть значення, як це показано на малюнку пункту 10.
У обробник OnClick компоненту ListBox введемо наступний код:
if ListBox1.Selected[0] then Shape1.Brush.Style:=bsSolid;
if ListBox1.Selected[1] then Shape1.Brush.Style:=bsClear;
if ListBox1.Selected[2] then Shape1.Brush.Style:=bsBDiagonal;
if ListBox1.Selected[3] then Shape1.Brush.Style:=bsFDiagonal;
if ListBox1.Selected[4] then Shape1.Brush.Style:=bsCross;
if ListBox1.Selected[5] then Shape1.Brush.Style:=bsDiagCross;
if ListBox1.Selected[6] then Shape1.Brush.Style:=bsHorizontal;
if ListBox1.Selected[7] then Shape1.Brush.Style:=bsVertical;
Запустіть програму і подивіться як вона працює.