Instrukcja warunkowa if

Instrukcja warunkowa to po prostu rozgałęzienie w działaniu programu (ang. if = jeżeli). W zależności od tego, czy warunek zawarty w instrukcji jest prawdziwy lub fałszywy, wykonane zostają inne instrukcje. Klauzula else jest opcjonalna, to znaczy nie musi koniecznie wystąpić – zależy to od nas i rozpatrywanego problemu. Składnia w pseudokodzie:

 if (warunek_logiczny)
{
[instrukcje jeśli warunek_logiczny prawdziwy];
}
else
{
[instrukcje jeśli warunek_logiczny fałszywy];
}

Rozważmy przykład bankomatu. Aby móc dokonać transakcji, użytkownik musi podać poprawny numer PIN. Sprawdzenia poprawności możemy dokonać instrukcją warunkową – załóżmy, że poprawny numer PIN to 1945:

 if (PIN == 1945)
{
cout << "Poprawny PIN" << endl;
}
else
{
cout << "Niepoprawny nr PIN!" << endl;
}

Zwróć uwagę na operator porównania ==, będący podwójnym znakiem równości (w odróżnieniu od operatora przypisania wartości, który jest pojedynczy =). Pamiętaj, żeby nie umieszczać średnika w linii z nagłówkiem if, gdyż wówczas kompilator potraktuje średnik jako pustą instrukcję, zaś linie wewnątrz klamer wykonają się zawsze, niezależnie od warunku!

 if (PIN == 1945); //średnik zmienił działanie instrukcji!
{
cout << "Poprawny PIN" << endl; // Ups, ta linia zawsze się wykona!
}

Warunki mogą być złożone, zaś łącznikami są operatory: &&, ||. Można także zanegować warunek z użyciem operatora !. Rozważmy przykład logowania do systemu operacyjnego:

 if (login == "admin" && haslo == "admin")
{
cout << "Poprawny PIN" << endl;
}

Lub inna sytuacja - wprowadzanie w konsoli odpowiedzi na pytanie testowe, pisząc małą lub dużą literą. Operator OR || nadaje się idealnie, gdyż zarówno odpowiedź pisana tak: a jak i tak: A powinna zostać uznana za prawidłową.

 if (odp == "a" || odp == "A")
{
cout << "Poprawna odpowiedź, zdobywasz punkt!" << endl;
}
else
{
cout << "Błąd, nie zdobywasz punktu!" << endl;
}

Zauważmy, że oba warunki zamknięte są w nawiasie. Można także zapisać każdy warunek w osobnym nawiasie (o ile całość również zamkniemy najbardziej zewnętrzym nawiasem):

if ((login == "admin") && (haslo == "tajnehaslo"))
if ((odp == "a") || (odp == "A"))

Operatory logiczne

Działanie operatorów logicznych &&, || dla dwóch warunków oraz negacja z użyciem operatora zaprzeczenia !:

Operatory &&, ||, !

Konkluzja jest prosta: operator AND && zwraca wartość "prawda" 1, tylko jeżeli oba warunki były prawdziwe (pomyśl o logowaniu - system "wpuszcza nas" tylko jeżeli zarówno login jak i hasło były prawidłowe (prawdziwe). Uwaga: w C++ obowiązuje konwencja, iż każda wartość liczbowa różna od zera odpowiada wartości true, a wartością liczbową odpowiadającą false jest tylko zero.

Operator OR || daje wartość prawda, jeżeli przynajmniej jeden warunek były prawdziwy (na przykład sytuacja z podaniem małej lub dużej litery jako odpowiedzi w quizie).

Negacja ! (zgodnie ze swoją nazwą) zawsze zmienia wartość logiczną na przeciwną (prawda zmienia się na fałsz, zaś fałsz na prawdę).

Uwaga - instrukcje warunkowe można zagnieżdżać, zatem po klauzuli else może pojawić się kolejna instrukcja warunkowa if. Po jeszcze więcej informacji odsyłam do tego odcinka kursu video (tak naprawdę artykuł ten stanowi pomocne notatki do tego odcinka).

Zobacz także

Daj się zaskoczyć! Poniżej wylosowałem dla Ciebie pięć wpisów z innych kategorii blogowych aniżeli ta, którą właśnie przeglądasz:

Polecamy: Mega Sekurak Hacking Party

Mega Sekurak Hacking Party

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - wpiszcie go w koszyku, dzięki czemu otrzymacie 40% zniżki na bilet standard. Więcej szczegółów znajdziecie tutaj.

Książka: Wprowadzenie do bezpieczeństwa IT

Wprowadzenie do bezpieczeństwa IT

Niedawno wystartował dodruk świetnej, rozchwytywanej książki pt. "Wprowadzenie do bezpieczeństwa IT, Tom I" (około 940 stron). Mamy dla Was kod: pasja (wpisz go w koszyku), dzięki któremu otrzymacie 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla naszych Widzów! Jest to pierwszy tom serii o ITsec, który wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

Pomóż dzieciom

Polska Akcja Humanitarna od wielu lat dożywia dzieci. Proszę, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękuję!

Komentarze

Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!

Kategorie wpisów

Oto polecana książka warta Waszej uwagi.
Pełna lista polecanych książek jest tutaj.

W dniach od 09.04.2024 do 15.04.2024 trwa w Helionie promocja o nazwie "Otwórz nowy rozdział w IT". Otrzymujemy zniżki -50% zarówno na książki drukowane, jak i na ebooki. Zobacz szczegóły tutaj: trwająca promocja.

Bądź na bieżąco