RKS7MZTGKGZLX
Grafika przedstawia projekt inżynierski - maszynę składającą się z dużej liczby kół zębatych współpracujących ze sobą. Z prawej strony wystaje głowa zielonego węża.

I_P_W14_M02 Algorytm i jego własności

Źródło: Grafika wygenerowana przez sztuczną inteligencję Leonardo.ai, domena publiczna.

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ć.

Ważne!

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.

Przykład 1

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.

Linia 1. kratka minus minus minus Obliczanie pola prostokąta minus minus minus. Linia 3. print otwórz nawias okrągły cudzysłów Obliczymy pole prostokąta kropka cudzysłów zamknij nawias okrągły. Linia 5. kratka 1 kropka Pobieranie długości pierwszego boku od użytkownika. Linia 6. kratka input otwórz nawias okrągły zamknij nawias okrągły pobiera tekst od użytkownika kropka. Linia 7. kratka float otwórz nawias okrągły zamknij nawias okrągły zamienia tekst na liczbę zmiennoprzecinkową kropka. Linia 8. dlugosc znak równości float otwórz nawias okrągły input otwórz nawias okrągły cudzysłów Podaj długość boku apostrof a apostrof otwórz nawias okrągły np kropka 10 kropka 5 zamknij nawias okrągły dwukropek cudzysłów zamknij nawias okrągły zamknij nawias okrągły. Linia 10. kratka 2 kropka Pobieranie długości drugiego boku od użytkownika. Linia 11. szerokosc znak równości float otwórz nawias okrągły input otwórz nawias okrągły cudzysłów Podaj długość boku apostrof b apostrof otwórz nawias okrągły np kropka 4 kropka 0 zamknij nawias okrągły dwukropek cudzysłów zamknij nawias okrągły zamknij nawias okrągły. Linia 13. kratka 3 kropka Obliczanie pola prostokąta. Linia 14. pole znak równości dlugosc asterysk szerokosc. Linia 16. kratka 4 kropka Wyświetlanie wyniku. Linia 17. print otwórz nawias okrągły f cudzysłów lewy ukośnik nProstokąt o długości otwórz nawias klamrowy dlugosc zamknij nawias klamrowy i szerokości otwórz nawias klamrowy szerokosc zamknij nawias klamrowy ma pole równe dwukropek otwórz nawias klamrowy pole zamknij nawias klamrowy cudzysłów zamknij nawias okrągły.

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:

David Harel Rzecz o istocie informatyki – algorytmika

Algorytmika 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ść.

CART1 Ź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

algorytm
algorytm

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ć

algorytmika
algorytmika

dziedzina zajmująca się tworzeniem algorytmów

implementacja
implementacja

realizacja algorytmu w konkretnym języku programowania

informatyka
informatyka

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