рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Множини

Множини - раздел Философия, Алгоритмічна мова TURBO PASCAL Множина – Це Структурований Тип Даних, Що Являє Собою Набip Взаємо - П...

Множина – це структурований тип даних, що являє собою набip взаємо - пов'язаних за якоюсь ознакою або групою ознак об'ектiв, якi можна розглядати як єдине цiле. Кожний член множини називається елементом множини. Всi елементи множини повиннi належати одному з скалярних типiв, за виключенням дiйсного. Цей тип називаеться базовим типом множини. Базовим типом може бути довільний перелічувальний тип, окрім Word, Integer, LongInt.

Область значень типу множина – набiр всiх можливих пiдмножин, які складаються з елементiв базового типа.

На Паскалi значення елементiв множини вказується в квадратних дужках: [1, 2, 3, 4], ['а', 'b', 'c'], ['a'..'z']. Якщо множина не має елементiв, вона називається пустою i позначаеться як [ ]. Опис типу множини:

Type < iм'я типу > = Set of < базовий тип >;

Var < iдентифікатор,... > : < iм'я типу >;

Намагання присвоїти iншi значення множинi (що не вiдповiдають базовому типу) викликає переривання роботи програми.

Приклад:

Type Proste = Set of (3, 5, 7, 11, 13);

Nomer = Set of 1..31;

Symbol = Set of Char;

Var Pr : Proste; N : Nomer; SM : Symbol;

Bukva : Set of (‘a’, ‘e’, ‘i’, ‘j’);

Begin

Pr:=[3]; Bukva:=[a, j]; SM:=[‘A’..’Z’];

Кількість елементів множини не повинна перевищувати 256, тому номери значень базового типу знаходяться в діапазоні 0..255.

 

6.2.1.1. Операції з множинами

Результатом виразів з множинами є значення True або False, в залежності від істинності виразу.

Операція: =. Дві множини A і B рівні, якщо воні складаються з одних і тих самих елементів. Порядок слідування елементів значення немає.

Приклад:

А B Результат
[1,2,3,4] [‘a’,’b’,’c’] [‘a’,..,’z’] [1,4,3,2] [‘c’,’a’] [‘z’,..,’a’] A=B True A=B False A=B True

 

Операція: <>. Дві множини A і B вважаються не рівними, якщо воні відрізняються хоча б одним елеементом.

Операція: >=. Результат A>=B рівний True, якщо всi елементи множини B мiстяться в A.

Операцiя: <=. Виконується аналогічно >=.

Операцiя: IN.Перевiряє належність деякого заданого значення вказанiй множині. В цій бінарній операції перший елемент – вираз, а другий – множина одного і того ж типу. Повертає True, якщо вираз має значення, що належить множині. Використовується, як правило, в умовних операторах.

Приклад:

Значення A Вираз Результат
'v' if A in [1,2,3] then if A in ['а'..'n'] then if A in [10..20] then True Fаlse Fаlse

Об'єднанням множин: +. Об'єдннанням двох множин є множина, яка містить елементи обох множин.

Приклад:

Значення А Значення В Вираз Результат

[1, 2, 3] [1, 4, 5] A + B [1, 2, 3, 4, 5]

Пересiчення множин: *. Пересiчення двох множин є третя множина, яка містить елементи, що входять одночасно в обидвi множини.

Приклад:

Значення А Значення В Вираз Результат

[1, 2, 3] [1, 4, 2, 5] А * В [1, 2]

Рiзниця множин: –. Різницею двох множин є третя множина, яка мiстить елементи першої множини, що не входять в другу.

Приклад:

Значення А Значення В Вираз Результат

[1, 2, 3, 4] [3, 4, 1] А - В [2]

Операцiя: :=. Присвоєння значення множині. Приклад: A:=A+[5];

В доповнення до цих операцій можна використовувати дві процедури:

Include(S, I ) – включає новий елемент до множини. Тут S – множина, що складається з елементів базового типу TSetBase; I – елемент TSetBase, який необхідно включити до множини.

Exclude(S, I) – виключає елемент І з множини S.

Розглянемо приклад програми, що реалізує алгоритм виділення з першої сотні натуральних чисел всіх простих чисел (таких, що діляться без остачі лише на самих себе і 1). В основі цього алгоритма лежить прийом, який відомий, як “решето Ератосфена”. У відповідності з цим алгоритмом спочатку формується множина BeginSet, яка складається з усіх цілих чисел в діапазоні від 2 до N. В множину PrimerSet (вона буде містити прості числа) вміщується 1. Потім циклічно повторюються такі дії:

· взяти з BeginSet число Next, яке входить в нього першим і помістити його в PrimerSet;

· вилучити з BeginSet число Next і всі інші числа, кратні йому, тобто 2* Next, 3* Next і т.д.

Цикл повторюється до тих пір, поки множина BeginSet не стане пустою. Цю програму не можна використовувати для довільного N, оскільки в довільній множині не може бути більше 256 елементів.

Program SampleNumber;

Const N = 255;

Type SetOfNumber = Set of 1..N;

Var

N1, Next, i : Word;

BeginSet, PrimerSet : SetOfNumber;

S : String;

Begin

BeginSet:=[2..N]; { Створюємо початкову множину }

PrimerSet:=[1]; { Створюємо перше просте число }

Next:=2; { Наступне просте число }

While BeginSet<>[ ] do begin

N1:=Next;

While N1<=N do begin

Exclude(BeginSet, N1); { Вилучення кратного з множини }

N1:=N1+Next; { Наступне кратне }

End;

Include(PrimerSet, Next); { Включення простого числа в множину}

Repeat

Inc(Next); { Пошук наступного простого числа }

Until (Next in BeginSet) or (Next > N)

End;

S:=’1’;

For i:=2 to N do

If i in PrimerSet then S:=S+’,’+Str(i);

Writeln(‘Список чисел: ‘, S);

End.

Приклад:

Виконати операцію об’єднання над заданими множинами a i b:

Текст програми

Program suma ;

Type

p=1..100;

M=set of p;

Var

A,B,C:M;

x:p;

Begin

A:=[1,2,3];

B:=[2,4,6,8];

C:=A+B;

Writeln('Об’єднання множин');

write('C=');

for x:=1 to 100 do

if x in C then

write (x);

writeln;

end.

Результат виконання програми

Об’єднання множин

С=123468

 

– Конец работы –

Эта тема принадлежит разделу:

Алгоритмічна мова TURBO PASCAL

Дрогобицький державний педагогічний університет... імені Івана Франка... Методичний посібник...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Множини

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Система вiкон середовища
Практично всi основнi операцiї в середовищi TURBO PASCAL здiйснюються з допомогою вiкон – видiлених дiлянок поля екрану, в яких розмiщується певна iнформацiя. Користувач може вiдкрити або закрити в

Replace
FILE1.PAS FILE7.PAS FILE2.PAS FILE8.PAS FILE3.PAS FILE9.PAS Cancel FILE4.PAS FILE10.PAS FILE5.PAS FILE11.PAS Help FILE

OK Cancel Help
  ¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ Для того, щоб встановити в тригерному списк

Меню роботи з файлами (File)
Дане меню призначено для виконання операцій з файлами. Воно містить такі команди: New (створити новий файл). Відчиняє нове пусте вікно редагування та присвоює нов

Меню редагування (Edit)
Меню редагування дозволяє виконувати ряд операцій з фрагментами тексту. Виділити такий фрагмент легше всього з допомогою клавіші Shift та клавіші переміщення курсора малої клавіатури. Це меню місти

Меню виконання програми (Run)
Меню дозволяє запускати програму, а також виконувати окремі частини програми під час її відлагодження. Run (запустити програму). Запускає програму, якщо текст її

Меню вiкон (Window).
Меню дозволяє вiдкривати, закривати, активiзувати вiкна, розмiщувати їх в полi екрану. Tile (розмiщення вiкон встик). Вiкна розмiщуються в полi екрану встик один

Збереження файлу
Для збереження файлу, розміщеного у біжучому вікні редактора, необхідно натиснути клавішу F2, або перейти в основне меню (за допомогою клавіші F10) і вибрати команду File/Save. В цьому випадку файл

Завдання
1. Запустити в каталозі користувача інтегральне середовище Turbo Pascal (<Каталог Pascal>BinTurbo.exe). 2. Створити нову Pascal-програму (File|New). Текст програми: Begin Write(‘Hell

Загальна структура Pascal-програми
Синтаксично Pascal-програма складається з заголовку i блоку. Блок включає двi частини: описову (роздiл описiв) - опис даних, якими оперує програма, i виконавчу (роздiл операторiв) - послiдовность д

Таблиця 1
Функція Матем. вигляд Аргумент Тип аргументу Тип результ. Приклад Abs(x) S

Таблиця 2
Операція Дія Типи операндів Тип результата Бінарні:     &nb

Введення та виведення в Pascal
В мові Pascal відсутні оператори введення-виведення. Їх функцію виконують процедури READ, READLN, WRITE, WRITELN, робота яких базується на пристроях MS DOS або CP-M. Ввід даних, це передач

Завдання
1. 2.

Таблиця 4
Операцiя Назва операції Вираз Результат = <> > < >= <= рiвно нерi

Таблиця 5
Операція Дія Вираз A B Результат not   Логічне заперечення

Таблиця 6
Операція Прiоритет Вид операцiї @, not, +, - *, /, div, mod, and, shl, shr +, -, or, xor =, < >, <, >,

Завдання
Скласти програми розв’язку вказаних нижче завдань використовуючи умовні оператори IF та CASE. 1.

Масив (регулярний тип)
Масив утворюється із фіксованого числа компонентів одного типу. Число компонентів масиву є константою, яка задається при його описі. При визначенні масиву задається як тип компонентів, так і

Завдання
Варіант 1 1.   2.

Таблиця 7
Операція Функції Pascal Довжина рядка Копія фрагмента Пошук фрагмента Заміщення фрагмента Вставлення фрагмента Вилучення фра

Завдання
Варінт 1 1. Дано лiтерну змiнну довжини N, яка складається з символiв S1, S2, ...,Sn. Cкласти алгоритм та програму на PASCAL, якi дають можливiсть: 2. Вияснити чи

Завдання
1. Дано Type State = (Britain, Usa, France, Sweden, Ukrainia, Belorussia, Russia, Iraq); Senior=(Queen, King, President, Premier); За назвою країни вказати титул голови д

Завдання
- виконати операції над заданими множинами a i b: 1.   2.

Записи з варiантами
Записи, описанi вище, мають строго визначену структуру. В деяких випадках це обмежує їх використання. В Паскалі є можливість задати тип запису, що містить довільне число варіантів структури. Такі з

Завдання
Варіант 1 1. Скласти такі програми на алгоритмичній мові TURBO PASCAL: 2. Обчислення добутку двох комплексних чисел. 3. Обчислення різниці двох комплексн

Таблиця 8
Назва Режим Розмір екрану (в піксилях) Кількість Кольорів Кількість відеосторінок CGA

Системи координат
Верхній лівий кут графічного екрану має координати (0, 0). Значення Х (номера стовпця) збільшується зліва направо. Значення Y (номер рядка) збільшується зверху вниз. Для графічного адаптер

Завдання
1. Написати фрагмент програми, яка будує на екрані керований рухомий об’єкт – такий, що натискання клавіші приводить до відповідного переміщення; якщо ніяка клавіша не натиснута, то об’єкт не рухає

Процедури користувача
Являють собою поіменовану групу операторів, що реалізують деяку частину загальної задачі. Ця поіменована група викликається за іменем з довільного місця розділу оператарів. Опис процедури включає з

Функцii користувача
Pascal надає користувачу можливiсть самому реалiзувати потрiбнi йому алгоритми в видi функцiй i звертатися до них з програми. Опис функції складається з заголовку та тіла функції. Формат з

Параметри
Параметри процедур та функцій можуть мати довільний тип, включаючи структурований. Pascal використовує два різних види параметрів в процедурах і функціях: параметри-значення та параметри-змінні.

Завдання
Скласти програми обчислення заданих виразів з використанням функцій користувача та процедур: Варіант 1 1. Дано дійсні p, q. Обчислити де

Завдання
1. Дано текстовий файл F.txt. Виключити пробіли, що стоять у кінці його рядків. Результат помістити в файл F1.txt. 2. Дано текстовий файл F.txt. Переписати компоненти файлу F.txt в файл G.

Завдання
1 - 6. Організувати файл прямого доступу "Відомість успішності студентів", компонентами якого є: прізвище, номер групи, екзаменаційні оцінки (аналіз, алгебра, програмування):

Помилки, що виявляються DOS
1. Invalid function number(Неправильний номер функції). Ви намагаєтеся викликати неіснуючу функцію DOS. 2. File not found(Не знайдений файл). Пом

Помилки введення - виведення
Якщо один з операторів компілювався з директивою {$I+}, то помилка введення-виведення приводить до припинення виконання програми. У стані {$I-} програма продовжує виконуватися, а помилка повертаєть

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги