Nieokreślona pętla vs nieokreślona pętla
Pętla to blok kodu, który będzie się powtarzał określoną liczbę razy lub dopóki nie zostanie spełniony jakiś warunek. Określona pętla to pętla, w której liczba jej wykonań jest znana z góry przed wejściem do pętli. W nieokreślonej pętli, ile razy będzie ona wykonywana, nie jest znana z góry i będzie wykonywana, dopóki nie zostanie spełniony jakiś warunek.
Co to jest określona pętla?
Określona pętla to pętla, w której liczba jej wykonań jest znana z góry przed wejściem do pętli. Liczba iteracji, które będzie powtarzać, będzie zazwyczaj podawana przez zmienną całkowitą. Ogólnie pętle for są uważane za określone pętle. Poniżej przedstawiono przykład określonej pętli zaimplementowanej przy użyciu pętli for (w języku programowania Java).
for (int i = 0; i <num; i ++)
{
// treść pętli for
}
Powyższa pętla wykona swoje ciało kilka razy podaną przez zmienną num. Można to określić na podstawie początkowej wartości zmiennej i oraz warunku pętli.
Pętli While można również używać do implementacji określonych pętli, jak pokazano poniżej (w Javie).
int i = 0;
podczas gdy ja
{
// treść pętli
i ++;
}
Mimo że wykorzystuje pętlę while, jest to również określona pętla, ponieważ z góry wiadomo, że pętla będzie wykonywała określoną liczbę razy określoną przez zmienną num.
Co to jest nieokreślona pętla?
W nieokreślonej pętli liczba jej wykonań nie jest z góry znana. Zwykle nieokreślona pętla będzie wykonywana, dopóki nie zostanie spełniony jakiś warunek. Pętle While i pętle do-while są powszechnie używane do implementacji nieokreślonych pętli. Mimo że nie ma konkretnego powodu, aby nie używać pętli for do tworzenia nieokreślonych pętli, nieokreślone pętle można uporządkować za pomocą pętli while. Niektóre z typowych przykładów, które trzeba byłoby zaimplementować nieokreślone pętle, to monit o odczytanie danych wejściowych, dopóki użytkownik nie wstawi dodatniej liczby całkowitej, odczyt hasła, dopóki użytkownik nie wstawi tego samego hasła dwa razy z rzędu itp.
Jaka jest różnica między określoną pętlą a nieokreśloną pętlą?
Określona pętla to pętla, w której liczba wykonanych operacji jest znana z góry przed wejściem do pętli, podczas gdy nieokreślona pętla jest wykonywana, dopóki nie zostanie spełniony jakiś warunek, a liczba razy nie jest znana z góry. Często określone pętle są implementowane przy użyciu pętli for, a nieokreślone pętle są implementowane przy użyciu pętli while i pętli do-while. Ale nie ma teoretycznego powodu, aby nie używać pętli for dla nieokreślonych pętli i pętli while dla określonych pętli. Ale nieokreślone pętle mogą być starannie zorganizowane za pomocą pętli while, podczas gdy określone pętle mogą być starannie zorganizowane za pomocą pętli for.