Hej! Przygotowujesz się do egzaminu? Skupmy się na analizie wyrażeń.
Wyrażenia Arytmetyczne
Wyrażenia arytmetyczne to kombinacje liczb, zmiennych i operatorów. Operatorami są np. +, -, *, /.
Przykład: 2 + 3 * 4.
Pamiętaj o kolejności wykonywania działań: najpierw nawiasy, potem potęgowanie, mnożenie i dzielenie, a na końcu dodawanie i odejmowanie.
Różnice między zapisami
Zwróć uwagę na nawiasy. To one zmieniają kolejność działań.
(2 + 3) * 4 daje inny wynik niż 2 + 3 * 4.
Dzielenie całkowite i dzielenie zmiennoprzecinkowe dają różne wyniki. W niektórych językach programowania 5 / 2 może dać 2 (dzielenie całkowite), a 5.0 / 2.0 da 2.5 (dzielenie zmiennoprzecinkowe).
Sprawdź typ danych zmiennych. To ma wpływ na wynik działania.
Wyrażenia Logiczne
Wyrażenia logiczne zwracają wartość prawda (true) lub fałsz (false).
Używamy operatorów logicznych: AND (i), OR (lub), NOT (nie).
Przykład: (x > 5) AND (y < 10).
Różnice w zapisie
Kolejność operatorów logicznych jest ważna. NOT ma zwykle wyższy priorytet niż AND, a AND wyższy niż OR.
NOT (x > 5) to zaprzeczenie wyrażenia x > 5.
Skrócone obliczanie: jeśli w wyrażeniu AND pierwszy operand jest fałszywy, drugi nie jest obliczany. W wyrażeniu OR, jeśli pierwszy operand jest prawdziwy, drugi nie jest obliczany.
Zapis równości (==) różni się od przypisania (=). Pamiętaj o tym!
Wyrażenia Porównawcze
Wyrażenia porównawcze porównują dwie wartości i zwracają true lub false.
Używamy operatorów: >, <, >=, <=, == (równy), != (różny).
Przykład: x > y.
Różnice w interpretacji
Porównywanie ciągów znaków (stringów) może być leksykograficzne (alfabetyczne).
"Ala" < "Basia" (w sensie kolejności alfabetycznej).
Porównywanie liczb zmiennoprzecinkowych może być problematyczne ze względu na błędy zaokrągleń. Używaj tolerancji (epsilon) przy porównywaniu.
Zamiast a == b, użyj abs(a - b) < epsilon, gdzie epsilon jest małą wartością.
Zwróć uwagę na typy danych. Porównywanie różnych typów danych może wymagać konwersji.
Wyrażenia Warunkowe
Wyrażenia warunkowe pozwalają na wykonanie różnych fragmentów kodu w zależności od warunku.
Używamy instrukcji if, else if, else.
Przykład (w pseudokodzie):
if (x > 0) then wykonaj A else wykonaj B.
Różne zapisy warunków
Zagnieżdżone warunki: warunek wewnątrz warunku.
Uważaj na logiczne błędy w zagnieżdżonych warunkach. Upewnij się, że wszystkie przypadki są obsłużone.
Operator trójargumentowy (?:) to skrócony zapis warunku.
x > 0 ? A : B (jeśli x > 0, to A, w przeciwnym razie B).
Instrukcja switch (w niektórych językach) pozwala na wybór jednej z wielu opcji.
Pamiętaj o break w instrukcji switch, aby uniknąć "przechodzenia" do kolejnych przypadków.
Podsumowanie
Podsumowując, różnice w zapisanych wyrażeniach wynikają z:
- Kolejności działań (nawiasy!).
- Typów danych (całkowite, zmiennoprzecinkowe, stringi).
- Operatorów logicznych (AND, OR, NOT).
- Operatorów porównania (>, <, ==, !=).
- Wyrażeń warunkowych (if, else, switch).
Ćwicz analizę różnych wyrażeń. Powodzenia na egzaminie!
