Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Прикладное программирование. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Файлы из записей
Рассмотрим файл, состоящий из записей типа 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