File (Методичка С++)

2013-09-07СтудИзба

Описание файла

Файл "File" внутри архива находится в папке "METODY". Документ из архива "Методичка С++", который расположен в категории "". Всё это находится в предмете "информатика" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика" в общих файлах.

Онлайн просмотр документа "File"

Текст из документа "File"

28


Иванова Г.С., Ничушкина Т.Н.

Конспект лекций

по курсу "Алгоритмические языки и программирование".

Тема " Файловая система Borland Pascal ".

1.Файловая система MS DOS (организация хранения информации на внешних носителях).

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

Файлом называют именованную последовательность элементов данных (компонент файла), имеющих одинаковую структуру и расположенных, как правило, на внешнем носителе. Особенностью файлов по сравнению с другими типами данных является то, что число их элементов заранее не определяется.

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

При работе в среде MS DOS имена файлов подчиняются определенным правилам:

  • имя должно содержать не менее одного и не более восьми символов;

  • Файл может иметь расширение, которое отделяется от имени точкой и содержит не более трех символов;

  • для записи имен и расширений могут использоваться буквы латинского алфавита A-Z, арабские цифры и некоторые специальные символы;

  • в качестве имен запрещается использовать некоторые буквенные сочетания, которые зарезервированы операционной системой для обозначения таких устройств как принтер, дисплей и т.д. (например PRN, CON, NUL, COM1, COM2, AUX, LPT1, LPT2, LPT3)

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

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

Существуют стандартные расширения, используемые операционной системой (трансляторами и обработчиками команд). Например:

COM, EXE - исполнительные файлы (загрузочные файлы программ и команд)

FOR, PAS,BAS - файлы исходных текстов программ на алгоритмических языках

ФОРТРАН, ПАСКАЛЬ, БЭЙСИК соответственно.

Типовые расширения очень удобны, так как позволяют некоторые стандартные действия по отношению к этим файлам. Например, при расширениях COM и EXE можно обращаться к файлам только по именам, а расширение PAS позволяет работать в среде Турбо-Паскаль и т.д.

Для удобства работы с группами файлов применяются групповые имена файлов с использованием символов «*» и «?», где

  • * - любая последовательность символов;

  • ? - один любой символ.

Например:

*. EXE - все файлы с расширением EXE;

А*. COM - все файлы типа COM, имена которых начинаются на А;

??В. PAS - все файлы типа PAS, имена которых содержат три символа, последний из которых «В»;

PRG1.* - файлы любых типов с именем PRG1;

*.* - все файлы диска.

Эти групповые имена позволяют легко работать с некоторыми командами и средами.

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

Как правило, диски хранят большое количество файлов (количество их на жестких дисках исчисляется сотнями и даже тысячами).Для удобства и ускорения работы с таким количеством файлов применяется древовидная структура каталогов, аналогичная библиотечной.

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

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

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

Более сложная - это древовидная система подкаталогов, пример которой представлен на рис 1.

Рис.1. Дерево каталогов пользователя.

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

Перечисляемые в маршруте каталоги разделяются символом «\», а так как корневой каталог не имеет имени, перечень начинается с символа «\».Например:

\kat1\kat2\kat3\file1.dat

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

c:\kat1\kat2\kat3\file1.dat

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

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

CD\mycatalog;

Для автоматического поиска файлов, в командном файле AUTOEXEC.BAT следует указать команду системы path, с помощью которой установить маршруты возможного размещения часто используемых файлов. Например:

PATH C:\mykat1;C:\mykat2;

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

2.Файловая система Borland Pascal .

2.1.Общие сведения.

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

Файл может быть дисковым. В этом случае он представляет собой поименованную область внешней памяти на магнитном диске. Файл также может быть логическим устройством (источник или приемник информации). Логические устройства в системе имеют стандартные имена, например:

CON - при выводе относится к экрану, при вводе - к клавиатуре;

PRN - предназначено для вывода на принтер;

NUL - используется для обозначения «пустого устройства.».

Доступ к компоненте файла осуществляется с помощью указателя файла. При выполнении операции чтения или записи указатель перемещается на следующую запись ( рис.2).

Рис. 2. Перемещение указателя файла по компонентам.

Для идентификации файлов в Турбо- Паскале файловые переменные, Описываемые в программе. Синтаксическая диаграмма переменной типа файл представлена на рисунке 3



Рис. 3. Синтаксическая диаграмма файловой переменной.

Выделяют три вида файлов:

1.Типизированные

TYPE <имя> = FILE of <тип>;

где тип - любой тип переменной, принятой в Паскале, кроме FILE.

2.Текстовые

TYPE <имя> = TEXT;

3.Нетипизированные

TYPE <имя> = FILE;

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

Как и любая переменная языка Паскаль, файловая переменная может быть определена в разделе описания переменных

VAR F1:file of real;

F2:file;

F3: TEXT;

Кроме того, тип файловой переменной можно предварительно определить в разделе описания типов, а затем определить переменную этого типа в разделе описания переменных:

TYPE FF = file of integer;

VAR F1:FF;

Типовая последовательность действий, связанная с обработкой файлов, включает следующие этапы:

  • открытие файла;

  • выполнение операций ввода-вывода;

  • закрытие файла (при повторном открытии файл закрывается автоматически).

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

Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными:

INPUT - чтение с клавиатуры;

OUTPUT - вывод на экран.

Они доступны в любой момент и могут в макрокомандах не указываются.

Остальные файлы становятся доступными только после выполнения операций открытия. Для этого устанавливается связь между физическими файлами на магнитном диске и переменной типа файл, которая в программе во всех процедурах ввода вывода представляет этот файл. Соответствие устанавливается с помощью стандартной процедуры ASSIGN.

ASSIGN (<файловая переменная>,<имя файла или логического устройства>).

Пример 2-1. Связывание файловой переменной с конкретным файлом.

PROGRAM F1;

TYPE FI1 = FILE of integer;

VAR FF: FI1, FF2, FF3:FI1

begin

ASSIGN (FF, ‘ F1.dat ‘ );

ASSIGN (FF2, ‘ LST ‘ );

ASSIGN(FF3, ‘ ‘ );

end.

2.2.Стандартные процедуры и функции для работы с файлами.

Инициализация файлов.

Инициализация файла предполагает указание направления передачи данных.

В TURBO-PASKALE можно открыть файл на чтение, запись и чтение запись одновременно.

Инициализация для чтения (Установка файла на чтение).

Осуществляется с помощью процедуры

RESET(<файловая переменная.>);

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

Если пытаться читать из несуществующего файла, то регистрируется ошибка выполнения, а функция IORESULT типа WORD получит значение отличное от 0.

  • Пример 2-2. Проверка наличия файла на диске.

VAR f: file of char;

begin

ASSIGN( f, ‘a. dat ‘ );

{$ I-} отмена контроля ошибок ввода вывода.

RESET (f);

{$ I+}- включение контроля ошибок;

if IORESULT <>0 then writeln (‘ файл не существует’);

else writeln(‘ файл существует ’);

end (в файл, открытый для чтения можно писать (обновлять) ).

Инициализация для записи (Установка файла на запись).

Обеспечивается процедурой

REWRITE(<файловая переменная>);

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее