Przykład :
Algorytm gotowania jajka na miękko.
1. Włóż jajko do gotującej się wody.
2. Zanotuj czas początkowy t0.
3. Oczytaj czas aktualny t.
4. Oblicz D t = t - t0.
5. Jeśli D t < 3 min., to przejdź do kroku 3.
6. Wyjmij jajko z gotującej się wody. Zakończ algorytm.
2) RODZAJE ALGORYTMÓW :
- LINIOWE :
Algorytm liniowy to taki, w którym nie określono żadnych warunków. Jest też nazywany sekwencyjnym, gdyż każdy z kroków w tym algorytmie następuje sekwencyjnie, czyli wykonanie jednej sekwencji powoduje przejście bezpośrednio do następnej.
Przykład :
Algorytm liniowy w postaci listy kroków – obliczanie obwodu prostokąta
Dane: bok a i b
Lista kroków:
1. Początek algorytmu
2. Podaj bok a
3. Podaj bok b
4. oblicz obwód: ob:=2*a+2*b
5. Wyprowadź wartość ob
6. Koniec algorytmu
- WARUNKOWE :
Algorytm warunkowy to taki, w którym wykonanie instrukcji uzależnione jest od spełnienia lub niespełnienia warunku.
Przykład :
Algorytm warunkowy w postaci listy kroków – obliczanie obwodu prostokąta
Dane: bok a i b
Lista kroków:
1. Początek algorytmu
2. Podaj bok a
3. Podaj bok b
4. Czy bok a>0?
jeśli tak idź do kroku 5,
jeśli nie podaj komunikat wyjściowy: "nie można obliczyć obwodu" i zakończ algorytm.
jeśli tak idź do kroku 5,
jeśli nie podaj komunikat wyjściowy: "nie można obliczyć obwodu" i zakończ algorytm.
5. Czy bok b>0?
jeśli tak idź do kroku 6
jeśli nie podaj komunikat wyjściowy: "nie można obliczyć obwodu" i zakończ algorytm.
jeśli tak idź do kroku 6
jeśli nie podaj komunikat wyjściowy: "nie można obliczyć obwodu" i zakończ algorytm.
6. Oblicz obwód Ob:=2*a+2*b
7. Wyprowadź wartość Ob
6. Koniec algorytmu
- ITERACYJNE :
Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.
Iteracje mogą być realizowane : powtarzanie instrukcji aż zostanie spełniony warunek. Ten rodzaj pętli jest nazywany do while i również ma zastosowanie w wielu językach programowania;
konkretną ilość razy (pętla z licznikiem). Ten rodzaj pętli jest nazywany for i ma zastosowanie w wielu językach programowania; spełnianie warunku tak długo aż zostanie spełniony. Wówczas następuje przejście do instrukcji. Ten rodzaj pętli jest nazywany while do.
- REKURENCYJNE
Algorytm rekurencyjny to taki, który wywołuje sam siebie do rozwiązania tego samego problemu. Algorytm rekurencyjny jest często realizacją zasady “dziel i zwyciężaj”, która składa się z trzech kroków:
1) “dzielenia”, tj. podziału problemu na podproblemy;
2) rekurencyjnego rozwiązania podproblemów, chyba że można je rozwiązać metodą bezpośrednią – takie postępowanie prowadzi do “zwycięstwa” w sensie czasu rozwiązywania problemu;
3) “połączenia” rozwiązań podproblemów w rozwiązanie całego problemu.
Przykłady algorytmów rekurencyjnych: sortowanie przez scalanie, algorytm euklidesa.
Algorytm Euklidesa, postępowanie, którego celem jest znalezienie największej wspólnej miary dwóch odcinków o długości m i n (lub największego wspólnego dzielnika dwóch liczb m i n). Krótszy z odcinków (np. n) odkłada się na dłuższym m tyle razy (czyli dzieli się m przez n), aż resztę stanowi odcinek r1 mniejszy od odcinka n (jeśli reszta jest równa zero, to problem jest już rozwiązany). Następnie odcinek r1 odkłada się na n tyle razy, by otrzymać resztę r2 mniejszą od r1. Jeśli r2 = 0, to r1 jest poszukiwaną wspólną miarą. Jeśli r2 nie równa się 0, to z kolei odkłada się r2 na r1 itd., aż otrzymana reszta rn = 0. Wówczas reszta rn-1 jest poszukiwaną wspólną miarą (lub dzielnikiem).
3) SPOSOBY REPREZENTOWANIA ALGORYTMU :
- LISTA KROKÓW :
Lista kroków algorytmu jest to przedstawienie w numerowanych punktach kolejnych etapów działania algorytmu.
Jeden punkt zawiera opis jednej operacji. Kolejności wykonywania operacji musi zostać zachowana. W przypadku wykonania jakiejś czynności wielokrotnie (iteracje, itp.) lub w przypadku chęci przejścia do konkretnego punktu z listy, umieszczamy w danym punkcje informację "Przejdź do punktu X", gdzie X, to numer punktu docelowego.
Pierwszy i ostatni punkt listy kroków algorytmu, to zawsze: początek algorytmu oraz koniec algorytmu.
Wszelkie operacje przypisania wartości do zmiennej dokonujemy za pomocą operatora ":=".
Przykład:
1. Początek algorytmu.
2. Ustaw wartość zmiennej a:=0
3. Jeżeli a > 3 przejdź do punktu 7.
4. Wykonaj wyrażenie a:=a+1
5. Wypisz na ekran wartość a
6. Przejdź do punktu 3.
7. Zakończ algorytm.
2. Ustaw wartość zmiennej a:=0
3. Jeżeli a > 3 przejdź do punktu 7.
4. Wykonaj wyrażenie a:=a+1
5. Wypisz na ekran wartość a
6. Przejdź do punktu 3.
7. Zakończ algorytm.
- SCHEMAT BLOKOWY :
Schemat blokowy jest narzędziem nakierowanym na prezentację kolejnych czynności w projektowanym algorytmie. Realizowane jako diagram, na którym procedura, system albo program komputerowy są reprezentowane przez opisane figury geometryczne, połączone liniami zgodnie z kolejnością wykonywania czynności wynikających z przyjętego algorytmu rozwiązania zadania.
Cechuje je:
- zasada budowy,
- elastyczność zapisów,
- możliwość zapisu z użyciem składu wybranego języka programowania,
- łatwa kontrola poprawności algorytmu.
Schematy blokowe pozwalają na prostą zamianę instrukcji na instrukcje programu komputerowego.
Przykład :
Drzewo jest hierarchiczną strukturą danych, którą współczesna informatyka wykorzystuje bardzo często. Nie szukając daleko, katalogi i pliki są zorganizowane na twoim komputerze właśnie w strukturze drzewa. Zastosowań drzew jest całe mnóstwo, dlatego uczeń informatyki powinien dobrze poznać te struktury danych. Mam nadzieję, że informacje zawarte w tym rozdziale okażą się pomocne w osiągnięciu tego celu.
Przykład :
- PSEUDOKOD :
Pseudokodem nazywany jest taki sposób zapisu algorytmu, który, zachowując strukturę charakterystyczną dla kodu zapisanego w języku programowania, rezygnuje ze ścisłych reguł składniowych na rzecz prostoty i czytelności.
Przykład :
- KOD WŁAŚCIWY :
Jest to kod, który można poddać procesowi translacji (kompilacja lub interpretacja).