petla do while
Ostatnio zmodyfikowano 2016-01-02 14:43
rokefeller Temat założony przez niniejszego użytkownika |
petla do while » 2016-01-02 14:00:02 witam mam pewien problem #include <iostream> int main() { int ile = 4; do { std::cout << "Napis" << std::endl; ile--; } while( ile > 0 ); return 0; }
do czego służy ta dekrementacja "ile--",jedyne co zauwazylem to to ze jak ja usune to program wykonuje w nieskonczonosc polecenie,chcial bym poprostu to lepiej pojac i jak to sie ma wgl do warunku konczacego polecenie |
|
Erpeg |
» 2016-01-02 14:14:21 Zacznijmy od tego, że petla typu "do while" wykona się w programie co najmniej raz jest to ważna cecha tej pętli. Warunek kończący w Twoim przypadku to wartość zmiennej "ile" jest większe od 0, na początku programu przypisujesz "ile = 4". Instrukcja "i--", jest dekrementacją o czym jest napisane w kursie... czyli zmniejszasz o dokładnie '1' wartość zmiennej "ile = 4 " czyli uzyskujesz wynik "ile = 3". Pętla będzie wykonywać się do momentu kiedy "ile > 0", więc w końcu program dojdzie do momentu kiedy zmienna "ile" będzie miała wartość '0'... Czyli warunek pętli "ile > 0" zwróci wartość 'false' i wykona się kod poniżej pętli czyli instrukcja 'return 0' zamykająca program. Wniosek jest taki, że usuwając instrukcje "i--" doprowadzasz do tego że warunek pętli "ile > 0" będzie 'true' bez możliwości zmiany stanu na 'false' co oznacza że będzie się wykonywać w nieskończoność. Jeśli tego nie rozumiesz powinieneś jeszcze raz skupić się na tym jak działa instrukcja if, operacje matematyczne, i pętla do while.
|
|
rokefeller Temat założony przez niniejszego użytkownika |
» 2016-01-02 14:43:15 dzieki wielkie , teraz juz rozumiem :P |
|
« 1 » |