I_P_W14_M02 Algorytm i jego własności
Algorytm
Algorytmem nazywamy przepis postępowania, który prowadzi do rozwiązania ustalonego problemu. Przepis ten określa ciąg czynności elementarnych, które należy w tym celu wykonać.
W wielu książkach poświęconych algorytmice wykorzystuje się przykład przepisu kulinarnego, by wyjaśnić najważniejsze definicje związane z algorytmami. W swojej książce Piramidy, szyszki i inne konstrukcje algorytmiczne profesor Maciej Sysło wykazuje, że książka kucharska raczej nie powinna być traktowana jako zbiór algorytmów.
Problem
Jak już wiemy, algorytmy służą do rozwiązywania problemów. Jak zdefiniować problem?
Zbiór danych wejściowych, ich definicje oraz pytanie lub polecenie do wykonania nazywamy problemem.
Przed przystąpieniem do realizacji algorytmu rozwiązującego dany problem, powinno się określić specyfikację problemu, na którą się składa:
określenie zadania do wykonania,
zdefiniowanie danych wejściowych,
określenie relacji między danymi i wynikami,
zdefiniowanie wyniku.
Zapoznaj się ze specyfikacją przykładowego problemu.
Zadanie:
Obliczenie pola prostokąta.
Specyfikacja problemu:
Dane:
a, b – liczby rzeczywiste dodatnie określające długości boków prostokąta
Wynik:
P – liczba rzeczywista dodatnia określająca pole prostokąta
Spróbujmy zapisać algorytm, który rozwiąże zaprezentowany problem.
Sposoby zapisu algorytmów
Algorytmy można zapisywać za pomocą:
listy kroków,
pseudokodu,
schematu blokowego,
konkretnego języka programowania.
Do napisania algorytmu rozwiązującego podany problem wykorzystamy język programowania Python.
Program
Komputerową realizację algorytmu nazywamy programem. Algorytm jest zapisany w taki sposób, aby był zrozumiały dla komputera – wykorzystuje do tego języki programowania.
Języki programowania to zbiory zasad określających, kiedy dany ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.
Algorytmika
Algorytmika jest dziedziną informatyki zajmującą się projektowaniem, analizą, badaniem algorytmów.
Termin ten pierwszy raz został użyty przez Davida Harela w tytule jego książki Rzecz o istocie informatyki – algorytmika.
W ten sposób pisze on ogólnie o relacji informatyki oraz algorytmiki:
Rzecz o istocie informatyki – algorytmikaAlgorytmika to więcej niż dział informatyki. Tkwi ona w centrum wszystkich działów informatyki i z całą uczciwością można o niej powiedzieć, że jest ważna dla większości nauk matematyczno–przyrodniczych, ekonomii i techniki. Sama natura algorytmiki czyni ją jednak szczególnie odpowiednią do stosowania w tych dyscyplinach, które czerpią korzyści z posługiwania się komputerami; takich dyscyplin jest już przytłaczająca większość.
Źródło: David Harel, Rzecz o istocie informatyki – algorytmika, tłum. Piotr Carlson, Zbigniew Weiss, Warszawa 2000, s. 18–19.
Biorąc pod uwagę, ile lat minęło od wydania książki, można bezpiecznie założyć, że liczba dyscyplin, które czerpią korzyści z posługiwania się komputerami rośnie. Z tego względu znajomość algorytmiki oraz biegłość w obsłudze komputera wydają się kompetencjami jeszcze bardziej pożądanymi.
Słownik
przepis postępowania prowadzący do rozwiązania ustalonego problemu, określający ciąg czynności elementarnych, które należy w tym celu wykonać
dziedzina zajmująca się tworzeniem algorytmów
realizacja algorytmu w konkretnym języku programowania
zespół dyscyplin naukowych i technicznych, zajmujących się automatycznym przetwarzaniem, przechowywaniem i przesyłaniem informacji oraz projektowaniem, budową i eksploatacją niezbędnych do tego celu środków technicznych