Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Часть_1.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
974.85 Кб
Скачать

7.3. Типизированные константы – множества

Константы – элементы множеств задаются по правилам, описанным для множеств, то есть перечислением констант либо диапазоном (рис. 7.3), например:

1) type NS = set of byte;

const B1:NS=[17,19,95,96]; B2: NS = [1,8,10,26];

2) type letter = set of char;

const L1:letter=[‘a’..’g’,’R’, ‘2’, ‘x’..’z’];

  1. type dig = set of 0..9;

const d1: dig = [1..3, 6..9]; d2: dig = [ 0,3,6,9];

4) type hvor = set of 1..100;

const B:array[1..5] of hvor=([1,4..7,10,45],[44,

56..60,78],[1,2,7],[12,14,16,19..21],[8,9,11..14]);

rus: array[1..5] of string[22]=(‘грипп’,’ангина’,

коклюш’, ‘краснуха’,’корь’);

Var a: hvor;

I, j, k, simp: byte;

begin

a:=[ ];

repeat

write(‘Очередной симптом’); readln(simp);

if simp > 0 then a: = a+[simp]

until simp = 0;

j:=1;

while (j<=5) and (a<>b[j])

do inc ( j );

if j < = 5 then writeln (‘Выявлен(а)’, rus[j])

else writeln (‘Диагноз не установлен’);

end.

Рис. 7.3. Синтаксическая диаграмма типизированной константы –

множества

7.4. Типизированные константы – записи

В них указываются имена и начальные значения всех полей в том порядке, в котором они следуют в описании типа (рис. 7.4).

Рис. 7.4. Синтаксическая диаграмма типизированной константы – записи

П р и м е р

const n = 24;

type

person = record

fio : string [20];

age: 17.. 22;

rost: byte

end;

gruppa = array [1..n] of person;

const

gr_1 : gmuppa =

((fio: ‘Иванов И.И.’; Age: 17; Rost:176),

(fio: ‘Петров П.П.’; Age: 18; Rost:164),

(fio: ‘Сидоров С.С.’; Age: 18;Rost: 175) … );

(как указывалось в п. 7.2, количество перечисленных записей должно совпадать с объявленным числом компонентов массива).

Можно также описать типизированные константы процедурного типа, объектного и типизированные константы – указатели.

Для чего нужны типизированные константы? Они освобождают пользователя от ввода данных. Это особенно удобно на этапах отладки и модернизации программ. Типизированные константы позволяют сэкономить время и избежать ошибок.

8. Файлы

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

Преимущества использования файлов следующие:

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

2) файл сохраняет свои значения по окончании работы программы;

3) файл – единственный способ размещения данных очень большого объема (если оперативная память не позволяет этого сделать).

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

– описать переменную файлового типа одним из способов (в зависимости от типа создаваемого файла):

f:file of <тип>; {типизированный файл}

f:text; {текстовый файл}

f:file; {безтиповый файл}

– поместить имя файла в переменную символьного типа (например, name);

– связать файловую переменную f с именем файла name:

assign (f, name);

– открыть файл для чтения / записи операторами соответственно:

reset(f) или rewrite(f);

– читать / писать запись из файла / в файл, используя переменную (например, zap):

read(f, zap) или write(f, zap);

– закрыть файл по окончании работы с ним:

close(f).

Для обнаружения конца файла используется функция логического типа eof(f).

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