- •Програмування та алгоритмічні мови
- •Візуальне проектування програмних засобів.
- •Середовище візуального програмування. Форма. Інспектор об’єктів. Редактор коду. Палітра компонентів.
- •Поняття і структура програми та проекту.
- •Типи даних та їх представлення у комп’ютері.
- •Оператори вибору.
- •Робота з одновимірними та багатовимірними масивами.
- •Алгоритми обробки масивів. Упорядкування і пошук даних.
- •Символьні рядки. Обробка текстових даних.
- •Робота із записами.
- •Файли. Поняття фізичного і логічного файлу. Методи доступу до файлів.
- •Типи файлів.
- •Процедури і функції для роботи з файлами.
- •Поняття підпрограми. Структура підпрограм.
- •Параметри в підпрограмах. Глобальні та локальні змінні.
- •Структура програми, що містить процедури
- •Рекурсивні підпрограми.
- •Динамічні структури даних. Незв’язані динамічні дані. Динамічні структури даних.
- •Змінні-вказівники.
- •Динамічні структури даних. Зв’язані динамічні дані. Списки, стеки, черги, дерева.
- •Об’єктно-зорієнтоване програмування. Класи і об’єкти. Основні поняття.
- •Опис класів і об’єктів.
- •Наслідування
- •Методи. Конструктори і деструктори.
- •Приклад
- •Властивості об’єктів. Характеристики об'єктів
- •Поняття успадкування. Наслідування
- •Принцип успадкування
- •Поліморфізм. Віртуальні та динамічні методи.
- •Характеристики
- •Структура опису класу.
- •Класи загального призначення.
-
Процедури і функції для роботи з файлами.
Файл - це одномірний масив байтів, що має як мінімум один твердий зв'язок (ім'я файлу). Файли можуть містити інформацію у двійковому або в текстовому виді. Файли містять дані, сценарії оболонки або програми. Крім того, деякі імена файлів являють собою такі абстрактні об'єкти, як сокети й драйвери пристроїв.
Передбачено безліч функцій для роботи з файлами. Більшість цих функцій можна віднести до однієї з наступних двох категорій:
Функції для створення файлів.
Функції для керування файлами.
Наприклад у паскалі робота з файлами здійснюється через спеціальні типи. Це файлові типи, які визначають тип файлу, тобто фактично вказують його вміст.
За допомогою цієї змінної, котрої привласнений необхідний тип, і здійснюється вся робота з файлами - відкриття, запис, читання, закриття й т.п.
При роботі з файлами існує певний порядок дій, якого необхідно дотримуватися. От всі ці дії:
Створення (опис) файлової змінної;
Зв'язування цієї змінної з конкретним файлом на диску або із пристроєм вводу-висновку (екран, клавіатура, принтер і т.п.);
Відкриття файлу для запису або читання;
Дії з файлом: читання або запис;
Закриття файлу.
Програмування доступу до файлу в язиці Turbo Pascal починається з опису файлової змінної (змінної файлового типу). Цей опис будується за допомогою службового слова file, після якого може бути зазначений тип окремих елементів файлу.
Залежно від способу опису можна виділити текстові файли, двійкові або типізовані й нетипизовані. Вид файлу визначає спосіб зберігання інформації у файлі.
Текстовий файл є файлом послідовного доступу, і його можна представити як набір рядків довільної довжини. Логічно послідовний файл можна представити як іменований ланцюжок байтів, що має початок і кінець. Послідовний файл відрізняється від файлів з іншою організацією тим, що читання (або запис) з файлу (у файл) ведуться байт за байтом від початку до кінця.
Також існують так називані "типізовані" файли, тобто файли, що мають тип. Цей тип визначає, якого роду інформація втримується у файлі й задається в параметрі.
Нетипизований файл - файл, у якому ми вказуємо як тип файлу просто File, тобто без типу.
Те одержуємо "нетипизований" файл, читання й запис у який відрізняється від роботи з файлами інших типів. Ці дії виробляються шляхом вказівки кількості байт, які потрібно прочитати, а також вказівкою області пам'яті, у яку потрібно прочитати ці дані.
Кожній програмі доступні два стандартних файли input (клавіатура) і output (екран). Це - текстові файли. Будь-які інші файли стають доступними після виконання спеціальних процедур.
Любий файл має три характерні риси. По-перше, у нього є ім'я, що дає можливість програмі працювати одночасно з декількома файлами. По-друге, він містить компоненти одного типу. По-третє, довжина знову створюваного файлу ніяк не обмовляється при його оголошенні й обмежується тільки ємністю пристроїв пам'яті.
Відкриття файлу - це вже більше ускладнений процес, ніж зв'язування з ним змінної. Тут ураховується, навіщо відкривається файл - для запису або читання, а також залежно від типу файлу процедури виконують різні дії.
Цей процес полягає у використанні однієї із трьох наявних процедур:
1. Відкриття файлу на читання. Це може бути текстовий, типізований або не типізований файл. У випадку з текстовим файлом, він відкривається тільки на читання. У випадку з типізованим і не типізованим файлом - він відкривається на читання й запис.
2. Процедура відкриття текстового файлу на запис. Вище було сказано, що при завданні параметра типу Text не дозволить писати в нього дані, відкривши файл лише для читання. Тобто якщо використається текстовий файл і необхідно робити в нього запис, використовується ця процедура.
3. Процедура створення нового файлу або перезаписування існуючого.
Читання файлів. Читання файлів виробляється за допомогою відмінно відомих нам процедур Read і Readln. Вони використаються також, як і при читанні інформації із клавітури. Відмінність лише в тім, що перед змінної, у яку міститься лічене значення, указується змінна файлового типу (дескриптор файлу).
Запис у файли вироблятися точно так само, як і запис на екран - за допомогою процедур Write і Writeln. Як і у випадку із читанням, перед записуваною у файл змінної вказується дескриптор файлу.
TURBO PASCAL уводить ряд процедур і функцій, застосовних для будь-яких типів файлів: Assign, Reset, Rewrite, Close, Rename, Erase, Eof,
Процедура Assign зв'язує логічний файл із фізичним файлом, повне ім'я якого задане в рядку FileName.
Процедура Reset відкриває логічний файл для наступного читання даних або, як говорять, відкриває вхідний файл. Після успішного виконання процедури Reset файл готовий до читання з нього першого елемента.
Процедура Rewrite відкриває логічний файл для наступного запису даних. Після успішного виконання цієї процедури файл готовий до запису в нього першого елемента.
Процедура Close закриває відкритий до цього логічний файл. Виклик процедури Close необхідний при завершенні роботи з файлом.
Логічна функція EOF Boolean повертає значення TRUE, коли при читанні досягнуть кінець файлу. Це означає, що вже прочитано останній елемент у файлі або файл після відкриття виявився порожній.
Процедура Rename дозволяє перейменувати фізичний файл на диску, пов'язаний з логічним файлом. Перейменування можливо після закриття файлу.
Процедура Erase знищує фізичний файл на диску, що був пов'язаний з файлової змінної. Файл до моменту виклику процедури Erase повинен бути закритий.
Пример. Запись текстового файла на диск и ввод в него текста.
program wtf;
type fil=text;
var f1:fil; name:string[35]; txt:string;
begin
write('Введите имя файла для записи текста>');
readln(name);
writeln;
assign(f1,name);
rewrite(f1);
writeln('Введите текст для записи (для окончания-Enter):');
writeln;
repeat
write(':>');
readln(txt);
writeln(f1,txt);
until txt='';
close(f1);
writeln;
writeln('Ввод окончен, нажмите Enter.');
readln;
end.