Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АП. Методичнi вказiвки.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
1.25 Mб
Скачать

Лабораторна робота № 11 файли і робота з ними

Завдання. Створити три типи файлів: типізований, текстовий і нетипізований. Умови завдань приведені в таблиці 11.

Файлом називається послідовність компонент, що відносяться до одного і того ж типу. Виділяються два основні типи файлів: файли послідовного і прямого доступу.

Файли послідовного доступу.

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

Перед початком роботи з файлом його потрібно оголосити, наприклад:

Type

abc = file of integer;

(*опис змінної файлу*)

var f:abc;

Файл може бути описаний і безпосередньо при описі змінної, наприклад

: var f:file of real.

Робота з файлом (F) проводиться за допомогою наступних стандартних процедур:

RESET(F) - підготовка до читання інформації з файлу з ім'ям F

READ(F) - читання компоненти файлу F і перехід до наступної компоненти. До компоненти файлу можна звернутися як до значення буферної змінної.

REWRITE(F) - підготовка до запису інформації в початок файлу F.

WRITE (F) - запис значення буферної змінної у файл F.

В процесі зчитування інформації, що зберігається у файлі, необхідно перевіряти, чи є ще дані у файлі. У Паскалі це робиться за допомогою стандартної функції EOF(F), де F - ім'я файлу. Функція EOF (END OF FILE - кінець файлу) набуває значення TRUE, якщо всі записані у файл дані зчитані. Використання EOF дозволяє працювати з файлами невизначеної довжини.

Приклад.

program raspozn(f);

var f: file of integer (*оголошення файлу*)

begin

l:=1; (*об'єм файлу*)

reset(f,'at:pp','dat',l);(* відкриття файлу для зчитування*)

while not eof(f) do

begin

if f^<0 then writeln(' число від’ємне ')

else if f^>0 then writeln(' число додатнє')

else writeln('число дорівнює нулю')

end;

end.

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

Текстові файли

Текстовим називається файл, компонентами якого є символи.

Тип текстового файлу (TEXT) в трансляторі з Паскаля зумовлений як TEXT = FILE OF CHAR (описувати в програмі цей тип не потрібний).

Для запису в текстовий файл F значення символьної змінної S можна скористатися процедурою WRITE (F,s) .

Аналогічно для читання з текстового файлу можна використовувати процедуру READ(F,s).

Якщо необхідно прочитати N символів і перейти до нового рядка файлу F, то можна використовувати оператора READLN (F, V1, V2...,VN).

Таблиця 11 - Варіанти завдань для лабораторної роботи № 11

Зміст завдання

1

Дано файл дійсних чисел. Знайти суму всіх чисел

2

Дано файл чисел. Знайти найбільше число

3

З файлу F дійсних чисел сформувати новий файл G, що містить перші n чисел файлу

4

Дано файл натуральних чисел. Знайти кількість парних чисел

5

Дано два файли чисел F і G . Переписати із збереженням порядку проходження компоненти файлу F у файл G, а компоненти файлу G - у файл F. Використовувати допоміжний файл.

6

Дано файл цілих чисел F. Записати у файл G всі парні числа, а у файл H - всі непарні

7

Дано символьний файл A . Записати у файл B компоненти файлу A в зворотному порядку

8

Дано файли чисел F і G . Записати у файл H спочатку компоненти файлу F, потім файлу G із збереженням порядку проходження

9

Дано файл, що містить квадратну матрицю А. Транспонувати матрицю А і записати її в той же файл

10

Дано файл, що містить деяку матрицю. Створити новий файл, що містить максимальні елементи рядків даної матриці

11

Побудувати графік функції і записати його у файл. A, B - будь-які.

12

Побудувати графік функції і записати його у файл. A, B - будь-які.

13

Побудувати графік функції і записати його у файл. A, B - будь-які.

14

Побудувати графік функції і записати його у файл. A, B - будь-які.

15

Дано символьні файли A і B . Визначити, чи співпадають компоненти файлу A з компонентами файлу B . Вивести номер першого неспівпадаючого компоненту

16

Дано символьні файли A і B . У файл C записати всі співпадаючі компоненти файлів A і B.

17

Дано файл, що містить відомості про студентів групи (прізвище, ім'я, рік народження). Створити файл, що містить тільки прізвища студентів

18

Дано файл, що містить відомості про студентів групи (див. варіант 17). З'ясувати, чи є однофамільці

19

Дано файл, що містить зведення про студентів групи (див. варіант 17). Створити новий файл, що містить ще і дату народження

20

Дано файл, що містить номери телефонів (прізвище, ініціали, номер телефону). Знайти по прізвищу і ініціалам номер телефону

21

Дано текстовий файл, що містить програму на мові Паскаль. Перевірити цю програму на відповідність числа відкриваючих і закриваючих круглих дужок

22

Дано файл, що містить відомості про книги (прізвище автора, назва книги, рік видання). Створити новий файл, що містить зведення про книги даного автора

23

Побудувати графік функції і записати його у файл. A, B - будь-які.

24

Побудувати одночасно графіки двох функцій і і записати їх в один файл. A, B - будь-які.

25

Побудувати графік функції і записати його у файл. A, B - будь-які.

26

Дано файл, що містить масив даних. У новий файл записати дані, номери яких з 5-го по 10-ий.

27

Побудувати графік функції і записати його у файл. A, B - будь-які.

28

Даний файл, що містить деяку матрицю. Створити новий файл, що містить

два мінімальних і два максимальні елементи.

29

Побудувати графік функції і записати його у файл. A, B - будь-які.

30

Дано файл, що містить деяку матрицю. Створити новий файл, що містить

транспоновану матрицю