Operator arytmetyczny w programowaniu – operator dostępny w określonym języku programowania (a także w innych językach komputerowych oraz w programach komputerowych), który działając na podanych argumentach reprezentujących wartości liczbowe, w wyniku zwraca również wyznaczoną wartość liczbową, realizując podstawowe operacje arytmetyki.

To jakie operatory arytmetyczne są dostępne w konkretnym języku programowania zależy od jego składni, a to jakie są zasady ich stosowania, w tym priorytet tych operatorów i kolejność opracowywania argumentów, od przyjętej przez autorów języka lub implementacji konwencji. Zróżnicowany jest również sposób zapisu operatorów arytmetycznych w poszczególnych językach: stosuje się zapis, bądź za pomocą symboli (znaku lub znaków nie będących literami), w konwencji zbliżonej do matematycznej, bądź zdecydowanie rzadziej w postaci słów kluczowych. Stosowane są operatory arytmetyczne jednoargumentowe – operator zmiany znaku i rzadziej zachowania znaku, oraz dwuargumentowe – np. dodawania, odejmowania, mnożenia, dzielenia i inne.

Dostępne operatory arytmetyczne Operatory arytmetyczne udostępnione w językach komputerowych realizują następujące operacje arytmetyczne: jednoargumentowe: zmiana znaku liczby (wyznaczenie liczby przeciwnej) zachowanie znaku liczby inkrementacja dekrementacja i inne dwuargumentowe dodawanie odejmowanie mnożenie dzielenie dzielenie całkowitoliczbowe reszta z dzielenia całkowitoliczbowego (modulo) potęgowanie i inne wieloargumentowe.

Zapis i stosowanie Operatory arytmetyczne stosuje się w wyrażeniach, w celu wykonania określonych obliczeń. Zapisuje się je kodzie źródłowym za pomocą symboli określonych przez autorów konkretnego języka komputerowego lub jego implementacji. Symbole operatorów arytmetycznych w znacznej mierze przypominają symbole stosowane w matematyce, lecz w dostosowaniu do systemu komputerowego i stosowanego w nim zestawu znaków, a także znaków dostępnych bezpośrednio z konsoli operatora (np. klawiatury). Języki opracowane z uwzględnieniem powyższych uwag zapewniają użytkownikowi ułatwienie w czytaniu i rozumieniu zapisanych wyrażeń przy równoczesnym ułatwieniu w ich wprowadzaniu oraz użytkowaniu całego systemu. W starszych językach mogą być używanie symbole obecnie niedostępne z poziomu współcześnie stosowanych klawiatur, co stanowi zaszłość tych języków. Pewne symbole stosowane są powszechnie. Przykładem mogą być symbole dodawania i odejmowania, dla których stosuje się symbole stosowane także w matematyce: plus „+” i minus „-”. Dla innych operacji zapis może być zróżnicowany, np. dla dzielenia liczb całkowitych stosuje się symbole: „/” „\”, „div”; dla wyznaczenia reszty z takiego dzielenia stosuje się symbole: „%”, „mod”, i inne.

Istotnym zagadnieniem przy opracowywaniu zestawu operatorów arytmetycznych dla języka lub programu komputerowego jest optymalne określenie łączności i priorytetów tych operatorów, zarówno względem siebie, jak i względem innych operatorów, takich jak operatory logiczne, relacji, bitowe i inne. Zagadnienia te decydują bowiem o kolejności wykonywania działań. Dominują rozwiązania zgodne z zasadami wywodzącymi się z matematyki (np. wyższy priorytet operatorów mnożenia i dzielenia, w stosunku do dodawania i odejmowania). Istnieją taż takie rozwiązania, dla których zmieniono te zasady: np. w języku APL wszystkie operatory mają jednakowy priorytet, a więc wykonywane są w kolejności ich wystąpienia w wyrażeniu. Jednak według literatury przedmiotu takie podejście prowadzić może do większej ilości błędów i utrudnia korzystanie z systemu, którego działanie niezgodne jest z przyzwyczajeniami i intuicją użytkowników. Zmiana kolejności obliczeń jest w językach lub programach komputerowych możliwa za pomocą nawiasów. Osobną grupę stanowią języki lub programy komputerowe, w których zagadnienia te nie występują, bowiem stosowany jest w nich, zamiast zapisu infiksowego wyrażeń, zapis w odwrotnej notacji polskiej, np. język Forth.

Operatory arytmetyczne w językach komputerowych + Operatory arytmetyczne w językach komputerowych język komputerowy jednoargumentowe dwuargumentowe wieloarg. znak inkr/dekr inne dodawanie odejmowanie mnożenie dzielenie dzielenie l. całk. modulo potęg. inne zmiana zach. inkr. dekr. BCPL - + ABS, #ABS + - * / / MOD (REM) #+, #-, #*, #/ C, C++ - + ++ -- + - * / / % Cobol (OpenCOBOL) - + +(ADD) -(SUBTRACT) *(MULTIPLY) /(DIVIDE) ** D - + ++ -- + - * / / % Forth NEGATE 1+ 1- np. 2+, 2-, ABS + - * / MOD np. /MOD np. */, */MOD Fortran 90/95 - + + - * / ** JavaScript - + ++ -- + - * / / % MCPL - + ++ -- +++, ---, ABS + - * / / MOD Pascal - + + - * / div mod Perl - + ++ -- + - * / / % ** Visual BasicVBA - + + - * / \ mod ^

Uwagi

Przypisy

Bibliografia

Kategoria:Konstrukcje programistyczne