Паскаль: робота з файлами, Детальна інформація
Паскаль: робота з файлами
ПАСКАЛЬ: РОБОТА З ФАЙЛАМИ
1. Фізичні файли та файлові змінні
Оксфордський тлумачний словник англійської мови подає слово "файл" так:
- це будь-який із різноманітних типів висувних шухляд, полиць, коробок тощо, як правило, з металевим стержнем для тримання паперів разом і в порядку так, щоб їх легко було відшукати;
- це ряд людей або речей, розташованих одне за одним.
Автори операційної системи MS DOS називають файлом іменовану область на зовнішньому носії інформації, наприклад, на дискеті. Ця область містить якусь інформацію, наприклад, програму чи вхідні дані до неї. Але як обробку цієї області задавати в Паскаль-програмі? На це питання ми спробуємо відповісти. Принаймні частково й на прикладі системи Турбо Паскаль.
Система програмування Турбо Паскаль, як і інші, має в своєму складі цілий набір засобів роботи з файлами – систему введення-виведення. Мова Паскаль не має операторів, якими описується обробка файлів. Уся обробка задається за допомогою підпрограм і змінних, зібраних у кілька бібліотек, або модулів. Наприклад, нам уже відомі такі процедури, як readln і writeln.
Почнемо уточнювати поняття файла. Як область на зовнішньому носії інформації, кожний конкретний, фізичний файл є послідовністю байтів. Але одну й ту саму послідовність байтів можна розглядати та обробляти і як послідовність байтів, і як послідовність значень якогось типу, і як послідовність символів, розбиту на рядки (інша справа, що за значення чи рядки ми при цьому одержимо).
У Паскаль-програмі файл позначається ім’ ям файлової змінної, тобто вона служить представником файла у програмі. Тип у її означенні задає спосіб, у який розглядається та обробляється файл. Далі будемо називати області на зовнішніх носіях фізичними файлами, а під словом "файл" розуміти саме файлові змінні. У мові Турбо Паскаль є три основні різновиди файлових змінних: типізовані файли, тексти та нетипізовані файли. Оглянемо їх.
Типізований файл розглядається як послідовність змінних деякого типу, заданого в означенні файлової змінної. Її тип задається виразом вигляду
file of тип.
Наприклад,
var Fi, Fo : file of word;
FF : file of real;
або
type Student = record
Name : String;
Number : Integer;
end;
StGroup = array [1..25] of Student;
var Fi, Fo : file of StGroup;
Отже, значеннями елементів типізованого файла є значення відповідного типу, наприклад, word, real чи StGroup.
Текст у загальному розумінні – це послідовність символів, розбита на рядки. Рядок у загальному розумінні – це послідовність символів із явно позначеним кінцем. У мові Турбо Паскаль для файлів-текстів означено спеціальний тип із ім’ ям TEXT. Наприклад, можна означити
var Fi, Fo : text;
Підкреслимо, що хоча елементами тексту є символи, цей тип відрізняється від типу file of char. У текстах є спеціальні символи, якими задаються кінці рядків і навіть кінець тексту. Їх обробка відрізняється від обробки решти символів і задається спеціальними підпрограмами, незастосовними до файлів типу file of char, наприклад, readln і writeln.
Безтипові файли розглядаються як послідовності байтів і означаються за допомогою службового слова file. Наприклад,
var Fi, Fo : file.
Для них означено свої підпрограми читання й запису файлів.
Підкреслимо, що наведені три види файлів відрізняються не стільки можливим змістом їх змінних, скільки наборами підпрограм введення-виведення, застосовних до них.
Практично всі підпрограми першим параметром мають ім’ я файлової змінної. Далі ім’ я f буде позначати, як правило, саме файлову змінну. Хоча ніхто не заважає давати файловим змінним зовсім інші імена, наприклад, filevariable чи inpfil тощо.
1. Фізичні файли та файлові змінні
Оксфордський тлумачний словник англійської мови подає слово "файл" так:
- це будь-який із різноманітних типів висувних шухляд, полиць, коробок тощо, як правило, з металевим стержнем для тримання паперів разом і в порядку так, щоб їх легко було відшукати;
- це ряд людей або речей, розташованих одне за одним.
Автори операційної системи MS DOS називають файлом іменовану область на зовнішньому носії інформації, наприклад, на дискеті. Ця область містить якусь інформацію, наприклад, програму чи вхідні дані до неї. Але як обробку цієї області задавати в Паскаль-програмі? На це питання ми спробуємо відповісти. Принаймні частково й на прикладі системи Турбо Паскаль.
Система програмування Турбо Паскаль, як і інші, має в своєму складі цілий набір засобів роботи з файлами – систему введення-виведення. Мова Паскаль не має операторів, якими описується обробка файлів. Уся обробка задається за допомогою підпрограм і змінних, зібраних у кілька бібліотек, або модулів. Наприклад, нам уже відомі такі процедури, як readln і writeln.
Почнемо уточнювати поняття файла. Як область на зовнішньому носії інформації, кожний конкретний, фізичний файл є послідовністю байтів. Але одну й ту саму послідовність байтів можна розглядати та обробляти і як послідовність байтів, і як послідовність значень якогось типу, і як послідовність символів, розбиту на рядки (інша справа, що за значення чи рядки ми при цьому одержимо).
У Паскаль-програмі файл позначається ім’ ям файлової змінної, тобто вона служить представником файла у програмі. Тип у її означенні задає спосіб, у який розглядається та обробляється файл. Далі будемо називати області на зовнішніх носіях фізичними файлами, а під словом "файл" розуміти саме файлові змінні. У мові Турбо Паскаль є три основні різновиди файлових змінних: типізовані файли, тексти та нетипізовані файли. Оглянемо їх.
Типізований файл розглядається як послідовність змінних деякого типу, заданого в означенні файлової змінної. Її тип задається виразом вигляду
file of тип.
Наприклад,
var Fi, Fo : file of word;
FF : file of real;
або
type Student = record
Name : String;
Number : Integer;
end;
StGroup = array [1..25] of Student;
var Fi, Fo : file of StGroup;
Отже, значеннями елементів типізованого файла є значення відповідного типу, наприклад, word, real чи StGroup.
Текст у загальному розумінні – це послідовність символів, розбита на рядки. Рядок у загальному розумінні – це послідовність символів із явно позначеним кінцем. У мові Турбо Паскаль для файлів-текстів означено спеціальний тип із ім’ ям TEXT. Наприклад, можна означити
var Fi, Fo : text;
Підкреслимо, що хоча елементами тексту є символи, цей тип відрізняється від типу file of char. У текстах є спеціальні символи, якими задаються кінці рядків і навіть кінець тексту. Їх обробка відрізняється від обробки решти символів і задається спеціальними підпрограмами, незастосовними до файлів типу file of char, наприклад, readln і writeln.
Безтипові файли розглядаються як послідовності байтів і означаються за допомогою службового слова file. Наприклад,
var Fi, Fo : file.
Для них означено свої підпрограми читання й запису файлів.
Підкреслимо, що наведені три види файлів відрізняються не стільки можливим змістом їх змінних, скільки наборами підпрограм введення-виведення, застосовних до них.
Практично всі підпрограми першим параметром мають ім’ я файлової змінної. Далі ім’ я f буде позначати, як правило, саме файлову змінну. Хоча ніхто не заважає давати файловим змінним зовсім інші імена, наприклад, filevariable чи inpfil тощо.
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021