Eszkola

Algorytm - co to jest?

Algorytm to przepis na wykonanie jakiegoś określonego zadania. Pojęcie "algorytm" wywodzi się z łacińskiego słowa algorithmus, które oznacza rozwiązywanie działań z użyciem liczb arabskich. Dziedzina zajmująca się badaniem algorytmów nazywana jest algorytmiką. Jest to dział informatyczny, który zajmuje się analizą i projektowaniem algorytmów. Najprostszym przykładem algorytmu w życiu człowieka jest przepis, którego używa się podczas gotowania. W trakcie gotowania zupy trzeba wykonać określone czynności w odstępach czasu np. najpierw zagotować bulion, a następnie dodać warzywa.

Algorytm ugotowania zupy:

- Idź do kuchni,

- Weź garnek,

- Nalej wody do garnka,

- Zakręć kran,

- Dodaj bulion,

- Obierz warzywa,

- Wrzuć warzywa i zagotuj,

- Mieszaj.

Opis czynności wydaje się być szczegółowy, jednak w porównaniu do opisów używanych przez informatyków jest bardzo prosty.

Zdarza się sytuacja, że dostępnych jest kilka różnych przepisów, w wyniku których otrzymujemy podobne danie. Tak więc zadanie algorytmu sprowadza się do zrealizowania zadania od stanu początkowego do momentu uzyskania satysfakcjonującego rozwiązania. Najczęściej algorytmy określane są w ścisły sposób w oparciu o matematyczny język. W algorytmie może zawarta być definicja obiektów, na których te czynności będą przeprowadzane. Algorytm może wykonywać człowiek lub komputer, który otrzymuje polecenia. Główne cechy algorytmu to możliwość wyrażania go pod różną postacią oraz umiejętność wielokrotnego wykonywania. Algorytm staje się programem dzięki zapisaniu go w języku programowania. Komputery zostały zaprojektowane, tak aby z ogromną szybkością mogły przetwarzać informację. Jednak w przypadku pracy na ogromnych zbiorach nawet tak duża moc mogłaby okazać się być zbyt słaba. Czas odpowiedzi komputera na określone zadanie nie może być długi. Wówczas użytkownik zrezygnowałby z korzystania z maszyny np. podczas gry. Wielkie i znane firmy nie mogą pozwolić sobie na takie straty, dlatego posiadają zespoły informatyków i programistów, którzy nieustannie pracują nad tworzeniem i ulepszaniem algorytmów, aby zapewniały one najlepszą jakość i efektywność. Algorytmy, które używane są w podręcznikach zostają czasami zapisywane jako pseudokod. Przypomina on język programowania jednak nie ma szczegółów technicznych, najważniejszych dla programistów. Każdy algorytm powinien być zapisany z dokładnymi szczegółami, tak aby można było ocenić jego efektowność. 

Podstawowe cechy algorytmu:

  • poprawność - każdy algorytm musi zawierać poprawne wyniki,
  • jednoznaczność - algorytm musi przy takim samym zbiorze wejściowych danych przekazywać takie same wyniki,
  • efektywność - liczba kroków do rozwiązania problemu powinna być jak najkrótsza.