zadanie 1.2 Logika, porównania i typy nullable

CHash
Priorytet: Normalny Szkic

Zadanie 1.2: Logika, Porównania i Typy Nullable

Wstęp

W programowaniu zmienne nie tylko przechowują dane, ale służą też do podejmowania decyzji. W tym zadaniu nauczysz się porównywać wartości, łączyć warunki logiczne oraz radzić sobie z sytuacją, gdy zmienna... nie ma żadnej wartości (null).

Czego się nauczysz?

  1. Operatory porównania: ==, !=, >, <, >=, <=.
  2. Operatory logiczne: && (I), || (LUB), ! (NEGACJA).
  3. Typy Nullable: Jak pozwolić liczbie być pustą (int?).
  4. Operator Null-coalescing: ?? (podstawianie domyślnej wartości).
  5. Logika w praktyce: Tworzenie prostych testów warunkowych.

Przygotowanie Projektu

  1. Otwórz terminal w folderze zadania (cHash/zadanie1.2).
  2. Stwórz projekt: dotnet new console -o Projekt1_2
  3. Wejdź do folderu i wyczyść Program.cs.

Twoje Zadanie: 30 Wyzwań

Sekcja A: Porównywanie Wartości

  1. Zadeklaruj dwie zmienne int x = 15; oraz int y = 20;.
  2. Wyświetl wynik x == y (czy są równe?).
  3. Wyświetl wynik x != y (czy są różne?).
  4. Sprawdź, czy x jest większe od y.
  5. Sprawdź, czy y jest mniejsze lub równe 20.
  6. Zadeklaruj string s1 = "kot"; oraz string s2 = "KOT";.
  7. Porównaj s1 == s2 i wyświetl wynik. Zauważ różnicę w wielkości liter!
  8. Użyj metody s1.Equals(s2, StringComparison.OrdinalIgnoreCase), aby porównać je ignorując wielkość liter.
  9. Sprawdź, czy długość napisu s1 jest większa niż 0.
  10. Zadeklaruj double d1 = 0.1 + 0.2; i sprawdź, czy d1 == 0.3. (Uwaga na precyzję double!).

Sekcja B: Operatory Logiczne

  1. Zadeklaruj bool maKlany = true; oraz bool maKlucz = false;.
  2. Wyświetl wynik maKlany && maKlucz (czy ma oba?).
  3. Wyświetl wynik maKlany || maKlucz (czy ma chociaż jedno?).
  4. Wyświetl zaprzeczenie !maKlany.
  5. Zadeklaruj int temperature = 25;.
  6. Sprawdź, czy temperatura jest w zakresie od 18 do 30 stopni (temp >= 18 && temp <= 30).
  7. Sprawdź, czy temperatura jest poza zakresem (poniżej 10 LUB powyżej 40).
  8. Zadeklaruj bool jestWeekend = true; oraz bool maWolne = false;.
  9. Wyświetl wynik: (jestWeekend || maWolne) && temperature > 20.
  10. Stwórz zmienną bool wynikLogiczny = !(5 > 10); i wyświetl ją.

Sekcja C: Nullable i Operatory Specjalne

  1. Zadeklaruj zmienną int? wiekMozeBycNull = null; (znak ? jest kluczowy).
  2. Wyświetl, czy zmienna ma wartość używając .HasValue.
  3. Przypisz do niej wartość 25 i ponownie sprawdź .HasValue.
  4. Zadeklaruj int wiekDomyslny = wiekMozeBycNull ?? 18; (użycie operatora ??).
  5. Wyświetl wiekDomyslny.
  6. Zadeklaruj string imieUzytkownika = null;.
  7. Użyj operatora ??, aby przypisać "Anonim", jeśli imieUzytkownika jest nullem.
  8. Zadeklaruj int? punkty = null;.
  9. Wyświetl punkty.GetValueOrDefault() – co się wyświetliło?
  10. Wyświetl komunikat: "Zadanie 1.2 ukończone pomyślnie!".

Debugowanie

  • NullReferenceException: To "najpopularniejszy" błąd. Próbujesz zrobić coś na zmiennej, która jest null (np. nullText.Length). Zawsze sprawdzaj, czy zmienna nie jest nullem!
  • Błędy logiczne: Pamiętaj o nawiasach w złożonych warunkach, np. (a || b) && c to co innego niż a || (b && c).

Git Help

Zapisz postępy:

git add .
git commit -m "C# Zadanie 1.2: Logika i nullables gotowe"