Operatory porównania



Operatory Porównania w Arduino

Operatory porównania w Arduino służą do sprawdzania relacji między dwiema wartościami. Wynikiem działania operatora porównania jest wartość logiczna: true (prawda) lub false (fałsz). W Arduino wartość true jest reprezentowana jako 1, a false jako 0.

W poniższej tabeli (Tab.1) przedstawiono listę operatorów porównania dostępnych w programowaniu Arduino.

Tab. 1. Operatory porównania w Arduino.
Operator Opis
== Operator równości sprawdza, czy dwie wartości są sobie równe.
!= Operator nierówności sprawdza, czy dwie wartości są różne.
> Operator większości sprawdza, czy pierwsza wartość jest większa od drugiej.
< Operator mniejszości sprawdza, czy pierwsza wartość jest mniejsza od drugiej.
>= Operator większości lub równości sprawdza, czy pierwsza wartość jest większa lub równa drugiej.
<= Operator mniejszości lub równości sprawdza, czy pierwsza wartość jest mniejsza lub równa drugiej.

Możemy porównywać różne elementy, takie jak:

  • Liczby z liczbami – np. porównanie dwóch wartości stałych (5 == 5)
  • Zmienne ze zmiennymi – np. porównanie dwóch zmiennych (a == b)
  • Zmienne z wartościami stałymi (literałami) – np. a > 10
  • Wartości różnych typów – np. liczba całkowita (int) z liczbą zmiennoprzecinkową (float)
  • Znaki – porównanie typu char na podstawie wartości ASCII (‘A’ < ‘B’)
  • Ciągi znaków (String) – porównanie tekstów za pomocą operatorów == i !=.

Dzięki operatorom porównania możemy precyzyjnie określić relacje między wartościami i zmiennymi, co stanowi podstawę wielu programów sterujących.




Operator Równości (==)

Operator == (Rys.1) sprawdza, czy dwie wartości są sobie równe. Jeśli tak, zwraca true, w przeciwnym razie false.

Rysunek przedstawia instrukcję porównania wartości zmiennej w postaci liczba == 5. Słowo „liczba” oznacza zmienną, której wartość jest sprawdzana. Liczba 5 to wartość, z którą zmienna jest porównywana. Operator == pełni funkcję porównania i oznacza „czy jest równa”, co zostało zaznaczone za pomocą czerwonych strzałek i żółtych etykiet. Dodatkowe opisy oraz strzałki zostały dodane ręcznie w celu wyjaśnienia składni porównania w programowaniu.
Rys.1. Wskazanie miejsca, gdzie znajduje się operator porównania ==.

Na symulacji poniżej (Symulacja_1) przedstawiono przykład zastosowania operatora ==.

Symulacja_1

Wyjaśnienie:

Zmienne a i b mają tę samą wartość (5), więc wynik porównania a == b zwraca true i wyświetla wartość 1 na monitorze szeregowym.

Możesz zmienić wartości liczb a i b w symulatorze, aby zobaczyć, jak Arduino porównuje je za pomocą operatora ==. Niezbędne jest ponowne uruchomienie symulatora, aby zmiany zostały uwzględnione.




Operator Nierówności (!=)

Operator != sprawdza, czy dwie wartości nie są sobie równe. Jeśli tak, zwraca true, w przeciwnym razie false. Przykład użycia omawianego operatora poniżej (Symulacja_2).

Symulacja_2

Wyjaśnienie:

Zmienne a i b mają różne wartości (5 i 3), więc wynik porównania a != b to true czyli 1.




Operator Większości (>)

Operator > sprawdza, czy pierwsza wartość jest większa od drugiej. Jeśli tak, zwraca true, w przeciwnym razie false. Przykład użycia omawianego operatora poniżej (Symulacja_3).

Symulacja_3

Wyjaśnienie:

Zmienne a i b mają wartości 7 i 4. Wynik porównania a > b to true.




Operator Mniejszości (<)

Operator < sprawdza, czy pierwsza wartość jest mniejsza od drugiej. Jeśli tak, zwraca true, w przeciwnym razie false. Przykład użycia omawianego operatora poniżej (Symulacja_4).

Symulacja_4

Wyjaśnienie:

Zmienne a i b mają wartości 3 i 5. Wynik porównania a < b to true.




Operator Większe Lub Równe (>=)

Operator >= sprawdza, czy pierwsza wartość jest większa lub równa drugiej. Jeśli tak, zwraca true, w przeciwnym razie false. Przykład użycia omawianego operatora poniżej (Symulacja_5).

Symulacja_5

Wyjaśnienie:

Zmienne a i b mają tę samą wartość (6). Wynik porównania a >= b to true.




Operator Mniejsze Lub Równe (<=)

Operator <= sprawdza, czy pierwsza wartość jest mniejsza lub równa drugiej. Jeśli tak, zwraca true, w przeciwnym razie false. Przykład użycia omawianego operatora poniżej (Symulacja_6).

Symulacja_6

Wyjaśnienie:

Zmienne a i b mają wartości 4 i 5. Wynik porównania a <= b to true.




Porównanie zmiennych różnych typów

Arduino pozwala na porównanie zmiennych różnych typów, takich jak int i float. Wartości są automatycznie konwertowane na wspólny typ (Symulacja_7).

Symulacja_7

Wyjaśnienie:

Arduino automatycznie konwertuje zmienną a (int) na typ float, co pozwala na poprawne porównanie. Wynik a == b to true.




Porównanie z wartością

Operatory porównania mogą być używani do porównywania bezpośrednio zmiennych z wartościami (Symulacja_8).

Symulacja_8

Wyjaśnienie:

Porównania są wykonywane bezpośrednio z wartościami 5 i 10. Wynik pierwszego porównania to true, a drugiego również true.




Porównanie zmiennych znakowych (char)

Operatory porównania mogą być stosowani do zmiennych znakowych typu char. Porównanie opiera się na wartościach ASCII (Symulacja_9).

Symulacja_9

Wyjaśnienie:

Znaki ‘A’ i ‘B’ mają wartości ASCII 65 i 66. Porównanie znak1 < znak2 zwraca true, ponieważ 65 jest mniejsze niż 66.




Porównanie zmiennych tekstowych (String)

Zmienne typu String można porównywać za pomocą operatorów == i != (Symulacja_10).

Symulacja_10

Wyjaśnienie:

tekst1 == tekst2 zwraca true, ponieważ obie zmienne mają tę samą wartość.

tekst1 != tekst3 zwraca true, ponieważ ciągi znaków się różnią.




Przykładowe porównanie wartości z czujników

Operatory porównania mogą być stosowani do sprawdzania wartości pochodzących z czujników (Symulacja_11).

Symulacja_11

Wyjaśnienie:

Wartość temperatura wynosi 22.5, a próg wynosi 25.0. Wynik porównania temperatura < prog zwraca true.




Operatory porównania w Arduino służą do sprawdzania relacji między wartościami. Ich głównym celem jest określenie, czy dane spełniają określone warunki, i zwrócenie wyniku logicznego: true (1) lub false (0).

Porównywanie liczb pozwala kontrolować wartości pomiarowe, np. temperatury czy napięcia. Porównywanie znaków (char) umożliwia analizę danych wejściowych, takich jak pojedyncze znaki z klawiatury lub komunikacji szeregowym. Natomiast porównywanie ciągów znaków (String) jest przydatne przy weryfikacji tekstu, np. haseł lub komunikatów, co jest częstym zastosowaniem w interakcji z użytkownikiem.

Dzięki operatorom porównania możemy tworzyć programy reagujące na konkretne sytuacje, podejmujące decyzje oraz monitorujące różne warunki w czasie rzeczywistym.

Zachęcamy do eksperymentowania z operatorami porównania w powyższych symulacjach;)




Asystent Arduinowo_AI

Asystent Arduinowo_AI zgłębił powyższy zakres wiedzy i z przyjemnością wszystko Ci wyjaśni.




Zdobądź więcej wiedzy!

Przejdź do kolejnych materiałów naszego kursu: Operatory logiczne.