Algorytmy warunkowe

Instrukcja warunkowa if  powoduje że zostanie wykonane polecenie (lub kilka poleceń) wyłącznie wtedy gdy zostanie spełniony warunek (przyjmie on wartość prawdy).

Konstrukcja ta zaczyna się od klauzuli if, po której znajduje się warunek. Po warunku znajduje się dwukropek, a w kolejnym wierszu mamy polecenia, które będą wykonany , gdy warunek zostanie spełniony.

Konstrukcja if-else powoduje wykonanie danego w instrukcji bloku poleceń w przypadku gdy warunek zostanie spełniony i innego bloku poleceń, kiedy warunek okaże się fałszywy. Po zapoczątkowaniu instrukcji poleceniem if nastąpi sprawdzenie warunku. Gdy okaże się on prawdziwy, wtedy zostanie wykonany blok poleceń umieszczonych w wcięciu po klauzuli if, a dalszy przebieg wykonywania poleceń zostanie przekazany do pierwszego polecenia znajdującego się po konstrukcji if-else. W przypadku gdy warunek nie zostanie spełniony, bedą wykonywane polecenia znajdujące się  po klauzuli else. Po wykonaniu tych poleceń, będzie wykonywany dalszy przebieg poleceń, które znajdują się po konstrukcji if-else.

Wiersz kodu zawierający konstrukcje else także jak if musi być zakończony znakiem dwukropka. Tworząc instrukcje warunkowe należy upewnić się ze klauzule if i else są wyrównane ze sobą oraz że bloki poleceń po nich są tak samo wcięte (na długość tabulatora lub 4 spacji).

Instrukcje warunkowe
Przykład
polecenia
Opis polecenia Znaczenie
= int(input())
if < 0:
    x = –x
print(x)
Instrukcja warunkowa skrócona Jeśli warunek jest spełniony to zostaje
wykonana instrukcja, w przeciwnym
razie kontynuowany jest program
= int(input())
if x > 0:
    print(x)
else:
    print(-x)
Instrukcja warunkowa pełna Jeśli warunek jest spełniony to zostaje
wykonana instrukcja_1, w przeciwnym
razie wykonana jest instrukcja_2

Operatory relacji służą do sprawdzania jaka relacja zachodzi pomiędzy dwoma wartościami

Operatory relacyjne (porównania)
Operator Określenie Przykład
warunku
Interpretacja
wyrażenia
==  równy a == b   czy a jest równe b
!=  różny a != b   czy a jest różne od b
<
 mniejszy a < b   czy a jest mniejsze od b
>  większy a > b   czy a jest większe od b
>=  większy lub równy a >= b   czy a jest większe lub równe b
<=  mniejszy lub równy a <= b   czy a jest mniejsze lub równe b

Konstrukcja if-else może zawierać w bloku poleceń kolejną konstrukcję if-else. Nazywa się to zagnieżdżeniem instrukcji warunkowej lub koniunkcją. Możliwe jest także użycie kolejnej klauzuli – if. Pozwala ona uprościć często skomplikowana koniunkcję. konstrukcję if-elif-else nazywamy alternatywą i działa ona analogicznie do konstrukcji if-else, z ta różnicą ze mamy kolejny warunek do sprawdzenie pomiędzy klauzulą if a else, co oznacza że przy klauzuli elif też jest umieszczony warunek do spełnienia tak jak przy klauzuli if. Oczywiście dochodzi do tego kolejny blok poleceń po klauzuli elif.

W konstrukcji if-elif-else zawsze będzie jedna klauzula if i else, za to klauzul elif (które znajdują się pomiędzy nimi) może być umieszczona dowolna ilość.

Instrukcje warunkowe
Przykład polecenia Opis polecenia
= int(input())
= int(input())
if > 0 and > 0:
    print(„Ćwiartka I”)
elif > 0 and < 0:
    print(„Ćwiartka IV”)
elif > 0:
    print(„Ćwiartka II”)
else:
    print(„Ćwiartka III”)
Instrukcja warunkowa
zagnieżdżona (alternatywa)
= int(input())
= int(input())
if > 0:
    if > 0:
        print(„Ćwiartka I”)
    else:
        print(„Ćwiartka IV”)
else:
    if > 0:
        print(„Ćwiartka II”)
    else:
        print(„Ćwiartka III”)
Zagnieżdżenie instrukcji
warunkowej (koniunkcja)

Korzystając z operatorów logicznych można tworzyć bardziej rozbudowane wyrażenia poprzez łączenie ich np.: x > y and a < b

Operatory logiczne
Operator Opis
or  Alternatywa (suma logiczna)
and Koniunkcja (iloczyn logiczny)
not Negacja

Ćwiczenie 1.
Napisz program, który wyświetli najmniejszą liczbę z dwóch podanych liczb.

Ćwiczenie 2.
Napisz program sprawdzający czy podana przez ciebie liczba jest dodatnia czy ujemna.

Ćwiczenie 3.
Napisz program sprawdzający czy podana przez ciebie liczba jest podzielna przez 7.

Ćwiczenie 4.
Napisz program sprawdzający czy podana przez ciebie liczba jest dodatnia, ujemna czy jest to zero.

Ćwiczenie 5.
Napisz program, który z trzech podanych liczb wyświetli tą najmniejszą.

Ćwiczenie 6.
Napisz program który ma sprawdzić czy z podanych 3 długości można utworzyć trójkąt. Jeżeli można utworzyć trójkąt program powinien podać informację jaki to trójkąt (równoramienny, równoboczny, prostokątny, inny).

Ćwiczenie 7.
Napisz program który z trzech podanych przez ciebie liczb, posortuje je od najmniejszej do największej.

Ćwiczenie 8.
Bazując na tabeli obok, napisz program zamieniający punkty procentowe z ocenianej pracy, na ocenę jaka zostanie wystawiona.

1 0% – 44%
2 45% – 59%
3 60% – 74%
4 75% – 89%
5 90% – 100%

Ćwiczenie 9.
Napisz program, który sprawdzi czy podane przez ciebie współrzędne pola na planszy od szachów jest czarne czy białe.

Ćwiczenie 10.
Napisz program, który sprawdzi czy podane przez ciebie współrzędne dwóch pół na planszy od szachów są tego samego koloru.