SlideShare a Scribd company logo
 Под файлом понимают структуру данных, которая состоит 
из последовательности компонент. Все компоненты файла 
относятся к одному и тому же типу, который называется 
базовым. 
 Число компонентов файла является произвольным, однако 
конец файла обозначается специальным символом: EOF 
(End of File – конец файла). 
 Файл, который не содержит ни одного элемента, называется 
пустым файлом. 
 Файловый тип данных определяется следующим образом: 
 <Файловый тип> ::= [packed] file of <Тип>; 
где <Тип> является базовым типом. 
 Базовый тип может быть любым, кроме самого файлового 
типа (не существует “файл файлов”).
1) type FisierNumere=file of integer; 
Var FN : FisierNumere; 
N : integer; 
2) type FisierCaractere=file of char; 
Var FC: FisierCaractere; 
C : char; 
3)type Elev=record 
Nume : string; 
Prenume : string; 
NotaMedie : real; 
End; 
FisierElevi=file of Elev; 
var FE : FisierElevi 
E : Elev;
Связь файловой переменной f с внешним 
файлом осуществляется вызовом 
процедуры 
assign(f, s); 
где s – это выражение типа string, задающее 
путь доступа и имя внешнего файла. 
Примеры: 
assign(FN, ’С:REZULTATR.DAT’) 
– файл FN связывается с внешним файлом 
R.DAT, находящимся в каталоге REZULTAT 
на диске С.
read( f, v)- Считывание текущей компоненты из файла 
где v – переменная, которая относится к базовому типу 
файла f 
write(f,e) - Запись следующей компоненты в файл 
где e – выражение, относящееся к базовому типу файла f. 
Тип и метод доступа задаются при открытии файла. 
Существуют следующие процедуры для открытия файлов: 
reset(f) – открывает существующий файл для чтения; 
rewrite(f ) – создает пустой файл для записи.
1) assign( f, s) – связывание файловой 
переменной f с внешним файлом s; 
2) reset( f)/rewrite( f)– открытие файла f 
для чтения/записи; 
3) read( f, v)/write( f, e) – чтение/запись 
текущей компоненты файла f; 
4) close( f) – закрытие файла f.
 Для открытия выходного файла 
последовательного доступа 
используется rewrite(f) 
 Запись отдельных компонент 
производится с помощью процедуры: 
write(f, e) 
 После записи последней компоненты 
файл необходимо закрыть close(f).
Program P89; 
{ Создание файла с компонентами 
типа Elev } 
type Elev = record 
Nume : string; 
Prenume : string; 
NotaMedie : real; 
end; 
FisierElevi = file of Elev; 
var FE : FisierElevi; 
E : Elev; 
str : string; 
i, n : integer; 
begin 
write(’Введите имя файла: ’); 
readln(str); 
assign(FE, str); { связывает FE с 
именем str } 
rewrite(FE); { открывает файл 
FE для записи } 
write(’Введите количество учеников: 
’); readln(n); 
for i:=1 to n do 
begin 
writeln(’Введите данные об ученике 
’, i); 
{Считывает поля переменной Е с 
клавиатуры } 
write(’Фамилия: ’); readln(E.Nume); 
write(’Имя: ’); readln(E.Prenume); 
write(’Средняя оценка: ’); 
readln(E.NotaMedie); 
{Записывает значение переменной Е в 
файл FE } 
write(FE, E); 
end; 
close(FE); {Закрывает файл FE 
} 
readln; 
end.
Для открытия входного файла 
последовательного доступа используется 
процедура 
reset(f ). 
Чтение текущего элемента из файла 
выполняется с помощью вызова процедуры: 
read(f, v). 
Конец файла можно обнаружить с помощью 
булевой функции eof(f) 
которая возвращает значение true после 
чтения последнего элемента
Program P90; 
{ Считывание файла с 
элементами типа Elev } 
type Elev = record 
Nume : string; 
Prenume : string; 
NotaMedie : real; 
end; 
FisierElevi = file of Elev; 
var FE : FisierElevi; 
E : Elev; 
str : string; 
begin 
write(’Введите имя файла: ’); 
readln(str); 
assign(FE, str); { связывает 
FE с именем str } 
reset(FE); { открывает 
файл FE для чтения } 
while not eof(FE) do 
begin 
{ считывает E из файла FE } 
read(FE, E); 
{ выводит E на экран } 
writeln(E.Nume, ’ ’, E.Prenume, 
’:’, 
E.NotaMedie : 5:2); 
end; 
close(FE); { закрывает 
файл FE } 
readln; 
end.
1. Из скольких элементов может состоять файл? В каком порядке 
записываются и считываются элементы файла с 
последовательным доступом? 
2. Даны следующие типы данных: 
type Data = record 
Ziua : 1..31; 
Luna : 1..12; 
Anul : integer; 
end; 
Persoana = record 
NumePrenume : string; 
DataNasterii : Data; 
end; 
FisierPersoane = file of Persoana; 
Напишите программу, которая считывает с клавиатуры данные об n лицах 
и записывает их в файл. Создайте файлы: FILE1.PRS, FILE2.PRS, 
FILE3.PRS 
, в которых должны содержаться данные соответственно о 2, 7 
и 10 лицах.
Напишите программу, которая выводит 
на экран среднее арифметическое 
чисел, записанных в файле типа file of 
real.

More Related Content

What's hot

Проект
ПроектПроект
Файлы и файловые структуры
Файлы и файловые структурыФайлы и файловые структуры
Файлы и файловые структурыkvlar
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?tfmailru
 
Команды Ms dos
Команды Ms dosКоманды Ms dos
Команды Ms dos
Надежда Власовец
 

What's hot (6)

Unix /etc/
Unix /etc/Unix /etc/
Unix /etc/
 
Проект
ПроектПроект
Проект
 
Файлы и файловые структуры
Файлы и файловые структурыФайлы и файловые структуры
Файлы и файловые структуры
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
 
Ngs 2
Ngs 2Ngs 2
Ngs 2
 
Команды Ms dos
Команды Ms dosКоманды Ms dos
Команды Ms dos
 

More from Colegiul de Industrie Usoara

Analiza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor MAnaliza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor M
Colegiul de Industrie Usoara
 
Analiza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor FAnaliza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor F
Colegiul de Industrie Usoara
 
Analiza chestionarelor absolventi MT
Analiza chestionarelor absolventi MTAnaliza chestionarelor absolventi MT
Analiza chestionarelor absolventi MT
Colegiul de Industrie Usoara
 
Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018
Colegiul de Industrie Usoara
 
Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17
Colegiul de Industrie Usoara
 
Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017
Colegiul de Industrie Usoara
 
Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17
Colegiul de Industrie Usoara
 
Diseminarea bunelor practice 22.05.17
Diseminarea bunelor practice  22.05.17Diseminarea bunelor practice  22.05.17
Diseminarea bunelor practice 22.05.17
Colegiul de Industrie Usoara
 
Orar profesori 1.09.2017
Orar profesori 1.09.2017Orar profesori 1.09.2017
Orar profesori 1.09.2017
Colegiul de Industrie Usoara
 
понятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данныхпонятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данных
Colegiul de Industrie Usoara
 
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
Colegiul de Industrie Usoara
 
Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor
Colegiul de Industrie Usoara
 
Masini si aparate
Masini si aparateMasini si aparate
Masini si aparate
Colegiul de Industrie Usoara
 
Frizerie și cosmetică
Frizerie și cosmeticăFrizerie și cosmetică
Frizerie și cosmetică
Colegiul de Industrie Usoara
 
Securitatea
Securitatea Securitatea
Filatura si tesatorie
Filatura si tesatorieFilatura si tesatorie
Filatura si tesatorie
Colegiul de Industrie Usoara
 
формы и отчеты
формы и отчетыформы и отчеты
формы и отчеты
Colegiul de Industrie Usoara
 
метод хорд
метод хордметод хорд
метод хорд
Colegiul de Industrie Usoara
 
Metoda coardelor
Metoda coardelorMetoda coardelor
Переменный ток
Переменный токПеременный ток
Переменный ток
Colegiul de Industrie Usoara
 

More from Colegiul de Industrie Usoara (20)

Analiza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor MAnaliza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor M
 
Analiza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor FAnaliza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor F
 
Analiza chestionarelor absolventi MT
Analiza chestionarelor absolventi MTAnaliza chestionarelor absolventi MT
Analiza chestionarelor absolventi MT
 
Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018
 
Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17
 
Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017
 
Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17
 
Diseminarea bunelor practice 22.05.17
Diseminarea bunelor practice  22.05.17Diseminarea bunelor practice  22.05.17
Diseminarea bunelor practice 22.05.17
 
Orar profesori 1.09.2017
Orar profesori 1.09.2017Orar profesori 1.09.2017
Orar profesori 1.09.2017
 
понятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данныхпонятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данных
 
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
 
Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor
 
Masini si aparate
Masini si aparateMasini si aparate
Masini si aparate
 
Frizerie și cosmetică
Frizerie și cosmeticăFrizerie și cosmetică
Frizerie și cosmetică
 
Securitatea
Securitatea Securitatea
Securitatea
 
Filatura si tesatorie
Filatura si tesatorieFilatura si tesatorie
Filatura si tesatorie
 
формы и отчеты
формы и отчетыформы и отчеты
формы и отчеты
 
метод хорд
метод хордметод хорд
метод хорд
 
Metoda coardelor
Metoda coardelorMetoda coardelor
Metoda coardelor
 
Переменный ток
Переменный токПеременный ток
Переменный ток
 

Файлы

  • 1.
  • 2.  Под файлом понимают структуру данных, которая состоит из последовательности компонент. Все компоненты файла относятся к одному и тому же типу, который называется базовым.  Число компонентов файла является произвольным, однако конец файла обозначается специальным символом: EOF (End of File – конец файла).  Файл, который не содержит ни одного элемента, называется пустым файлом.  Файловый тип данных определяется следующим образом:  <Файловый тип> ::= [packed] file of <Тип>; где <Тип> является базовым типом.  Базовый тип может быть любым, кроме самого файлового типа (не существует “файл файлов”).
  • 3. 1) type FisierNumere=file of integer; Var FN : FisierNumere; N : integer; 2) type FisierCaractere=file of char; Var FC: FisierCaractere; C : char; 3)type Elev=record Nume : string; Prenume : string; NotaMedie : real; End; FisierElevi=file of Elev; var FE : FisierElevi E : Elev;
  • 4. Связь файловой переменной f с внешним файлом осуществляется вызовом процедуры assign(f, s); где s – это выражение типа string, задающее путь доступа и имя внешнего файла. Примеры: assign(FN, ’С:REZULTATR.DAT’) – файл FN связывается с внешним файлом R.DAT, находящимся в каталоге REZULTAT на диске С.
  • 5. read( f, v)- Считывание текущей компоненты из файла где v – переменная, которая относится к базовому типу файла f write(f,e) - Запись следующей компоненты в файл где e – выражение, относящееся к базовому типу файла f. Тип и метод доступа задаются при открытии файла. Существуют следующие процедуры для открытия файлов: reset(f) – открывает существующий файл для чтения; rewrite(f ) – создает пустой файл для записи.
  • 6. 1) assign( f, s) – связывание файловой переменной f с внешним файлом s; 2) reset( f)/rewrite( f)– открытие файла f для чтения/записи; 3) read( f, v)/write( f, e) – чтение/запись текущей компоненты файла f; 4) close( f) – закрытие файла f.
  • 7.  Для открытия выходного файла последовательного доступа используется rewrite(f)  Запись отдельных компонент производится с помощью процедуры: write(f, e)  После записи последней компоненты файл необходимо закрыть close(f).
  • 8. Program P89; { Создание файла с компонентами типа Elev } type Elev = record Nume : string; Prenume : string; NotaMedie : real; end; FisierElevi = file of Elev; var FE : FisierElevi; E : Elev; str : string; i, n : integer; begin write(’Введите имя файла: ’); readln(str); assign(FE, str); { связывает FE с именем str } rewrite(FE); { открывает файл FE для записи } write(’Введите количество учеников: ’); readln(n); for i:=1 to n do begin writeln(’Введите данные об ученике ’, i); {Считывает поля переменной Е с клавиатуры } write(’Фамилия: ’); readln(E.Nume); write(’Имя: ’); readln(E.Prenume); write(’Средняя оценка: ’); readln(E.NotaMedie); {Записывает значение переменной Е в файл FE } write(FE, E); end; close(FE); {Закрывает файл FE } readln; end.
  • 9. Для открытия входного файла последовательного доступа используется процедура reset(f ). Чтение текущего элемента из файла выполняется с помощью вызова процедуры: read(f, v). Конец файла можно обнаружить с помощью булевой функции eof(f) которая возвращает значение true после чтения последнего элемента
  • 10. Program P90; { Считывание файла с элементами типа Elev } type Elev = record Nume : string; Prenume : string; NotaMedie : real; end; FisierElevi = file of Elev; var FE : FisierElevi; E : Elev; str : string; begin write(’Введите имя файла: ’); readln(str); assign(FE, str); { связывает FE с именем str } reset(FE); { открывает файл FE для чтения } while not eof(FE) do begin { считывает E из файла FE } read(FE, E); { выводит E на экран } writeln(E.Nume, ’ ’, E.Prenume, ’:’, E.NotaMedie : 5:2); end; close(FE); { закрывает файл FE } readln; end.
  • 11. 1. Из скольких элементов может состоять файл? В каком порядке записываются и считываются элементы файла с последовательным доступом? 2. Даны следующие типы данных: type Data = record Ziua : 1..31; Luna : 1..12; Anul : integer; end; Persoana = record NumePrenume : string; DataNasterii : Data; end; FisierPersoane = file of Persoana; Напишите программу, которая считывает с клавиатуры данные об n лицах и записывает их в файл. Создайте файлы: FILE1.PRS, FILE2.PRS, FILE3.PRS , в которых должны содержаться данные соответственно о 2, 7 и 10 лицах.
  • 12. Напишите программу, которая выводит на экран среднее арифметическое чисел, записанных в файле типа file of real.