Iteracja, iteracje – powtarzanie w programowaniu vs Rekurencja ➿

Iteracja, iteracje – powtarzanie w programowaniu vs Rekurencja ➿

Iteracja, czyli powtarzanie tego samego fragmentu logiki określoną ilość razy lub aż do momentu, kiedy zostaną spełnione założone warunki. Z iteracją spotykamy się najczęściej przy pracy z pętlami, tablicami i innymi kolekcjami danych.

Iteracja – wprowadzenie

Z tego materiału dowiesz się:

  • Czym jest iteracja?
  • Czym jest algorytm iteracyjny?
  • Do czego może służyć algorytm iteracyjny?
  • Jak wygląda i jak działa przykładowa pętla w kodzie?

Iteracja

Iteracja oznacza powtarzanie tej samej operacji (zestawu instrukcji) z góry określoną liczbę razy lub aż do spełnienia określonego warunku. Kiedy sekwencja instrukcji jest wykonywana w sposób powtarzalny, nazywa się to pętlą.

Wyobraź sobie, że posiadasz listę uczniów w klasie. Twoim zadaniem jest wyczytanie po kolei w ten sam sposób imienia i nazwiska każdego z uczniów. Wiesz, że w klasie jest 20 uczniów. Czytasz imię i nazwisko po czym, przechodzisz do kolejnej osoby i w identyczny sposób wyczytujesz kolejnego ucznia, aż dojdziesz do ostatniego – 20-stego i wtedy zakończysz wyczytywanie. I w ten oto sposób przeiterowałeś się przez listę uczniów 😉

Przykładowo poprzez iterację można również:

  • Wymienić wszystkie dni tygodnia;
  • Pobrać elementy z kolejki, dopóki coś w niej jest;
  • Wyświetlić liczby całkowite od 0 do 10 itp. itd.

W tym wypadku – iteracja to jedno powtórzenie takiej pętli.

Algorytm iteracyjny

Iteracja – Wieże Hanoi Algorytmy

Algorytm iteracyjny – to po prostu algorytm, który opiera swoje działanie o iteracje, czyli powtarzanie danej operacji określoną ilość razy lub aż do spełnienia określonego warunku.

Niektóre problemy algorytmiczne można rozwiązać zarówno w sposób iteracyjny, jak i korzystając z algorytmów rekurencyjnych np. problem wież Hanoi, czy Ciąg Fibonacciego.

Często podczas procesu rekrutacji na stanowiska deweloperskie można spotkać się z zadaniem zaimplementowania takich algorytmów.

Pętla iteracyjna

Pętle są jednym z podstawowych narzędzi wykorzystywanych przez programistę. Dzięki nim można np. wywołać określoną funkcjonalność podaną ilość razy, zamiast za każdym razem wywoływać ją ręcznie.

Tablice i kolekcje to struktury, bez których ja przynajmniej nie wyobrażam sobie programowania. Nieodłącznym towarzyszem kolekcji jest na pewno pętla iteracyjna. Niezależnie od wielkości naszej kolekcji, działania na jej elementach dzięki pętli iteracyjnej możesz wykonać tylko raz, ograniczając znacząco linie zbędnego kodu. Nie ma w tym przypadku znaczenia czy będziesz usuwał, czy dodawał elementy do kolekcji – nie wpłynie to na strukturę kodu wewnątrz pętli.

Ucząc się programować, powinniśmy od samego początku używać dobrych praktyk, które pomogą tworzyć przejrzysty i zrozumiały kod dla nas, ale i dla innych programistów. Jedną z zasad jest DRY (ang. don’t repeat yourself), czyli po prostu – nie powtarzaj się. Pętla jest bardzo dobrym przykładem na stosowanie tej zasady👌🏻

Przykładowo, zamiast wypisywać kolejno dni tygodnia w 7 instrukcjach, możemy wykorzystać do tego pętlę.
W przypadku tygodnia mamy tylko 7 instrukcji, ale gdybyśmy chcieli wyświetlić dni z miesiąca, roku albo nawet kilku lat?
W takich sytuacjach pętlę okazują się niezrównane.

Jeżeli chcesz lepiej poznać zagadnienie pętli, zajrzyj do poniższego postu:

➡ ZOBACZ 👉: Pętla (for, while, do while, foreach)| Kurs Java ➿ 

Pętla iteracyjna – przykład

Prześledźmy działanie prostego algorytmy iteracyjnego z wykorzystaniem pętli na przykładzie.

Naszym zadaniem będzie zsumowanie kolejnych 3 liczb naturalnych, zaczynając od 1.

int result = 0;
for(int i = 1; i <= 3; i++){
  result += i;
}

Działanie iteracji

Działanie naszej przykładowej pętli polega na powtarzaniu kolejnych iteracji – przy czym dla każdej iteracji modyfikowana jest zmienna sterująca oraz sprawdzane są warunki, czy w ogóle możemy wykonać kolejną iterację.

Prześledźmy to krok po kroku:

  • Przypisz wartość początkową zmiennej sterującej – zmienna i=1;
  • Sprawdź, czy wartość zmiennej i mieści się w dopuszczalnym zakresie – czyli i <=3;
  • Ponieważ warunek pętli jest spełniony, przechodzimy do wykonywania iteracji – czyli w tym wypadku wykonujemy ciało pętli – result += i (gdzie i=1);
  • Na zakończenie iteracji zwiększamy wartość licznika o 1 – i++ (czyli go inkrementujemy);
  • Rozpoczynamy kolejną iterację od sprawdzenia warunku pętli – ponieważ jest on spełniony (2<=3), możemy wykonać ciało pętli i na koniec iteracji ponownie zwiększyć licznik pętli, który teraz jest równy 3;
  • Kolejna iteracja to – spełniony warunek pętli (3<=3) i na końcu zwiększony licznik pętli do wartości 4;
  • Tym razem jednak kolejna iteracja się już nie wykona – ponieważ wartość licznika przekroczyła założony zakres (4<=3);
    Dlatego też kończymy wykonanie całej pętli.

Rekurencja

Rekurencja (inaczej rekursja; ang. recursion) – jest podejściem alternatywnym do iteracyjnego i w uproszczeniu polega na odwoływaniu się np. funkcji lub definicji do samej siebie.

Więcej o rekurencji możesz przeczytać tutaj:

➡ ZOBACZ 👉: Rekurencja ➿ rekursja ➿ rekurencja

Iteracja podsumowanie – podsumowanie

W ramach tego materiału przećwiczyliśmy pracę z iteracjami. Zapoznaliśmy się również z tematem algorytmu iteracyjnego oraz pętli iteracyjnej.

Jeżeli spodobał Ci się ten materiał lub jeśli dopiero co zaczynasz swoją przygodę z programowaniem i chcesz dobrze wejść w świat deweloperów, zapraszam Cię do zapoznania się z moim programem dotyczącym Javy:

➡ ZOBACZ 👉: Java od podstaw


Jak zostać programistą

8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista.

Jak zostać programistą
No comments
Share:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.