2 in [1, 3, 6] даст FALSE.

При использовании в программах данных множественного типа

выполнение операций происходит над битовыми строками данных. Каждому

значению множественного типа в памяти ЭВМ соответствует один двоичный

разряд. Например, множество

['A','B','C','D']

представлено в памяти ЭВМ битовой строкой

1 1 1 1.

Подмножества этого множества представлены строками:

['A','B','D'] 1 1 0 1

['B','C'] 0 1 1 0

['D'] 0 0 0 1

Величины множественного типа не могут быть элементами списка вво-

да - вывода.

В каждой конкретной реализации транслятора с языка ПАСКАЛЬ коли-

чество элементов базового типа, на котором строится множество, огра-

ничено. В TURBO PASCAL количество базовых элементов не должно превы-

шать 256.

Инициализация величин множественного типа производится с помощью

типизированных констант:

const seLit: Set of 'A'..'D'= [];

Проиллюстрируем применение данных множественного типа на примере.

Пример. Составить программу, которая вырабатывает и выводит на эк-

ран дисплея наборы случайных чисел для игры в "Спортлото 5 из 36".

Для заполнения каждой карточки спортлото необходимо получить набор

из пяти псевдослучайных чисел. К этим числам предъявляются два требо-

вания:

-числа должны находиться в диапазоне 1..36;

-числа не должны повторяться.

Program Lotto;

var

nb, k: Set of 1..36;

kol, l, i, n: Integer;

begin

Randomize;

WriteLn('ВВЕДИ kol');

ReadLn(kol);

nb:=[1..36];

for i:=1 to kol do

begin

k:=[];

for l:=1 to 5 do

begin

repeat

n:=Random(36)

until (n in nb) and not (n in k);

k:=k+[n];

Write(n:4)

end;

WriteLn

end

end.

29. З А П И С И

Запись представляет собой совокупность ограниченного числа логи-

чески связанных компонент, принадлежащих к разным типам. Компоненты

записи называются полями, каждое из которых определяется именем. Поле

записи содержит имя поля, вслед за которым через двоеточие указывает-

ся тип этого поля. Поля записи могут относиться к любому типу, допус-

тимому в языке Паскаль, за исключением файлового типа.

Описание записи в языке ПАСКАЛЬ осуществляется с помощью

служебного слова RECORD, вслед за которым описываются компоненты за-

писи. Завершается описание записи служебным словом END.

Например, записная книжка содержит фамилии, инициалы и номера те-

лефона, поэтому отдельную строку в записной книжке удобно представить

в виде следующей записи:

type Row=Record

FIO: String[20];

TEL: String[7]

end;

var str: Row;

Описание записей возможно и без использования имени типа, напри-

мер:

 var str: Record

FIO: String[20];

TEL: String[7]

end;

Обращение к записи в целом допускается только в операторах присва-

ивания, где слева и справа от знака присваивания используются имена

записей одинакового типа. Во всех остальных случаях оперируют отдель-

ными полями записей. Чтобы обратиться к отдельной компоненте записи,

необходимо задать имя записи и через точку указать имя нужного поля,

например:

str.FIO, str.TEL

Такое имя называется составным. Компонентой записи может быть так-

же запись, в таком случае составное имя будет содержать не два, а

большее количество имен.

Обращение к компонентам записей можно упростить, если воспользо-

ваться оператором присоединения with.

Он позволяет заменить составные имена, характеризующие каждое по-

ле, просто на имена полей, а имя записи определить в операторе присо-

единения:

with M do OP;

Здесь М - имя записи, ОР - оператор, простой или составной.

Оператор ОР представляет собой область действия оператора присоедине-

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

Иногда содержимое отдельной записи зависит от значения одного из

ее полей. В языке ПАСКАЛЬ допускается описание записи, состоящей из

общей и вариантной частей. Вариантная часть задается с помощью конс-

трукции

case P of,

где Р - имя поля из общей части записи. Возможные значения, прини-

маемые этим полем, перечисляются так же, как и в операторе варианта.

Однако вместо указания выполняемого действия, как это делается в опе-

раторе варианта, указываются поля варианта, заключенные в круглые

скобки. Описание вариантной части завершается служебным словом end.

Тип поля Р можно указать в заголовке вариантной части, например:

case P: Integer of

Инициализация записей осуществляется с помощью типизированных

констант:

type

RecType= Record

x,y: Word;

ch: Char;

dim: Array[1..3] of Byte

end;

const

Rec: RecType= ( x: 127; y: 255;

ch: 'A';

dim: (2, 4, 8) );

{}


Информация о работе «Основные понятия алгоритмического языка»
Раздел: Информатика, программирование
Количество знаков с пробелами: 91405
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
274963
85
0

... ячейка, а имя переменной превращается в адрес ячейки. Появление этого адреса происходит в результате работы специального оператора языка (NEW), однако его значение в большинстве случаев не используется при программировании на алгоритмических языках типа Паскаль. Условимся считать, что адрес ячейки, которая будет хранить переменную А, есть А. Или, другими словами, А - это общее имя переменной и ...

Скачать
112819
0
0

... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...

Скачать
142378
5
0

... . Поэтому так легко путешествовать по Всемирной паутине (WWW — Worl Wide Web), переходя с сайта на сайт по гиперссылкам. Для отображения в «плоском* тексте смысловых связей между основными разделами или понятиями можно использовать гипертекст. Гипертекст позволяет структурировать документ путем выделения в нем слов-ссылок (гиперссылок). При активизации гиперссылки (например, с помощью щелчка мышью ...

Скачать
35650
0
0

... # будет тесно интегрирован с языком XML[1]. 2.2 Паскаль Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского ...

0 комментариев


Наверх