INFORMATYKA

Algorytmy

Na początku zadamy sobie pytanie co to jest ten algorytm ? ;-] A więc, można powiedzieć, że algorytm jest to jakiś przepis, który prowadzi do rozwiązania problemu, zadania. W algorytmie określamy w jaki sposób ma być to zadanie rozwiązane oraz dane, które będą potrzebne. Wyróżnia się 3 rodzaje algorytmów:

  • rekurencyjne - czyli procedury, które w swojej definicji posiadają wywołanie samej siebie
  • iteracyjne - jest to rodzaj algorytmu, w którym wielokrotnie wykonuje się określone instrukcje, dopóki nie zostanie spełniony określony warunek
  • sekwencyjne - instrukcje wykonywane są w porządku, w jakim zostały wprowadzone

W jaki sposób można przedstawiać algorytmy ? Np. sposób słowny lub za pomocą schematu blokowego. W schemacie blokowym używa się skrzynek (tylko się nie śmiać z moich rysunków ;-p):

Algorytmy - skrzynka START
Algorytmy - skrzynka START
Algorytmy - skrzynka STOP
Algorytmy - skrzynka STOP

Skrzynki START i STOP. Jak się można domyśleć START to początek algorytmu, a STOP to koniec. Ze skrzynki START wychodzi tylko jedna droga, a do skrzynki STOP co najmniej jedno połączenie.

Algorytmy - skrzynka instrukcyjna
Algorytmy - skrzynka instrukcyjna

Skrzynka instrukcyjna. Tutaj umieszcza się polecenia do wykonania.

Algorytmy - skrzynka warunkowa
Algorytmy - skrzynka warunkowa

Skrzynka warunkowa. Umieszcza się tutaj warunek, który decyduje o dalszej drodze algorytmu. Jak widać, ze skrzynki wychodzą dwa połączenia: TAK - jeżeli warunek jest spełnony, i NIE - jeżeli warunek nie został spełniony.

Algorytmy - skrzynka wejścia/wyjścia
Algorytmy - skrzynka wejścia/wyjścia

Skrzynka wejścia/wyjścia. Umieszcza się tutaj wprowadzane dane lub wyprowadzane wyniki. Ze skrzynki wychodzi tylko jedno połączenie.

Aby ładnie to przedstawić zrobimy trzy przykłady, po jednym z każdego rodzaju algorytmów i przedstawimy je w opsie słownym i za pomocą schematu blokowego.

No to zacznijmy od algorytmu iteracyjnego. Przykład może być np. rzuć i traf piłką do kosza pięć razy. Opis słowny wyglądał by np. tak:

START

  1. Rzucaj piłką do kosza.
  2. Trafiłeś 5 razy ?
     a) jeśli tak, przejdż do kroku 3.
     b) jeśli nie, przejdź do kroku 1.
  3. Dobrze Ci poszło!

STOP

Jak widać jest tutaj pętla… Ok, teraz schemat blokowy.

Algorytmy - schemat blokowy
Algorytmy - schemat blokowy

Ok, teraz np. prosty algorytm do obliczania drugiej potęgi jakiejś liczby.

START

  - podaj liczbę x
  - oblicz drugą potęgę liczby x
  - podaj wartość drugiej potęgi liczby x

STOP

Natomiast schemat blokowy wyglądał by tak:

Algorytmy - schemat blokowy
Algorytmy - schemat blokowy

Jak widać jest to algorytm sekwencyjny.

Wystarczy tych przyładów. Oczywiście algorytmy mogą być bardziej skomplikowane ale nie chce mi się wymyślać i rysować ;-D Przedstawianie w taki sposób algorytmów nie jest trudne i mam nadzieje, że każdy zrozumiał to co napisałem ;-]

Mała aktualizacja ;-] Powyższy sposób przedstawiania algorytmów napisałem tak jak to się nauczyłem kiedyś gdzieś w internecie. Teraz na różnych stronach i w różnych książkach można zobaczyć różne formy, chociaż nie różnią się od siebie wiele. Jednak niektórzy wymagają jednego sposobu, który oni preferują. Ostatnio pisząc maturę z informatyki (chociaż słowo matura na ten materiał co był to dziwne określenie, to raczej jakiś kabaret był ;-D, ale cóż…) właśnie jednym z zagadnień były algorytmy (tutaj lepiej bez komentarza ;-p). I właśnie to jak trzeba było zapisywać algorytmy w postaci blokowej się trochę różniło. Ale tylko trochę zapisem ;-] Jeżeli coś się wczytuje do naszego algorytmu to trzeba było pisać

czytaj(a,b)

Hm, chyba czytaj, już nie pamiętam, ale raczej tak było… Aby wypisać coś z algorytmu trzeba było pisać np.

pisz(S)

gdzie S np. oznaczało sumę, I iloczyn itp ;-p A tak reszta była taka sama jak wyżej. I co jeszcze się dowiedziałem, to jest jeszcze jedna skrzynka, jak można to tak nazwać. Jest nią poprostu kółko z cyfrą w środku, Nie chce mi się rysować, każdy może sobie to wyobrazić ;-] Po co to? Jeżeli na kartce nie zmieści się algorytm to kończymy go skrzynką o kształcie kółka z wpisaną cyfrą 1, a na następnej kartce zaczynamy kołkiem z jedynką i piszemy dalej algorytm. I jak znowu się nie zmieści to to samo tylko z dwójką itd. To tyle.