Warunek sterujący cd.

Ciąg dalszy podstaw programowania związanych z warunkiem sterującym – operatory.
Operatory są bardzo popularne i naprawdę przydanym elementem języka programowania – dzięki nim jesteśmy w stanie na przykład połączyć dwa warunki w jeden większy czy negować warunki jeśli jest taka konieczność.

Lista operatorów:
Operatory porównania:

  • == (równy)
  • != (nie równy)
  • < (większy od)
  • > (mniejszy od)
  • <= (większy lub równy)
  • >= (mniejszy lub równy)

Operatory logiczne

  • && (AND)
  • || (OR)
  • ! (not)Są to podstawowe operatory z jakich możemy skorzystać pracując nad naszym projektem. Poniżej przedstawiamy przykłady zastosowania wraz z opisem i komentarzem.
    if (temperatura == 100)
    {
    	// wyświetlamy informację że woda się zagotowała
    }

    W pierwszym przykładzie, najbardziej popularnym sprawdzamy kiedy jakiś parametr (temperatura wody) osiągnął konkretną wartość (np 100 stopni).

    if (prędkość != prędkość_maksymalna)
    {
    	//przyspieszamy nasz pojazd
    }

    Kolejny przykład, tym razem sprawdzamy jednak czy prędkość obecna nie jest równa prędkości maksymalnej – jeśli nie możemy przyspieszyć.Inny przykład łatwy do zapamiętania.
    true == !false;

    Poruszając się pojazdem musimy jednak pamiętać by nie przekroczyć prędkości maksymalnej, do przykładu drugiego warto więc dopisać jeszcze jeden warunek:

    if (prędkość > prędkość maksymalna)
    {
    	//hamujemy nasz pojazd
    }

    Analogicznie możemy skorzystać z drugiego operatora porównania (mniejsze lub większe) :

    if (prędkość * 2 < prędkość maksymalna)
    {
    	// gaz do dechy 
    }

    Jeżeli prędkość obecna podwojona nadal jest mniejsza niż prędkość maksymalna, mocno dodajmy gazu.

    Wszystkie te nasze operacje możemy jednak zapisać dużo prościej korzystając z kolejnego operatora:

    if (prędkość >= prędkość_maksymalna)
    {
    	// hamujemy
    }
    else
    {
    	// możemy delikatnie przyspieszyć 
    }

    lub
    if (prędkosć =< pedkość maksylana)
    {
    	// utrzymujemy tą prędkość
    }
    else
    {
    	//hamujemy 
    }

    Operatory logiczne

     

    if (prędkość < prędkość_maksymalna && dodajemy_gazu)
    {
    	// pojazd przyspiesza 
    }

    Operator && (AND) czyli najprostszy operator łączący dwa warunki.
    „Jeśli prędkość obecna jest mniejsza niż prędkość maksymalna i kierowca dodaje gazu – zwiększamy prędkość pojazdu”

    if(prędkość * 2 < prędkość_maksymalna || prędkość == 0)
    {
    	// ruszamy z piskiem opon 
    }

    Operator || (OR) co w skrócie oznacz po prostu „lub”.
    „Jeśli dwu krotność prędkości obecnej jest mniejsza od prędkości maksymalnej lub prędkość obecna jest równa zero – ruszamy z piskiem opon”

    Opis programu:

    W przykładzie skorzystamy z funkcji connect() jest to wymyślona prze kogoś funkcja. Nie znamy jej budowy ani sposobu działania wiemy jednak że w przypadku nawiązania połączenia zwraca true w innym wypadku zwraca false (czyli błąd połączenia).

    if(!(connect())
    {
    	// wyświetlamy komunikat o błędzie
    }

    W przypadku powodzenia funkcja zwraca true co jest negowane prze operator na falsa w związku z czym warunek się nie wykona. Natomiast jeśli z połączeniem jest problem, funkcja zwraca false co zamieniamy na true – warunek się wykona i możemy wyświetlić komunikat o błędzie.


    Budowa switch i case – warunek wielokrotnego wyboru

    if (wartość == 0)
    {
    
    }
    
    else if (wartość == 1)
    {
    
    }
    
    else if (wartość == 2)
    {
    
    }
    
    else if (wartość == 3)
    {
    
    }
    
    else if (wartość == 4)
    {
    
    }
    
    else 
    {
    
    }

Pisząc własny program czasami musimy sprawdzić czy jakiś parametr nie osiąga ważnych dla nas wartości. Oczywiście możemy zrobić to tak jak przedstawia przykład – tworzymy dużą i skomplikowana drabinkę warunków sterujących. Istniej jednak lepszy i bardziej wydajny oraz łatwiejszy w organizacji zapis.


	switch (parametr)
	{
	case warunek_1:
	{
		//kod 1
		break;
	}
	case warunek_2:
	{
		//kod 2
		break;
	}

	default:
	{
		// jeśli parametr nie spełnia żadnego z powyższych warunków
	}
	}

 

switch(parametr){warunki} – w nawiasie zwykłym podajemy parametr w celu sprawdzenia, w klamrach umieszczamy natomiast warunki.

case warunek: { break;} – podstawowa budowa warunku, w przypadku warunku wielokrotnego wyboru jako warunek rozumiemy konkretną wartość jaka parametr może osiągnąć – użyci operatorów wywoła błąd. Kod warunku zapisujemy w klamrach i kończymy zwrotem break;* (przerwanie) – dzięki czemu przerywamy działanie warunku wielokrotnego wyboru.

*Więcej informacji i przykładów na temat break; można znaleźć w dzielę o pętlach i funkcjach.

default: { break; } – warunek ten wykona się jeżeli żaden z poprzednich warunków nie został spełniony lub jeśli działanie warunku wielokrotnego wyboru nie zostało przerwane.

Przykłady ( opis został zawarty w komentarzach):

switch (parametr) // podajemy parametr
	{
	case 0:
	{
		// brak czujnika czujnik
		break;
	}

	case 1:
	{
		// jeden czujnik
		break;
	}

	case 2:
	{
		// dwa czujniki 
		break;
	}

	case 3:
	{
		//trzy czujniki
		break;
	}

	default:
	{
		// program nie jest wstanie obsłużyć więcej czujników lub został wykryty inny błąd 
		break;
	}
	}

 

Maciej Szostak

Create Account



Log In Your Account