Черговість операцій![]() У математиці та програмуванні, черговість операцій — правила, які використовують для однозначного трактування порядку виконання операцій в даному математичному виразі. Наприклад, в математиці та більшості комп'ютерних мов множення виконується раніше ніж додавання; у виразі 2 + 3 × 4, відповідь 14. Дужки, які мають свої власні правила, можуть бути використані для уникнення плутанини, тож попередній вираз може бути записаний як 2 + (3 × 4), але тут дужки необов'язкові, бо множення першочергове. В сучасній формі алгебраїчного запису, де безпосереднє сусідство змінних позначає множення, множення має першочерговість порівняно з додаванням, з якого боку воно б не з'являлось.[1] Тож 3 + 4 × 5 = 4 × 5 + 3 = 23. Коли піднесення до степеня було вперше введено в XVI і XVII сторіччях, воно отримало старшинство над множенням і додаванням, а показник степеня може знаходитись лише як правий надрядковий індекс бази. Тож 3 + 52 = 28 and 3 × 52 = 75. Якщо потрібно замінити правила пріоритету або навіть просто підкреслити їх, можна використовувати круглі дужки ( ). Наприклад, (2 + 3) × 4 = 20 змушує додавання передувати множенню, а (3 + 5) 2 = 64 змушує додавання передувати піднесенню до степеня . Якщо в математичному виразі потрібно кілька пар дужок (наприклад, у випадку вкладених дужок), дужки можна замінити іншими типами дужок , щоб уникнути плутанини, як у [2 × (3 + 4)] − 5 = 9 . Ці правила мають сенс лише тоді, коли використовується звичайна нотація (інфіксна нотація). Якщо для всіх операцій використовується функціональна або польська нотація , порядок операцій випливає з самої нотації. Традиційна черговість операційПорядок операцій, тобто порядок, у якому зазвичай виконуються операції у виразі, є результатом певних домовленостей, прийнятих в математиці, науці, техніці та багатьох мовах комп’ютерного програмування. Операції у виразах виконуються таким чином(за їх наявності): Це означає, що для обчислення виразу спочатку обчислюється будь-який підвираз у дужках, опрацьовуючи їх зсередини назовні, якщо існує більше одного набору дужок. Незалежно від того, в дужках вони чи ні, першою слід виконувати операцію, яка стоїть вище у списку вище. Операції з однаковим пріоритетом традиційно виконуються зліва направо. Як правило, кожну операцію ділення можна замінити множенням на число, обернене дільнику, тому асоціативний і комутативний закони множення дозволяють множити будь-якому порядку. Іноді множенню та діленню надається рівний пріоритет, а іноді множенню надається більший пріоритет, ніж діленню; дивіться Змішане ділення та множення нижче. Оскільки кожне віднімання можна замінити додаванням протилежного, то асоціативний і комутативний закони додавання дозволяють додавати доданки в будь-якому порядку. Символ радикалу традиційно подовжується лінією (vinculum) над підкореневим виразом (це дозволяє уникнути необхідності в дужках навколо підкореневого виразу). Алгебраїчні та тригонометричні функції використовують дужки навколо аргументу, щоб уникнути неоднозначності[2][3]. Дужки в аргументах функцій можна опустити, якщо аргумент є однією числовою змінною або константою, як у випадку sin x = sin( x ) і sin π = sin(π) . Це поширюється і на одночлени: sin 3 x = sin(3 x ) і навіть sin 1/2 xy = sin( xy /2) , але sin x + y = sin( x ) + y , оскільки x + y не є одночленом. Такий запис не є загальнообов'язковим, і деякі автори віддають перевагу явним дужкам. Деякі калькулятори та мови програмування вимагають круглих дужок навколо аргументів функцій, а деякі ні. Символи групування(дужки та лінії) можна використовувати для перевизначення звичайного порядку операцій[4]. Згруповані символи можна розглядати як один вираз. ПрикладиМноження перед додаванням: Підвирази в круглих дужках обчислюються спочатку: Піднесення до степеня перед множенням, множення перед відніманням: Коли вираз записується як верхній індекс, верхній індекс вважається згрупованим за його позицією над основою: Операнд підкореневого виразу обмежується верхньою лінією: Символом групування також виступає горизонтальна дробова лінія: Дужки можуть бути вкладеними, і їх слід опрацьовувати зсередини назовні. Для кращого розрізнення зовнішні дужки можна зробити більшими за внутрішні. Крім того, можна використати інші символи групування, такі як фігурні дужки { } або квадратні дужки [ ], іноді вони використовуються разом із круглими дужками ( ) . Наприклад: Особливі випадкиУнарний знак мінусІснують різні угоди щодо унарної операції «−» (мінус). На письмі або друкованих працях вираз −3 2 інтерпретується як −(3 2 ) = −9 [5]. У деяких програмах і мовах програмування, зокрема Microsoft Excel, PlanMaker (та інших програмах для роботи з електронними таблицями) і мові програмування bc, унарні операції мають вищий пріоритет, ніж бінарні операції, тобто унарний мінус має більший пріоритет, ніж піднесення до степеня, тому в цих мовах −3 2 буде інтерпретовано як (−3) 2 = 9[6] . Це не стосується бінарної операції мінус «-»; наприклад, у Microsoft Excel, формула Змішане ділення і множенняНаразі немає універсальної угоди для інтерпретації виразу, який містить і ділення, позначене символом «:» (або символом «÷»), і множення, позначене символом «×» (або символом «·»). Як правило, такі операції мають однаковий пріоритет, і обчислення виконуються зліва направо, порядок дій завжди можна змінити використанням дужок. За межами початкової освіти символ «:» для позначення ділення, використовується рідко, зазавичай його замінюють використанням алгебраїчних дробів[7], які записуються "вертикально", з чисельником над знаменником, що робить групування явним і однозначним, але іноді записується в рядку. використовуючи скісну риску - символ «/». Множення, позначене зіставленням (відоме як неявне множення ), створює візуальний блок і має вищий пріоритет, ніж більшість інших операцій. У академічній літературі, коли вбудовані дроби поєднуються з неявним множенням без дужок, множення традиційно тлумачиться як таке, що має вищий пріоритет, ніж ділення, тобто 1 / 2 n інтерпретується як 1 / (2 · n ) , а не (1 / 2) · n[8] . Наприклад, у вимогах щодо оформлення рукописів до журналу Physical Review прямо стверджується, що множення має пріоритет над діленням[9], і це також умова, яка дотримується в підручниках з фізики, таких як Курс теоретичної фізики Ландау та Ліфшиця та підручники з математики, такі як Конкретна математика Грема, Кнута та Паташника. Однак деякі автори рекомендують не використовувати такі вирази, як a / bc , віддаючи перевагу явному використанню круглих дужок a /( bc ) . Більш складні випадки більш неоднозначні. Наприклад, позначення 1 / 2 π ( a + b ) може правдоподібно означати 1 / [2 π · ( a + b )] або [1 / (2 π )] · ( a + b ) . Іноді інтерпретація залежить від контексту. Інструкції щодо подання на Physical Review рекомендують не використовувати вирази у формі a / b / c , оскільки більш явні вирази ( a / b ) / c або a / ( b / c ) є однозначними. Ця неоднозначність була предметом таких інтернет-мемів , як « 8 ÷ 2(2 + 2) », для яких існує дві суперечливі інтерпретації: 8 ÷ [2 · (2 + 2)] = 1 і (8 ÷ 2) · (2 + 2) = 16. Послідовне піднесення до степеняЯкщо піднесення до степеня позначається складеними символами з використанням верхнього індексу, звичайним правилом є робота зверху вниз:
яка зазвичай не дорівнює ( a b ) c . Ця угода є корисною, оскільки існує властивість зведення до степеня ( a b ) c = a bc , тому для цього немає потреби використовувати послідовне зведення до степеня. Однак, коли піднесення до степеня представлено явним символом, таким як «^» або «↑», загального стандарту немає. Наприклад, Microsoft Excel і мова програмування обчислень MATLAB обраховують Мови програмуванняБільшість мов програмування використовують рівні пріоритету операцій, які відповідають порядку, який зазвичай використовується в математиці хоча інші, такі як APL, Smalltalk, Occam і Mary, не мають правил пріоритету операторів (в APL дії виконуються строго справа наліво, у Smalltalk - строго зліва направо). Крім того, оскільки багато операторів не є асоціативними, порядок в межах будь-якого окремого рівня зазвичай визначається групуванням зліва направо таким чином, що Денніс Річі, творець мови C , сказав щодо пріоритету в C (спільного для мов програмування, які запозичили ці правила з C, наприклад, C++ , Perl і PHP ), що було б краще перемістити порозрядні оператори вище операторів порівняння. Багато програмістів звикли до цього порядку, але в останніх популярних мовах, таких як Python і Ruby цей порядок змінився. У мові C++
У сумнівних випадках слід використовувати дужки. Примітки
|
Portal di Ensiklopedia Dunia