Programowanie komputerowe - pętle
Rozważmy sytuację, w której chcesz drukować Hello, World!pięciokrotnie. Oto prosty program w C, który robi to samo -
#include <stdio.h>
int main() {
printf( "Hello, World!\n");
printf( "Hello, World!\n");
printf( "Hello, World!\n");
printf( "Hello, World!\n");
printf( "Hello, World!\n");
}
Kiedy powyższy program jest wykonywany, daje następujący wynik -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
To było proste, ale ponownie rozważmy inną sytuację, kiedy chcesz pisać Hello, World!tysiąc razy. Z pewnością nie możemy napisać instrukcji printf () tysiące razy. Prawie wszystkie języki programowania oferują koncepcję zwanąloop, który pomaga w wykonywaniu jednej lub więcej instrukcji do żądanej liczby razy. Wszystkie języki programowania wysokiego poziomu zapewniają różne formy pętli, których można użyć do wielokrotnego wykonywania jednej lub więcej instrukcji.
Napiszmy powyższy program w C przy pomocy a while loop a później omówimy, jak działa ta pętla
#include <stdio.h>
int main() {
int i = 0;
while ( i < 5 ) {
printf( "Hello, World!\n");
i = i + 1;
}
}
Kiedy powyższy program jest wykonywany, daje następujący wynik -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Powyższy program wykorzystuje plik while loop, który jest używany do wykonywania zestawu instrukcji programistycznych zawartych w {....}. Tutaj komputer najpierw sprawdza, czy dany warunek, tj. Zmienna „a” jest mniejszy niż 5, czy nie, i jeśli stwierdzi, że warunek jest prawdziwy, to w celu wykonania podanych instrukcji wprowadzana jest treść pętli. Tutaj mamy następujące dwie instrukcje w treści pętli -
Pierwsza instrukcja to funkcja printf () , która wyświetla Hello World!
Drugie stwierdzenie to i = i + 1 , które służy do zwiększania wartości zmienneji
Po wykonaniu wszystkich instrukcji podanych w treści pętli komputer wraca do while (i <5), a dany warunek (i <5) jest ponownie sprawdzany, a pętla jest wykonywana ponownie, jeśli warunek jest spełniony. Ten proces powtarza się, aż podany warunek pozostanie prawdziwy, co oznacza, że zmienna „a” ma wartość mniejszą niż 5.
Podsumowując, instrukcja pętli pozwala nam wielokrotnie wykonywać instrukcję lub grupę instrukcji. Poniżej podano ogólną postać instrukcji pętli w większości języków programowania -
Ten samouczek ma na celu przedstawienie podstawowych koncepcji programowania osobom nie będącym programistami, więc omówmy dwie najważniejsze pętle dostępne w języku programowania C. Kiedy już wiesz, jakie są te dwie pętle, możesz skorzystać z samouczka programowania w języku C lub podręcznika i sprawdzić inne pętle dostępne w języku C oraz sposób ich działania.
Pętla while
ZA while loop dostępny w języku C Język programowania ma następującą składnię -
while ( condition ) {
/*....while loop body ....*/
}
Powyższy kod można przedstawić w postaci schematu blokowego, jak pokazano poniżej -
Należy zwrócić uwagę na następujące ważne punkty dotyczące pętli while -
Pętla while zaczyna się od słowa kluczowego while po którym następuje condition zawarte w ().
Oprócz instrukcji while (), treść pętli będzie ujęta w nawiasy klamrowe {...}.
Treść pętli while może mieć jeden lub więcej wierszy kodu źródłowego do wielokrotnego wykonywania.
Jeśli treść pętli while ma tylko jedną linię, opcjonalne jest użycie nawiasów klamrowych {...}.
Pętla while wykonuje swoje ciało aż do danego conditiontrzyma się prawdy. Gdy tylko warunek stanie się fałszywy, pojawi się pętla while i będzie kontynuowana od następnej instrukcji bezpośrednio po treści pętli while.
Warunek jest zwykle stwierdzeniem relacyjnym, które jest oceniane jako prawda lub fałsz. Wartość równa zero jest traktowana jako fałsz, a każda wartość niezerowa działa jak prawda.
Zrób ... podczas gdy Loop
Pętla while sprawdza podany warunek przed wykonaniem jakichkolwiek instrukcji podanych w części ciała. Programowanie w C zapewnia inną formę pętli, zwanądo...whileco pozwala na wykonanie treści pętli przed sprawdzeniem danego warunku. Ma następującą składnię -
do {
/*....do...while loop body ....*/
}
while ( condition );
Powyższy kod można przedstawić w postaci schematu blokowego, jak pokazano poniżej -
Jeśli napiszesz powyższy przykład używając do...while pętla Hello, World da ten sam wynik -
#include <stdio.h>
int main() {
int i = 0;
do {
printf( "Hello, World!\n");
i = i + 1;
}
while ( i < 5 );
}
Kiedy powyższy program jest wykonywany, daje następujący wynik -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Instrukcja break
Kiedy breakinstrukcja jest napotkana wewnątrz pętli, pętla jest natychmiast przerywana, a sterowanie programem jest wznawiane od następnej instrukcji następującej po pętli. Składnia plikubreak instrukcja w C jest następująca -
break;
ZA break oświadczenie można przedstawić w postaci diagramu przepływu, jak pokazano poniżej -
Poniżej znajduje się wariant powyższego programu, ale wyjdzie on po wydrukowaniu Hello World! tylko trzy razy -
#include <stdio.h>
int main() {
int i = 0;
do {
printf( "Hello, World!\n");
i = i + 1;
if( i == 3 ) {
break;
}
}
while ( i < 5 );
}
Kiedy powyższy program jest wykonywany, daje następujący wynik -
Hello, World!
Hello, World!
Hello, World!
Kontynuuj oświadczenie
Plik continue instrukcja w języku programowania C działa podobnie do breakkomunikat. Zamiast wymuszać zakończenie,continuewymusza następną iterację pętli, pomijając kod znajdujący się pomiędzy. Składnia plikucontinue instrukcja w C jest następująca -
continue;
ZA continue oświadczenie można przedstawić w postaci diagramu przepływu, jak pokazano poniżej -
Poniżej znajduje się wariant powyższego programu, ale pominie on drukowanie, gdy zmienna ma wartość równą 3 -
#include <stdio.h>
int main() {
int i = 0;
do {
if( i == 3 ) {
i = i + 1;
continue;
}
printf( "Hello, World!\n");
i = i + 1;
}
while ( i < 5 );
}
Kiedy powyższy program jest wykonywany, daje następujący wynik -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Pętle w Javie
Poniżej znajduje się równoważny program napisany w Javie, który również obsługuje while i do...whilepętle. Następujący program drukujeHello, World! pięć razy jak w przypadku programowania w C -
Możesz spróbować wykonać następujący program, aby zobaczyć dane wyjściowe, które muszą być identyczne z wynikiem wygenerowanym w powyższym przykładzie.
public class DemoJava {
public static void main(String []args) {
int i = 0;
while ( i < 5 ) {
System.out.println("Hello, World!");
i = i + 1;
}
}
}
Plik break i continue instrukcje w programowaniu w języku Java działają w taki sam sposób, jak w programowaniu w C.
Pętle w Pythonie
Poniżej znajduje się równoważny program napisany w Pythonie. Python również obsługujewhile i do...whilepętle. Następujący program drukujeHello, World!pięć razy, jak zrobiliśmy to w przypadku programowania w C. W tym miejscu należy zauważyć, że Python nie używa nawiasów klamrowych dla treści pętli, zamiast tego po prostu identyfikuje treść pętli za pomocą wcięć instrukcji.
Możesz spróbować wykonać następujący program, aby zobaczyć dane wyjściowe. Aby pokazać różnicę, użyliśmy jeszcze jednej instrukcji print, która zostanie wykonana po zakończeniu pętli.
i = 0
while (i < 5):
print "Hello, World!"
i = i + 1
print "Loop ends"
Kiedy powyższy program jest wykonywany, daje następujący wynik -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends
Plik break i continue instrukcje w Pythonie działają w taki sam sposób, jak w programowaniu w C.