Koncepcja algorytmu

Koncepcja algorytmu to w zasadzie przepis kulinarny w świecie programowania. Podobnie jak przepis kulinarny prowadzi Cię krok po kroku przez proces tworzenia dania, algorytm to zestaw jasno określonych kroków, które pomagają rozwiązać konkretny problem lub wykonać określone zadanie w komputerze. Aby dobrze zrozumieć algorytm, warto pamiętać o trzech kluczowych cechach, które każdy algorytm powinien posiadać: jednoznaczności, wykonalności i skończoności.
  1. Jednoznaczność: Każdy krok algorytmu musi być jasny i niepodlegający różnym interpretacjom. Podobnie jak w przepisie kulinarnym, gdzie „dodaj szczyptę soli” może być niejednoznaczne, „dodaj 1/4 łyżeczki soli” jest dokładną i jednoznaczną instrukcją. W algorytmach każda operacja musi być dokładnie zdefiniowana.
  2. Wykonalność: Każdy krok algorytmu musi być wykonalny, co oznacza, że można go zrealizować z dostępnymi środkami. Jeśli przepis kulinarny wymagałby od Ciebie skorzystania z nieistniejącego składnika, nie byłby wykonalny. Podobnie, w algorytmach każda operacja musi być możliwa do wykonania za pomocą dostępnych narzędzi programistycznych i komputerowych.
  3. Skończoność: Algorytm musi się zakończyć po określonej liczbie kroków. Oznacza to, że po wykonaniu wszystkich instrukcji algorytmu, musimy otrzymać rozwiązanie naszego problemu. Tak jak przepis kulinarny kończy się na podaniu ciasta na stół, tak algorytm kończy się, gdy osiąga swoje zadanie, na przykład znajduje liczbę, sortuje listę danych czy też generuje raport.

Przykład w prostym przekazie:

Powiedzmy, że naszym zadaniem jest znalezienie największej liczby w liście liczb. Algorytm do tego zadania mógłby wyglądać tak:
  1. Zacznij z pierwszą liczbą na liście i uznać ją za największą.
  2. Porównaj ją z kolejną liczbą na liście. Jeśli kolejna liczba jest większa, to ona staje się nową „największą liczbą”.
  3. Powtórz krok 2 dla każdej liczby na liście.
  4. Gdy dojdziesz do końca listy, oznacza to, że znalazłeś największą liczbę.
Ten algorytm jest jednoznaczny (każdy krok jest jasno zdefiniowany), wykonalny (każdy krok możemy wykonać za pomocą podstawowych operacji matematycznych) i skończony (kończy się, gdy przejrzymy wszystkie liczby na liście). Podsumowując, algorytmy to nic innego jak przepisy na rozwiązanie problemów, które muszą być jasno napisane, możliwe do wykonania za pomocą dostępnych narzędzi i zakończone, gdy osiągniemy nasz cel. Rozwiąż następujący problem inwestycyjny: Wpłaciłeś 10 000zł na konto, które przynosi 5% odsetek w skali roku. Ile lat potrzeba, by soldo konta się podwoiło?
  1. Inicjalizacja wartości początkowych:
    • Ustaw wartość początkową inwestycji (PV) na 10 000 zł.
    • Ustaw roczną stopę procentową (r) na 5% (wyrażoną jako wartość dziesiętna 0.05).
    • Ustaw docelową wartość (FV) jako podwójną wartość początkową inwestycji.
    • Zainicjuj licznik lat (n) na 0.
  2. Proces obliczeniowy:
    • Dopóki wartość obecna (PV) jest mniejsza niż docelowa wartość (FV):
      • Zwiększ wartość obecną (PV) o roczną stopę procentową (PV=PV×(1+r)).
      • Inkrementuj licznik lat (n=n+1).
  3. Wynik:
    • Gdy wartość obecna (PV) osiągnie lub przekroczy wartość docelową (FV), wyjście z pętli.
    • Wyświetl liczbę lat (n), która jest potrzebna do podwojenia początkowej wartości inwestycji.
1. Ustaw PV = 10000
2. Ustaw r = 0.05
3. Ustaw FV = 2 * PV
4. Ustaw n = 0

5. DOPÓKI PV < FV
    a. PV = PV * (1 + r)
    b. n = n + 1

6. Wyświetl n

Opis

Algorytm ten jest prostym sposobem na iteracyjne obliczanie, jak długo zajmie podwojenie wartości inwestycji przy danej stopie procentowej. Zaczynamy od zdefiniowania naszej początkowej kwoty, stopy zwrotu, docelowej kwoty (podwójnej wartości początkowej), oraz licznika lat, który na początku jest równy zero. Następnie, w każdym roku zwiększamy naszą obecną wartość o procent zdefiniowany przez stopę zwrotu, aż osiągniemy lub przekroczymy naszą docelową wartość. Liczba lat, w której to nastąpi, jest naszym szukanym wynikiem.