Работа с файлами паскаль – Ввод-вывод данных Pascal


Запись в файл и вывод из файла Паскаль

Запись в файл и вывод из файла Паскаль

Запись в файл и вывод из него какой либо информации в паскале — это тема , которая часто используется на олимпиадах , в решениях каких либо задач в интернете.

Её суть заключается в том , чтобы компьютер , при проверке , брал значение переменных из входного файла input.txt ( обычно он называется именно так ). А результат работы программы выводился в выходной файл output.txt

Рассмотрим пример :

Нужно взять число из файла и записать квадрат этого числа в другой файл.

Объявляем три переменные . Переменную «a» для хранения числа из файла input.txt . Переменные «t1» и «t2» играют роль связки переменной с файлом , чтобы в последствии мы могли с ними работать . Тип переменных «t1» и «t2» записывается так — text.

Далее в программе мы связываем переменные «t1» и «t2» с файлами input.txt и output.txt.
Команда assign() отвечает за связку. Первый аргумент отвечает за имя переменной , а второй ( через запятую ) отвечает за имя файла.

Читать  Условия if then else в Паскаль – Pascal Разветвление

Команды reset() и rewrite() отвечают за открытие файла для чтения и записи. Узнать больше о циклах здесь

Reset()

открывает наш файл для чтения , чтобы мы могли взять из файла какое либо значение , например значение 4. Чтобы открыть именно тот файл , который нам нужен следует написать имя переменной , к которой он привязан в аргументе . ( reset(t1) ).
Далее записываем в переменную «a» число из файла. Для этого нам понадобится привычная команда readln() , однако теперь мы передаем ей два аргумента . Первый аргумент это имя переменной , к которой привязан файл . Второй аргумент это имя переменной , в которую будет произведена запись.

После того как мы занесли в переменную «а» число , которое было в файле , следует закрыть файл командой close(). Аргумент обозначает какой именно файл нужно закрыть. ( close(t1) ).

Rewrite()

открывает файл для записи в него какой либо информации , однако при этом стирает всю информацию , которая была записана в нем до этого. Для того , чтобы прошлая информация осталась целой , а новая записывалась в конце файла : вместо команды rewrite следует использовать команду append(). Чтобы открыть именно тот файл , который нам нужен , следует записать имя переменной , к которой привязан файл в аргументе . ( rewrite(t2) ).
Далее записываем информацию в output.txt привычной командой writeln() . Но теперь она в аналогии с readln(t1,a) имеет два аргумента . Первый аргумент отвечает за имя переменной , к которой привязан файл , а второй аргумент за информацию которую будут записывать в файл . В нашем случае это квадрат переменной «a». Функция sqr() отвечает за квадрат аргумента.

Читать  Константы в Паскале это – Обычные, Именуемые, Типизированные

После следует закрыть второй файл close(t2).

На заметку :

При записи информации в файл , которого не существует на жестком диске , этот самый файл создастся автоматически . Но если мы попробуем открыть файл для чтения , которого нет на жестком диске , то получим ошибку .

Прочие функции :

  • eof(t1) — Возвращает истинное значение , когда достигнут конец файла. Хорошим примером работы такой функции служит запись всех чисел в файле. Это осуществляется с помощью цикла while ( not eof(t1) ) do — дословно пока не конец файла t1 делай …
  • eoln(t1) — Работает аналогично функции eof(t1) , за исключение того , что оно возвращает истину тогда , когда достигнут конец строки , а не всего файла.
  • erase(t1) — Уничтожает файл привязанный к переменной t1.
  • rename(t1) — Меняет имя файла , к которому привязана переменная t1 . Перед применением следует закрывать файл командой close().
[Всего голосов: 4    Средний: 5/5]