(Учащиеся набирают текст программы на ПК)
Program WriteTextFile;
Var
t: Text; | |
Begin | |
Assign (t, ‘text1.txt’); | |
Rewrite (t); | |
Write (t, ‘Мой первый текстовый файл’); | |
Close (t); |
End.
Убедиться, что файл создан, можно с помощью любого текстового редактора, открыв в нем данный файл.
Примечание.
Файлы, созданные программами MS-DOS, а именно такими программами являются все, написанные в Turbo Pascal, содержат символы в кодировке 866, следовательно, для их просмотра в ОС Windows следует указывать тип файла «Текст MS-DOS».
Задание 1. Создайте в блокноте текстовый файл, запишите в него информацию «Фамилия Имя, класс». Сохраните файл на винчестере (на диске C или D). Составьте программу записи в файл строки «Мы изучаем новую тему». Откройте файл в блокноте и проанализируйте данные, содержащиеся в файле.
Приведем пример чтения информации из файла, созданного предыдущим примером. Считав строку из файла, выведем ее на экран.
Пример 2. Чтение текстового файла
(Учащиеся набирают текст программы на ПК)
Program ReadtextFile;
Uses
Crt;
Var
T: text; | {описание файловой переменной с именем t для работы с текстовыми файлами} |
S: string; | {описание строковой переменной, в которую будет производиться чтение из файла} |
Begin | |
ClrScr; | |
Assign(t, ‘text1.txt’); | {сопоставление файловой переменной t файлу с именем text1.txt, находящемуся в текущем каталоге} |
Reset(t); | {открытие файла, которому сопоставлена переменная t (text1.txt) для чтения} |
ReadLn(t, s); | {чтение строки из файла в переменную s} |
WriteLn(s); | {вывод прочитанной строки на экран} |
Close(t); | {закрытие файла, которому сопоставлена переменная t (text1.txt) для чтения} |
ReadKey;
End.
Задание 2. По аналогии с примером 2 напишите программу чтения информации из созданного вами файла в задании 1 и вывода этой информации на экран.
|
Задание 3. Напишите программу создания файла в текущем каталоге и записи в него 5 одинаковых строк.
Задание 4. Напишите программу создания файла на жестком диске и записи в него одной и той же строки столько раз пока пользователь не введет число 0.
Добавление информации в текстовый файл
Для текстовых файлов предусмотрена возможность добавления информации в их конец. Для этого следует открывать файл не процедурой ReWrite, а процедурой Append (от англ. Append – добавить).
Append (<файловая переменная>);
После вызова данной процедуры файл открывается для записи, но информация в нем не стирается, как в случае использования процедуры ReWrite. Указатель текущего элемента автоматически перемещается в конец файла, куда и будет дописываться выводимая информация.
Допишем к файлу, созданному в программе WriteTextFile, еще одну строку: «Состоит из двух строк»
Program WriteTextFile2;
Var
t: Text; | |
Begin | |
Assign (t, ‘text1.txt’); | |
Append (t); | {Открытие файла для добавления информации} |
Write(t, ‘Состоит из двух строк’); | |
Close (t); |
End.
Задание 5. Напишите программу создание файла в текущем каталоге и записи в него строки, содержащей ФИО вашего классного руководителя. Закройте файл. Добавьте в созданный вами файл информацию о том, какой предмет преподает ваш классный руководитель.
Задание 6. Напишите программу нахождения суммы цифр числа, введенного с клавиатуры. Результат запишите в файл в виде:
Суммы цифр числа =
Задание 7. Напишите программу нахождения факториала числа, записанного в файле. В этот же файл запишите промежуточные результаты вычисления и значение факториала числа.
|
Определение размера текстового файла
Все приведённые выше программы читали информацию из файла, основываясь на некотором жестком формате, задаваемым методом создания этого файла. Однако программа не всегда располагает информацией о количестве единиц информации, которые должны содержаться в файле.
Например, одна программа производит измерения температуры и записывает их в файл. Затем другая программа должна прочитать этот файл и вычислить среднюю температуру. При разработке второй программы не известно, сколько измерений записано в файле, известен только тип данных, который используется для записи каждого измерения в файл.
Напишем программу, которая вначале своей работы будет запрашивать у пользователя количество измерений. Затем пользователю должно быть предложено ввести заданное количество чисел, которые будут записываться в файл. Для хранения чисел будем использовать текстовый файл, в каждой строке которого будет располагаться одно число.