Czym są algorytmy i jak wyglądają w praktyce?

Algorytmem nazywamy opis pewnej procedury. W tym opisie powinny znaleźć się informacje o istotnych danych w niej wykorzystywanych i ścisłym sposobie jej realizacji – krok po kroku. Owe kroki muszą być precyzyjnie i jasno sformułowanymi, oraz możliwymi do realizacji/wykonania instrukcjami naszego algorytmu. Instrukcje te podzielimy sobie na właściwe dla nich kategorie: Wprowadzenie danych początkowych, modyfikacja - zmiana tych danych w trakcie jej wykonywania oraz instrukcje warunkowe – podejmowanie decyzji w zależności od tego czy dane spełniają przyjęty warunek. Instrukcja warunkowa będzie przyjmowała odpowiednio wynikowe wartości 0 – fałsz, 1 – prawda, zgodnie z zasadami algebry wartości logicznych Boole'a. Instrukcję warunkowe możemy także wykorzystać do stworzenia tak zwanej pętli. Pętla stanowi bowiem taką sytuację w której powtarzamy instrukcje warunkową i instrukcję modyfikacji do czasu otrzymania właściwych danych. Takie algorytmy pętle dzielimy na odwracalne i nieodwracalne. Algorytmy odwracalne to takie, które wykonane raz a następnie w przeciwny sposób (z danymi początkowymi będącymi jednocześnie tymi końcowymi z poprzedniego wykonania) doprowadzą nas do ponownie do stanu początkowego. Przykładem odwracalnego algorytmu jest na przykład prosty szyfr cezara - rot13. Nieodwracalne algorytmy to takie w których tracimy część danych w trakcie realizacji procesu i nie można już ich odzyskać, bo wymagałoby to zmyślania ich a w rezultacie błędny wynik. Takimi algorytmami są na przykład stosowane w informatyce stratne szyfry CRC32, MD5, SHA1, SHA256 zwane potocznie hashami. Omówiliśmy sobie podstawowe instrukcje, ale algorytmach stosujemy wiele różnych instrukcji. Warto więc sobie przybliżyć sytuację i poznać konkretne przykłady.

Jak algorytmy wyglądają w praktyce?

Oto prosty algorytm dodawania dwóch liczb:

Krok 1 − Początek
Krok 2 − Zadeklaruj trzy wartości a, b, c 
Krok 3 − Ustaw początkowe wartości a = 1, b = 1
Krok 4 − Dodaj do siebie a i b (a + b = 2)
Krok 5 − Zachowaj wartość kroku 4 jako c = 2
Krok 6 − Wyświetl c
Krok 7 − Koniec

Ten algorytm jest tak prosty, że nie posiada żadnej instrukcji warunkowej, funkcjonuje głównie na zasadzie ustawienia wartości początkowych i operacji matematycznej z zachowaniem wartości i modyfikacji c. 

Języki programowania często stosują pewne uproszczenia tych instrukcji. Na przykład w PHP zapiszemy ten alogrytm w następujący sposób:

$a = 1; $b = 1;  // Krok 2 i Krok 3
$c = $a + $b;    // Krok 4 i 5 
print $c;        // krok 6

Jak przedstawiać algorytmy? Schematy blokowe

Schemat blokowy to taki schemat w którym instrukcje algorytmu przedstawione są w postaci bloków.

Nazwa bloku Reprezentacja graficzna
Początek algorytmu
Start
Może wystąpić tylko raz w schemacie.
Zakończenie algorytmu
Stop
Może wystąpić wiele razy w schemacie.
Wprowadzenie danych
(blok wejścia)
Wprowadź (A)
Może wystąpić wiele razy w schemacie.
Wyprowadzenie danych
(blok wyjśćia)
Wyprowadź (A)
Może wystąpić wiele razy w schemacie.
Wykonywanie działań
(blok operacyjny)
B = A * 2
Może wystąpić wiele razy w schemacie.
Sprawdzanie warunków
(blok decyzyjny / warunkowy)
tak
A>B
nie
Może wystąpić wiele razy w schemacie.
Łącznik
1
Może wystąpić wiele razy w schemacie.
Połączenie
Może wystąpić wiele razy w schemacie.

© 2022 - REGZ.PL