Jason. Cała informatyka w jednym miejscu!

Otwieramy już teraz bardziej formalnie kategorię algorytmów! Sięgajcie po darmową dawkę wiedzy, bo dzisiaj na wstęp przygotowałem dla Was wyjaśnienie czym jest algorytm. Podana na tacy definicja wraz z dawką najistotniejszych informacji powinna Was oswobodzić z więzów niewiedzy na ten temat. Odrobina poezji nie zaszkodzi na dzień dobry.

ALGORYTM TWOIM REMEDIUM NA PROBLEM!

Definicja jest prosta do skumania: algorytm to zestaw poszczególnych instrukcji mających za zadanie rozwiązanie postawionego problemu, przy czym ważna jest kolejność ich wykonywania, bo musi zgadzać się w 100% z podaną "recepturą". Jest to nic innego jak postępowanie krok po kroku co należy robić i z czym, żeby osiągnąć cel dysponując pewnymi danymi wejściowymi. Częstym przykładem podawanym w literaturze jest przepis na wykonanie jakiegoś dobrego dania czy deseru. Tam też macie instrukcję krok po kroku co należy robić, jakie składniki są potrzebne i jak postępować, aby otrzymać taki efekt końcowy, jaki został napisany. Nie inaczej jest tutaj.

Ponumerowana lista czynności jest algorytmem. Dane wejściowe to wypisane składniki do ciasta czy innej potrawy (ile gramów). W obu przypadkach trzeba trzymać się kolejności, żeby nie spaprać postępów. Tak samo działa algorytm w informatyce. Może prawie tak samo, bo nie trzeba kupować niczego w sklepie, a komputery nie brudzą na stole ;).

"JĘZYK" ALGORYTMÓW

Definicję mamy za sobą, więc ujawniam kolejną cenną informację. Każdy algorytm informatyczny na jaki nie spojrzycie, może zostać napisany na kilka różnych sposobów. Piszę o tym dlatego, bo nieraz będziecie potrzebować pomocy, a w Internecie znajdziecie od groma gotowych rozwiązań i "przełożeń" na inne języki (nawet programowania). Poznajmy dwie metody.

PSEUDOKOD

Słyszeliście o "pseudokodzie"? Jest to lista czynności ponumerowanych pierwszej do ostatniej pisanych językiem naturalnym:

  1. zainicjuj zmienną i = 1
  2. dopóki zmienna i jest mniejsza bądź równa od 100
    1. wypisz i
    2. inkrementuj i
    3. powróć do punktu 2

Dokładnie tak, jakbyście czytali przepis z książki kucharskiej. Może za wyjątkiem "powracania" do poprzednich kroków, bo w gastronomii nie ma pętli.

SCHEMAT BLOKOWY

Schemat blokowy to druga postać przedstawiająca przebieg postępowania działania określonego algorytmu, tylko już w sposób graficzny. Zapis wciąż nie ucieka z ram abstrakcji, jednak prezentacja obrazkowa jest już nieco bardziej złożona i wymaga przestrzegania paru zasad notacji. Tak wygląda przykładowy schemat blokowy odpowiadający algorytmowi zapisanemu w pseudokodzie powyżej:

Schemat blokowy algorytmu

Algorytm może być też reprezentowany przez graficzną metodę zwaną "schematem blokowym".

Wszystko zaczyna się od punktu "START". Strzałki wskazują na przebieg kolejnych wykonywanych po sobie instrukcji. Prostokąty oznaczają instrukcje przypisania, bądź dowolnej operacji arytmetycznej przeprowadzonej na danej zmiennej. Romb jest warunkiem decyzyjnym mającym wpływ na tzw. przepływ programu, czyli w którą stronę program pójdzie dalszym torem (odpowiednik instrukcji warunkowej). Kiedy dojdzie do punktu opatrzonego tekstem "KONIEC", oznacza to zakończenie wykonywania wszystkich kroków z listy numerowanej.


Myślę, że na dzisiejszy artykuł wystarczy. Powinniście już wiedzieć co to jest algorytm, do czego on służy, a także jakie są dwie najprostsze reprezentacje abstrakcyjne. Gdyby coś uciekło z głowy, nie wahajcie się tu zajrzeć ponownie!

PODOBNE ARTYKUŁY