Вероятно вече сте наясно с някои от основните математически оператори, които ще използваме. Преди да ги разгледаме ще обърнем внимание на един термин – операнд. Всеки оператор извършва действие с един или повече параметъра. Тези параметри се наричат операнди. Например в израза 4 * 3, "*" е оператор за умножение, 3 е левия операнд, а 3 е десния.
Аритметични оператори
- + Сумиране. Този оператор приема точно два операнда. Резултатът от действието е тяхната сума.
- ++ Нарастване с 1 (инкрементиране). Приема само един аргумент (променлива) – ляв или десен. Резултатът е стойността на променливата, увеличена с 1.
- - Изваждане. Приема ляв и десен операнд. Резултатът е тяхната разлика.
- -- Нямаляване с 1(декрементиране). Аналогично на “++”, но резултатът е намаляване с единица.
- * Умножение. Също приема два аргумента. Резултатът е тяхното произведение.
- / Делене. Tози опeратор често заблуждава начинаещите! Ако и двата аргумента на деленето са цели числа, то резултатът също се бъде цяло число. При целочислено деление, операторът взима само цялата част и напълно игнорира остатъка. Това означава, че 49 / 10 ще даде резултат 4. Остатъкът (9) ще се игнорира и няма да има закръгление, каквото бихте очаквали (нормално 4,9 би трябвало да се закръгли на 5).
- % Делене с остатък. Този оператор приема ляв и десен операнд. И двата операнда трябва да са цели числа. Резултатът е <b>само остатъка </b> от тяхното делене. Така например 49 % 10 ще върне резултат 9. Забележете, че се връща остатък, а не дробна част. 8 % 4 ще върне 0.
number = 5; number++;
Сега променливата "number" има стойност 6.
Оператори за присвояване
Това са операторите, които използваме, за да зададем стойност на дадена променлива.
Реално в примерите за начинаещи ще използваме само класическият: "=" .
Той приема точно два аргумента. Левият операнд задължително е променлива, в която ще се записва стойност. Десният е стойност, променлива или израз, който може да се изчисли до стойност.
Оператори за сравнение
Използваме ги за сравняване на стойности и променливи. Всички оператори от тази група приемат два аргумента и връщат булева стойност.
- > По-голямо. Ако лявата страна е по-голяма от дясната връща изстина (true), в противен случай връща лъжа (false).
- >= По-голямо или равно. Същото като предишния оператор, но ако операндите са равни връща "true".
- < По-малко. Ако лявата страна е по-малка от дясната връща изстина (true), в противен случай връща лъжа (false).
- <= По-голямо или равно. Същото като предишния оператор, но ако операндите са равни връща "true".
- == Сравнение за равенство. Връща истина само ако двата аргумента са равни. Забележете, че сравнението е два знака за равенство. Честа грешка при начинаещите е да сравняват със знака за присвояване =.
- != Различно. Връща "true" само ако двете страни са различни по стойност. В противен случай връща "false".
Нека направим един пример, в който използваме различни оператори:
Съставете алгоритъм, който позволява на потребителя да въведе 3 числа. Нека на екрана се показва най-голямото от тях.
Логически оператори
Логическите оператори също се наричат и булеви оператори. Аргументите, които те приемат са булеви стойности и резултатът от тяхното действие също е булева стойност. Тези оператори са полезни, когато искаме да обединим няколко условия в едно.
&& Логическо И – Конюнкция
Конюнкцията приема ляв и десен операнд и връща "true" само ако и двата операнда са "true". Във всички останали случаи връща "false"
Пример: Дадени са три числа. Проверете дали третото е най-голямо.
|| Логическо ИЛИ – Дизюнкция
Също приема ляв и десен аргумент. Връща "true", ако поне един от операндите е "true".
Пример: Да станем ли от леглото?
^ Изключващо ИЛИ
Също приема ляв и десен аргумент. Връща “true” само ако двата операнда са различни.
! Логическо отрицание
Приема само десен аргумент. Връща противоположната стойност на аргумета.
За упражнение
Въпроси
Кога && (логическо И) връща "true" и кога "false"?
Кога || (логическо ИЛИ) връща "true" и кога "false"?
Задачи
Напишете алгоритъм, който сумира три числа, въведени от потребителя.
Проверете дали дадено число е четно. Числото се въвежда от потребителя.
Следващ урок: Цикли и оптимизация
Предишен урок: Променливи