не має: [5,10] i [10,5] - це одна й та ж множина.
Кількість елементів у множині є обмеженою і залежить від реалізації мови.
Дії над множинами : 1. Об’єднання , перетину і різниці;
2. Порівняння ;
3. Шукання елемента в множині.
1. Об’єднання множин – це множина, яка містить усі елементи цих смножин без повторень. Символ операції + .
Перетин множин - це множина, яка складається з елементів , які є спільними для всіх множин. Символ операції *.
Різницею множин А і В є множина, яка складається з елементів, що є в А , але не є в В. Визначаючи різницю множин А і В у множині А потрібно викреслити елементи, які є у множині В. Символ операції – .
2. Множини порівнюють між собою. Результат порівняння множин є дане логічного типу.
Для перевірки , чи дві множини однакові, чи ні, використовують операції порівняння = чи < >.
Множина А є підмножиною множини В (записують A<=B), якщо кожний елемент множини А є елементом множини В.
Множина А є надмножиною множини В (пишуть A>=B), якщо кожний елемент множини В є елементом множини А.
3. Шукають потрібний елемент у множині за допомогою конструкції
IF<елемент базового типу >IN<множина >THEN
< оператор {елемент є у множині}>
ELSE
<оператор {елемента немає у множині}> ;
Можна використати коротку форму:
IF<елемент >IN<множина >THEN<оператор>
Операції введення –виведення множин реалізовують поелементно, якщо такі операції визначені над елементами базового типу.
ОПИС ТИПІВ МНОЖИН І ОГОЛОШЕННЯ ЗМІННИХ.
Тип множини описують у розділі опису типів так :
TYPE < назва типу >=SET OF<базовий тип>.
Тут SET OF – зарезервовані слова, а базовим типом можуть бути тип char ,перерахований або діапазонний тип чи інший простий тип , але не типи integer, real тощо, оскільки кількість елементів у множині є обмеженою.
Змінні оголошують у роздіилі оголошення змінних.
Оператори присвоєння та вирази
Оператор присвоєння має вигляд
<ім’я змінної >:=<вираз>.
Вираз складається зі сталих чи змінних типу множина , над якими можна виконати операції +, *, – . Типи елементів множин , що є у виразі , повинні збігатися.
23. Структуровані складені типи даних: масиви, рядки.
Масив(Array ) – це скінченний набір елементів одного(базового) типу, які зберігаються в послідовно розташованих комірках оперативної памяті і мають спільну назву. У математиці поняттю «масив» відповідають поняття вектора та матриці. Розрізняють одно- та багатовимірні масиви.
Двовимірний масив даних – це таблиця, що складається з декількох рядків. Загальний вигляд конструкції опису типу масиву такий:
Array[<розмір>]of<назва базового типу>;
Розмір(кількість елементів) масиву найчастіше задають у вигляді діапазону або назви деякого перерахованого типу даних. Описати масив можна у розділі опису типів type, у розділі констант const або у розділі оголошення змінних var. Назви типів масивів і змінних-масивів придумує користувач.
Над масивами визначена єдина команда копіювання: a:=a1 – усі значення масиву а1 будуть присвоєні відповідним елементам масиву а. усі інші операції, наприклад, присвоєння конкретних значень, додавання, множення, тощо визначені лише над елементами масиву.
Доступ до елемента масиву здійснюється через назву масиву і номер елемента. Цей номер(його часто називають індексом) записується у квадратних дужках.
Щоб опрацювати всі елементи масиву використовують команду циклу for(while, repeat).
Елементи двовимірного масиву(дані можуть бути подані у вигляді таблиці) визначаються іменем масиву та двома індексами: перший – означає номер рядка, другий – стовпця, на перетині яких стоїть елемент.
Дане типу рядок – це послідовність довільних символів(тобто елементів типу char). Сталі типу рядок записують за допомогою двох штрих-символів, які охоплюють текст. Рядок може містити від 0 до 255 символів. Наприклад, ‘Україна’, ‘Львівська політехніка’, ‘’ – порожный рядок нульової довжини, ‘ ’ – рядок, що містить один символ – пропуск.
Змінну типу рядок огоглошують за допомогою слова string так:
Var <змінна>: string[n];
Де n – довжина рядка, n<256. довжину рядка можна не зазначати. Приклад, const slovo=’University’;
Var fraza1:string[45];
Fraza2:string;
Над змінними типу рядок визначені операції зєднання(+) та порівняння(<, <=, >, >=, =, <>). Порівняння двох рядків здійснюється зліва направо до перших різних символів, причому ‘A’<’B‘, ‘B’<’C’ тощо.
«Більше» вважається символ, який розташований в алфавіті(він має більший номер у таблиці кодів компютера ASCII). Числовий код символу дає функція ord /ord(‘B’)=66/. Зворотну дію виконує функція chr: /chr 66 дає ‘B’/.
24. Типи рядок. Стандартні процедури і функції роботи з рядковими типами даних.
Дане типу рядок – це послідовність довільних символів(тобто елементів типу char). Сталі типу рядок записують за допомогою двох штрих-символів, які охоплюють текст. Рядок може містити від 0 до 255 символів. Наприклад, ‘Україна’, ‘Львівська політехніка’, ‘’ – порожный рядок нульової довжини, ‘ ’ – рядок, що містить один символ – пропуск.
Змінну типу рядок огоглошують за допомогою слова string так:
Var <змінна>: string[n];
Де n – довжина рядка, n<256. довжину рядка можна не зазначати. Приклад, const slovo=’University’;
Var fraza1:string[45];
Fraza2:string;
Над змінними типу рядок визначені операції зєднання(+) та порівняння(<, <=, >, >=, =, <>). Порівняння двох рядків здійснюється зліва направо до перших різних символів, причому ‘A’<’B‘, ‘B’<’C’ тощо.
«Більше» вважається символ, який розташований в алфавіті(він має більший номер у таблиці кодів компютера ASCII). Числовий код символу дає функція ord /ord(‘B’)=66/. Зворотну дію виконує функція chr: /chr 66 дає ‘B’/.
Над даними типу рядок визначені такі стандартні функції:
Length(<рядок>) – визначає кількість символів у рядку;
Copy(r, m, n) – дає n символів рядка r, починаючи з символу з номером m;
Concat(r1, r2, …,rn) – зєднує рядки r1, …,rn в один рядок.
Pos(r1,r2)