Pętla określona a pętla nieokreślona
Pętla to blok kodu, który będzie się powtarzał określoną liczbę razy lub dopóki nie zostanie spełniony pewien warunek. Określona pętla to pętla, w której przed wejściem do pętli znana jest liczba wykonań. W nieskończonej pętli liczba wykonywanych operacji nie jest znana z góry i będzie wykonywana, dopóki nie zostanie spełniony pewien warunek.
Co to jest pętla określona?
Pętla określona to pętla, w której przed wejściem do pętli znana jest liczba wykonań. Liczba iteracji, które będzie powtarzać, będzie zazwyczaj podawana przez zmienną całkowitą. Ogólnie rzecz biorąc, pętle for są uważane za pętle określone. Poniżej znajduje się przykład określonej pętli zaimplementowanej przy użyciu pętli for (w języku programowania Java).
for (int i=0; i < liczba; i++)
{
//treść pętli for
}
Powyższa pętla wykona swoją treść kilka razy, podaną przez zmienną num. Można to określić na podstawie wartości początkowej zmiennej i oraz warunku pętli.
Podczas gdy pętle mogą być również używane do implementacji określonych pętli, jak pokazano poniżej (w Javie).
int i=0;
while(i<num)
{
//treść pętli
i++;
}
Mimo że używa pętli while, jest to również pętla określona, ponieważ wiadomo z góry, że pętla wykona określoną liczbę razy określoną przez zmienną num.
Co to jest pętla nieokreślona?
W nieskończonej pętli liczba wykonywanych operacji nie jest z góry znana. Zazwyczaj nieskończona pętla będzie wykonywana, dopóki nie zostanie spełniony pewien warunek. Pętle while i pętle do-while są powszechnie używane do implementowania nieskończonych pętli. Mimo że nie ma konkretnego powodu, aby nie używać pętli for do konstruowania nieokreślonych pętli, pętle nieokreślone mogą być uporządkowane za pomocą pętli while. Niektóre typowe przykłady, w których trzeba by zaimplementować nieskończone pętle, to monitowanie o odczytanie danych wejściowych, dopóki użytkownik nie wstawi dodatniej liczby całkowitej, czytanie 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ą określoną a pętlą nieokreśloną?
Pętla określona to pętla, w której liczba wykonań jest znana z góry przed wejściem w pętlę, podczas gdy pętla nieokreślona jest wykonywana aż do spełnienia pewnego warunku i ile razy będzie wykonywana wykonanie nie jest znane z góry. Często pętle określone 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 for dla pętli nieokreślonych i pętli while dla pętli określonych. Ale nieokreślone pętle można ładnie zorganizować za pomocą pętli while, podczas gdy określone pętle można ładnie zorganizować za pomocą pętli for.