68982

Файли, робота з файлами

Лекция

Информатика, кибернетика и программирование

План заняття: Організація файлів Робота з файлами Підготовчі та завершальні операції Операції уведеннявиведення Пересування по файлу Організація файлів Є багато задач коли кількість компонентів певного типу будьякого з відомих уже нам наперед визначити неможливо то її визначають у процесі виконання програми.

Украинкский

2014-09-28

41 KB

0 чел.

Лекція № 11

Тема: Файли, робота з файлами.

План заняття:

  1.  Організація файлів
  2.  Робота з файлами
  3.  Підготовчі та завершальні операції
  4.  Операції уведення-виведення
  5.  Пересування по файлу

Організація файлів

Є багато задач, коли кількість компонентів певного типу (будь-якого з відомих уже нам) наперед визначити неможливо, то її визначають у процесі виконання програми. Для роботи з такими даними в мові Паскаль передбачено файловий тип, що є послідовністю компонентів конкретного типу і не-визначеної наперед довжини.

Окремо розглянемо файли послідовного доступу. Послідовний доступ дає змогу рухатися по файлу тільки поступово, починаючи з першого компонента. У цьому випадку завжди доступним є тільки наступний елемент. Якщо ж треба повернутися до якогось із попередніх елементів, то потрібно починати знову спочатку.

Файловий тип - це єдиний засіб зв'язку програми із зовнішнім середовищем. Тільки через файли в мові Паскаль можна передавати в програму вхідні дані й одержувати з програми результати.

Робота з файлами

Загальний вигляд опису файлового типу такий:

<Ім'я типу>=file of <Тип_компонентів>

Як тип компонентів може бути задання або ім'я будь-якого типу Паскаля, крім файлового або такого, що містить у собі файловий. Наприклад, не можна оголосити файловим типом набір даних, компонентами якого є записи, що містять одне або декілька полів файлового типу.

Приклад опису файлового типу такий:

type

vect=array [1..10] of char;

F=file of vect;

Тут F описаний як файл, компонентами якого є масиви десяти символів. Цей же файл можна ввести і в розділі опису змінних:

var FL: file of vect;

у випадку, коли тип vect визначений. Якщо цей тип не визначений, то

var FL: file of array [1 ..10] of char;

За допомогою двох останніх описів уводять файлову змінну (коротше - файл) FL, компонентами якої є символьні 10-еле-ментні масиви.

Зазначимо, що Турбо Паскаль допускає використання так званих безтипових файлів, для яких тип компонентів не визначений (такі файли описані далі).

Із значеннями файлового типу не можна виконувати жодних арифметичних чи логічних операцій, навіть присвоєння чи порівняння (на відміну від змінних комбінованого типу, з якими виконують операції присвоєння значень змінних одного і того ж комбінованого типу).

Підготовчі та завершальні операції

Операції цієї групи виконують за допомогою процедур Assign, Close, Flush, Reset, Rewrite.

a) ASSIGN - призначена для налаштування зв'язку між фізичним файлом на магнітному носії і файловою змінною. Звертання до процедури таке:

Аssing(<ім'я_файлової_змінної>, '<зовнішнє_ім'я_файлу>')

Ім'я фізичного файлу будують за правилами MS-DOS, тобто воно може містити ім'я диска, ланцюг каталогів і повне ім'я файлу (з розширенням). Імена поточного диска чи каталогу можна не зазначати. Ім'я фізичного файлу - це рядок символів, тому його беруть у лапки (апострофи). Наприклад:

Assign(f, 'E:\dani\fl.dat')

У результаті виконання цієї процедури файлова змінна f буде пов'язана з дисковим файлом fl.dat у каталозі dani на диску Е.

Другий параметр процедури Assign може містити позначення "псевдофайлу", тобто файлу, пов'язаного з конкретним фізичним пристроєм:

'CON' - консоль: у випадку виведення інформація надходить на дисплей, у випадку введення - з клавіатури;

'LPT1', 'LPT2', 'LPT3' - пристрої друкування (може бути одночасно до трьох);

'PRN' - синонім 'LPT1';

'СОМ 1', 'COM2'- послідовні комунікаційні порти, залежить від пристроїв, які приєднані;

'AUX' - синонім 'СОМ1;

'NUL' - фіктивний пристрій, для виведення в "нікуди".

б) Reset і Rewrite призначені для відкривання файлів:

Reset(<iм'я_фaйлoвoї_змiннoї>) Rewrite(<iм'я_фaйлoвoї_змiннoї>)

Файлова змінна повинна попередньо уже бути пов 'язана з конкретним дисковим файлом за допомогою Assign.

Для ілюстрації роботи процедур опрацювання файлів використовують поняття вікно файлу (або вказівник файлу). Вікно визначає позицію доступу, тобто позицію файлу, доступну для читання чи записування. Відкривання файлу передбачає таке:

відшукання файлу на зовнішньому носії;

утворення системних буферів для обміну інформацією;

розміщення вікна файлу на його початку, тобто на нульовий елемент.

Процедуру Reset використовують для відкривання вже наявного дискового файлу, інакше виникне помилка. Процедура Rewrite допускає, що файлу ще нема, тоді вона створює цей файл. Якщо ж файл вже є, то Rewrite його очищає (інформація стає недоступною). В обох випадках вікно позиціонується на нульовий елемент.

в) Flush призначена для завершення обміну без закривання файлу:

Flush(<ім'я_файлової_змінної>)

Ця процедура "скидає" з буфера останні елементи в файл під час записування. Close теж виконує цю дію, крім інших, г) Close завершує дії з файлом:

СІоsе(<ім'я_файлової_змінної>)

У цьому випадку будуть ліквідовані всі внутрішні буфери, утворені під час відкриття файлу. Після цього файлову змінну можна пов'язати з іншим дисковим файлом за допомогою Assign. Зазначимо, що після завершення роботи програми всі файли автоматично закриваються. Однак для гарантії ліпше використати Close .

Операції уведення-виведення

Уведення-виведення - це операції-процедури, за допомогою яких читають і записують інформацію у файл:

Read - читання;

Write - записування.

Процедура read(f,v) присвоює змінній v значення компоненти файла f, на яку вказує вікно, і пересуває вікно на наступну позицію файлу.

Параметрів процедури Read(f,v1,v2,...) може бути декілька. Компоненти файлу послідовно присвоюються цим змінним. Після читання кожного компонента вікно файлу зміщується на одну позицію

Процедура Write(f,x) записує в файл f у позицію, на яку вказує вікно, черговий компонент, що дорівнює значенню виразу х, а вікно зсувається на наступну позицію файлу. Зрозуміло, що тип виразу чи змінної х повинен збігатися з типом компонентів файлу f. 

Пересування по файлу

З метою пересування по файлу використовують дві процедури Seek і Truncate та додатково три функції FileSize, FilePos і Eof.

Процедура Seek змінює положення вікна, поміщаючи його на елемент файлу з заданим номером. Звертання до процедури таке:

seek(<ім'я_файлової_змінної>,<номер_елемента>)

Другий параметр - ціле число типу longint. Після виконання процедури Seek подальше читання чи записування можна виконувати з позиції, на яку перенесене вікно файлу.

Функція FileSize повертає кількість елементів файлу.

Функція FilePos повертає номер елемента, на якому розміщене вікно. Обидві функції мають один параметр - ім'я файлової змінної. Наприклад:

Seek(f, FilePos(f)+1) - пропуск одного елемента;

Seek(f, 0) - розміщення вікна на початку;

Seek(f, FileSize(f)) - розміщення вікна після останнього елемента для дописування файлу.


 

А также другие работы, которые могут Вас заинтересовать

53403. Уведення та редагування тексту. Перевірка правопису 69 KB
  Мета уроку Навчальна: Вдосконалити основні знання про текстовий редактор Microsoft Word та його можливості навчити вводити та редагувати текст засобами текстового процесора створювати документи за певною структурою засвоїти правила введення тесту навчитись проводити перевірку правопису. Тип уроку Урок засвоєння нових знань формування умінь та навичок Обладнання Компютери підключені до локальної мережі текстовий процесор Microsoft Word текстовий документ до уроку UROK. Повідомлення теми та плану роботи на уроці мети та завдань...
53404. Розв’язування задач з використанням циклічних операторів 69.5 KB
  Мета: створити умови для формування навичок розвязування найпростіших задач що містять цикли використовуючи різні команди повторення; розвивати логічне мислення операторську культуру; продемонструвати виконання на компютері різних циклічних програм; виховувати працьовитість інтерес до предмета. Вправа Online Вибудуємо лінію ключових слів з теми Циклічні оператори Цикл повторення параметр циклдоки циклдо циклдля змінна лічильник оператор логічний вираз умова while repet begin end pscl програма виконання. На...
53405. Оформлення тексту в HTML – документі 234 KB
  Хід уроку Перед початком уроку на учнівські компютери та робоче місце вчителя має бути розміщено папки : Організаційний момент Актуалізація опорних знань Учитель пропонує учням виконати завдання “Магічний квадрат. Завдання має бути виведене на інтерактивну дошку а кожен учень повинен отримати картку з наступним текстом : Юний друже Для виконання даного завдання знайди файл що міститься за наступною адресою : C: Documents nd Settings Учень Рабочий стол HTML Урок _3 mgic. Бажаю успіху D O C T I T H B T B D L E H Y G T...
53406. Занимательная Информатика 57.5 KB
  Вопросы Мозг компьютера Процессор Устройство для запуска считывания информации с магнитных дисков Дисковод Устройство для распечатки информации на бумаге Принтер Лицо компьютера Монитор Наиболее распространенный манипулятор Мышь Устройство введения графической информации Сканер Устройство введения звуковой информации Микрофон Устройство для сохранения информации Память Устройство которое обеспечивает запись и считывание информации с магнитной ленты...
53407. Введення, редагування й форматування тексту 151.5 KB
  ОБЛАДНАННЯ: персональні компютери роздатковий матеріал таблиці Клавіатура Текстовий редактор MS Word. Заповнюють опитувальний лист: Підпишіть рисунок що зображує вікно ТП MS Word. Виберіть підкресліть із запропонованого списку можливості які надає ТП MS Word: створення і редагування текстів форматування абзаців створення таблиць вставка в текст обєктів інших програм форматування дисків форматування символів створення малюнків форматування сторінки друк документа копіювання дисків.
53408. Компьютерная среда и алгоритмы 47 KB
  Тема: Компьютерная среда и алгоритмы. Цель: закрепление и проверка знаний учащихся по теме Алгоритмы и изучение нового материала по теме Компьютерная среда Логомиры Задачи: Обучающая: усвоить понятие алгоритма компьютерная среда логомиры. Она называется Компьютерная среда и алгоритмы Напомните мне что такое алгоритм Правильно. Среда каждой программы имеет свои инструменты и допускает определённый набор действий которые можно выполнить.
53409. Настроювання параметрів сторінок. Створення колонтитулів. Робота з редактором формул 651.5 KB
  Тому важливо оформити документ так щоб він гарно виглядав не тільки на екрані але й на аркуші паперу вміти правильно задати параметри сторінки. План Розмір сторінки поля. Орієнтація сторінки. Встановлення параметрів сторінки.
53410. Алгоритми та їх властивості 55 KB
  Алгоритми та їх властивості Епіграф до уроку: Коль кругом все будет мирно Так сидеть он будет смирно; Но лишь чуть со стороны Ожидать тебе войны Иль набега силы бранной Иль другой беды незваной Вмиг тогда мой петушок Приподымет гребешок Закричит и встрепенется И в то место обернется. Навчальна: дати поняття про алгоритм його властивості; навчити розпізнавати алгоритми навколо себе; вміти розрізняти правильно та неправильно сформульовані алгоритми; формувати цілісну уяву про картину всесвіту; формувати науковий світогляд;...
53411. оздание документов в текстовом процессоре 45 KB
  Задачи: помочь учащимся получить представление об офисном пакете OpenOffice познакомиться с возможностями программы Word научить основным операциям редактирования и форматирования текста в Word. Вопрос: Назовите этапы подготовки текстовых документов. Вопрос: Какие операции входят в процесс редактирования текстового документа Ответ: Исправление ошибок правописание удаление и добавление фрагментов.