:: ECONOMY :: ПРІОРИТЕТ ОПЕРАЦІЙ НАД МНОЖИНАМИ В МОВІ PYTHON :: ECONOMY :: ПРІОРИТЕТ ОПЕРАЦІЙ НАД МНОЖИНАМИ В МОВІ PYTHON
:: ECONOMY :: ПРІОРИТЕТ ОПЕРАЦІЙ НАД МНОЖИНАМИ В МОВІ PYTHON
 
UA  RU  EN
         

Світ наукових досліджень. Випуск 29

Термін подання матеріалів

23 квітня 2024

До початку конференції залишилось днів 27



  Головна
Нові вимоги до публікацій результатів кандидатських та докторських дисертацій
Редакційна колегія. ГО «Наукова спільнота»
Договір про співробітництво з Wyzsza Szkola Zarzadzania i Administracji w Opolu
Календар конференцій
Архів
  Наукові конференції
 
 Лінки
 Форум
Наукові конференції
Наукова спільнота - інтернет конференції
Світ наукових досліджень www.economy-confer.com.ua

 Голосування 
З яких джерел Ви дізнались про нашу конференцію:

соціальні мережі;
інформування електронною поштою;
пошукові інтернет-системи (Google, Yahoo, Meta, Yandex);
інтернет-каталоги конференцій (science-community.org, konferencii.ru, vsenauki.ru, інші);
наукові підрозділи ВУЗів;
порекомендували знайомі.
з СМС повідомлення на мобільний телефон.


Результати голосувань Докладніше

 Наша кнопка
www.economy-confer.com.ua - Економічні наукові інтернет-конференції

 Лічильники
Українська рейтингова система

ПРІОРИТЕТ ОПЕРАЦІЙ НАД МНОЖИНАМИ В МОВІ PYTHON

 
26.07.2021 21:32
Автор: Бабаков Роман Маркович, кандидат технічних наук, доцент, доцент кафедри інформаційних технологій, Донецький національний університет імені Василя Стуса
[Інформаційні системи і технології]

Теорія множин є необхідним математичним підґрунтям у підготовці фахівців в галузі інформаційних технологій. Зазвичай даний розділ викладається в межах дисципліни «Дискретна математика» і передбачає, серед іншого, знайомство з основами алгебри множин. 

В аксіоматичній теорії множин прийнято розглядати п’ять операцій над множинами: доповнення, перетин, об’єднання, різницю та симетричну різницю [1, 2]. Разом із множинами дані операції можуть утворювати алгебраїчні вирази, результат обчислення яких залежить від послідовності виконання операцій, яка в свою чергу, визначається пріоритетом операцій. Розглянемо докладно питання пріоритету операцій в алгебрі множин.

Серед перелічених операцій найвищий пріоритет має операція доповнення, яка є одномісною операцією і аналогічна операції «унарний мінус» в елементарній алгебрі. Нижчий пріоритет має операція перетину, ще нижчий – операція об’єднання. Ці пріоритети покладені в основу ряду законів (тотожностей), таких як асоціативність, комутативність, дистрибутивність та інші [3, 4].

Слід відзначити, що в сучасній теорій множин пріоритет операцій різниці та симетричної різниці не є однозначно визначеним. Аналіз літературних дозволяє виявити наступні чотири нотації щодо визначення їх пріоритету [1-5]:

1. Операції різниці і симетричної різниці мають однаковий пріоритет з операцією об’єднання множин, і при обчисленні алгебраїчного виразу виконуються (за відсутності дужок) в порядку зліва направо (тобто є ліво-асоціативними):




2. Операції різниці і симетричної різниці мають однаковий пріоритет, нижчий за операцію об’єднання множин, і при обчисленні алгебраїчного виразу виконуються (за відсутності дужок) в порядку зліва направо (є ліво-асоціативними):




3. Пріоритетів операцій над множинами не існує взагалі. У будь-яких алгебраїчних виразах обов’язково треба ставити дужки, які визначатимуть пріоритет операцій:




4. Кожен математик вільний самостійно визначати пріоритети даних операцій в своїх наукових працях, при цьому зобов’язаний повідомляти читача про обрані пріоритети на початку своїх праць, а в самих працях строго дотримуватись обраних пріоритетів.

Питання пріоритетів операцій різниці і симетричної різниці стає принциповим при використанні мов програмування, що підтримують операції над множинами. Однією з таких мов є мова Python [6, 7]. Завдяки відносно низькому порогу входження, Python часто викладається у вишах приблизно в той час, що й курс дискретної математики, і може використовуватись в якості інструменту при вивченні та практичному застосуванні теорії множин.

З документації до мови Python випливає наступне. При виконанні операцій над множинами (над змінними типу set) використовуються перевантажені оператори «&», «|», «–» та «^», які відповідають операціям перетину, об’єднання, різниці та симетричної різниці відповідно. Однак незалежно від того, що ці оператори застосовуються до змінних-множин, їх пріоритет зберігається таким, як при використанні з іншими типами даних. В мові Python існує загальна таблиця пріоритетів, відповідно до якої пріоритети наведених вище операторів розташовуються наступним чином (в порядку зменшення):




Як можна бачити, в мові Python найвищий пріоритет має операція різниці множин, найнижчий – об’єднання множин. Операція доповнення в даному випадку не розглядається оскільки реалізується за допомогою операції різниці між універсальною множиною (універсумом) і заданою множиною. 

Для перевірки використаємо наступний фрагмент Python-коду:




Тут змінна D1 отримує значення алгебраїчного виразу, що містить розглянуті оператори без застосування дужок. Змінна D2 отримує значення того самого виразу, однак першими виконуються усі операції «–», що мають у мові Python найвищий пріоритет. Змінна D3 отримує значення виразу, однак першими виконуються усі операції «–», другими – усі операції «&». Змінна D4 отримує значення виразу, однак першими виконуються усі операції «–», другими – усі операції «&», третіми – усі операції «^». Нарешті, змінна D5 отримує значення виразу, в якому останніми виконуються усі операції «|» в порядку зліва направо. Результат виконання програми показує, що кожна з функцій print виводить однаковий результат {0, 1, 4, 6, 7}. Це свідчить про тотожність виразів, за якими обчислюються змінні D1 – D5, та про правильне розуміння пріоритетів операцій над множинами в Python.

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

Список використаних джерел:

1. Куратовкий М., Мостовский А. Теория множеств. – М.: Мир, 1970. – 416 с.

2. Таран Т.А. Основы дискретной математики. – К.: «Просвіта», 2003. – 288 с.

3. Бондаренко М.Ф., Білоус Н.В., Руткас А.Г. Комп’ютерна дискретна математика: Підручник. – Харків: «Компанія СМІТ», 2004. – 480 с.

4. Соболева Т.С., Чечкин А.В. Дискретная математика: учебник для студ. втузов. – М.: Издательский центр «Академия», 2006. – 256 с.

5. Белоусов А.И., Ткачев С.Б. Дискретная математика: Учеб. для вузов / Под ред. В.С. Зарубина, А.П. Крищенко. – 3-е изд., стереотип. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. – 744 с.

6. Васильєв О. Програмування мовою Python. – Тернопіль: «Навчальна книга – Богдан», 2019. – 504 с.

7. Руденко В.Д., Жугастров О.О. Основи алгоритмізації і програмування мовою Python. – Харків: Ранок, 2019. – 192 с. 

Creative Commons Attribution Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License

допомогаЗнайшли помилку? Виділіть помилковий текст мишкою і натисніть Ctrl + Enter


 Інші наукові праці даної секції
КОМП’ЮТЕРИЗАЦІЯ, ІНТЕРНЕТИЗАЦІЯ ТА ІНФОРМАТИЗАЦІЯ В ОСВІТІ
28.07.2021 22:10




© 2010-2024 Всі права застережені При використанні матеріалів сайту посилання на www.economy-confer.com.ua обов’язкове!
Час: 0.165 сек. / Mysql: 1367 (0.126 сек.)