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

Множества

Множество – это набор неповторяющихся элементов одного порядкового типа с количеством элементов n: n=0,..,255. Значения элементов множества задаются в квадратных скобках:

x:=[5,3,1]; y:=[ ] – пустое множество.

Описание типа:

Type

<имя> =set of <тип>

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

Var s: set of char;

set of ‘A’..’Z’;

set of byte;

set of 0..9

Const

Alfavit [‘A’..’Z’, ‘a’..’z’];

Digits [0..9];

Операции над множествами

* пересечение (А В)

+ объединение (А В)

- разность (А\В)

Сравнение

= - проверка эквивалентности (True или False)

<> - проверка неэквивалентности

<= проверка вхождения (A B), <, >, >=

In – проверка принадлежности (а А)

Добавление элемента к множеству:

S:=[ ];

S:=S+[ch], где S: set of char;

ch: char;

Пример.

X=[‘A’,’B’,’D’];

Y=[‘A’,’P’];

Напечатать множество X (X\Y). (Ответ: BD).

Решение:

Program …

Var X,Y,Z: set of char;

c:char;

Begin

X:=[‘A’, ‘B’,’D’];

Y:=[ ];

Z:=X*(X-Y);

For c:=’A’ to ‘P’ do

If c in Z then write(c);

End.

Записи.

Запись – это совокупность конечного числа разнородных (разнотипных) элементов, называемых полями.

Описание записи:

type <имя типа записи> = record

< имя поля 1 > : < тип поля 1>;

………………………………

< имя поля n> : < тип поля n>;

end;

var < имя переменной > : <имя типа записи >;

Обращаться к полю надо по составному имени:

<имя записи. имя поля>

Можно использовать оператор присоединения with:

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

begin

…..

< имя поля >

end;

Пример.

ФИО

Оценки за 3 экз.

1

Иванов

5 3 4

2

Петров

5 5 5

3

Сидоров

4 4 5

Описание:

Type spisok = record

N: integer;

Fam: string[15];

BALL: array [1..3] of integer;

End;

Var b:spisok;

Найдем средний балл:

1). S:=(b.BALL[1]+ b.BALL[2]+ b.BALL[3])/3;

или

2). With b do

S:=(BALL[1]+ BALL[2]+ BALL[3])/3;

Пример. Создать базу данных, состоящую из 10 записей по 3 поля в каждой: фамилия, имя, телефон. Вывести на экран записи, в которых содержатся сведения об Иванове.

Решение:

uses crt;

type student=record;

Fam, Name:string[15];

Tlf: string[10];

end;

var baza: array [1..10] of student;

i:integer;

begin

for i:=1 to 10 do

begin

with baza[i] do

begin

writeln(‘Фамилия’); readln(Fam);

writeln(‘Имя’); readln(Name);

writeln(‘Телефон’); readln(Tlf);

end;

end;

writeln;

for i:=1 to 10 do

begin

with baza[i] do

if Fam:=’Иванов’ then writeln(Fam:16, Name:10, Tlf:10);

writeln;

end;

readkey;

end.

Файлы

В TP различают:

    • текстовые файлы (text);

    • типизированные файлы (file of real,

integer,

char);

    • нетипизированные файлы (file).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]