Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Razdel_II_Tekhnologia_programmirovania_Informat...docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
79.49 Кб
Скачать

X, y, z : Complex;

Dat : Data;

Const

Birthday: Data = (year : 1971; Month : 12; Day : 9);

Ivanov: Person = (Name : ‘Иванов’; Sex: Male; Age:17);

Доступ к полям записи осуществляется указанием имени переменной (константы) и именем поля записываемого через точку.

Для того, чтобы не писать каждый раз имя записи при обращении к её полям можно использовать оператор WITH. Его формат:

WITH <имя записи > do

<оператор>;

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

with x do

Begin

Re := 1.5;

Im := 1.7;

Ire := - Re;

Iim := -Im;

End;

29. Работа с внешними файлами. Основные функции и процедуры, применяемые к внешним файлам.

Тип – файл представляет собой последовательность компонентов одного типа, расположенных на внешнем устройстве. Компоненты могут быть любого типа за исключением типизированного файла или типа-объекта. Число компонентов в файле не объявляется. Для задания типизированных файлов используются зарезервированные слова file и of после чего указывается тип компонентов файла

Type

number = file of integer;

Symb = file of ‘A’..’Z’;

Стандартный тип Text определяет файловый тип, содержащий символы, объединенные в строки. Необходимо иметь в виду, что тип Text в ТР не эквивалентен file of Char.

В ТР можно использовать нетипизированные файлы, при определении которых не указывается тип – компонент. В данном случае работа с файлами осуществляется с помощью функций blockread и blockwrite, при этом реальные компоненты файлов могут иметь различный тип. Тип – файл можно определить и непосредственно при введении файловых переменных. Над файловыми переменными нельзя производить таких операций как присвоение значений или сравнение, их можно использовать лишь для файловых операций (чтение, запись, удаление).

Стандартными функциями и процедурами для внешних являются:

  • Assign(F, Name) – связывает файловую переменную F с внешним файлом, имеющим имя Name. Name – переменная или константа типа string.

  • Close(F) – закрывает внешний файл, с которым связана файловая переменная F, при этом, в случае необходимости, в содержимое файла вносятся все произведенные изменения.

  • Reset(F) – открывает файл с логическим именем F

  • Rewrite(F) – открывает файл с логическим именем F предварительно очистив его содержимое, если такого файла нет, то он создается

  • EOF (F):Boolean – возвращает значение true, если достигнут конец файла F, т.е. из него ничего нельзя прочитать или файл пуст.

  • blockread (F, ...) – считывает из нетипизированного файла, связанного с файловой переменной F одну или несколько записей

  • blockwrite(F, ...) – записывает в нетипизированного файл, связанный с файловой переменной F одну или несколько записей

30. Стандартные модули тп и их краткая характеристика.

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

CRT.tpu содержит подпрограммы управления текстовым выводом на экран дисплея, чтения с клавиатуры и звуковым генератором.

DOS.tpu обеспечивает работу со средой DOS. Реализует ряд полезных программ операционной системы и обработку файлов.

Strings.tpu содержит процедуры и функции для работы со строками.

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

Пример:

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

Program test_readkey;

uses CRT;

var

Сh: Char;

begin

WriteLn(‘Вывод строчных латинских букв. z - выход’);

repeat

Сh := ReadKey;

Write(UpCase(Ch));

until Сh = ‘z’

end.