
- •Методичний посібник для самостійної роботи
- •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.
- •Література
Графіка
Графічний режим. Графічний екран дисплея складається з точок, які можна засвічувати певним кольором або гасити, внаслідок чого на екрані створюється деяке зображення. Точки називають пікселями. Кількість точок на екрані може бути різною. Це залежить від якості монітора. Розглянемо екран, який має 640 точок в горизонтальному (х) напрямі і 480 - у вертикальному (у). Початок відліку точок знаходиться в лівому верхньому куту екрану. Кожна точка характеризується двома координатами (х, у).
Для побудови зображень спочатку потрібно задати графічний режим. Це робиться так:
<разділи описів і оголошень конкретної програми>;
{Змінні для визначення характеристик дисплея}
var driver, mode : integer;
begin
driver := detect; {detect - стандартна постійна}
{завдання графічного режиму}
initgraph (driver, mode ");
if graphresult <> 0 then
begin
writeln('Графічний режим задати не вдалось');
halt
end;
<текст конкретної програми з графічними командами>
end.
Кольори.
Кольори задають числами або англійськими назвами:
black=0 - чорний;
blue=l - синій;
green=2 - зелений;
суап=3 - голубий;
red=4 - червоний;
magenta=5 - фіолетовий;
brown=6 - коричневий;
lightgray=7 - світло-сірий;
darkgray=8 - темно-сірий;
lightblue=9 - яскраво-синій;
lightgreen=10 - яскраво-зелений
lightcyan=11 - яскраво-голубий;
lightred=12 - яскраво-червоний;
lightmagenta=13 - яскраво-фіолетовий;
yellow=14 - жовтий;
white=15 -білий.
Запитання
Компіляція і компоновка програми.
Поняття модуля.
Як оформляється бібліотечний модуль?
Коли підключаються процедури і функції, що містяться в модулі до програми яка їх використовує?
Структура модуля.
Для чого служить ім'я модуля?
Ім'я модуля повинне співпадати з ім'ям чого?
Режими компіляції.
Модулі користувача
Стандартні модулі.
Підпрограми модуля Crt.
Модуль GRAPH.
Завантаження графічного драйвера і ініціалізація графіки.
Завдання 17:
Створити емблему: В заданій частині графічного екрану намалювати фігуру Еліпс, в середині Еліпса - фігуру Прямокутник, а в середині Прямокутника - текст: прізвище і ініціали. Всі елементи малюнка виконати різними кольорами. Замкнуті області зафарбувати. Пожвавити зображення.
Література: 2.с.193..234.
Записи. Команда приєднання With.
Основні розділи теми.
Поняття модуля.
Структура модуля.
Компіляція модулів.
Стандартні модулі.
ГРАФІКА.
Запис — це структура даних, що складається з фіксованого числа компонентів, званих полями запису. На відміну від масиву, компоненти (поля) запису можуть бути різного типу. Щоб можна було посилатися на той або інший компонент запису, поля іменуються.
Структура оголошення типу запису така:
<Ім’я типу> = RECORD <список полів> END
Тут < Ім’я типу > — правильний ідентифікатор;
RECORD, END — зарезервовані слова (запис, кінець); <список полів> — список полів; є послідовністю розділів запису, між якими ставиться крапка з комою.
Кожний розділ запису складається з одного або декількох ідентифікаторів полів, відокремлюваних один від одного комами. За ідентифікатором (ідентифікаторами) ставиться двокрапка і опис типу поля (полів).
Приклад .
Type BirthDay = record
day,month : byte;
year : word
end;
var
а,b : Birthday;
В даному прикладі тип BIRTHDAY (день народження) є запис з полями DAY, MONTH і YEAR (день, місяць, і рік); змінні А і В в записі типу BIRTHDAY.
Як і в масиві, значення змінних типу запису можна привласнювати іншим змінним того ж типу, наприклад
а := b;
До кожного з компонентів запису можна отримати доступ, якщо використовувати складене ім'я, тобто вказати ім'я змінної, потім точку і ім'я поля:
a.day := 27;
b.year := 1939;
Приклад .
type
BirthDay = record
day,month: byte;
year : word
end;
begin
.
if BirthDay.year = 1939 then .
end.
Для спрощення доступу до полів запису використовується оператор приєднання WITH:
WITH <змінна > DO <оператор >
Тут WITH, DO — ключові слова;
< змінна > — ім'я змінної типу запис, за яким можливо, слідує список вкладених полів;
<оператор> — будь-який оператор Турбо Паскаля.
Приклад .
with c.bd do month:=9;
Це еквівалентно
with c do with bd do month : = 9;
або
with с.bd do month := 9;
або
c.bd.month= 9;
Поле запису може мати практично будь-який тип: масив, множина, інші записи. В останньому випадку елементи (поля полів) мають ім'я, що складається з трьох частин. На практиці частіше всього використовують масиви записів, оскільки записи відображають табличну форму зберігання даних і застосовуються в різних додатках - від бухгалтерських задач до задач системного програмування. Порядок опису полів у визначенні запису задає їх порядок зберігання в пам'яті, а необхідний для цього об'єм складається з довжин полів.
Новий тип можна використовувати і для введення в програму констант, що типізуються.
Приклад .
Type
Point = record x,y: Real;
Vector = Array [0..1) Point end;
Const Origin : Point = (X: 0.0; У: 0.0);
Line : Vector = ((X: -1.9; У: 1.7) (X: 2.0; У: 1.7));
або
Type
Month = (Jan,Feb,Mar,Apr,May,Jun,Jly,Aug,Sep,Oct,Nov,Dec);
Date == record D: 1..31; M: Month; У: 1917..2017 end;
Const BirthDate: Date = (D: 26; M: Jun; У: 1985);
Задача 32.
Багаж пасажира характеризується кількістю речей і загальною вагою речей. Є інформація про багаж декількох пасажирів - відповідні пари чисел. Підрахувати загальну кількість речей і з'ясувати, чи є багаж пасажира, який складається з однієї речі вагою не менше 30кг.
Const z:String(3)=' не' ;
total:Byte=0;
Турі In£o = record
q: Byte;
w: Real;
end;
Var luggage: Info;
i,n : Byte;
BEGIN
Write ('Введіть число пасажирів ');
ReadLn(n);
WriteLn('Введіть пари чисел (кількість і вага) ');
for i:=1 to n do
begin
ReadLn(luggage.q, luggage.w);
Inc(total,luggage.q);
if (luggage. q=1) and (luggage.w>=30) then z:= ' ';
end;
WriteLn('Сумарна кількість речей: ', total);
WriteLn('Шуканий пасажир', z,' є';
ReadLn;
END.
Визначимо тип Info - запис з двома полями. Імена полів q (кількість речей одного пасажира) і w (загальна вага речей одного пасажира); типи полів Byte і Real. Luggage - ідентифікатор змінної введеного типу. Введемо дані з клавіатури і, використовуючи складові імена полів запису luggage.q і luggage.w, знайдемо шукані величини.