Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / spravochnictp7 / Справочник по Турбо Паскалю 7.0.rtf
Скачиваний:
94
Добавлен:
10.12.2013
Размер:
821.03 Кб
Скачать

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

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

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

  • файлы с последовательным доступом,

  • файлы с прямым доступом и

  • файлы с доступом по ключу.

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

Объявление файла (объявление файлового типа или переменной файлового типа)

  1. ИмяФайла = file of ТипЭлементов; {типизированные файлы}

  2. ИмяФайла = Text; {текстовые файлы}

  3. ИмяФайла = file; {нетипизированные файлы}.

здесь Text – имя стандартного типа текстовых файлов.

Программе доступны два предварительно объявленных файла: 1) предназначенный для чтения файл со стандартной файловой переменной INPUT, по умолчанию связанной с клавиатурой; и 2) предназначенный для вывода на экран файл со стандартной файловой переменной OUTPUT, по умолчанию связанной с экраном.

17

2.3.3. Структуры данных. Массивы

Структура данных – объект, содержащий несколько элементов. В структуре данных (в отличие от данных простого типа) одному имени сопоставляется несколько ячеек памяти. В программе можно обратиться к любой ячейке структуры. ТП 7.0 допускает любую глубину вложенности типов, но суммарная длина любого типа не превышает 65520 Б.

Структуры данных в Паскале – массивы, множества, записи, файлы.

Массив – это поименованная упорядоченная совокупность данных одного типа (любого, кроме файлового).

Объявление массива:

ИмяМассива : аrrау [СписокИндексныхТиповof ТипЭлементов;

где СписокИндексныхТипов – список из одного или нескольких индексных типов (типов индексов), разделенных запятыми; индексный тип – любой порядковый тип, кроме LongInt (обычно, интервальный целый тип). СписокИндексныхТипов определяет диапазон изменения индексов (номеров) элементов массива и, неявно, - размер (количество элементов) массива.

Объявление одномерного массива:

ИмяМассива : аrrау [НижнийИндекс .. ВерхнийИндексof ТипЭлементов;

Размер одномерного массива=(ВерхнийИндекс–НижнийИндекс)+1.

Объявление двумерного массива:

ИмяМассива : аrrау [НижнийИндекс1 .. ВерхнийИндекс1,

НижнийИндекс2 .. ВерхнийИндекс2] of ТипЭлементов;

Обращение к злементам массивов:

одномерного - ИмяМассива [индекс],

двумерного - ИмяМассива [индекс1индекс2].

  • Количество элементов массива должно задаваться при объявлении его.

  • Тип выражения, содержащего обращение к элементу массива, должен совпадать с типом элементов в объявлении этого массива.

  • Количество индексов в ТП 7.0 практически не ограничивается.

  • Значения индекса в обращении к элементу не должны выходить за границы диапазона изменения индекса в объявлении массива.

  • В Паскале переменные (в том числе, и элементы массива) не обнуляются (не инициализируются) автоматически перед каждым запуском программы.

  • В отличие от строк любая работа с массивом (ввод, вывод, обработка) выполняется поэлементно (чаще с использованием цикла со счетчиком).

Примеры объявления массивов:

  • const N=10 ; M=25 ;var W1, W2 : array [1..N, 1..M] of real ;

  • type mas = array [1..50] of integer ; matrix = array [byte] of longint ;var massiv1, massiv2 : mas ; m : matrix ;

  • var A, B : array [1..10] of string ; C, D, E : array [1..10, 1..12] of extended ;

  • const exam : array [1..4, 1..3] of byte  = ((2, 3, 3), (4, 4, 5), (4, 4, 3) , (3, 4, 5)) ;

Структуры данных - множества, записи, файлы – рассмотрены в главе 2.6. Таблица “Типы данных” – приложение 3.

18