Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Организация зовнішніх файлів і з ними

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Тут ім'я 1 — файлова змінна, що у програмі описана як файл. Вона встановлює зв’язку з фізичним ім'ям файла; ім'я 2 — физическое (конкретное) ім'я файла, що зберігається на диску; ім'я 3 — розширення фізичного імені файла. Можна вказувати будь-які 3 символу, проте рекомендується вказувати DAT (данные). Аргумент годі й вказувати, тоді з вмовчанням буде DAT; ім'я 4 — змінна, яка автоматично отримує… Читати ще >

Организация зовнішніх файлів і з ними (реферат, курсова, диплом, контрольна)

Організація зовнішніх файлів і з ними.

Під файлом розуміють будь-який набір даних. Так, вихідні дані в програми вважати файлом. Файлом можуть і результати, і самі программа.

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

До цього часу ми розглядали завдання, у яких вихідні дані чинили клавіатури на згадку про ЕОМ, а результати виводилися на екран. Отже, ні вихідні дані, ні результати обчислень не зберігалися. Щоразу і під час одному й тому самої програми (особливо в її налагодженні) доводиться наново вводити вихідні данные.

Створення зовнішніх файлів даних для постійного зберігання на МД і можливість обробляти ці файли у програмі ефективне засобом программирования.

У PASKALe файл є послідовність елементів одного типу (простого чи складного). На відміну від масиву довжина файла, тобто. кількість елементів, не задається, місце елемента не визначається індексом й у елемент стає доступним лише після перебору всіх попередніх елементів. Такі файли називаються послідовними. Слід зазначити, створення та обробка зовнішніх файлів залежать як від конкретної реалізації микроЭВМ, і від версії PASKAL.

Багато версіях PASKAL для микроЭВМ допускається зберігання файлів на диску як символьних даних. При зчитуванні файла в оперативну пам’ять машини символи файла перетворюються на той тип даних, якого оголошено в программе.

Якщо програма взаємодіє зі зовнішніми файлами, то файли повинні бути описані у програмі або явно розділ змінних VAR, або з використанням розділу типів TYPE. Оголошення файлів розділ перемінної має вид:

VAR ім'я файла: FILE OF базовий тип; ***.

VAR.

FT:FILE OF CHAR; (*файл символьних данных*).

FINP:FILE OF REAL; (*файл дійсних данных*).

M:FILE OF INTEGER; (*файл цілих данных*).

Файлы символьних даних називають текстовими файлами. Опис текстового файла.

FILE OF CHAR.

Эквивалентно опису TEXT. Тож у попередньому прикладі текстовий файл FT можна назвати в виде:

VAR FT: TEXT;

Как відзначалося раніше, визначення даних із винятком розділу описи типів TYPE робить програму більш універсальної і спрощує налагодження програми. Оголошення файлів у разі має вид:

TYPE ім'я типу = FILE OF базовий тип;

VAR ім'я файла: ім'я типу; *** Для текстового файла FT опис має вид:

TYPE T=FILE OF CHAR;

VAR FT: T; Тут Т — запроваджений тип данных.

Розглянемо основні 3 виду взаємодії програми з зовнішніми файлами: читання файла, запис файла, читання і запись.

Читання файла. Під читанням файла розуміється введення даних із зовнішнього файла, знаходиться в диску в оперативну пам’ять машини. Дані зовнішнього файла стають доступними программе.

У конкурсній програмі необхідні такі дії для читання файла: відкрити файл для читання (RESET), запровадити дані файла в программу (`READ), закрити файл для читання (CLOSE).

Зовнішній файл, з яких читаються дані, часто називають вхідним файлом. Загальна форма читання файла має вид:

RESET (ім'я 1);

.. .

READ (ім'я 1, параметры);

.. .

CLOSE (ім'я 1); Многоточием зазначено на наявність будь-яких операторів программы.

У деяких версіях PASCAL (в ДВК) оператор RESET може мати кілька аргументов:

RESET (ім'я 1; ім'я 2; ім'я 3; ім'я 4).

Тут ім'я 1 — файлова змінна, що у програмі описана як файл. Вона встановлює зв’язку з фізичним ім'ям файла; ім'я 2 — физическое (конкретное) ім'я файла, що зберігається на диску; ім'я 3 — розширення фізичного імені файла. Можна вказувати будь-які 3 символу, проте рекомендується вказувати DAT (данные). Аргумент годі й вказувати, тоді з вмовчанням буде DAT; ім'я 4 — змінна, яка автоматично отримує значення, однакову числу блоків, займаних зовнішнім файлом на диску. Аргумент годі й вказувати, але він зазначений, потрібно оголосити зміну як цілого типа.

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

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

Функцію EOF можна залучити до логічному вираженні частковості, в операції циклу, например:

WHILE NOT EOF (F1) DO.

BEGIN.. .

END.

Пока ні кінець файла F1, повторюється циклічна частина програми, ув’язнена в операторные дужки begin-end.

Елементи в файлі зберігаються по рядкам. Для визначення кінця рядки файла використовується оператор цикла:

WHILE NOT EOLN (ім'я 1) DO, а переходу нові рядок файла — оператор READLN (ім'я 1). *** 1.1. Нехай на диску є файл безпосередньо з ім'ям D1. DAT, у якому записана послідовність дійсних чисел у кількох строках:

0.54 1.7 4.56 0.2.

1.32 1.524 18 0.92.

56. 7.7 Необхідно ці дані зробити доступними програмі і обчислити їх сумму.

Program A21(INPUT, OUTPUT); VAR F1: TEXT; (*файлова змінна*) L1: Integer; (*довжина файла*) X; Real; (*число*) SUM: Real; (*сума*) Begin.

SUM: = 0;

RESET (F1; D1; DAT; L1).

WHILE NOT EOF (F1) DO Begin WHILE NOT EOLN (F1) DO Begin READ (F1, X); SUM: = SUM + X end; Readln (F1) end; WRITE («сума=; SUM:8:3); CLOSE (F1) end.

Сумма = 42.124.

У конкурсній програмі 1.1: F1 — файлова змінна, з допомогою якої встановлюється зв’язку з файлом D1.DAT. Фізичне ім'я файла вказується лише за відкритті файла в операторі RESET. У більшості інших операторах при необхідності роботи з файлом вказується файлова змінна F1. Оператор READ (F1,X) застосовується для зчитування даних (за одним) з зовнішніх файлів в перемінної Х. Після оператора CLOSE (F1) дані файла стають недоступними програмі. Значення обчисленої суми виводиться на екран дисплея.

Запис файла. Під записом файла розуміється запис результатів програми з оперативної пам’яті ЕОМ на диск, тобто. створення нової файла осіб на зовнішньому устрої. У програмі необхідні такі дії для записи файла: відкрити файл для записи (REWRITE); вивести дані (WRITE); закрити файл для записи (CLOSE).

Зовнішній файл, у якому записуються дані з програми, часто називають вхідними. Загальна форма записи файла: REWRITE (ім'я 1);

... WRITE (ім'я 1, параметры);

... CLOSE (ім'я 1); Оператор виведення для записи даних має усіма властивостями звичайного оператора WRITE. Якщо оператор виведення має вид:

WRITE (параметри) Те дані виводяться на екран дисплея, а если.

WRITE (ім'я 1, параметри) Те дані записуються в файл, що зберігаються на диске.

*** 1.2. нехай у програмі перемінні Проте й У отримують такі значення: А=510, В=16.2. потрібно записати в файл безпосередньо з ім'ям D2. DAN рядок як А=510 В=16.2.

program A21A (INPUT, OUTPUT);

VAR.

F2: text; (*файлова переменная*).

L2: Integer; (*довжина вихідного файла*).

A: Integer; (*ціле данное*).

B: Real; (*дійсне дане*) Begin.

L2: =1; A: = 510; B: = 16.2;

REWRITE (F2, «D2 », «DAN », L2);

WRITE (F2, «A= «, A:3, «» :5, «B= «, B:4:1);

CLOSE (F2) end.

Усі значення змінних зазначені у коментарях програми. REWRITE відкриває файл для запис у нього даних. Повне ім'я файла — D2.DAN. WRITE виводить рядок символів відповідно до форматом. CLOSE закриває файл для записи. Коли щодо записи рядка цілком достатній 1 блок, то перемінної L2 привласнюємо значення 1.

Читання і запис файла. Дії файла може бути різноманітними: іноді потрібно читати дані з одного файла і записувати до інших, іноді - коригувати і той ж файл. У конкурсній програмі за необхідності вказуються оператори для читання і запис файлів, а як і їхнього закриття. *** 1.3. program A22 (INPUT, OUTPUT); TYPE T = TEXT; (*тип файла — текстовий*) VAR.

T1, T2: T; (*файлова переменная*).

P.S: CHAR; (*символьне данное*).

R: Integer; (*ціле дане*) begin.

RESET (T1, «FINP »); (*відкриття файла для чтения*).

REWRITE (T2, «FOUT »); (*відкриття файла для записи*).

READ (T1, P. S); (*читання даного з файла*).

.. .. .. .. .. ... (*дії зі змінними P. S, R*).

WRITE (T2, R); (*запис значення R в файл*).

CLOSE (T2); (*закриття файла для записи*).

CLOSE (T1); (*закриття файла для читання*) end.

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

Пример з допомогою зовнішніх файлів: Маємо відомість за результатами іспиту групи. Вважатимемо її вхідним файлом безпосередньо з ім'ям DAN:

———————————————————————————- предмет «фізика «група Т — 12 ———————————————————————————- Алексєєв С.А.: 5 Вертышев О. Ю.: 4 Колдаев В. Д.: 5 Петрова Н. В.: 4 Федоренко Р. Ф.: 3 Маронин А. В.: 4.

Составить програму створення вхідного файла безпосередньо з ім'ям REZ, у якому слід записати вихідну відомість і розрахована середній балл.

———————————————————————————- предмет «фізика «група Т — 12 ———————————————————————————- Алексєєв С.А.: 5 Вертышев О. Ю.: 4 Колдаев В. Д.: 5 Петрова Н. В.: 4 Федоренко Р. Ф.: 3 Маронин А. В.: 4.

* * * * * * * * * * * * * * * * * * * * * * * * Середній бал групи: 4.17. Кількість учнів: 6.

Показати весь текст
Заповнити форму поточною роботою