Verständnis Frage (If vs. While)


  • Mod

    ProgChild schrieb:

    Bei if wird der Code in geschweiften Klammern so lange ausgeführt, wenn die Bedingung in den runden Klammern zutrifft. Bei while wird der Code in geschweiften Klammern so lange ausgeführt, so lange die Bedingung in den runden Klammern zutrifft.

    Das war jetzt aber ungeschickt formuliert 😃 . Ich korrigiere mal:

    Bei if wird der Code in geschweiften Klammern so lange ausgeführt, wenn die Bedingung in den runden Klammern zutrifft. Bei while wird der Code in geschweiften Klammern so lange ausgeführt, so lange die Bedingung in den runden Klammern zutrifft.



  • ProgChild schrieb:

    Bei if wird der Code in geschweiften Klammern so lange ausgeführt, wenn die Bedingung in den runden Klammern zutrifft. Bei while…

    Ist etwas unverständliche. Du meintest sicher: " Bei if wird der Code in geschweiften Klammern einmalig ausgeführt, wenn die Bedingung in den runden Klammern zutrifft. Bei while…"
    Gruß

    zu spät



  • ProgChild schrieb:

    Bei if wird der Code in geschweiften Klammern so lange ausgeführt, wenn die Bedingung in den runden Klammern zutrifft. [...]

    denn der Code wird nur einmal ausgeführt. Der if-Block ist keine Schleife.



  • Seht ihr, schon sind alle anderer Meinung. Da wundert es mich nicht, wenn ich
    auch durcheinander komme 😃

    Ne jetzt im ernst: Ich verstehe schon, was die If Bedingung und die While
    Schleife so machen. Aber bzgl. meines Programms, sind doch beide Varianten
    in Ordnung, nicht ?

    Es ist ja blubb, ob man um i++ erhöht, wenn i <= z ist oder um i++
    erhöht solange i <= z ist ?



  • Ich dachte, du möchtest, dass i bis 10 bzw. z hochgezählt wird und nicht nur um eins erhöht wird... in dem Fall würde die if -Abfrage aus dem genannten Grund nicht passen.



  • Wenn du denkst, dass das das Gleiche wäre, hast du offen gesagt gar nichts verstanden. Mal ein Beispiel:

    int main()
    {
      int i = 0;
      if (i < 10)
        ++i;
      // i hat jetzt den Wert 1
    }
    
    int main()
    {
      int i = 0;
      while (i < 10)
        ++i;
      // i hat jetzt den Wert 10
    }
    


  • Nein Mann if ist keine Schleife. Der Block wird höchstens einmal ausgeführt. Es ist nicht das gleiche wie bei der while-Alternative



  • Das wäre also richtig?:

    Bei If wird es nur um 1 erhöht und das wars dann auch schon.
    und bei while wird es so lange erhöht, bis es <=z ist!



  • marko_XY_WHT? schrieb:

    Das wäre also richtig?:

    Bei If wird es nur um 1 erhöht und das wars dann auch schon.
    und bei while wird es so lange erhöht, bis es <=z ist!

    jop!
    schau dir trotzdem lieber die Grundlagen nochmal an und siehe zu,
    dass dein Builder wieder funktioniert. Sonst wird es katastrophal 😃



  • Lies bitte ein Buch, bevor du solche Fragen stellst.



  • robbystrike schrieb:

    marko_XY_WHT? schrieb:

    Das wäre also richtig?:

    Bei If wird es nur um 1 erhöht und das wars dann auch schon.
    und bei while wird es so lange erhöht, bis es <=z ist!

    jop!

    Nö. Es wird so lange erhöht, bis es > z ist.


Anmelden zum Antworten