Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Прикладное программирование. Учебное пособие
.pdf
Файлы из записей
Рассмотрим файл, состоящий из записей типа Record: а каждая запись, в
свою очередь, состоит из двух полей. В этом случае объявление такого файла
имеет вид:
TYPE
X=RECORD
PI: integer;
P2: string;
End;
VAR
F: file of x;
A: x;
Запись файла из записей на диск
Для записи файла на диск необходимо набрать информацию по каждой
компоненте с экрана, а затем эту запись полностью переписать на диск В связи
с тем, что запись, как правило, состоит из нескольких полей, то условие
окончания записи файла необходимо выбрать по одному, наиболее удобному,
полю. В нашем примере таким полем мы выбираем Р2 (поле Р2 типа string), а
условным значением окончания записи файла будет ‘*’ — строка из символа
‘*’
Схема алгоритма создания файла с записями на диске
По схеме алгоритма (рисунок 6.) программа будет следующей:
Program FILRE;
Туре
Z= Record
PI: integer;
Р2: string;
End;
Var
F: file of z;
71

A:z, {Объявление записи из двух полей pi и р2}
Begin
Assign (f,’d:\users\t.dat’);
Rewrite (f);
Writeln (‘ввод поля a.p2’);
Readln(a.p2); {читаем значение поля p2 для записи а}
{цикл будет выполняться, пока с экрана не будет введен символ *)
While а.р2 <>’*’ do
Begin
Writeln (‘ввод поля а.р1);
Readln (a.pl);{читаем значение поля p1 для записи а}
Write (f,a); {записываем всю запись а в файл}
Writeln (‘ввод поля а.р2’);
Readln (а.р2);
End,
Writeln(‘Файл записан’);
Close (f);
End.
72

начало
Установить логическую связь с физ. файлом
As-
Rewrite(f)
Close(f)
Пишем в файл
всю запись
Закрыть файл
read(f,a)
write(a.p2)
a.p2<>’*’
конец
Прочитать следующее поле а.p1
Открыть файл для записи
да
нет
read(a.p2)
write(f,a)
Прочитать поле 2
Прочитать поле 2
Если ввели не
символ ‘*’
Рисунок 6. Схема алгоритма создания файла с записями на диске
73

Аналогично осуществляется чтение файла с диска.
начало
Установить логическую связь с физ. файлом
Assign(f,’D:USERS\t.dat’)
Reset(f)
Close(f)
Вывод на экран
поле 1 записи
Закрыть файл
read(f,a)
write(a.p2)
Not eof(f)
конец
Прочитать запись из файла
Открыть файл для записи
да
нет
write(a.p1)
Вывод на экран поле 2 записи
Проверка на
конец файла
Схема алгоритма просмотра файла с записями
Рисунок 7. Схема алгоритма просмотра файла с записями
Эти схемы алгоритмов можно взять за основу при обработке файлов с записями.
Примеры заданий по теме «Работа с файлами в Паскале»
Вариант 1
Задание 1. Прочитать с диска файл pri.dat и найти: произведение четных
компонентов файла; заменить этим значением третью компоненту файла.
Задание 2. Переписать из файла m.dat квадраты его компонентов в файл
g.dat.
74

Вариант 2
Задание 1. Прочитать с диска файл mil.dat и найти: минимальную компоненту файла; заменить этим значением все положительные компоненты файла.
Задание 2. Переписать из файла g.dat все четные компоненты в файл h.dat,
а затем из файла f.dat — все кратные 5-ти в этот же файл h.dat.
Вариант 3
Задание 1. Прочитать с диска файл dol.dat и найти: количество нечетных
компонентов файла; заменить этим значением предпоследнюю компоненту
файла.
Задание 2. Переписать в файл h.dat сначала компоненты файла кратные 7,
затем компоненты файла f.dat положительные.
Вариант 4
Задание 1. Прочитать с диска файл lod.dat и найти: сумму модулей всех
компонент файла кратных 7; заменить этим значением все компоненты файла.
Задание 2. Переписать из файла h.dat в файл g.dat сначала все положительные, затем все отрицательные компоненты файла h.dat.
Вариант 5
Задание 1. Прочитать с диска файл mik.dat и найти: корень квадратный из
суммы всех четных положительные компонент файла; заменить этим значением
6 первых компонент файла.
Задание 2. Получить в файле t.dat все компоненты файла m.dat, являющиеся кратными 3 или 7.
Вариант 6
Задание 1. Прочитать с диска файл kim.dat и найти: количество компонент
файла отличных от нуля; заменить этим значением третью компоненту файла.
Задание 2. Переписать дважды из файла g.dat в файл f.dat (продолжая его)
компоненты кратные 5.
75

Вариант 7
Задание 1. Прочитать с диска файл riv.dat и найти: максимальную компоненту среди отрицательных компонент; заменить этим значением все нулевые
компоненты файла.
Задание 2. Получить в файле g.dat все четные компоненты файла f.dat.
Вариант 8
Задание 1. Прочитать с диска файл vir.dat и найти: количество компонент
файла кратных 5;заменить этим значением все отличные от нуля компоненты
файла.
Задание 2. Переписать из файла m.dat все отрицательные четные элементы
в файл l.dat, а отрицательные нечетные файл p.dat.
Вариант 9
Задание 1. Прочитать с диска файл lov.dat и найти: сумму положительных
компонент файла; заменить этим значением четвертую компоненту файла.
Задание 2. Получить в файле l.dat сначала все компоненты файла d.dat, а
следом, в этом же файле — четные компоненты файла m.dat.
Вариант 10
Задание 1. Прочитать с диска файл vol.dat и найти: среднее арифметическое всех отрицательных компонент файла; заменить этим значением четыре
первые компоненты файла.
Задание 2. Поменять местами соответствующие компоненты файлов l.dat и
g.dat (размеры файлов равны. Использовать дополнительный файл).
Вариант 11
Задание 1. Прочитать с диска файл loc.dat и найти: сумму модулей всех
компонент файла; заменить этим значением четные компоненты файла.
Задание 2. Записать в файл k.dat сначала все компоненты файла d.dat, а
следом, в этот же файл — компоненты файла h.dat.
Вариант 12
Задание 1. Прочитать с диска файл col.dat и найти: минимальную компоненту файла; заменить этим значением все компоненты файла кратные 8.
76

Задание 2. Переписать из файла m.dat все отрицательные четные элементы
файла r.dat, а кратные 3 — в файл l.dat.
Вариант 13
Задание 1. Прочитать с диска файл loc.dat и найти: произведение модулей
всех отрицательных компонент файла; заменить этим значением две последние
компоненты файла.
Задание 2. Переписать из файла h.dat в файл f.dat элементы файла кратные
9 или кратные 7 с сохранением порядка их следования.
Вариант 14
Задание 1. Прочитать с диска файл kol.dat и найти: разность модулей всех
отрицательных компонент и модуля суммы четных компонент; сумму первой и
последней компоненты.
Задание 2. Переписать из файла l.dat все отрицательные компоненты в
файл m.dat , а затем сумму четных компонент файла ll.dat в файлg.dat.
Вариант 15
Задание 1. Прочитать с диска файл gol.dat и найти: квадрат суммы всех
компонент файла; заменить этим значением все компоненты файла не делящиеся без остатка на 11.
Задание 2. Переписать из файла f.dat 10 первых компонент в файл g.dat.
Вариант 16
Задание 1. Прочитать с диска файл los.dat и найти :произведение модулей
всех компонент файла; заменить этим значением пятую компоненту файла.
Задание 2. В файл g.dat переписать сначала все компоненты файла k.dat, а
затем все компоненты файла k.dat не кратные 3.
Вариант 17
Задание 1. Прочитать с диска файл sos.dat и найти: сумму квадратов отрицательных компонент файла; заменить этим значением все положительные
компоненты файла.
Задание 2. Переписать из файла g.dat в файл h.dat все элементы файла
кратные 10 и не кратные 7.
77

Вариант 18
Задание 1. Прочитать с диска файл lol.dat и найти: количество ненулевых
компонент файла; заменить этим значением все отрицательные компоненты
файла.
Задание 2. Получить в файле l.dat все компоненты файла g.dat, являющиеся
нечетными.
Вариант 19
Задание 1. Прочитать с диска файл dil.dat и найти: минимальную компоненту файла среди отрицательных; заменить этим значением последнюю компоненту файла.
Задание 2. Переписать из файла k.dat все компоненты кратные 6 в файл
g.dat, а кратные 7 — в файл v.dat.
Вариант 20
Задание 1. Прочитать с диска файл book.dat и найти: произведение всех
компонент файла кратных p (p — ввести с экрана); заменить этим значением
все нулевые компоненты файла.
Задание 2. В файл g.dat переписать все положительные компоненты файла
f.dat, а в файл h.dat- все отрицательные компоненты файла f.dat
Вариант 21
Задание 1. Прочитать с диска файл lot.dat и найти: количество четных положительных компонент; заменить этим значением последнюю компоненту.
Задание 2. Переписать в файл h.dat сначала компоненты файла f.dat, а затем компоненты файла g.dat.
Вариант 22
Задание 1. Прочитать с диска файл gol.dat и найти: сумму всех компонент
файла кратных 5; заменить этим значением первую компоненту.
Задание 2. Записать в файл g.dat все отличные от нуля компоненты файла
f.dat, а следом в файле h.dat — все нулевые компоненты файла f.dat.
78

Вариант 23
Задание 1. Прочитать с диска файл tol.dat и найти: корень пятой степени из
произведения всех компонент файла; заменить этим значением три последние
компоненты файла.
Задание 2. Переписать из файла g.dat все четные элементы, дублируя их в
файл h.dat.
Вариант 24
Задание 1. Прочитать с диска файл kol.dat и найти: максимальную компоненту файла; заменить этим значением все отрицательные компоненты файла.
Задание 2. Переписать из файла h.dat все нечетные компоненты в файл
g.dat, а затем все четные из файла h.dat — в этот же файл g.dat.
Вариант 25
Задание 1. Прочитать с диска файл mol.dat и найти: сумму квадратов компонент файла; заменить этим значением все четные компоненты файла.
Задание 2. Получить копию файла f.dat в файле g.dat дважды (полученный
файл в два раза больше исходного).
Вариант 26
Задание 1. Прочитать с диска файл li.dat и найти: корень кубический из
суммы всех нечетных компонент файла; заменить этим значением все компоненты файла меньшие нуля.
Задание 2. Переписать из файла k.dat десять последних компонент в файл
gg.dat.
Вариант 27
Задание 1. Прочитать с диска файл pr.dat и найти: произведение квадратов
четных компонент файла; заменить этим значением третью компоненты файла.
Задание 2. Из файла g.dat переписать отрицательные компоненты в файл
m.dat.
Вариант 28
Задание 1. Прочитать с диска файл irm.dat и найти: сумму первых 5 компонент файла; заменить этим значением все компоненты файла ратные 4.
79

Задание 2. Создать новый файл B.dat, переписав в него сначала все положительные элементы файла a.dat, а затем все отрицательные.
Вариант 29
Задание 1. Прочитать с диска файл al.dat и найти: количество компонент
файла al.dat кратных 14; заменить этим значением первую и последнюю компоненту файла.
Задание 2. Даны два файла c.dat и d.dat. Сформировать новый файл e.dat,
переписав в него файл с меньшим количеством компонент.
Вариант 30
Задание 1. Прочитать с диска файл ril.dat и найти: произведение и количество компонент кратных 20; заменить этим значением все отрицательные компоненты файла.
Задание 2. Даны два файла kk.dat и mm.dat. Сформировать новый файл
ll.dat, переписав в него тот файл, у которого максимальные элемент наибольший.
Пример отчета лабораторной работы по теме «Работа с файлами»
Вариант 20
Задача 1. Прочитать с диска файл book.dat и найти: произведение всех
компонент файла кратных p (p-ввести с экрана); заменить этим значением все
нулевые компоненты файла.
1) Создание файла book.dat
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
