INF.04 · C# · lekcja 4
Operatory w C#
Policz wynik i zobacz, skąd się bierze
- Zrozum
- Sprawdź
- Napisz sam
Po tej lekcji: policz wynik i zobacz, skąd się bierze
Dzisiaj zrobisz konkretną rzecz
Bez operatorów program może co najwyżej wypisać stały tekst — operatory to narzędzie, dzięki któremu program faktycznie coś OBLICZA i PORÓWNUJE, co jest fundamentem każdej decyzji podejmowanej w kodzie (Lekcja 6).
Operator modulo (%) używany jest wszędzie tam, gdzie trzeba sprawdzić "co N-ty element" — np. co 5. klient dostaje rabat, albo czy numer wiersza jest parzysty (do naprzemiennego kolorowania tabeli).
Sprawdź w działaniu
Policz wynik i zobacz, skąd się bierze
Najpierw przewidź wynik. Zmień dane w modelu i porównaj efekt. Spróbuj także przypadku granicznego, a nie tylko pierwszego poprawnego przykładu.
Model pokazuje wybraną zasadę. Nie uruchamia ani nie ocenia wklejonego kodu C#.
1. Przygotuj i uruchom własny projekt
2. Najpierw mały przykład
Wykonaj tę próbę przed dłuższym rozwiązaniem. / dla dwóch int daje iloraz całkowity. Rzutowanie (double)a zmienia rodzaj obliczenia. % daje resztę. Potęgowanie w C# to Math.Pow(a,b); ^ jest operatorem XOR.
int a = 7, b = 2;
Console.WriteLine(a / b);
Console.WriteLine((double)a / b);
Console.WriteLine(a % b);
Console.WriteLine(Math.Pow(a, b));
3; następnie 3,5 lub 3.5 zależnie od kultury; reszta1; potęga49.
- Co sprawdzić? Zmień jedną wartość i przed uruchomieniem zapisz przewidywany rezultat. Porównaj go z opisem wyniku; przy błędzie wróć do konkretnej instrukcji.
Jak to działa — 1
Operator to symbol nakazujący programowi wykonanie konkretnej operacji na wartościach (tzw. operandach) — dodawania, porównania, przypisania. Znasz je już z matematyki, C# dodaje do nich kilka własnych.
Operatory arytmetyczne (do liczenia): + dodawanie, - odejmowanie, * mnożenie, / dzielenie, % reszta z dzielenia (modulo — bardzo przydatne, np. do sprawdzania parzystości liczby).
Operatory przypisania: = przypisuje wartość, a skrócone warianty +=, -=, *=, /= łączą operację arytmetyczną z przypisaniem w jednym kroku (x += 5; to skrót od x = x + 5;).
Operatory inkrementacji/dekrementacji: ++ zwiększa wartość o 1, -- zmniejsza o 1 — najczęściej spotykane w pętlach (Lekcja 7).
Operatory porównania (zwracają true/false): == równe, != różne, >, <, >=, <=. Uwaga: pojedynczy znak = to PRZYPISANIE, a podwójny == to PORÓWNANIE — to jedna z najczęstszych pomyłek początkujących.
Jak to działa — 2
Operatory logiczne (łączą warunki): && (i — oba warunki muszą być prawdziwe), || (lub — wystarczy jeden), ! (zaprzeczenie, odwraca true na false i odwrotnie).
3. Pełny przykład — czytaj od Main
Teraz zastąp Program.cs tym programem. Zanim uruchomisz, znajdź dane wejściowe, operację i miejsce prezentacji wyniku. W tym wariancie zachowujemy jawny Main. Nie wklejaj kilku pełnych programów do jednego pliku.
using System;
class Program
{
static void Main()
{
int punkty = 10;
punkty += 5; // skrót od: punkty = punkty + 5;
Console.WriteLine("Punkty: " + punkty); // 15
int liczba = 7;
bool jestParzysta = (liczba % 2 == 0);
Console.WriteLine("Czy parzysta? " + jestParzysta); // False
int wiek = 20;
bool maPrawoJazdy = true;
bool mozeWypozyczycAuto = (wiek >= 18) && maPrawoJazdy;
Console.WriteLine("Może wypożyczyć auto? " + mozeWypozyczycAuto); // True
}
}
- Prześledź kod
liczba % 2 == 0sprawdza resztę z dzielenia przez 2 — jeśli wynosi 0, liczba jest parzysta. Nawiasy wokół(wiek >= 18) && maPrawoJazdynie są konieczne składniowo, ale znacząco poprawiają czytelność złożonych warunków logicznych.
Sprawdź, zanim przepiszesz cały program
Najczęstszy błąd to pomylenie = (przypisanie) z == (porównanie) — if (x = 5) w C# jest błędem kompilacji przy typie bool (inaczej niż w niektórych innych językach), więc kompilator Cię ostrzeże, ale warto zapamiętać różnicę od razu. Drugi błąd: dzielenie dwóch liczb całkowitych (int) i oczekiwanie wyniku z częścią dziesiętną — 7 / 2 w C# da 3 (dzielenie całkowitoliczbowe), a nie 3.5, chyba że przynajmniej jedna z liczb jest typu double.
Ćwiczenie z pomocą · samodzielna praca
4. Teraz Twoja zmiana
Napisz program obliczający resztę z dzielenia dwóch wpisanych na sztywno liczb i sprawdzający, czy wynik jest równy zero.
Spełnij warunki polecenia. Zapisz wejście, otrzymany wynik i wyjaśnij, która część kodu za niego odpowiada.
? Potrzebujesz pomocy? Rozwiązuj krok po kroku.
Krok 1 — pokaż podpowiedź
Wróć do podstawowej formy oraz objaśnienia: / dla dwóch int daje iloraz całkowity. Rzutowanie (double)a zmienia rodzaj obliczenia. % daje resztę. Potęgowanie w C# to Math.Pow(a,b); ^ jest operatorem XOR.
Krok 2 — pokaż podpowiedź
Zmień tylko część potrzebną do polecenia. Zachowaj działającą wersję przed zmianą i uruchamiaj po każdym małym etapie.
Krok 3 — pokaż podpowiedź
Sprawdź przypadek zwykły i graniczny; porównaj z regułą: 3; następnie 3,5 lub 3.5 zależnie od kultury; reszta1; potęga49.
Otwórz tylko tyle podpowiedzi, ile potrzebujesz. Po każdym kroku wróć do zadania i sprawdź wynik.
5. Sprawdź rozumienie, nie tylko uruchomienie
Dalej na swoim koncie
Rozgrzewki, quiz i zadania są w biurku ucznia.
Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.
Zaloguj się →