
- •Методичний посібник для самостійної роботи
- •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.
- •Література
Оператор with
В операціях над записами оператор with зручно використовувати для короткого звернення до полів запису. В операторі with до полів однієї або більш конкретних змінних типу запису можна звертатися, використовуючи тільки ідентифікатори полів. Оператор with має наступний синтаксис:
With ЗміннаТипЗапис Do Оператор; {зазвичай складовий оператор}
Візьмемо наступний опис:
type
TDate = record
Day : Integer:
Month : Integer;
Year : Integer:
end;
var OrderDate: TDate;
З урахуванням даного опису наведемо приклад оператора with:
with OrderDate do
if Month = 12 then
begin
Month := 1;
Year := Year + 1
end else
Month := Month + 1;
Це еквівалентно наступному:
if OrderDate.Month = 12 then
begin
OrderDate.Month := 1;
OrderDate.Year := TDate.Year + 1
end
else
Date.month := TDate.Month + 1;
В операторі with спочатку проводиться перевірка кожного посилання на змінну, а саме: чи можна її інтерпретувати, як поле запису. Якщо це так, то вона завжди інтерпретується саме таким чином, навіть якщо є доступ до змінної з тим же ім'ям.
Допустимий описані наступні змінні:
type
TPoint = record
x,y: Integer;
end;
var
x: Point;
у: Integer;
В цьому випадку і до x, і до у можна звертатися, як до змінної або як до поля запису. В операторі:
with x do
begin
x := 10;
у := 25;
end;
x між ключовими словами with і dо відноситься до змінної типу покажчик, а в складеному операторі x і у посилаються на x.x і y.y.
Оператор:
with V1,V2...Vn do s;
еквівалентний операторам:
with V1 do
with V2 do
...
with Vn do
S;
В обох випадках, якщо Vn є полем і v1, і v2, то вона інтерпретується як v2.Vn, а не як v1.Vn.
Якщо вибірка змінної типу запис пов'язана з індексацією масиву або розіменувунням покажчика, то ці дії проводяться до того, як виконуватиметься складений оператор.
Питання для самоконтролю.
Визначення і правила запису
Команда приєднання (with).
Завдання 18:
|
Організуйте запис, що містить відомості про книгу. Виконайте сортування назв книг за абеткою. |
|
Організуйте масив записів, що містить інформацію про висоту гірських вершин, вказавши її в метрах. Знайдіть найвищу вершину. |
|
Організуйте масив записів, що містить наступні анкетні дані: прізвище, ім'я, по батькові учня, місце навчання (школа, клас), оцінки по трьох предметах. Необхідно передбачити обчислення середнього бала учня. |
Література: 2.с.259..263.
Файли і робота з ними. Основні розділи теми.
Файлові змінні.
Типи файлових змінних.
Логічні файли.
Функціі, застосовані для будь-яких типів файлів.
Текстові файли.
Функції введення – виведення INPUT, OUTPUT.
Процедури і функції, що застосовуються тільки до текстових файлів.
Типізовані файли.
Процедури і функції для типізованих файлів.
Для роботи з файлами в програмі необхідно визначити файлову змінну. TURBO PASCAL підтримує три файлові типи: текстові файли; файли, що типізуються; файли, що не типізуються,.
Опис файлових змінних текстового типу проводиться за допомогою службового слова Text, наприклад:
var tStory: Text;
Опис типізованих файлів має вигляд:
var fComp: File T;
де T - тип компоненти файлу. Приклади опису файлової змінної, що типізується:
type M= array[1..500] Longint;
var f1: File Real;
f2: File Integer;
fLi: File M;
Файли, що не типізуються, описуються за допомогою службового слова File:
var f: File;
Файлові змінні, які описані в програмі, називають логічними файлами. Всі основні процедури і функції, що забезпечують введення - виведення даних, працюють тільки з логічними файлами. Фізичний файл повинен бути пов'язаний з логічним до виконання процедур відкриття файлів.
TURBO PASCAL вводить ряд процедур і функцій, застосованих для будь-яких типів файлів: Assign, Reset, Rewrite, Close, Rename, Erase, Eof, IOResult.
Процедура Assign( var f; FileName: String ) зв'язує логічний файл f з фізичним файлом, повне ім'я якого задано в рядку FileName.
Процедура Reset( var f ) відкриває логічний файл f для подальшого читання даних або, як то кажуть, відкриває вхідний файл. Після успішного виконання процедури Reset файл готовий до читання з нього першого елемента.
Процедура Rewrite( var f ) відкриває логічний файл f для подальшого запису даних (відкриває вихідний файл). Після успішного виконання цієї процедури файл готовий до запису в нього першого елемента.
Процедура Close( var f ) закриває відкритий до цього логічний файл. Виклик процедури Close необхідний при завершенні роботи з файлом. Якщо із якоїсь причини процедура Close не буде виконана, файл все-ж буде створений на зовнішньому пристрої, але вміст останнього буфера в нього не буде перенесений. Для вхідних файлів використовування оператора закриття файлу необов'язково.
Логічна функція EOF( var f ): Boolean повертає значення TRUE, коли при зчитуванні досягнутий кінець файлу. Це означає, що вже прочитаний останній елемент у файлі або файл після відкриття виявився порожній.
Процедура Rename( var f; NewName: String ) дозволяє перейменувати фізичний файл на диску, пов'язаний з логічним файлом f. Перейменування можливо після закриття файлу.
Процедура Erase( var f ) знищує фізичний файл на диску, який був пов'язаний з файловою змінною f. Файл до моменту виклику процедури Erase повинен бути закритий.
Функція IOResult: Integer повертає ціле число, відповідне коду останньої помилки введення - виведення. При нормальному завершенні операції функція поверне значення 0. Значення функції IOResult необхідно привласнювати якій - небудь змінній, оскільки при кожному виклику функція обнуляє своє значення. Функція IOResult працює тільки при вимкненому режимі перевірок помилок введення - виведення або з ключем компіляції {$I-}.