4915

Работа с файлами в языке паскаль

Лекция

Информатика, кибернетика и программирование

Работа с файлами в языке паскаль. В языке паскаль с файлами можно работать несколькими способами. Все зависит от того, как этот файл открывается. Один и тот же файл можно открывать разными способами. Правда, если открыть нее тем способом, можно проч...

Русский

2012-11-29

17.24 KB

20 чел.

Работа с файлами в языке паскаль.

В языке паскаль с файлами можно работать несколькими способами. Все зависит от того, как этот файл открывается. Один и тот же файл можно открывать разными способами. Правда, если открыть нее тем способом, можно прочитать из него БРЕД.

В паскале поддерживаются 3 типа файлов:

  1. Текстовый – в такой файл записывается обычный текст. Операция записи и чтения из такого файла производится точно так же как на экран и клавиатуру.
  2. Типизированные файлы – обычно применяются для хранения большого объема однотипных файлов. Например, файл of integer – предназначен для хранения файлов исключительно типа integer.
  3. Не типизированные файлы – и не текст и не привязка к какому-либо типу, хотя чем-то напоминает типизированные. Суть в том, что файл без указания типа. По умолчанию одна запись привязывается к объёму 128 байт, но можно указать любой размер. Одна команда чтения, одна команда записи читает или записывает сразу кусок файла указанного размера.

Например, в программе имеется  1000 массивов, в каждом массиве по 1000 элементов, каждый элемент типа integer. Можно перебрать все тысячу массивов, в каждом массиве перебрать все тысячу элементов и каждый такой элемент записать в типизированный файл( file of integer ). Получен миллион операций записи: 1) это будет долго,2) диск портится.

С другой стороны, если открыть файл как не типизированный и указать размер записи в 4000 байт (1000 элементов типа integer) , то каждый массив из программы можно будет записать в файл одной командой. То есть операций будет 1000.

Работа с текстовыми файлами.

Для работы с текстовыми файлами необходимо объявить  файловую переменную: var F1: text; -переменная F1 может указывать на любой файл на диске. Для того, чтобы работать с нужным файлом, переменную нужно с ним связать: assign(F1,’ Myfile.txt’); - если в команде assign указывается только имя, то файл ищется в текущем каталоге, то есть Для того, чтобы найти файл в другом каталоге необходимо либо указать полный путь к файлу (assign(F1,’ C:\Mydok \Myfile.txt’);, либо предварительно выполнить команду смены каталога. Данных действий не достаточно, чтобы начать работать с файлом. Ещё одно необходимое действие- открытие файла. В паскале файл можно открыть тремя способами: 1. Только на чтение, 2. На перезапись(старое собержимое будет потеряно), 3. На дописывание файла. Reset- 1, rewrite -2, append- 3. После завершение всех действий с файлом его необходимо закрыть – close. После закрытия его можно открыть в любом режиме и снова с ним работать.

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

В разных версиях языка для этого предусмотрено различные директивы. В частности турбо паскаль:  {$I-},{$I+}- данные директивы включают или отключают аварийное завершение программы в различных случаях, в том числе и при работе с файлами. Если включена , то программа аварийно завершится в случае ошибки. Если выключена, то программа не завершится и нам будет предоставлена возможность  проверить ошибки.

Особенности чтения из файлов:

Если использовать команду read, то следует помнить, что файловый указатель внутри файла при таком  чтении не перемещается и следующая команда чтения прочтет ту же строку. Для того, чтобы файловый указатель автоматически перешёл к новой строке, необходимо использовать readln.

Если мы подошли к концу файла, но все пытаемся из него читать, то будет ошибка. То есть это тоже нужно контролировать. Для этого используется функция EOF. Эта функция говорит да, если мы дошли до конца.

Так как паскаль разрабатывался ещё под DOS, а мы его запускаем под Windows, могут возникнуть проблемы с русским языком.


 

А также другие работы, которые могут Вас заинтересовать

39954. Одномерные течения несжимаемой жидкости. Ламинарное и турбулентное течения 344.5 KB
  При увеличении скорости воды картина изменялась струйка красителя сначала приобретала синусоидальную форму а дальнейшее увеличение скорости приводило к ее размыву что свидетельствовало о беспорядочном движении. Рейнольдс предположил что увеличение скорости потока приводит к возникновению какихто возмущений дестабилизирующих его структуру. Ускорение есть изменение скорости в единицу времени = u t. Одномерными называются течения в которых основные параметры потока зависят лишь от одной координаты направление которой совпадает с...
39955. Основы теории пограничного слоя 73.5 KB
  Основы теории пограничного слоя. Понятие пограничного слоя 8. Толщина пограничного слоя 8. Отрыв пограничного слоя.
39956. Основы теории подобия 362.5 KB
  Основы теории подобия План. На эти вопросы и отвечает теория подобия являющаяся основой современного физического эксперимента. В общем случае различают три вида подобия: геометрическое кинематическое и динамическое. Для площадей S и объемов V ; Применительно к физическим явлениям элементарные представления геометрического подобия расширяются и распространяются на все величины характеризующие данный процесс.
39957. Газодинамика как раздел механики сплошных сред 907.5 KB
  Краткий очерк развития механики жидкости и газа. Математический аппарат используемый в механике жидкости и газа [1. Газодинамика как раздел механики сплошных сред Многие машины и аппараты созданные к настоящему времени характеризуются перемещением газа или жидкости внутри их или перемещением самого аппарата в среде газа или жидкости. Целью курса Газодинамика является изучение явлений протекающих в газе и жидкости и закономерностей которым эти явления подчиняются.
39958. УРАВНЕНИЯ ГАЗОВОЙ ДИНАМИКИ ДЛЯ ЕДИНИЧНОЙ СТРУЙКИ 401.5 KB
  Предельная скорость движения газа. Уравнение неразрывности Выведем основные уравнения газовой динамики для элементарной струйки газа поперечные размеры которой настолько малы что в каждом ее сечении можно считать постоянными все основные параметры потока: скорость давление температуру и плотность газа. Чтобы получить уравнение неразрывности рассмотрим стационарное установившееся движение элементарной струйки газа рис. Элементарная струйка Рассмотрим некоторый участок струйки между двумя нормальными к поверхности тока сечениями 1 и...
39959. Элементы гидродинамики 441 KB
  Cилы действующие в жидкости 3.1 – Элементарный параллелепипед в потоке жидкости Грани бесконечно малой частицы жидкости имеющей в начале движения форму прямого параллелепипеда с ребрами dx dy dz с течением времени могут скашиваться и растягиваться рис.8 представляет собой уравнение неразрывности жидкости.9 Здесь под плотностью жидкости понимается предел отношения массы частицы к ее объему 3.
39960. ГАЗОДИНАМИЧЕСКИЕ ФУНКЦИИ 81 KB
  ГАЗОДИНАМИЧЕСКИЕ ФУНКЦИИ План лекции. Зависимость параметров потока в функции числа M. Зависимость параметров потока в функции скоростного коэффициента. Зависимость параметров потока в функции числа M.
39961. ДЕТАЛИ МАШИН И ОСНОВЫ КОНСТРУИРОВАНИЯ 10.06 MB
  1 а е: Ft Н окружная сила на барабане ленточного или на звездочке цепного конвейера; V м с скорость движения ленты или цепи; Dб мм диаметр барабана; Zзв число зубьев тяговой звездочки; Рзв мм шаг тяговой цепи.2 Вид передачи Твердость зубьев Передаточное число Uрек Uпред Зубчатая цилиндрическая: тихоходная ступень во всех редукторах uт 350 НВ 40. Термообработка зубчатых колес редуктора улучшение твердость зубьев 350НВ. Первая группа колеса с твердостью поверхностей зубьев Н  350 НВ Применяются в слабо и...
39962. Специализированный вычислитель (СВ) 194 KB
  При обращении ВчУ в режиме Чтение к ОЗУ по адресу 034320 обращение происходит в ячейке ДЗУ с адресом 134320. Специализированный вычислитель СВ относится к классу специализированных ЭВМ и предназначен для решения специфических задач обработки информации: 1. Отображение информации на рабочих местах РМ лиц боевого расчета; 3. Вычислительное устройство ВчУ является основным операционным устройством СВ предназначенным для обработки цифровой и логической информации реагирования на сигналы прерывания внешних устройстви управления...