Algorytm:
Algorytm to formalny przepis na rozwiązanie określonego problemu lub na osiągnięcie celu
Zdefiniowany zwykle w postaci procedury „krok po kroku”
Ma przeprowadzić z pewnego stanu początkowego do pożądanego stanu końcowego
Nazwa „algorytm”:
Na część uczonego arabskiego z przełomu VIII i IX w.
Uczony nazywał się Abu Abdullah Mohammad bin Musa Al.-Chawarizmi
W Europie używano zniekształconej wersji jego nazwiska Algorytm
Cechy algorytmu:
Stanowi procedurę (ciąg jasno zdefiniowanych działań)
Posiada następujące atrybuty:
- jest ogólny
- jest ograniczony (skończony) w czasie
- jest zdeterminowany
Zapisywanie:
Wykorzystując język naturalny
Wykorzystując język formalny:
- język programowania
- wyrażenie rekurencyjne (wykorzystanie poprzedniego wyniku do obliczenia kolejnego
N=1 liczba naturalna
N=N+1 liczba naturalna
- schemat blokowy:
* graficzny język zapisu algorytmów
* wykorzystuje dwa typy elementów
+ bloki (operatory) określają działania
+ skierowane linie (strzałki) - określają kolejność działań
Zasady:
Każdy schemat posiada jeden (tylko jeden) blok początkowy
Każdy schemat posiada jeden (tylko jeden) blok końcowy
Różne schematy mogą się łączyć poprzez blok podprogramu
Podstawowy blok przetwarzania (od środka wpisujemy rodzaj wykonywanej czynności
Blok decyzyjny lub badania warunku (od środka wpisujemy analizowany warunek
T N
Bloki:
Każdy blok ma tylko jedno wyjście, za wyjątkiem:
- bloku STOP (nie ma wyjścia)
- bloku decyzyjnego (2 wyjścia)
Każdy blok może mieć dowolnie dużo wejść, za wyjątkiem:
- bloku START (nie ma wejść)
Analiza:
Omówiony zostanie algorytm porządkowania zbioru elementów (sortowanie)
Najpierw przedstawiony będzie opis w języku naturalnym
Na podstawie tego opisu powstanie zapis formalny w postaci schematu blokowego
Jaki jest ciąg działań:
Rozkładamy elementy obok siebie
Zaczynamy analizować od początku
Porównujemy kolejne pary aż do ostatniej:
- gdy para w dobrym porządku, nic nie robimy
- gdy para w złym porządku:
* zamieniamy elementy
* zapamiętujemy fakt zmiany
Gdy osiągniemy ostatni element:
- gdy była zamiana, zaczynamy analizę od początku
- gdy nie było zamiany, elementy są posortowane
Schemat:
(1)
T N
P - para w dobrym porządku
O - ostatnia karta
Z - zamiana miała miejsce
N T
N T
Algorytm cykliczny
(2) Odgadnięcie wybranej karty z talii przy minimalnej liczbie pytań:
- wybór jednego elementu z 52
- zadajemy pytania, na które odpowiedź jest TAK/NIE
- ile musimy zadać pytań
- musimy zadać 6 pytań
Jakie pytania należy zadawać ?
- pytania powinny być mądre
- na mądre pytania nie ma złej odpowiedzi
T N
KO - kolor
T N T N
Algorytm liniowy
Wnioski:
Język schematów blokowych daje prosty i jednoznaczny opis działań
Przy tworzeniu algorytmów trzeba uważać, aby uwzględnić wszystkie sytuacje
Trzeba zadawać mądre pytania
ALGORYTMY
1
START
STOP
START
P
Zamień
Ustaw Z
Idź do następnej pary
Idź na początek
Usuń Z
Z
O
STOP
START
KO - czarny
KO - kier
KO - pik
KO - trefl
KO - piki
KO - karo
KO - kiery
Wybór karty
STOP