Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экз по паскалю.doc
Скачиваний:
13
Добавлен:
06.09.2019
Размер:
334.85 Кб
Скачать

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

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

Например: Программа - исходная, откомпилированная, и т.д.  Данные – исходные, промежуточные, результирующие, рисунок, текст, график,  аудио- видео  и т.д. ).

Связь  программы с внешним окружением (устройствами) осуществляется с через имена файлов с использованием стандартных процедур ввода/вывода:

READ (читать) WRITE (писать).

При вводе данных с клавиатуры и выводе на экран дисплея используются стандартные файлы с именами INPUT (ввод) и OUTPUT (вывод) их имена задаются по умолчанию. Рассмотрим стандартный ввод/вывод.

 

Вывод данных в Паскале

Для вывода данных используются процедуры:

 WRITE (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана;  WRITELN (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана с переводом строки;  WRITELN; - перевод строки.

Выводимые переменные могут иметь следующие типы:

целый;

вещественный;

логический;

символьный;

строковый.

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

При бесформатном выводе данные вещественного типа выводятся в экспоненциальной форме в виде:

_±#.##############E±####

   

Пример 8.1.     Необходимо вывести следующие значения:

A=10; B=20; C=30; D=-25,11 R=’IBM PC’; L=TRUE; G=FALSE. Процедура:                                      Будет выведено:

WRITELN (A, B, C);                                  102030 WRITELN (A, ‘ ‘:2,B,’ ‘:2 C);                  10  20  30 WRITELN (‘Компьютер ’, R);                Компьютер IBM PC  WRITELN (‘D=’,D);                                  D=_-0.25110000000000E+0001  WRITELN (L,’ ‘:2, G);                             TRUE  FALSE

При использовании форматов в процедурах вывода указывается длина поля отводимого для вывода переменных (К) и точность представления для вещественного числа (М):

                                         WRITELN (A:К);                                          WRITELN (A:К:М);

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

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

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

Seek (МуFilе, n);

где n - требуемое положение указателя.

Внимание! Нумерация элементов типизированного файла начинается с нуля.

Поэтому, чтобы обратиться к третьму элементу, нужно записать Seek (МуFilе, 2).

Seek (МуFilе, 0) - устанавливает указатель в начальной позиции (на первый элемент).

Seek (МуFilе, FileSize(МуFilе)) - устанавливает указатель после последнего элемента, то есть на признак конца файла.

Примечание. Функция FileSize(МуFilе) возвращает количество элементов типизированного файла МуFilе.

Текущую позицию указателя дает функция