Back to Top

Lekcja 5 - Warunki

Warunki

Wiemy już jak deklarować zmienne, które przechowują dane, jak wykonywać na nich operacje, oraz jak powtarzać instrukcje określoną ilość razy. Wszystkie pozwane elementy nie pozwalają na wprowadzenie wyborów w naszym programie. Do tej pory każdy program podążał jedną z góry ustaloną ścieżką.

Czas dać użytkownikowi wybór.

Instrukcja wyboru pozwalają skierować program na różne tory w zależności od wprowadzonych danych.
 

if

Poznamy instrukcję warunkową if. Instrukcja przyjmuje w nawiasach okrągłych zmienną typu bool. Jeśli zmienna zawiera wartość true, instrukcje w nawiasach klamrowych zostaną wykonane, w przeciwnym przypadku nie.

bool condition = true;
if (condition)
{
	// Instrukcje do wykonania
}

Przykładowo, chcemy użytkownikowi, który ma ukończone 18 lat wyświetlić pewną informację. Musimy sprawdzić czy wiek użytkownika jest większy niż 18, a zmienną, która przechowuje wynik porównania sprawdzamy w instrukcji if.

int age = 20;
bool condition = age >= 18;
if (condition)
{
	// Instrukcje do wykonania
}

W większości przypadków nie musimy tworzyć zmiennej, aby przechować wynik warunku. Można bezpośrednio zapisać warunek w nawiasach okrągłych.

int age = 20;
if (age >= 18)
{
	// Instrukcje do wykonania
}

Instrukcja if w tym przypadku nie spełnienia warunku nic nie robi i przechodzi do następnej instrukcji po nawiasach klamrowych.
 

if else

Można rozbudować instrukcję o fragment else. Wtedy w przypadku, gdy warunek zwróci false, zostanie wykonana instrukcja, która znajduje się właśnie w bloku else.

int age = 20;
if (age >= 18)
{
	Console.WriteLine("Jesteś Pełnoletni");
}
else
{
	Console.WriteLine("Nie jesteś pełnoletni");
}

if else if

Nawet instrukcje if else można dalej rozbudować o kolejne instrukcje if –tak, aby sprawdzać więcej niż jeden warunek.

int age = 20;
if (age > 30)
{
	Console.WriteLine("Masz więcej niż 30 lat.");
}
else if (age > 20)
{
	Console.WriteLine("Masz więcej niż 20 lat.");
}
else if (age > 10)
{
	Console.WriteLine("Masz więcej niż 10 lat");
}
else
{
	Console.WriteLine("Masz mniej niż 10 lat.");
}

W takiej postaci sprawdzany jest pierwszy warunek. Jeśli nie jest on spełniony, sprawdzany jest kolejny. I tak aż do ostatniej instrukcji else, która zostanie wykonana jeśli żaden wcześniejszy warunek nie został spełniony.

Operatory Logiczne

Instrukcje if to dobry moment, by użyć operatorów logicznych. Jak w jednej instrukcji if napisać warunek, który mówi: wiek większy od 18 i mniejszy od 30.

Trzeba użyć operatora logicznego and.

int age = 20;
if (age >= 18 && age < 30)
{
	Console.WriteLine("Jesteś Pełnoletni, ale masz mniej niż 30 lat.");
}
else
{
	Console.WriteLine("Nie jesteś pełnoletni, lub masz więcej niż 30 lat.");
}

Teraz warunek w bloku if zostanie spełniony wtedy, kiedy zmienna age jest większa bądź równa 18 i mniejsza od 30.

Zadanie 1

W zadaniu została zadeklarowana zmienna age. Zmienna przechowuje wiek użytkownika.

Przy pomocy instrukcji if wyświetl komunikat czy użytkownik jest pełnoletni czy nie oraz ile lat brakuje mu do pełnoletności lub od ilu lat jest pełnoletni.

Zadanie 1

Rozwiązanie zadania 1

Zadanie 2

Zadanie zawiera dwie zmienne. Pierwsza pobiera dane wpisane w konsoli przez użytkownika. Druga zawiera tajną informację dla użytkowników znających hasło.

Wyświetl informacje zawarte w zmiennej secret, jeśli wpisany tekst, przechowywany w zmiennej password będzie równy "XD".

W przeciwnym przypadku wyświetl komunikat o złym haśle.

Zadanie 2

Rozwiązanie zadania 2

Zadanie 3

Zadanie zawiera tablicę na 15 liczb. Uzupełnij w pętli tablicę 15 liczbami od 0 do 14. Następnie w drugiej pętli wyświetl wszystkie liczby, które są podzielne przez 3. Skorzystaj z pętli for oraz instrukcji if.

Zadanie 3

Rozwiązanie zadania 3