Pętla zdefiniowana a pętla nieokreślona
Pętla to blok kodu, który powtarzałby się określoną liczbę razy lub do momentu spełnienia określonego warunku. Zdefiniowana pętla to pętla, w której liczba uruchomień jest znana z góry przed wejściem w pętlę. W nieokreślonej pętli liczba operacji, które ma wykonać, nie jest wcześniej znana i będzie wykonywana do momentu spełnienia pewnego warunku.
Co to jest określona pętla?
Zdefiniowana pętla to pętla, w której liczba uruchomień jest znana z góry przed wejściem w pętlę. Liczba iteracji, które zamierza powtórzyć, będzie zwykle podawana przez zmienną całkowitą. Ogólnie rzecz biorąc, pętle są uważane za określone pętle. Poniżej znajduje się przykład określonej pętli zaimplementowanej za pomocą pętli for (w języku programowania Java).
dla (int i = 0; i < num; i++)
// treść pętli for
Powyższa pętla wykona swoje ciało kilkakrotnie pod warunkiem zmiennej num. Można to ustalić na podstawie wartości początkowej zmiennej i oraz warunku pętli.
Podczas gdy pętle mogą być również używane do implementowania określonych pętli, jak pokazano poniżej (w Javie).
int i = 0;
podczas gdy ja
// treść pętli
i ++;
Mimo że wykorzystuje to pętlę while, jest to również pętla określona, ponieważ wiadomo z góry, że pętla będzie wykonywana tyle razy, ile zapewnia zmienna num.
Co to jest pętla nieokreślona?
W nieokreślonej pętli liczba uruchomień nie jest wcześniej znana. Zazwyczaj pętla nieokreślona będzie wykonywana do momentu spełnienia pewnego warunku. Pętle while i pętle „do-while” są powszechnie używane do implementacji pętli nieokreślonych. Chociaż nie ma konkretnego powodu, aby nie używać pętli do konstruowania pętli nieokreślonych, pętle nieokreślone można porządnie zorganizować za pomocą pętli while. Niektóre z typowych przykładów, w których należy zaimplementować nieokreślone pętle, monitują o odczytanie danych wejściowych, dopóki użytkownik nie wstawi dodatniej liczby całkowitej, odczytanie hasła, dopóki użytkownik nie wstawi tego samego hasła dwa razy z rzędu itp..
Jaka jest różnica między pętlą zdefiniowaną a pętlą nieokreśloną?
Zdefiniowana pętla to pętla, w której liczba razy, którą zamierza wykonać, jest znana z wyprzedzeniem przed wejściem w pętlę, podczas gdy pętla nieokreślona jest wykonywana do momentu spełnienia pewnego warunku, a liczba jej wykonania nie jest znana z góry. Często określone pętle są implementowane przy użyciu pętli for, a pętle nieokreślone są implementowane przy użyciu pętli while i pętli do-while. Ale nie ma teoretycznego powodu, aby nie używać pętli dla pętli nieokreślonych i pętli while dla pętli określonych. Ale nieskończone pętle można porządnie zorganizować za pomocą pętli while, podczas gdy określone pętle można porządnie zorganizować za pomocą pętli while.