
Owen Little
0
4746
538
Kiedy uczysz się programować Jak nauczyć się programowania bez stresu Jak nauczyć się programowania bez stresu Być może zdecydowałeś się kontynuować programowanie, czy to dla kariery, czy dla hobby. Świetny! Ale może zaczynasz czuć się przytłoczony. Nie za dobrze. Oto pomoc w ułatwieniu podróży. , zrozumienie podstawowych elementów jest kluczem do wczesnego sukcesu. Trudne tematy poznasz później, ale jeśli nie rozumiesz typów zmiennych, pętli i funkcji, ciężko jest zajść daleko.
Większość nowych programistów się uczy instrukcje if-else, podczas pętli, i dla pętli wkrótce. Ale jednym z typów pętli, których możesz nie rozumieć, jest pętla do-while. Omówmy, jak działa ta pętla, kiedy będziesz chciał jej użyć, i spójrzmy na kilka przykładów.
Podstawy
Pętla „do-while” wykonuje blok kodu co najmniej raz, sprawdza, czy warunek jest spełniony, a następnie kontynuuje uruchamianie kodu w zależności od warunku. Rzućmy okiem na prosty przykład pseudokodu (ponieważ pomagają w nauce! 10 podstawowych przykładów Python, które pomogą Ci szybko się nauczyć 10 podstawowych przykładów Python, które pomogą Ci szybko się nauczyć doświadczenie i po prostu chcesz jak najszybciej przejść do Pythona.):
do wyjście "Zmienna x równa się" + x; x ++; while (x < 5); output "The loop has ended.";
W tym fragmencie kodu wiersze wewnątrz zrobić nawiasy klamrowe zawsze działają co najmniej raz. To znaczy że x może być dowolną wartością na początku pętli.
Jeśli x równa się 1, gdy pętla się zaczyna, będzie powtarzana do x nie spełnia warunku obok podczas. W ten sposób działałby w sumie 5 razy. Gdy x jest nie mniejsza niż 5, pętla kończy się i kontynuuje kod po nim. Ten wynik wyglądałby następująco:
Zmienna x równa się 1 Zmienna x równa się 2 Zmienna x równa się 3 Zmienna x równa się 4 Zmienna x równa się 5 Pętla się zakończyła.
I odwrotnie, jeśli x był równy 20, gdy ta pętla się zaczęła, działałaby tylko raz. Więc zobaczysz jedną instrukcję wyjściową, x zwiększa się do 21, a pętla kończy się, ponieważ 21 jest nie mniejsza niż 5. Jej wynik wyniósłby:
Zmienna x wynosi 20 Pętla się zakończyła.
Porównaj z pętlami While i For
Jak działa robić Pętla różni się od innych pętli? Najważniejsze jest to, że pętle „do-while” sprawdzają warunek po wykonanie bloku kodu, podczas gdy inne pętle sprawdzają warunek przed uruchomienie kodu w środku.
Rozważ ten podstawowy pseudokod podczas pętla do porównania:
x = 10; podczas gdy (x < 5) output "The loop has run!"; x++;
Tutaj, x jest ustawiony na 10, a podczas pętla sprawdza to x jest krótszy niż 5, zanim uruchomi się. Z tego powodu kod w środku nigdy nie działa. Zastosowanie tej samej logiki do pętli „do-while” daje nam coś takiego:
x = 10; do output "Pętla się uruchomiła!"; x ++; while (x < 5)
Ta pętla wyświetli tekst raz, przyrostowo x, następnie kontynuuj.
Pamiętaj, że możesz ponownie utworzyć funkcję „do-while” za pomocą dodatkowej instrukcji przed podczas pętla, tak:
wypisuje „Cześć!”; x ++; podczas gdy (x < 5) output "Hello!"; x++;
Jest to jednak niezręczne i nie ma powodu, aby to robić, gdy istnieją pętle „do-while”.
Dla pętli
Pętle „do-while” mają podobne rozróżnienie dla pętle ZA dla Pętla definiuje zmienną, określa czas trwania pętli i ustawia zachowanie na koniec każdej iteracji.
Oto prosty dla pętla do porównania:
dla (int i = 0; i < 5; i++) output "The loop has run " + i + " times.";
To podkreśla dobry kontrast pomiędzy robić i dla pętle - wiesz dokładnie ile razy a dla Pętla będzie działać, ponieważ warunki zostały ustawione na początku. Jeśli zmodyfikujesz powyższy kod w pętlę „do-while” w następujący sposób:
do wyjście "Pętla uruchomiła się" + i + "razy."; i ++; podczas gdy ja < 5);
Może wystąpić problem z uruchomioną pętlą. Jeśli nie zainicjowałeś ja gdzieś indziej nie wiesz, jaka będzie jego wartość, gdy zrobić część działa - i będzie działać co najmniej raz. Jeśli ja było 500, gdy ta pętla działała, wynik tutaj byłby niedokładny.
W podsumowaniu:
- ZA pętla do-while przydaje się, gdy chcesz wykonać polecenie co najmniej raz i ciągle, dopóki warunek nie zostanie spełniony.
- ZA pętla while pozwala powtarzać blok kodu, dopóki warunek jest spełniony, i przerwać, gdy warunek przestanie być spełniony.
- ZA dla pętli pozwala dokładnie określić, ile razy pętla ma się uruchamiać, ustawiając własne parametry.
Pozostawienie pętli „do-while”
Oczywiście musisz mieć warunek wyjścia dla pętli „do-while”, jak każdy inny. Jeśli nie, możesz skończyć z nieskończoną pętlą. Rozważ następujący fragment kodu:
x = 5; do output "To nigdy się nie kończy!"; while (x < 10);
Jeśli nie zwiększysz x gdziekolwiek indziej w kodzie, ta pętla będzie działać wiecznie. Czasami przydają się nieskończone pętle, ponieważ programista ustawia kod, aby mógł wyjść poza pętlę w innym miejscu. Ale najczęściej nowi koderzy wpadają przypadkowo w nieskończoną pętlę. 10 najgorszych błędów programistycznych w historii. 10 najgorszych błędów programistycznych w historii. W jego historycznej przeszłości kodowanie spowodowało również zniszczenie. Wystąpienie odrobiny złego kodu spowodowało katastrofę na dużym poziomie. Oto 10 najgorszych błędów programistycznych w historii. .
Oto przykład odpowiedniej nieskończonej pętli. Załóżmy, że projektujesz grę 5 bezpłatnych narzędzi do tworzenia gier do tworzenia własnych gier 5 bezpłatnych narzędzi do tworzenia gier do tworzenia własnych gier Bezpłatne oprogramowanie do tworzenia gier to świetny sposób na rozpoczęcie tworzenia gier wideo. Zebraliśmy najlepsze oprogramowanie do gier na rynku. gdzie użytkownik rzuca kostką i musi uzyskać 6, aby opuścić bazę macierzystą. Chcesz dalej rzucać kostką, aż wyląduje na 6, i oczywiście musisz rzucić przynajmniej raz. Zatem możesz użyć tego kodu:
do int roll = random (1, 2, 3, 4, 5, 6); if (roll == 6) break; while (true);
The podczas gdy (prawda) Warunek oznacza, że ta pętla będzie działać wiecznie, co chcemy, ponieważ użytkownik musi rzucić, dopóki nie otrzyma 6. Bez złamać oświadczenie, utknie. Ale gdy użytkownik wyrzuci 6, Jeśli instrukcja staje się prawdą, a sekwencja wyłamuje się z pętli i przechodzi do tego, co następuje.
Nie musisz używać instrukcji break, jeśli nie chcesz. W rzeczywistości lepiej jest unikać instrukcji break, jeśli możesz. Utrudniają konserwację kodu, a zakończenie pod warunkiem jest łatwiejsze do śledzenia. Tak więc zmodyfikowany kod poniżej osiąga ten sam cel:
do int roll = random (1, 2, 3, 4, 5, 6); while (roll! = 6);
Zła nieskończona pętla
Nieskończona pętla, w której masz plan wyjścia, jest w porządku. Ale czasami przypadkowo utworzysz nieskończoną pętlę, jak w poniższym przykładzie:
int x = 7; do x = 1; x = x + 2; wyjście „x równa się” + x; while (x < 10);
Może to wyglądać na rosnące x o 2 każda pętla i powtarza się, aż x nie będzie mniejsze niż 10, ale spójrz bliżej. Ponieważ pętla się ustawia x równy 1 za każdym razem, gdy działa, jest to nieskończona pętla. Zauważ, że x = 1 i x = x + 2 oznacza, że x jest zawsze 3 na końcu bloku, bez względu na to, ile razy to działa x jest nigdy mniejsza niż 10.
Uważaj na instrukcje wewnątrz pętli, które niezamierzenie zmieniają zmienną za każdym razem, gdy jest uruchamiana, aby uniknąć takich sytuacji.
Przykłady ze świata rzeczywistego
Omówiliśmy kilka hipotetycznych przykładów powyżej, ale rzućmy okiem na kilka przydatnych rzeczywistych przykładów pętli do-while.
Jeśli tworzysz pętlę do odczytu danych z pliku, aż dotrze on do końca, skorzystasz z pętli „do-while”. Oczywiście, jeśli planujesz czytać z pliku, musisz pobrać przynajmniej jedną postać, abyś mógł użyć pętli „do-while” (dzięki użytkownikowi Stack Exchange Stevenowi Burnapowi w tym przykładzie):
do result = readData (bufor); while (wynik! = EOF);
Bez przestoju będziesz musiał użyć nieco brzydszego rozwiązania:
while (true) result = readData (bufor); if (wynik == EOF) przerwa;
Kolejny przykład obejmuje pobieranie danych wejściowych od użytkownika. Załóżmy, że piszesz program, który prosi użytkownika o podanie liczby dodatniej. Korzystając z do-while, możesz upewnić się, że ich dane wejściowe są odpowiednie:
do output "Wpisz liczbę dodatnią:"; int input = getInput (); while (wejście < 0);
W tej pętli użytkownik widzi monit o wprowadzenie liczby i raz wprowadza wartość. Jeśli wprowadzą liczbę ujemną, pętla uruchomi się ponownie i zostaną poproszeni o wprowadzenie liczby dodatniej, dopóki nie będą zgodne. Inne pętle po prostu nie mają sensu dla tego rodzaju akcji.
Gotowe do użycia pętle Do-While?
Przeprowadziliśmy ankietę dotyczącą pętli „do-while”, w tym ich podstawowych zasad, jak najlepiej z nich korzystać oraz ich porównania z innymi pętlami. Jeśli nie pamiętasz nic innego z tego artykułu, wiedz, że są pętle do-while gdy musisz uruchomić coś co najmniej raz, ale nie wiesz ile razy będziesz go potrzebował przed zainicjowaniem pętli.
Pomyśl o takich sytuacjach w swoich programach, a łatwo znajdziesz miejsca, w których pasują pętle „do-while”. Prawie wszystkie najlepsze języki dla początkujących. 6 najłatwiejszych języków programowania dla początkujących. 6 najłatwiejszych języków programowania dla początkujących. Nauka programowania polega na znalezieniu odpowiedniego języka, tak samo jak na procesie edycji. Oto sześć najpopularniejszych języków programowania dla początkujących. obsługują pętle do-while, więc nie powinieneś mieć problemów z ich wdrażaniem.
Jeśli uczysz się podstaw, zapoznaj się z naszymi najlepszymi sztuczkami do opanowania nowego języka programowania. 7 przydatnych sztuczek do opanowania nowego języka programowania. 7 przydatnych sztuczek do opanowania nowego języka programowania. . Prawdopodobnie zapomnisz o rzeczach tak szybko, jak się ich nauczysz. Te wskazówki pomogą ci lepiej zachować wszystkie nowe informacje. .
Jakie inne sytuacje możesz wymyślić, kiedy sensacja ma sens? Przedyskutuj i daj nam znać, jeśli używasz pętli „do-while” w swoich programach w sekcji komentarzy!
Zdjęcie: Aaban przez Shutterstock.com