Algorytm: skończony, uporządkowany ciąg kroków, a nie program
Algorytm to skończony, uporządkowany zestaw kroków prowadzących do rozwiązania problemu; pułapka egzaminacyjna polega na myleniu go z kompletnym programem lub przypadkową listą.
Odsłuchaj tę stronę (beta)
Algorytm jest po prostu instrukcją rozwiązania problemu krok po kroku i musi mieć wyraźnie określony początek oraz koniec. Kroki muszą być ułożone w logicznej kolejności — zamiana miejscami dwóch kroków może sprawić, że algorytm nie zadziała. Co najważniejsze, algorytm nie jest tym samym co program: program to algorytm zapisany w określonym języku programowania, natomiast sam algorytm można wyrazić prostym językiem, za pomocą schematu blokowego, a nawet formuły w arkuszu kalkulacyjnym. Na przykład przepis na przygotowanie herbaty jest algorytmem, natomiast kod w języku Python służący do przygotowania herbaty jest programem.
Aby rozpoznać algorytm w pytaniu wielokrotnego wyboru, sprawdź trzy cechy: skończoność (musi się zakończyć po skończonej liczbie kroków), uporządkowanie (kroki muszą tworzyć logiczną sekwencję) oraz jednoznaczność (każdy krok musi być jednoznaczny). Częstą sztuczką jest przedstawienie listy przypadkowych instrukcji — nie jest to algorytm, ponieważ brakuje w niej określonej kolejności. Inną pułapką jest pokazanie pojedynczego kroku, takiego jak „rozwiąż równanie” — jest on zbyt ogólnikowy i nie stanowi skończonego zestawu kroków. Pętla lub warunek nadal mogą być częścią algorytmu, ale sam algorytm musi pozostać skończony.
Aby szybko sprawdzić dowolnego kandydata, zadaj sobie pytanie: „Czy mogę wykonać te kroki mechanicznie i zawsze otrzymać ten sam wynik?”. Jeśli tak, jest to algorytm. Jeśli kroki są w niewłaściwej kolejności lub jest ich nieskończenie wiele, nie jest to algorytm. Na egzaminie zapamiętaj skrót „FOF” — Finite, Ordered, Finite (ponownie) — aby nie pomylić algorytmu z programem ani nieuporządkowaną listą.
Czym jest algorytm?
Skończonym, uporządkowanym zestawem kroków służących do rozwiązania problemu lub wykonania zadania.