Informatika (2 семестр) / 2 аттестация / УпражненияФайлы1
.pdfВолГУ, Институт математики и информационных технологий, кафедра Компьютерных наук и информационных технологий, Игумнов А.Ю.
Информатика и программирование, 1-й курс, 2-й семестр
Упражнения по программированию на языке PASCAL
(программный продукт FREE PASCAL)
Общие положения
Предполагается известными понятия: файл, расширение файла, папка, жесткий диск, флэшпамять (устройство флэш-памяти, флэш-устройство), бит, байт, блок-схема Текст упражнений составлен в предположении, что
FREE PASCAL установлен на жестком диске компьютера; к компьютеру подключено устройство флэш-памяти;
наименование устройства флэш-памяти (вырабатываемое операционной системой) — F; файлы с текстами программ (pas-файлы) и рабочие файлы, создаваемые автоматически при компиляции программ, расположены в устройстве флэш-памяти в папке Z (при этом полным наименованием файла, расположенного в этой папке будет F:\Z\... , где ... — название
файла );
Работа с файлами
Действия с файлами производятся посредством действий с переменной специального типа, которая является в программе "представителем" файла - файловой переменной. В разделе описаний программы файловая переменная указывается следующим образом:
var <наим. переменной>: file of <наим. типа>
Наименование типа определяет тип данных, записываемых в файл и равно читаемых из файла. Файлы могут быть также нетипизированными (данные в файл пишутся "в навал").
Действия с файлами производятся по следующей схеме:
1.Связать (отождествить) наименование файла и наименование файловой переменной.
2.Открыть файл (с уточнением: открыть заново, открыть для записи, для чтения и т.п.).
3.Исполнить команду (серию команд) вида: действие(<наим. файла>, <значение или наименование объекта>). Здесь действие может означать запись в файл, чтение из файла и т.п. Тип объекта (тип значения) должен соответствовать типу файла.
4.Закрыть файл.
Некоторые предписания, используемые при работе с файлами rewrite(<наим. файловой переменной>) - предписание имеет двоякий смысл:
1)если на момент исполнения предписания файла с наименованием, отождествленным с файловой переменной, не существует, то он создается, открывается для записи, и запись в него производится последовательно;
2)если на момент исполнения предписания файл с наименованием, отождествленным с файловой переменной, существует, то он открывается, его содержимое стирается, и файл становится доступным для записи; запись в файл производится последовательно.
reset(<наим. файловой переменной>) — если файла с наименованием, отождествленным с файловой переменной, на момент исполнения предписания не существует, то возникает ситуация отказ (при исполнении программы выводится соответствующее сообщение); если файл с указанным наименованием существует, то он открывается для чтения; чтение содержимого файла производится последовательно с начала.
В приводимых ниже примерах рассматриваются только файлы символьного типа. Пример 1.
program file1;
var f1: file of char;{файловая переменная}
1
ВолГУ, Институт математики и информационных технологий, кафедра Компьютерных наук и информационных технологий, Игумнов А.Ю.
Информатика и программирование, 1-й курс, 2-й семестр
begin
assign(f1,'F:\1');{Отождествление файла и файловой переменной} rewrite(f1);{Открыть файл для записи}
write(f1,'a');{Записать символ в файл} write(f1,'b');{Дописать символ в файл} close(f1);{Закрыть файл}
end.
Упражнение 1.
●Средствами операционной системы подготовить папку F к работе (проверить, что в папке нет файла с наименованием "1").
●Исполнить программу примера 1.
●Средствами операционной системы проверить наличие в папке F файла с наименованием "1". Просмотреть содержимое файла текстовым редактором Блокнот или AkelPad. Проверить, что содержимое файла соответствует действиям, указанным
в программе. Упражнение 2.
●Изменить в программе символы, записываемые в файл, на другие (в латинском регистре).
●Исполнить программу при наличии в папке F файла, получившегося в результате работы предыдущего варианта программы.
●Просмотреть содержимое файла указанными текстовыми редакторами. Упражнение 3.
●Изменить программу примера 1 так, чтобы в файл производилась запись букв русского алфавита.
●Просмотреть содержимое файла указанными текстовыми редакторами.
Пример 2. Работа с файлом, имеющим расширение txt. program file2;
var f1: file of char; value: longint;
begin
assign(f1,'F:\2.txt'); {Отождествление файловой переменной и файла}
rewrite(f1); |
{Открыть файл для записи заново} |
write(f1,'a'); |
{Записать в файл символа 'a'} |
write(f1,'b'); |
{Записать в файл символа 'b'} |
close(f1); |
{Закрыть файл} |
end. |
|
Упражнение 4. Воспроизвести пример 2. Средствами операционной системы проверить содержимое рабочей папки до исполнения работы программы и после исполнения.
Пример 3. Открывание уже имеющегося (непустого) файла для чтения, последовательное считывание из него элементов и воспроизведение считанных значений на экране (для контроля).
program file2;
var f1: file of char; symbol: char;
begin
assign(f1,'F:\3.txt'); {Отождествление файловой переменной и файла} reset(f1); {Открыть файл для чтения с начала}
2
ВолГУ, Институт математики и информационных технологий, кафедра Компьютерных наук и информационных технологий, Игумнов А.Ю.
Информатика и программирование, 1-й курс, 2-й семестр
read(f1,symbol);{Прочитать элемент файла в объект symbol} writeln(symbol);{Вывести на экран значение объекта symbol} read(f1,symbol);{Прочитать следующий элемент файла в объект symbol}
writeln(symbol);{Вывести на экран значение объекта symbol} {Далее то же самое еще несколько раз}
read(f1,symbol);
write(symbol);
read(f1,symbol);
write(symbol);
read(f1,symbol);
write(symbol);
read(f1,symbol);
writeln(symbol);
end.
Упражнение 5.
В рабочей папке средствами операционной системы создать файл с наименованием 3.txt. Посредством текстового редактора записать в файл несколько символов. Исполнить программу примера 3.
Упражнение 6. Дополнить программу примера 3 предписанием закрыть файл. Упражнение 7. Заменить в программе примера 3 наименование файла на наименование файла в программе примера 1 и исполнить измененную программу. Проверить соответствие содержимого читаемого файла и значений, выводимых на экран.
3