Романов О.М. r-02@rambler.ru Файли. В тих випадках, коли даних багато або їх треба довго зберігати, застосовують файли. Файл – це сукупність даних однакового.

Презентация:



Advertisements
Похожие презентации
Текстові файли Приклади використання. Текстові файли призначені для зберігання символів Для опису текстової файлової змінної використовується тип Text.
Advertisements

Записи Запис – це структурований тип даних, який складається з фіксованого числа компонентів одного або декількох типів. Визначення типу запис починається.
Ковальчук О.М КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) Інформатика-11 Тема-4 Ковальчук О.М., 2007.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Табличні величини. Масиви. Знайти суму елементів одновимірного масиву. Program Suma; var A:array[1..5] of integer; S,i:integer; begin for i:=1 to 5 do.
Романов О.М. Ідентифікатори величин. Типи величин.
Структура програми. Вказівки введення й виведення.
Записи в Delphi і Pascal I саченко Анна 10- Б 1. Запис являє собою сукупність обмеженого числа логічно пов'язаних компонент, що належать до різних типів.
Рядкові величини Рядок це послідовність символів кодової таблиці ЕОМ. При використанні у виразах рядок охоплюється з двох сторін апострофами. Кількість.
Програми з розгалуженнями.Команда IF Підготувала Крилік Анастасія 7-Д.
Основи алгоритмізації і програмування. Тема 3. Мови програмування (4 год) Структура програми Елементи мови програму- вання.
Програми, модулі 1. Структура програми на ТП 1. Структура програми на ТП 1. Структура програми на ТП 1. Структура програми на ТП 2. Вигляд програми на.
Типи даних мови Visual Basic та їх опис. Опис величин Величина - це об'єкт, який має стале або змінне значення. Основні характеристики величин: ім'я,
Ідентифікатори величин. Типи величин.. Для позначення констант, змінних, типів, процедур, функцій, файлів і програм використовують ідентифікатори. Правила.
Вказівники Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове.
Рядкова величина – послідовність довільних символів, що охоплюється з обох боків апострофами. Для опису рядкових величин використовують ідентифікатор.
Структура програми. Вказівки введення, виведення.
Оператори. Введення і виведення даних. Оператор присвоювання Оператори це команди програми. Оператор присвоювання є основним оператором мови програмування.
Основи алгоритмізації та програмування Опрацювання табличних величин. Заняття 1. Алгоритми формування масивів, виведення масивів, зміни значень елементів.
Масиви Оголошення, опис та введення масивів Оголошення, опис та введення масивів Оголошення, опис та введення масивів Оголошення, опис та введення масивів.
Транксрипт:

Романов О.М. Файли

В тих випадках, коли даних багато або їх треба довго зберігати, застосовують файли. Файл – це сукупність даних однакового типу. Таке визначення зберігається з визначенням масиву, але, на відміну від останнього, файл зберігають на диску, кількість даних у файлі при його описі не вказується, елементи файлів не мають індексів. Опис файлового типу має вигляд: Type =file of ; Наприклад. Type CLASS= file of integer; Var uchen:CLASS; Uchen це змінна файлового типу. Або: Type CHILDERN=record Surname : string[15]; Name : string[100]; Birthyear : integer; Street : string[20]; Phone : string[8]; End; var uchen: file of CHILDERN;

Романов О.М. Процедури і функції для роботи з файлами Assign Процедура зв'язує деякий зовнішній файл на диску з файловою змінною. Reset Процедура відкриває уже раніше існуючий файл даних на диску для зчитування і запису даних. Rewrite Процедура створює файл і відкриває його. Якщо файл з таки ім'ям уже існує, то його зміст знищується. Close Процедура закриває файл. Eof Функція набуває значення true, якщо досягнуто кінець файлу, інакше набуває значення false. IOResult Функція використовується для пошуку помилок при роботі з файлами. Якщо знайдено помилку в останній операції введення/виведення, то функція буде рівна 1, інакше – 0. При цьому автоматичний контроль перед цим повинен бути вимкнутий з допомогою директиви {$I-}.

Романов О.М. Запис і зчитування даних з файлу Write Формат Write(, ); Read Формат Read(, ); Наприклад. Program FileRead; Type CHILDERN=string[15]; var class: file of CHILDERN; Surname: CHILDERN; Begin Assign(class,school.dat); Reset(class); Read(class,Surname); Write(Призвіще учня: ); Writeln( Surname ); Close(class); End.

Романов О.М. Приклад програми. Program FileWriteRead; Uses Crt; Type CHILDERN=record Surname : string[15]; Name : string[100]; Birthyear : integer; Street : string[20]; Phone : string[8]; End; var : CLASS:file of CHILDERN; uchen: CHILDERN; litera:char; i:integer; Procedure create_file_school; Begin {$I-} Assign(CLASS,school.dat); Reset(CLASS); If Ioresult<>0 then begin rewrite(class); If IOResult<>0 then write(Помилка при відкритті файла) end; {$I-} end; (продовження на слідуючому слайді)

Романов О.М. Procedure Input_data_school; Procedure Input_data; Begin With UCHEN do Begin Write(Введіть призвіще учня:); Readln(Surname); Write(Введіть ім'я учня:); Readln(Name); Write(Введіть рік народження:); Readln(Birthyear ); Write(Введіть адресу учня:); Readln(Street ); Write(Введіть телефон учня:); Readln(Phone ); End; (продовження на слідуючому слайді)

Романов О.М. Procedure zapus_data; Begin Assign(CLASS,shool.dat); Reset(CLASS); Seek(CLASS,i); With uchen do If length(Surname)>0 then write(CLASS,UCHEN); i:=i+1; End; Begin Fillchar(CLASS,SiceOF(CLASS), ); Writeln; With uchen do Input_data; zapus_data; End; (продовження на слідуючому слайді)

Романов О.М. Function Povtor:boolean; Begin Writeln; Write(Будете ще вводити дані (Y/N)?); Writeln; Litera:=ReadKey; If (Litera=N) or (Litera=n) then Povtor:=true else Povtor:=false; End; Procedure read_data; Begin Seek(CLASS,0); While (not eof(CLASS)) do begin Read(CLASS,UCHEN); Write(UCHEN. Surname ); Write(,UCHEN. Name ); Write(,UCHEN. Birthyear ); Write(,UCHEN. Street ); Write(,UCHEN. Phone ); End; end; Begin Create_file_school; i:=1; Repeat Input_data_school; Until Povtor; Writeln; read_data; close(CLASS); end.

Романов О.М. Типізовані файли Типізованих файлах – структура даних, що складається із пронумерованих компонентів нового типу. Перший компонент файлу має номер нуль. Seek Оптимізує прямий доступ до файлу, котра переміщує вказівник поточної позиції файлу Seek(, ) – цей вираз типу longint вказує номер компонента. Текстові файли описуються так: var : text; Дані файлу можна зчитати за допомогою команд, кожна наступна дана команда зчитує дані з наступного рядка: read(, ); write(, ); Дана процедура використовується для файлів котрі створенні процедурою Rewrite і для відкритих процедурою Reset. Для роботи з прямим доступом використовуються функції: filesize Повертає поточний розмір файлу (Filesize ) Filepos Повертає поточний номер позиції вказівника в файлі (позиції нумеруються з нуля). (Filepos )

Романов О.М. Текстові файли Дані у типізованих файлах, описаних вище, певним чином кодуються комп'ютером. Ці файли не можна редагувати або переглядати за допомогою звичайного текстового редактора. Тому, окрім типових, використовують текстові файли, які не мають такого недоліку. Елементами текстових файлів є порядки (послідовність символів: букв, цифр знаків та пропусків). Такий файл можна створювати та редагувати з допомогою текстового редактора. Розмежовувачем між елементами файлу є пропуск. Утворення кожного рядка закінчується натисканням на клавішу вводу. Для перевірки чи є символи у рядку використовують функцію eoln (наприклад, eoln ), яка приймає значення true, якщо знайдено кінець рядка. Текстові файли описуються так: var : text; Дані рядка текстового файлу можна зчитати за допомогою команд, кожна наступна дана команда зчитує дані з наступного рядка: read(, ); readln(, ); При виконанні readln зайві дані ігноруються. Процедура Append відкриває текстовий файл для запису, при цьому вказівник файла встановлюється на кінець файлу і нові елементи добавляються до раніше існуючих.

Романов О.М. Створити рядок текстового файлу можна з допомогою звичайного текстового редактора або програмним способом за допомогою команд write (, ); writeln (, ); На відміну від звичайних файлів у текстовий файл можна додавати (дописувати) дані. Для цього замість процедури rewrite використовують процедуру append( );

Романов О.М. Не типізовані файли При оголошені не типізованих файлів вказується тільки одне слово file. Var f:file; Seek Не типізований файл не має жорстко встановлених одиниць запису, як типізований файл. В даних файлах за одне звернення зчитується/записуєтьсяя число байт приблизно рівне величині буфера введення/виведення, що сприяє збільшенню швидкості робот з файлом. В якості буфера введення/виведення може виступати будь-яка змінна. Для роботи з Не типізованим файлом можна застосувати всі процедури і функції, крім read і write. Замість їх використовують blookread і blookwrite. А процедури reset і rewrite можуть мати другий параметр, котрий визначає розмір запису використаний при передачі.