Студопедия — Работа с файлами
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Работа с файлами






 

Тип-файл - последовательность компонент одного типа, расположенных на внешнем устройстве (например, на диске).

Элементы могут быть любого типа, за исключением самого типа-файла. Число элементов в файле при описании не объявляется. Работа с физическими файлами происходит через файловые переменные.

Для задания типа-файла следует использовать зарезервированные слова File и Of, затем указать тип компонент файла.

Например:
Type

N = File Of Integer; {Тип-файл целых чисел}
C = File Of Char; {Тип-файл символов}

Есть заранее определенный в Pascal тип файла с именем Text. Файлы этого типа называют текстовыми.

Введя файловый тип, можно определить и переменные файлового типа:
Var

F1: N;
F2: C;
F3: Text;

Тип-файл можно описать и непосредственно при введении файловых переменных:

Var
Z: File Of Word;

Файловые переменные имеют особое применение. Над ними нельзя выполнять никаких операций (присваивать значение, сравнивать и т.д.). Их можно использовать лишь для выполнения операций с файлами (чтение, запись и т.д.).

Элементы файла считаются расположенными последовательно, т.е. так же, как элементы линейного массива.

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

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

Формат:
Assign(< Имя файловой переменной>, < Имя файла>);

Имя файла задается либо строковой константой, либо через переменную типа Sting. Имя файла должно соответствовать правилам работающей в данный момент операционной системы. Если строка имени пустая, то связь файловой переменной осуществляется со стандартным устройством ввода-вывода (как правило - с консолью).

После этого файл может быть открыт одной из процедур:
Reset(< Имя файловой переменной>);
Открывается существующий файл для чтения, указатель текущей компоненты файла настраивается на начало файла. Если физического файла, соответствующего файловой переменной, не существует, то возникает ситуация ошибки ввода-вывода.

Rewrite(< Имя файловой переменной>);
Открывается новый пустой файл для записи, ему присваивается имя, заданное процедурой Assign. Если файл с таким именем уже существует, то он уничтожается.

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

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

Это требование обязательно должно соблюдаться для файла, в который производилась запись.

Рассмотрим организацию чтения и записи.

Для ввода информации из файла, открытого для чтения, используется уже знакомый вам оператор Read. Правда, в его формате и использовании Вы заметите некоторые изменения:
Read(< Имя файловой переменной>, < Список ввода>);
Происходит считывание данных из файла в переменные, имена которых указаны в списке ввода. Переменные должны быть того же типа, что и компоненты файла.

Вывод информации производит оператор Write(< Имя файловой переменной>, < Список вывода>);

Данные из списка вывода заносятся в файл, открытый для записи. Для текстовых файлов используются также операторы Readln и Writeln с соответствующими дополнениями, относящимися к файловому вводу-выводу. Интересно, что вывод данных на монитор и ввод с клавиатуры в Pascal тоже являются действиями с файлами. Они имеют свои предопределенные файловые переменные текстового типа: Output и Input соответственно. Переменная Output всегда открыта для записи, Input - для чтения. Если не указывать файловые переменные в операторах ввода-вывода, то в случае записи по умолчанию выбирается файл Output, в случае чтения - Input.

Проверить, окончен ли файл, можно вызовом стандартной логической функции Eof(< Имя файловой переменной>).

Она вырабатывает значение True, если файл окончен, и False - в противном случае.

Пример 16: Ввести с клавиатуры список фамилий студентов, кроме тех студентов, у которых фамилия начинается с буквы 'Ш', а затем распечатать список.

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

Program L;
Var

I, N: Integer;
F: File Of String;
S: String;

Begin

Assign(F, 'Spis.lst'); {Связываем переменную F с файлом Spis.lst}
Writeln('Введите количество студентов');
Readln(N); {Вводим количество студентов}
Rewrite(F); {Создаем файл для записи в него данных}
For I: =1 To N Do {Для всех студентов}
Begin

Writeln('Введите фамилию');
Readln(S);
Write(F, S)

End;
Close(F);
Reset(F);
Writeln; Writeln('Список студентов: ');
While Not(Eof(F)) Do
Begin

Read(F, S);
If S[1]< > 'Ш' Then
Writeln(S)

End;
Close(F)

End.

 

Вопросы к зачету и экзамену по информатике

1. Понятие алгоритма, свойства алгоритма, этапы решения задач на ЭВМ.

2. Язык программирования Pascal; структура программы на Pascal.

3. Структуры данных в языке Pascal.

4. Среда программирования Pascal.

5. Лингвистические особенности языка Pascal.

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

7. Инструкция присваивания. Действия (операции) с данными различных типов.

8. Ввод и вывод информации в текстовом режиме.

9. Алгоритмические структуры. Структура линейной программы. Решение вычислительных задач.

10. Процедуры модуля СRT: управление оформлением экрана; программирование звуков.

11. Графические операторы. Инициализация графики. Вывод простейших графических фигур (различие по цвету и стилю).

12. Графические операторы. Заполнение фигур, закрашенные фигуры (различие по цвету и стилю).

13. Ввод и вывод текстовой и числовой информации в графическом режиме (стили шрифта).

14. Алгоритмические структуры. Понятие условия. Ветвление в алгоритмах (язык схем) и программах.

15. Алгоритмические структуры. Оператор выбора. Запись диапазонов и списков значений в этом операторе.

16. Алгоритмические структуры. Циклы (3 вида циклических структур на языке схем и в программах).

17. Строковые и символьные переменные, основные процедуры и функции для работы с ними.

18. Подпрограммы и функции пользователя, их параметры (параметры- аргументы и параметры-результаты).

19. Сложные типы данных: массивы (определение, описание).

20. Сложные типы данных: массивы (типичные действия с массивами).

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

22. Сложные типы данных: записи.

23. Сложные типы данных: множества.

24. Процедуры и функции

25. Работа с файлами. Обработка файлов. Элементы. Организация чтения и записи.

26. Указатели и динамическая память:

a) ссылочные типы данных;

b) выделение и освобождение динамической памяти;

c) процедуры и функции, используемые при работе с указателями и динамической памятью.

27. Создание меню.

28. Модули (стандартные и пользователя).

29. Использование модуля Mouse.

30. Основные элементы программирования.







Дата добавления: 2014-11-12; просмотров: 549. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

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

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

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

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия