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

Var d: week;

begin

for d in week do writeln(d)

end.

Действие цикла эквивалентно обычному арифметическому циклу For...to вида:

for d:=Low(week) to High(week) do writeln(d);

Вторая возможность применения цикла For...in заключается в использовании в качестве перечисляемого типа массива (array).

Пример 9. Код программы, аналогичной примеру 8, с использованием массива:

var a: array[1..7] of string   =(’monday’,’tuesday’,’wednesday’,’thursday’,’friday’,

’saturday’,’sunday’);    s : String;   begin

for s in a do writeln(s)

end.

Третья возможность применения цикла For...in заключается в использовании в качестве перечисляемого типа множества (set). В этом случае тело цикла выполняется для всех элементов множества.

Пример 10. Код программы, аналогичной примеру 8, с использованием множества:

var week:set of TWeekDay= [monday,tuesday,wednesday,thursday,friday];      d: TWeekday;   begin

for d in week do writeln(d)

end.

Пример 11. Код программы, в которой:

1) на основе базового множества M байтового типа, содержащего все целые числа от 0 до 20, при помощи присваивания инициализируются простые множества байтового типа: M0={множество всех целых чисел от 5 до 15}, M2={ множество всех четных целых чисел от 0 до 20}, M3={ множество всех целых чисел от 0 до 20, кратных 3},

2) определяются три составных множества а) Ms1:=(M2+M3)-M0, б) Ms2:=M2*M3, в) Ms3:=M0-M3, которые выводятся на экран при помощи цикла For...in.

Текст программы дан с необходимыми комментариями:

type M = Set of 0..20; {описание базового множества М}

var element:byte; {описание вспомогательной величины байтового типа element}

M0,M2,M3,Ms1,Ms2,Ms3:M; {описание простых множеств M0,M2,M3 и составных Ms1,Ms2,Ms3}

begin

M0:=[5,6,7,8,9,10,11,12,13,14,15]; {инициализация простых множеств M0,M2,M3}

M2:=[0,2,4,6,8,10,12,14,16,18,20];

M3:=[0,3,6,9,12,15,18];

Ms1:=(M2+M3)-M0; {формирование составного множества Ms1}

Ms2:=M2*M3; {формирование составного множества Ms2}

Ms3:=M0-M3; {формирование составного множества Ms3}

writeln; write(’ SET Ms1: ’); {вывод составного множества Ms1}

for element in Ms1 do write(element,’ ’);

writeln; write(’ SET Ms2: ’); {вывод составного множества Ms2}

for element in Ms2 do write(element,’ ’);

writeln;write(’ SET Ms3: ’); {вывод составного множества Ms3}

for element in Ms3 do write(element,’ ’);

end.

Вопросы для проверки знаний.

1. В чем заключается математический смысл понятий множества, элемента и подмножества, составляющих основу множественного типа данных ?

2. Назовите основные отличия множеств от массивов.

3. Какие два способа описания применяют для переменных множественного типа и каков их синтаксис ?

4. Что называют битовым представлением множеств ?

5. Какие операции над множествами называют предметными, какой результат они дают и какие предметные операции применяют в Паскале ?

6. Что называют операциями сравнения, какой результат они дают и какие операции сравнения есть в Паскале ?

7. Определить результат применения операции объединения к парам множеств:

а) ['a','c','e'] и ['b','e']; б) ['с','e','g'] и ['b','c','d','e']; в) ['a','b','c'] и [0,1]; г) [1,3,5] и [2,3,4,5,6] ?

8. Определить результат применения операции пересечения к парам множеств:

а) ['a','c','e'] и ['b','e']; б) ['с','e','g'] и ['b','c','d','e']; в) ['a','b','c'] и [0,1]; г) [1,3,5] и [2,3,4,5,6] ?

9. Определить результат применения операции вычитания к парам множеств:

а) ['a','c','e'] и ['b','e']; б) ['с','e','g'] и ['b','c','d','e']; в) ['a','b','c'] и [0,1]; г) [1,3,5] и [2,3,4,5,6] ?

10. Для каких типов величин возможно применение цикла типа For...in?

11. Каков синтаксис цикла For...in ?

12. Можно ли применить цикл For...in к типу char?

Практическое задание.

1. Разработать программу, в которой:

1) вводится базовое множество М[0..10] и величина А типа М, содержащая все нечтные значения из М,

2) по запросу с клавиатуры вводятся две произвольные величины В и С типа М,

3) определяются составные множества, равные а) объединению А,В,С, б) пересечению и определяются числа элементов в них, которые выводятся на экран.

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