Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование 2 семестр 1 курс.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
983 Кб
Скачать
☆

Операция включения и исключения одиночного элемента: реализуется с помощью .

а) Include («множество», «элемент»)

Второй параметр не может быть множеством.

б) Exclude («множество », «элемент ») – исключение Exclude(a,3);

5. Операция проверки на принадлежность элемента множеству: In

(x In A) not(x In A)

Пример: Ввести строку состоящую из не более чем 20 символов принадлежащие к множеству латинских букв и цифр, ввод прекращается по заполнению всей строки , либо по нажатию Enter.

Var

st : string [20];

ch: char;

I:byte;

m: set of char;

begin

:

:

M:=[’a’..’z’,’A’..’Z’,’0’..’9’];

st:=’’;

ch:=#0;

i:=1;

while (i<=20) and(ch<>13) do

begin

ch:=readkey;

if ch in m then

begin

st:=st+ch;

write(ch);

i:=i+1;

end;

end;

Сравнение множеств: к множествам применяются операции отношения : <> ,=, >=,<=.

  1. *

  2. +,-

  3. =,<>,>=,<=, in

Достоинство и недостатки множеств:

Достоинство: 1. Компактность представления; 2. Удобство со множествами ;

Недостатки : 1. Невозможен прямой доступ к отдельным элементам ; 2. Ограниченность использование типов; 3. Существенно ограничен по количеству элементов .

Рассмотрим способ вывода множества : Для вывода необходимо просмотреть все элементы базового типа и если текущий рассматриваемый элемент содержится в множестве , вывести его

Var

m:set of byte;

i:byte;

:

.

m:= [1,10,100];

for i:=0 to 255 do

if I in m then

write(I, ‘ ‘);

……..

Записи

Лекция №2

Структурированные типы данных. Записи. Оператор присоединения. Совместимость. Записи со стартовыми значениями. Массивы записей, обращение. Варианты записей.

Запись - это строка с некоторым количеством компонентов , которые имеются в памяти. В отличие от массивов и множеств запись может состоять из не однотипных компонентов (численных , строковых , булевских …) . При этом доступ к полям осуществляется не по индексу, а по имени . Кроме того, в строке записи явным образом отображена идея иерархической подчиненности (см. вложенные записи ).

Синтаксис переменной типа - запись :

Var

«имя записи »:record;

«поле 1»: «тип 1»;

«поле 2»: «тип 2»;

…..

«поле n»: «тип n»;

End.

Запись можно конструировать двумя способами:

1 Способ : через определение соответствие типа

Type

TAdres=record

homeNum:word;

streetName:string[50];

flatNum:word;

end;

var

adres:TAdres;

2 Способ : в разделе описания переменных:

var

Adres=record

homeNum:word;

streetName:string[50];

flatNum:word;

end;

Оба способа одинаково приемлемы, однако 1 способ дает дополнительную гибкость при задание записи в качестве параметров подпрограмм. От того , где объявлены записи существенно зависит их совместимость (смотри обращение к записи как к единому объекту ). Размещение в памяти :в памяти поля записи размещаются в порядке их перечисления в объявление и располагаются от младшего к старшему .

Доступ к полям записи.

Над записями в целом допускаются только операции записи в файл . чтение из файла , операция присваивания (если записи совместимы по типу). В большинстве случаев при работе записей идет обращение к отдельным её полям .

Синтаксис обращения:

«Имя записи ».«имя поля» ;

Adres.homeNum:=200;

Adres.streetName:=100;

Adres.flatNum:=’Zelenay’;