Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_Паскаль_5_6.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
228.86 Кб
Скачать

Стандартные подпрограммы для типизированных файлов

Процедуры:

Read(F, <список ввода>) – чтение информации из файла, причем переменные , в которые читается информация должны быть того же типа, что и компоненты файла

Seek(F, Num) – переход на Num-ю компоненту файла. Нумерация начинается с 0

Truncate(F) – удаление части файла, начиная с текущей позиции

Write(F, <список вывода>) – запись информации в файл

Функции:

FilePos(F) – номер текущей компоненты файла

FileSize(F) – текущий размер файла в компонентах

Пример 15:

type

Complex=record

Re, Im : Real;

end;

var

F : file of Complex;

X : Complex;

begin

Assign(F,'dest.txt');

Rewrite(F);

X.Re := 5.2;

X.Im := 1.3;

write(F, X);

X.Re := 0.2;

X.Im := -9.3;

write(F, X);

X.Re := 1;

X.Im := 3;

write(F, X);

Close(F);

{считываем из файла только 2-е число}

{$I-}

Assign(F,'dest.txt');

Reset(F);

{SI+}

if IOResult <> 0 then writeln('Ошибка чтения файла')

else begin

writeln('Все числа:');

while not EOF(F) do begin

read(F, X);

writeln('Re=',X.Re:10:3,' Im=',X.Im : 10:3);

end;

writeln(Только 2-е число:');

Seek(F, 1);

read(F, X);

writeln('Re=',X.Re:10:3,' Im=',X.Im : 10:3);

Close(F);

end;

end.

В примере 15 программа записывает 3 действительных числа в типизированный файл, а затем считывает из него 2-е число и выводит на консоль. Данные сохраняются в файл записей типа Complex. Для вывода всех чисел, сохраненных в файле используется цикл с проверкой условия на окончания файла (функция EOF). Для вывода только 2-го числа используется позиционирование с помощью функции Seek на 2-й элемент в файле (нумерация с 0). Результат работы программы:

Все числа:

Re= 5.200 Im= 1.300

Re= 0.200 Im= -9.300

Re= 1.000 Im= 3.000

Только 2-е число:

Re= 0.200 Im= -9.300

Пример 16:

var

a, b, h, X : Real;

F : Text;

begin

Assign(F, 'dest.txt');

Rewrite(F);

write('Введите a:');Readln(a);

write('Введите b:');Readln(b);

write('Введите h:');Readln(h);

x :=a;

writeln(F, 'Значения функции sin(X)');

while x <= b do begin

writeln(F, x : 6:3,' ', sin(X): 6:3);

x := x + h;

end;

Close(F);

end.

Программа, приведенная в примере 16, осуществляет запись таблицы значений функции sin(X) в текстовый файл.

Варианты заданий

Считать текстовый файл, удвоив все буквы 'а'. Результат записать в другой текстовый файл.

Считать текстовый файл, переведя все буквы русского алфавита в верхний регистр. Результат записать в другой текстовый файл.

Прочитать текстовый файл и вывести его в другой задом наперед (использовать доступ как к типизированному файлу).

Сохранить в типизированный файл информацию о нескольких сотрудниках (ФИО, год рождения, пол) и по запросу выдать список людей не моложе 20 лет.

Составить программу для конкатенации файла с самим собой, записанным задом наперед.

Вывести значения функции на заданном отрезке [a,b] с шагом h в виде таблицы в текстовый файл.

Отсортировать по возрастанию набор чисел, находящийся в одном файле, и записать его в другой файл.

Составить программу для построчного вывода на экран содержимого текстового файла. Нажатия клавиш: PgDown – следующая страница, Esc – выход. Имя файла вводится пользователем.

Найти в текстовом файле самую длинную и самую короткую строку и вывести их на экран.

Данные хранятся в текстовом файле в виде строк формата 'Имя_параметра=Значение'. Вывести имена и значения только числовых параметров.

В типизированном файле хранится информация о машинах (марка, год выпуска, стоимость). Вывести информацию о самой дорогой и самой дешевой машине.

Сведения о машинах хранятся в текстовом файле в виде строк формата 'Марка;Год выпуска;Стоимость'. Переписать содержимое в типизированный файл.

В типизированном файле хранятся вещественные числа. Переписать их в текстовый, предварительно отсортировав по убыванию.

В текстовом файле слова разделены пробелом. Переписать содержимое файла в другой файл, заменив первую букву каждого слова на заглавную.

В типизированном файле хранятся сведения об успеваемости: ФИО, оценка. Подсчитать и вывести статистику по количеству отличников, ударников, троечников, двоечников.

Считать из текстового файла двумерный массив целых чисел (в одной строке файла хранится одна строка массива) и вывести на экран сам массив и результат его транспонирования.

В двух файлах хранятся целые числа. Создать третий файл, в котором числа из первого и второго файлов чередуется 2 через 1 (два элемента первого, один элемент второго файла).

Найти в текстовом файле самую длинную и самую короткую строку и поменять их местами (сохранив в новый файл).

Требования к оформлению отчета приведены в разделе "Содержание и оформление отчета".