Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

petla do while

Ostatnio zmodyfikowano 2016-01-02 14:43
Autor Wiadomość
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
P-142693
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.
P-142696
rokefeller
Temat założony przez niniejszego użytkownika
» 2016-01-02 14:43:15
dzieki wielkie , teraz juz rozumiem :P
P-142699
« 1 »
  Strona 1 z 1