- •«Вычислительная техника и программирование»
- •0702 «Прикладная физика»
- •Тема 1. Основы алгоритмизации
- •В вод / Вывод данных Блок вычислений
- •Задания для практических занятий
- •Тема 2. Язык программирования
- •Вопросы для практических занятий
- •Тема 3. Интегрированная система программирования Turbo Pascal
- •Задания для практических занятий
- •Тема 4. Элементы алгоритмического языка Pascal
- •Вопросы и задания для практических занятий
- •Тема 5: Структура программы
- •Задания для практических занятий
- •Раздел 6.1 Линейная алгоритмическая структура
- •Задания к практическим занятиям
- •Раздел 6.2 Алгоритмическая структура – ветвления
- •Где If, then, else – зарезервированные слова
- •Задания к практическим занятиям
- •Задания для практических занятий
- •Раздел 6.3 Алгоритмическая структура - циклы
- •Оператор цикла с постусловием Repeat . . . Until
- •Задание для практических занятий
- •Тема 7. Структурированные типы данных
- •7.1 Массивы
- •Двумерный массив (матрица)
- •Задания для практических занятий
- •7.2 Множества
- •Задания и вопросы к практическим
- •7.3 Записи
- •Вопросы к практическим занятиям
- •Задание к практическим занятиям
- •Задания к практическим занятиям
- •Тема 8. Строки
- •Задания к практическим занятиям
- •Тема 9. Подпрограммы (Процедуры. Функции)
- •Пример:
- •Задания к практическим занятиям
- •Тема 10. Графика
- •В tp принята следующая система координат графического режима.
- •Задание к практическим занятиям
- •Меры длины
- •Линии и точки
- •Процедура SetLineStyle. Устанавливает новый стиль вычерчиваемых линий.
- •Список литературы
- •Пособие для изучения дисциплины «Вычислительная техника и программирование»
- •Специальности 6.070200 «радиофизика и электроника»
7.2 Множества
Множества – это наборы однотипных, логически связанных друг с другом объектов. Количество элементов, входящих в множество меняется в пределах от 0 до 256. Описание типа множества имеет вид:
<имя типа> = SET OF < баз.тип>,
где:
<имя типа> - правильный идентификатор;
SET OF – зарезервированные слова (множество, из);
< баз.тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD, INTEGER, LONGINT
Пример. Задание множества:
type
digitchar = set of ‘0’. .’9’;
digit = set of 0 . . 9;
var
s1, s2, s3 : digitchar;
s4, s5, s6 : digit;
begin
. . .
s1 :=[‘1’, ’2’, ’3’];
s2 :=[‘3’, ’2’, ’1’];
s3 :=[‘2’, ’3’];
s4 :=[0. .3, 6];
s5 :=[4, 5];
s6 :=[3. .9];
. . .
end.
В примере множества s1 и s2 эквивалентны, множество s3 включено в s2, но не эквивалентно ему.
Над множествами определены следующие операции:
* - пересечение множеств; результат содержит элементы одинаковые для двух множеств; s4*s6 содержит [3], s4*s5 – пустое множество.
+ - объединение множеств; результат содержит элементы первого множества, дополненные недостающими элементами из второго множества.
s4+s5 содержит [0, 1, 2, 3, 4, 5, 6];
s5+s6 содержит [ 3,4,5,6,7,8,9];
разность множеств; результат содержит элементы из первого множества, которые не принадлежат второму:
s6-s5 cодержит [3,6,7,8,9];
s4-s5 cодержит [0,1,2,3,6];
= проверка эквивалентности; возвращает TRUE, если оба множества эквивалентны.
<> проверка неэквивалентности; возвращает TRUE, если оба множества неэквивалентны.
<= проверка вхождения; возвращает TRUE, если первое множество включено во второе.
>= проверка вхождения; возвращает TRUE, если второе множество включено в первое.
In – проверка принадлежности.
Наиболее часто используют две процедуры:
INCLUDE – включает новый элемент во множество.
Include (S, I)
EXCLUDE - исключает элемент из множества.
Exclude (S,I).
Задания и вопросы к практическим
Что понимается под множеством?
Какие вы знаете операции над множествами в математике?
Как записываются операции над множествами в языке Паскаль?
Как задаются множества?
Что такое пустое множество и как оно задается?
Как организовать вывод элементов множества?
Имеются три множества символьного типа, которые заданы своими конcтрукторами:
Y1=[‘A’,’B’,’D’,’R’,’H’];
Y2=[‘R’,’A’,’H’,’D’];
Y3=[‘A’,’R’]
Сформировать новое множество:
X=(Y1 Y2) (Y1\Y2)
Вывести на печать полученное множество. Проверить включено ли множество Y3 во множество X.
type день недели = (пн,вт,ср,чт,пт,сб,вс);
Описать множественный тип, включающий в себя множества из:
a) название любых дней недели;
b) название рабочих дней недели.
var s:set of char; c,d:char;
Переменной S присвоить:
пустое множество;
множество из строчных гласных латинских букв (a,e,i,o,u);
множество из всех цифр;
множество литер, которые больше c, но меньше d (c<d).
type день недели = (пн,вт,ср,чт,пт,сб,вс);
рабочий день= пн. .пт;
var wd: день недели; t:boolean;
Требуется переменной t присвоить значение true, если wd – рабочий день, и значение False иначе.
Не используя дополнительные переменные, поменять местами значения переменных-множеств А и В.
Var x, y, z: set of 8 . . 22;
Переменной х присвоить множество всех целых чисел от 8 до 22, переменной y – множество всех простых чисел из этого диапазона, а переменной z – множество всех составных чисел из этого же диапазона.
type M=set of 0 ..99;
Описать функцию card(A), подсчитывающую количество элементов в множестве А типа М. (yапример, card([5,8,23])=3).
const n=10;
type номер = 1..n;
матрица = array [номер, номер] of real;
ном=set of номер;
Описать функцию sum(A, s1,s2) вычисляющую сумму тех элементов матрицы А, номер строк и столбцов которых принадлежит соотвественно непустым множествами s1 и s2 ном.
var A, B: set of char; x:char;
Переменной В присвоить множество, полученное из А:
добавлением элемента х;
удалением элемента х.