Przeczytaj
Algorytm rozgałęziony
Algorytm rozgałęziony zawiera:
instrukcje warunkowe,
polecenia, które są wykonywane w zależności od spełnienia bądź niespełnienia określonego warunku,
kilka alternatywnych ciągów instrukcji,
bloki warunkowe mające postać rombu z dwoma wyjściami.
Opracujmy pseudokod prostego algorytmu rozgałęzionegoalgorytmu rozgałęzionego, który jest wykorzystywany do wybrania większej spośród dwóch liczb wprowadzonych przez użytkownika. Oto schemat blokowy takiego algorytmu:

Pierwszym elementem schematu jest blok startowy. Następnie wczytujemy dwie liczby podane przez użytkownika: a oraz b. Operacji tej odpowiada blok wejściowy mający kształt równoległoboku. Później pojawia się blok warunkowy w postaci rombu z dwoma wyjściami; zapisano w nim polecenie sprawdzenia, czy liczba a jest większa od liczby b. Jeżeli tak jest, na ekranie zostaje wypisana liczba a. W przeciwnym przypadku jest wyświetlana liczba b. Nie bierzemy pod uwagę sytuacji, w której liczby są sobie równe – nie ma wówczas znaczenia, którą z nich wypiszemy (w przypadku zastosowania pokazanego algorytmu będzie to liczba b).
Zapisany na schemacie warunek nie jest jedynym rozwiązaniem. W bloku warunkowym można podać inne wyrażenia:
b > a,b >= a,a >= b.
Musimy jednak pamiętać, że instrukcje zależne od spełnienia bądź niespełnienia warunku będą w dwóch pierwszych przypadkach inne niż te, które znalazły się w schemacie zawierającym wyrażenie a > b.
Na podstawie opracowanego schematu blokowego możemy zapisać pseudokod algorytmu. Instrukcja warunkowa będzie mieć następującą postać:
Na początku jest sprawdzany warunek, który pojawia się po słowie jeżeli. W przypadku, gdy został on spełniony, są wykonywane instrukcje zapisane bezpośrednio po nim (w przykładzie jest to instrukcja1). Jeżeli warunek nie został spełniony, są wykonywane instrukcje zapisane po wyrażeniu w przeciwnym wypadku (w przykładzie będzie to instrukcja2).
Zapisany w postaci pseudokodu algorytm używany do wybrania większej spośród dwóch liczb będzie zatem wyglądał następująco:
Algorytm z warunkami zagnieżdżonymi
Do rozwiązania niektórych problemów nie wystarczy sprawdzenie tylko jednego warunku (i wybranie jednego z dwóch ciągów instrukcji). W przypadku gdy po sprawdzeniu jednego warunku musimy sprawdzić kolejny, mamy do czynienia z algorytmem z warunkami zagnieżdżonymialgorytmem z warunkami zagnieżdżonymi. Przykładem takiego algorytmu jest wybranie największej spośród trzech liczb. Oto schemat blokowy tego algorytmu:

W pierwszym bloku warunkowym zapisano polecenie sprawdzenia, czy liczba a jest większa od liczby b. W rezultacie zostanie wskazana większa liczba. Ścieżka z lewej strony, oznaczona słowem „prawda”, prowadzi do zestawu instrukcji wykonywanych w sytuacji, w której a jest liczbą większą. Z prawej strony bloku warunkowego zaznaczono przejście do instrukcji wykonywanych w przypadku, gdy większą liczbą jest b.
Gdy wybierzemy większą z dwóch liczb, możemy sprawdzić, czy jest ona większa od trzeciej liczby – c. Operacja ta została przedstawiona za pomocą dwóch bloków, reprezentujących zagnieżdżone wyrażenia warunkowe.
Jeżeli okaże się, że liczba wskazana po sprawdzeniu pierwszego warunku jest większa niż c, jako wynik podajemy a lub b. W przeciwnym przypadku wypisujemy liczbę c.
Przeanalizujmy pseudokod tego algorytmu.
Wewnątrz jednej instrukcji warunkowej jest umieszczona kolejna instrukcja, nazywana warunkiem zagnieżdżonym. W przypadku gdy warunek a > b został spełniony, jest sprawdzany warunek a > c, natomiast w przeciwnym razie jest sprawdzany warunek b > c. Każdy ciąg instrukcji wymaga sprawdzenia dwóch warunków. Istnieją cztery drogi prowadzące do rozwiązania problemu.
Słownik
algorytm, w którym zapisano kilka alternatywnych ciągów instrukcji
algorytm, w którym wewnątrz jednej instrukcji warunkowej zostaje zapisana kolejna instrukcja warunkowa