ться знову. p align="justify"> На відміну від текстових типізовані файли допускають операції як записи, так і читання незалежно від того, який процедурою файл відкритий. Закривається файл процедурою Close. p align="justify"> Оскільки типізовані файли розбиті на рядки, процедури ReadLn і WriteLn для них не мають сенсу.
За даним матеріалом була складена програма В«Телефонний довідникВ», в якій телефони, вводяться користувачем, записуються в типізований файл NOMERA . Лістинг програми див. Додаток № 3 (Лістинг програми 2)
Нетипізовані файли.
Нетипізовані файли оголошуються як файлові змінні типу FILE і відрізняються тим, що для них не зазначений тип компонентів. Відсутність типу робить ці файли, з одного боку, сумісними з будь-якими іншими файлами, а з іншого-дозволяє організувати високошвидкісний обмін даними між диском і пам'яттю. p align="justify"> При ініціації нетипізованого файлу процедурами RESET або REWRITE можна вказати довжину запису нетипізованого файлу в байтах
Довжина запису нетипізованого файлу вказується другим параметром при зверненні до процедур RESET або REWRITE, в якості якого може використовуватися вираз типу WORD. Якщо довжина запису не вказана, вона приймається рівною 128 байтам. p align="justify"> Турбо Паскаль накладає жодних обмежень на довжину запису нетипізованого файлу, за винятком вимоги позитивності і обмеження максимальної довжини 65535 байтами (ємність цілого типу WORD). Однак для забезпечення максимальної швидкості обміну даними слід задавати довжину, яка була б кратна довжині фізичного сектора дискового носія інформації (512 байт). Більше того, фактично простір на диску виділяється будь-якого файлу порціями - кластерами, які залежно від типу диска можуть займати 2 і більше суміжних секторів. Як правило, кластер може бути прочитаний або записаний за один оборот диска, тому найвищу швидкість обміну даними можна отримати, якщо вказати довжину запису, що дорівнює довжині кластера. p align="justify"> При роботі з нетипізований файлами можуть застосовуватися всі процедури і функції, доступні типізованим файлів, за винятком READ і WRITE, які замінюються відповідно високошвидкісними процедурами BLOCKREAD і BLOCKWRITE.
Після вивчення матеріалу була складена програма, яка створює масив цілих чисел і записує його в нетипізований файл, а також обчислює середнє арифметичне елементів файлу. См Додаток № 2 (Лістинг програми 3)
2.3 Розробка програм з використанням текстових файлів
Текстові файли. Текстові файли складаються з символьних рядків. Рядки можуть мати різну довжину, кожен рядок закінчується спеціальними символами повернення каретки CR (# 13) і переведення рядка LF (# 10). Ці символи під час перегляду файлу зазвичай не виводяться і є "невидимими" символами. Закінчується текстовий файл ознакою кінця файлу (EOF - скорочення від англійського End Of File):
Текстові файли зв'язуються з файловими змінними, що належать стандартному типом TEXT. Текстові файли призначені для зберігання текстової інформації. Саме в такого типу файлах зберігаються, наприклад, вихідні тексти програм. Компоненти (записи) текстового файлу можуть мати змінну довжину, що істотно впливає на характер роботи з ними. p align="justify"> Текстовий файл трактується в Турбо Паскалі як сукупність рядків змінної довжини. Доступ до кожного рядка можливий лише послідовно, починаючи з першої. При створенні текстового файлу в кінці кожного запису (рядки) ставиться спеціальний ознака
Для доступу до записів застосовуються процедури READ, READLN, WRITE, WRITELN. Вони відрізняються можливістю звернення до них з перемінним числом фактичних параметрів, у якості яких можуть використовуватися символи, рядки і числа. p align="justify"> Процедура READ. Забезпечує введення символів, рядків і чисел. p align="justify"> При введенні змінних типу CHAR виконується читання одного символа з файлу і присвоювання зчитаного значення змінної.
При введенні змінних типу STRING кількість лічених процедурою і поміщених в рядок символів дорівнює максимальній довжині рядка, якщо тільки раніше не зустрілися символи CR або EOF. У цьому випадку самі символи CR і EOF в рядок не поміщаються. p align="justify"> При використанні процедури READ стосовно до стандартного файлу INPUT, тобто при введенні з клавіатури, символьні рядки запам'ятовуються в буфері, який передається процедурі тільки після натискання на клавішу Enter. Це дозволяє редагувати дані при їх введенні. p align="justify"> Максимальна довжина буфера введення при роботі з клавіатурою складає 127 символів. Введення з клавіатури за процедурою READ супроводжується ехо-повтором символів, що вводять на екрані ПК. p align="justify"> Процедура READLN. З...