- •НИУ ВШЭ – Пермь
- •Многоуровневая система управления данными
- •Порядок работы приложения, реализующего доступ к данным
- •Требования к реализации функции управления данными
- •Понятие файловой системы
- •Понятие файла
- •Понятие файла и свойства файлов
- •Понятие файла и свойства файлов
- •Понятие файла и свойства файлов
- •Понятие файла и свойства файлов
- •Понятие файла и свойства файлов
- •Атрибуты файлов
- •Операции над файлами
- •Операции над файлами
- •Каталоги и системы каталогов
- •Каталоги и системы каталогов
- •Иерархическая система хранения данных
- •Иерархическая система хранения данных и полное имя файла
- •Подсистема ввода-вывода и управление внешними устройствами
- •Доступ к данным на ВЗУ
- •Организация ввода-вывода и управление внешними устройствами
- •Управление внешними устройствами: понятие драйвера
- •Организация файлов в ОС
- •Логическая организация файлов
- •Структуризация файлов: записи
- •Последовательная организация файлов
- •Последовательная организация файлов: запись в файл
- •Последовательная организация файлов: запись в файл
- •Последовательная организация файлов: запись в файл
- •Последовательная организация файлов: запись в файл
- •Последовательная организация файлов: чтение из файла
- •Последовательная организация файлов: чтение из файла
- •Последовательная организация файлов: чтение из файла
- •Последовательная организация файлов: чтение из файла
- •Последовательная организация файлов: чтение из файла
- •Последовательная организация файлов: прямой доступ к данным
- •Последовательная организация файлов: прямой доступ к данным
- •Последовательная организация файлов: прямой доступ к данным
- •Последовательная организация файлов: прямой доступ к данным
- •Последовательная организация файлов: прямой доступ к данным
- •Последовательная организация файлов: прямой доступ к данным
- •Буферизация ввода
- •Буферизация вывода
- •Индексированные файлы
- •Индексированные файлы: пример
- •Многоуровневые индексы
- •Сортировка файлов
- •Понятие отрезка файла
- •Отрезки файла: пример
- •Разделение файла
- •Разделение файла: схема алгоритма
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Разделение файла: пример
- •Слияние файлов
- •Слияние файлов – схема слияния отрезков
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Слияние файлов – пример
- •Завершение сортировки (пример): разбиение
- •Завершение сортировки (пример): разбиение
- •Завершение сортировки (пример): разбиение
- •Завершение сортировки (пример): разбиение
- •Завершение сортировки (пример): разбиение
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Завершение сортировки (пример): слияние
- •Сортировка файлов: сбалансированное слияние
- •Сортировка файлов: сбалансированное слияние
- •Сортировка файлов: четырехленточная сортировка – пример
- •Сортировка файлов: четырехленточная сортировка – пример
- •Сортировка файлов: четырехленточная сортировка – пример
- •Сортировка файлов: четырехленточная сортировка – пример
- •Сортировка файлов: четырехленточная сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка
- •Сортировка файлов: Фибоначчиева сортировка
- •Сортировка файлов: Фибоначчиева сортировка
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
- •Сортировка файлов: Фибоначчиева сортировка – пример
Последовательная организация файлов: чтение из файла
Program ReadFile;
type Element
«Связываем» файловую переменную с файлом на
end; внешнем устройстве var I, N: integer;
S: Integer;
E:Element;
F:file of
begin
Assign(F, 'FibNumbers.Data');
reset(F);
S := 0;
while not eof(F) do begin
read(F, E);
S := S + E.FibNumber; end;
close(F);
write(‘Сумма', E.ElementNumber+1:3, ' чисел Фибоначчи равна ', S) end.
31
Последовательная организация файлов: чтение из файла
Program ReadFile; |
|
|
type Element |
«Связываем» файловую |
|
|
||
|
переменную с файлом на |
|
end; |
внешнем устройстве |
|
var I, N: integer; |
|
|
S: Integer; |
|
|
E: Element; |
|
|
F: file of |
|
|
begin |
Открываем файл для чтения: в |
|
Assign(F, |
||
каталоге ищется информация о |
||
reset(F); |
||
файле, если файл существует, |
||
S := 0; |
||
головка чтения-записи |
||
while not |
||
begin |
позиционируется на его начало |
|
read(F, E); |
|
|
S := S + E.FibNumber; |
|
|
end; |
|
|
close(F); |
|
write(‘Сумма', E.ElementNumber+1:3, ' чисел Фибоначчи равна ', S) end.
32
Последовательная организация файлов: чтение из файла
Program
type Element «Связываем» файловую
переменную с файлом на внешнем устройстве
var I, N:
S: Integer;
E:Element;
F:file
begin |
Открываем файл для чтения |
|
Assign(F, |
|
|
reset(F); |
|
|
S := 0; |
Цикл выполняется, пока не |
|
while not eof(F) |
||
достигнем конца файла |
||
begin |
||
read(F, E); |
|
|
S := S + E.FibNumber; |
|
|
end; |
|
|
close(F); |
|
write(‘Сумма', E.ElementNumber+1:3, ' чисел Фибоначчи равна ', S) end.
33
Последовательная организация файлов: чтение из файла
Program
type Element
var I, N:
S: Integer;
E:Element;
F:file
begin
Assign(F,
reset(F);
S := 0;
while not eof(F) begin
read(F, E);
S := S + E end;
close(F);
write(‘Сумма', end.
«Связываем» файловую переменную с файлом на внешнем устройстве
Открываем файл для чтения
Цикл выполняется, пока не достигнем конца файла
Чтение из файла одной записи в переменную – в рабочую область программы
34
Последовательная организация файлов: чтение из файла
Program
type
var I, N: S:
E:
F: file begin
Assign(F,
reset(F);
S := 0;
while not eof(F) begin
read(F, E);
S := S + E end; close(F);
write(‘Сумма', end.
35
«Связываем» файловую переменную с файлом на внешнем устройстве
Открываем файл для чтения
Цикл выполняется, пока не достигнем конца файла
Чтение из файла
Закрываем файл – теряется связь переменной и данных на ВЗУ
Последовательная организация файлов: прямой доступ к данным
Program ReadRecordFromFile;
type Element = record
ElementNumber: |
«Связываем» файловую |
|
FibNumber: integer |
||
переменную с файлом на |
||
end; |
||
внешнем устройстве |
||
var N: integer; |
||
|
E:Element;
F:file of Element;
begin
Assign(F, 'FibNumbers.Data');
reset(F);
write('Введите номер числа: '); readln(N);
if FileSize(F) > N then begin
seek(F, N); read(F, E);
write('Число Фибоначчи', E.ElementNumber:3, ' равно ', E.FibNumber) end
else write('Числа с таким номером нет в файле');
close(F);
36 end.
Последовательная организация файлов: прямой доступ к данным
Program |
«Связываем» файловую |
|
type Element |
||
переменную с файлом на |
||
|
||
|
внешнем устройстве |
|
var N: |
Открываем файл |
|
E: |
||
F: file |
для чтения |
|
begin |
|
Assign(F,
reset(F);
write('Введите номер числа: '); readln(N);
if FileSize(F) > N then begin
seek(F, N); read(F, E);
write('Число Фибоначчи', E.ElementNumber:3, ' равно ', E.FibNumber) end
else write('Числа с таким номером нет в файле');
close(F);
37 end.
Последовательная организация файлов: прямой доступ к данным
Program |
«Связываем» файловую |
|
type Element |
||
переменную с файлом на |
||
|
||
|
внешнем устройстве |
|
var N: |
Открываем файл для чтения |
|
E: |
||
F: file |
|
|
begin |
|
|
Assign(F, |
Проверяем размер |
|
reset(F); |
||
write('Введите |
файла – количество |
|
readln(N); |
записей в нем |
|
if FileSize(F) > N |
файла |
then begin seek(F, N); read(F, E);
write('Число Фибоначчи', E.ElementNumber:3, ' равно ', E.FibNumber) end
else write('Числа с таким номером нет в файле');
close(F);
38 end.
Последовательная организация файлов: прямой доступ к данным
Program |
«Связываем» файловую |
|
type Element |
||
переменную с файлом на |
||
|
||
|
внешнем устройстве |
|
var N: |
Открываем файл для чтения |
|
E: |
||
F: file |
|
|
begin |
|
|
Assign(F, |
Проверяем размер файла – количество |
|
reset(F); |
записей в нем файла |
|
write('Введите |
||
|
||
readln(N); |
|
|
if FileSize(F) |
Смещаемся к нужной |
|
then begin |
||
seek(F, N); |
записи в файле |
read(F, E);
write('Число Фибоначчи', E.ElementNumber:3, ' равно ', E.FibNumber) end
else write('Числа с таким номером нет в файле');
close(F);
39 end.
Последовательная организация файлов: прямой доступ к данным
Program |
«Связываем» файловую |
|
type Element |
||
переменную с файлом на |
||
|
||
|
внешнем устройстве |
|
var N: |
Открываем файл для чтения |
|
E: |
||
F: file |
|
|
begin |
|
|
Assign(F, |
Проверяем размер файла – количество |
|
reset(F); |
записей в нем файла |
|
write('Введите |
||
|
||
readln(N); |
|
|
if FileSize(F) |
Смещаемся к нужной записи в файле |
|
then begin |
||
|
||
seek(F, N); |
Чтение записи |
|
read(F, E); |
||
write('Число |
из файла FibNumber) |
|
end |
|
else write('Числа с таким номером нет в файле');
close(F);
40 end.
