
- •21)Рекурсія. Рекурсивні означення та підпрограми.
- •22)Типи файлів і оголошення файлових змінних
- •23)Процедурні типи
- •24)Відкриття та закриття файлів
- •25)Підпрограма-функція. Стандартні процедури та функції.
- •26)Послідовний запис і зчитування компонентів файла.
- •27)Формальні та фактичні параметри. Параметри-значення, параметри-змінні.
- •Прямий доступ до компонентів файла.
- •29)Поняття про процедуру з параметрами та без параметрів. Локальні та глобальні змінні.
- •30)Буферизація даних. Нетипізовані файли.
- •31)Переривання циклу. Створення циклу на основі вказівки безумовного переходу.
- •32)Поняття про запис. Доступ до компонентів та операції над записам.
- •33)Масив записів. Записи з варіантами.
- •34)Цикл з передумовою та післяумовою. Вкладені цикли.
- •35)Множини та множинний тип даних. Оголошення змінних множинного типу. Зображення множин в оперативній пам'яті.
- •36)Оператори циклів. Цикл з лічильником (з параметром).
- •37)Операції над множинами.
- •38)Оперативний блок. Поліваріантний вибір (Вказівка варіанту). Вказівка безумовного переходу.
- •Поняття про рядок. Функції та процедури обробки рядків.
- •40)Вибір з двох альтернатив (Вказівка розгалуження). Вкладеність конструкцій розгалуження. Логічні операції.
- •41) Загальні відомості про сортування. Сортування методом вибору.
- •42)Вказівки присвоєння, введення та виведення. Форматоване виведення. Арифметичні вирази та стандартні функції.
- •43)Загальні відомості про сортування. Сортування методом вставки.
- •44)Константа. Типізована константа. Змінна. Вирази
- •45)Загальні відомості про сортування. Сортування методом обміну.
- •46)Прості типи даних.
- •47)Загальні відомості про сортування. Швидке сортування.
- •48)Структура та розділи програми на мові Паскаль.
- •49)Загальні відомості про сортування. Сортування методом злиття.
- •50)Походження та розвиток мови Паскаль. Алфавіт та словник мови.
- •51)Класифікація мов програмування. Перетворення програм і система програмування. Мови програмування
- •53)Одновимірні масиви: поняття, його властивості, оголошення, ініціалізація, введення та виведення масиву.
- •54) Відкриті масиви
- •55)Побудова математичної моделі. Основні алгоритмічні структури.
- •Основні властивості масивів, притаманні як одновимірним, так і багатовимірним масивам:
- •Базовими операціями є:
- •Ініціалізація масиву:
- •57) Основні операції обробки одновимірних масивів: вставка та видалення елемента масиву, циклічний зсув елементів масиву.
- •58)Поняття алгоритму, властивості, способи опису.
- •59)Багатовимірні масиви: оголошення, доступ до елементів.
- •Оголошення багатовимірних масивів. Доступ до елементів
- •Можна і так:
- •60) Базові операції обробки двовимірних масивів
Прямий доступ до компонентів файла.
9.2.6. Прямий доступ до компонентів бінарних файлів |
Компоненти бінарного файла мають однаковий розмір. Цим зумовлені певні переваги бінарного файла над текстовим. По-перше, стає можливим прямий доступ до компонентів файла за їхніми номерами. Під прямим доступом розуміється можливість встановлювати файловий покажчик на заданий компонент без послідовного перебирання попередніх компонентів. По-друге, відкриття бінарного файла процедурою Reset робить можливим як читання, так і запис довільних компонентів файла без руйнації його вмісту. Це пояснюється тим, що модифікація кількох компонентів усередині бінарного файла не призведе до зміни їх розміру, а отже, не потребуватиме зсуву інших компонентів. Нагадаємо, що процедура Rewrite також відкриває бінарний файл у режимі читання і запису, але при цьому вона знищує його вміст (якщо файл уже існував).
Прямий доступ до компонентів бінарного файла в мові Pascal здійснюється за допомогою процедур та функцій, наведених у табл. 9.1.
Таблиця 9.1. Процедури та функції прямого доступу до компонентів бінарних файлів
Ім'я функції або процедури |
Призначення |
|
Seek(var f; n: Longint);, процедура |
Переміщує файловий покажчик на компонент з номером n. Файл f має бути відкритий |
|
Truncate(var f);, процедура |
Видаляє всі компоненти файла f від поточного компонента до кінця файла |
|
FilePos(var f): Longint;, функція |
Повертає номер запису, на який посилається файловий покажчик |
|
FileSize(var f): Longint;, функція |
Повертає кількість компонентів файла f |
|
|
9.2.7. Прямий доступ до компонентів бінарних файлів |
Крім процедур і функцій, розглянутих раніше, у мові Pascal визначено процедури, за допомогою яких можна видалити файл або перейменувати його, тобто виконати операції, властиві операційній системі. Для видалення файла використовують процедуру Erase, а для перейменування — процедуру Rename. Синтаксис зазначених процедур є таким:
Еrаsе(<файлова змінна>); Rеnаmе(<файлова змінна>,<нове ім'я>);
Тут <нове ім' я> — рядок, який має задовольняти вимоги операційної системи щодо специфікації імен файлів. Під час виклику процедур Erase та Rename файл має бути закритим.
Процедури та функції, призначені для пошуку файлів на диску, керування атрибутами файла тощо, означені у бібліотечних модулях dos та windos.
29)Поняття про процедуру з параметрами та без параметрів. Локальні та глобальні змінні.
Поняття про процедуру з параметрами та без параметрів
Процедури з параметрами (методика розробки)
· процедура складається із заголовка і блока. Блок будується стандартно і не відрізняється від блока програми за винятком того, що наприкінці процедури ставиться крапка з комою.
· Ім'я вибирають довільно. Параметри, які містяться у списку параметрів, носять назву формальних - тобто вони не приймають ніяких значень, а тільки позначають місця, на які далі будуть поставлені так звані фактичні параметри. Параметри позначають початкові дані (аргументи) і результати виконання процедури.
· Список параметрів складається із окремих секцій, які відокремлюють крапкою з комою ( ; ). В секції вказується перелік (список) параметрів і через двокрапку їх тип.
Наприклад:
Procedure R( x, y : real; k : integer; var s : real);
Тут параметри x і y вказують першу секцію, k - другу, s - третю. В даному прикладі x, y, k - параметри-значення; s - оператор-змінна, перед яким повинно стояти службове слово var. Параметри-значення - аргументи функції, а параметри-змінні - результати виконання процедури.
Методика використання процедури у зовнішньому блоці
Для використання процедур існує так званий оператор процедури:
<ім'я процедури> (список фактичних параметрів)
Ім'я повинно співпадати з іменем записаної процедури. Параметри у дужках носять назву фактичних. Вони відповідають реальним змінним, над якими виконують операції. Фактичні і формальні параметри повинні відповідати одне одному за містом їх розміщення і типом. Список фактичних параметрів не містить типів даних, бо вони вже вказані у списку формальних параметрів.
Program PR;
procedure P(x, y : real; var z : real );
end;
begin
P(a, b, c);{виклик процедури}
end
Процедури без параметрів
В таких процедурах замість формальних параметрів використовують глобальні змінні. Використання процедур без параметрів потребує уваги і коректності при складанні програм, точного дотримання правил локалізації змінних.
Локальні та глобальні змінні.
Види змінних Прикладна програма мовою MQL4 може містити десятки і сотні змінних. Дуже важливою властивістю будь-якої змінної є можливість використовувати в програмі її значення. Обмеження такої можливості безпосередньо пов'язано з областю видимості змінних. Область видимості змінної - місце в програмі, в якому доступно значення змінної. Кожна змінна має свою область видимості. По області видимості в мові MQL4 розрізняють два види змінних: локальні та глобальні. Локальні та глобальні змінні Локальна змінна - змінна, оголошена всередині якої функції. Областю видимості локальних змінних є тіло функції, в якій ця змінна оголошена. Локальна змінна може бути проініціалізувати константою або виразом, відповідними її типом. Глобальна змінна - змінна, оголошена за межами всіх функцій. Областю видимості глобальних змінних є вся програма. Глобальна змінна не локалізована ні на якому рівні. Глобальна змінна може бути проініціалізувати тільки відповідної її типу константою (але не виразом). Ініціалізація глобальних змінних проводиться одноразово перед початком виконання спеціальних функцій. Якщо управління в програмі знаходиться всередині якої-небудь функції, то значення локальних змінних, оголошених в іншій функції не доступні. Значення будь-якої глобальної змінної доступно з будь-якої спеціальної та користувача функції.