1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Umwandlungen der Schleifen (do-while/while/for)

    • Frage
  • freakjan
  • 28. Dezember 2005 um 23:49
  • Unerledigt
  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 28. Dezember 2005 um 23:49
    • #1

    Hallo :devil:

    Allgemein wollte ich wissen ob meine Umwandlungen semantisch und syntaktisch richtig sind!

    1.Kann man auch Zählschleife-for in do/while-Schleife umwandeln?
    2.Kann man eine while- oder eine do/while-Schleife in Zählschleife umwandeln??
    3.Hab ich eigentlich die Semikolon und die geschweifelten Klammern richtig eingesetzt??


    Zählschleife-for in while-Schleife:

    HTML
    for (Initialisierung; Ausdruck; Update) {
    Anweisung;
    }



    ====>

    HTML
    Initialisierung;
    while (Ausdruck) {
    Anweisung;
    Update;
    }



    Kopfgesteuerte while-Schleife in fussgesteuerte do-while-Schleife

    HTML
    while (Ausdruck) {
    Anweisung;
    }



    =========>

    HTML
    if (Ausdruck) { // warum ergänzt man hier if (Ausdruck)???
    do { 
    Anweisung;
    }
    while (Ausdruck);
    }



    Fussgesteuerte do-while-Schleife in Kopfgesteuerte while-Schleife

    HTML
    do {
    Anweisung;
    }
    while (Ausdruck);



    ====>

    HTML
    Anweisung; // und warum ergänzt man hier eine Anweisung???
    while (Ausdruck) {
    Anweisung;
    }

    Danke :thumb:
    ciao :zwinker:

  • Korrupt
    8
    Korrupt
    Mitglied
    Punkte
    605
    Beiträge
    110
    • 28. Dezember 2005 um 23:56
    • #2
    Zitat von freakjan

    Hallo :devil:

    Allgemein wollte ich wissen ob meine Umwandlungen semantisch und syntaktisch richtig sind!

    1.Kann man auch Zählschleife-for in do/while-Schleife umwandeln?
    2.Kann man eine while- oder eine do/while-Schleife in Zählschleife umwandeln??
    3.Hab ich eigentlich die Semikolon und die geschweifelten Klammern richtig eingesetzt??


    Zählschleife-for in while-Schleife:

    for (Initialisierung; Ausdruck; Update) {
    Anweisung;
    }

    ====>

    Initialisierung;
    while (Ausdruck) {
    Anweisung;
    Update;
    }

    Alles anzeigen


    korrekt :thumb:

    Zitat von freakjan

    Kopfgesteuerte while-Schleife in fussgesteuerte do-while-Schleife

    while (Ausdruck) {
    Anweisung;
    }

    =========>

    if (Ausdruck) { // warum ergänzt man hier if (Ausdruck)???
    do {
    Anweisung;
    }
    while (Ausdruck);
    }

    Alles anzeigen


    das warum solltest du eigentlich hier rauslesen können. aber hier nochmal zusammengefasst: der while-rumpf wird nur dann ausgeführt, wenn die bedingung true ist. der do-rumpf der do-while wird auf jedenfall 1-mal ausgführt. in dem bsp ist dann das if notwendig, damit der do-rumpf nur dann ausgeführt wird, wenn die bedingung wirklich erfüllt ist.

    Zitat von freakjan

    Fussgesteuerte do-while-Schleife in Kopfgesteuerte while-Schleife

    do {
    Anweisung;
    }
    while (Ausdruck);

    ====>

    Anweisung; // und warum ergänzt man hier eine Anweisung???
    while (Ausdruck) {
    Anweisung;
    }

    Alles anzeigen


    das warum solltest du auch hier rauslesen können. aber hier nochmal zusammengefasst: der while-rumpf wird nur dann ausgeführt, wenn die bedingung true ist. der do-rumpf der do-while wird auf jedenfall 1-mal ausgführt. in dem bsp ist die Anweisung for der while notwendig, damit diese auf jeden fall einmal ausgeführt wird (siehe do-while).

    ps: schon mal was von

    HTML
    [CODE]

    [/code] gehört. das macht sourcecode viel übersichtlicher hier im forum :shinner:

    *** Ich würde gern die Welt verändern, aber Gott gibt mir den Quelltext nicht ***

  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 29. Dezember 2005 um 00:08
    • #3

    ohh sorry, hab deine Antwort hier erst danach gesehen :face_with_rolling_eyes:
    Vielen Dank, dass du mir deine kostbare Zeit geopfert hast :thumb:
    Danke für den Tipp wegen HTML Code, werde demnächst damit arbeiten :)

    Hoffe, dass wir die Fragen nicht vergessen :shinner:

    1.Kann man auch Zählschleife-for in do/while-Schleife umwandeln?
    2.Kann man eine while- oder eine do/while-Schleife in Zählschleife umwandeln??

    Danke :thumb:
    ciao :zwinker:

  • Korrupt
    8
    Korrupt
    Mitglied
    Punkte
    605
    Beiträge
    110
    • 29. Dezember 2005 um 14:07
    • #4
    Zitat von freakjan

    1.Kann man auch Zählschleife-for in do/while-Schleife umwandeln?


    ja, kann man.
    beispiel:

    Code
    for (int i = 0; i < x; i++)
    {
    //do something
    }
    
    
    wird zu:
    
    
    int i = 0;
    if (i < x)
    {
      do
      {
       //do something
       i++;
      } while (i < x)
    }
    Alles anzeigen
    Zitat von freakjan

    2.Kann man eine while- oder eine do/while-Schleife in Zählschleife umwandeln??


    ich würd mal sagen: bedingt. wenn die while / do-while auch zählt, dann schon.
    beispiel:

    Code
    int i = 0;
    while (i < x)
    {
      //do something
      i++;
    }
    
    
    ist äquivalent zu
    
    
    int i = 0;
    if(i < x)
    {
      do
      {
        //do something
        i++;
      } while (i < x);
    }
    
    
    ist äquivalent zu
    
    
    for (int i = 0; i < x; i++)
    {
      //do something
    }
    Alles anzeigen


    du musst später immer selbst einschätzen mit welcher schleifenart es am einfachsten geht bzw. welche deine bedürfnisse am besten erfüllt.
    zum beispiel würde ich beim iterieren durch eine linked list (nicht synchronisiert) eine for verwenden, da ich dabei zählen muss (stichwort LinkedList.size()). hingegen beim iterieren durch eine hashtable würde ich eine while bevorzugen (stichwort Iterator.hasNext()). do-while werden allgemein eher selten verwendet.

    *** Ich würde gern die Welt verändern, aber Gott gibt mir den Quelltext nicht ***

  • stormcrow
    6
    stormcrow
    Mitglied
    Punkte
    360
    Beiträge
    72
    • 29. Dezember 2005 um 18:27
    • #5

    bezueglich schleifen umwandeln: man kann eigentlich alles mit ner while schleife loesn. die anderen schleifenartn sind oft einfach nur komfortabler.

    I came here to chew gum and kick ass, and I'm all out of gum...

  • ska
    3
    ska
    Mitglied
    Punkte
    90
    Beiträge
    14
    • 30. Dezember 2005 um 03:17
    • #6

    hingegen beim iterieren durch eine hashtable würde ich eine while bevorzugen (stichwort Iterator.hasNext()).

    Kannst du mir das vielleicht näher erklären, wie du das meinst, indem du ein Bsp. anführst!?
    Mit hashtables kenn ich mich nämlich noch nicht so gut aus...
    :confused: ...wär echt lieb:) ...

    Die Zeit heilt alle Wunder!!!:p

    Fotografie hält diese Wunder fest...
    http://DI-fotografin.at

  • Paulchen
    1
    Paulchen
    Gast
    • 30. Dezember 2005 um 11:42
    • #7
    Zitat von ska

    Kannst du mir das vielleicht näher erklären, wie du das meinst, indem du ein Bsp. anführst!?

    allgemein:

    PHP
    Collection<E> bla;
    
    
    /* bla initialisieren, irgendwas einfüllen, was auch immer */
    
    
    Iterator<E> blaIterator=bla.iterator();
    while(blaIterator.hasNext()) {
        E aktuellesBla=blaIterator.next();
    
    
        /* mach was mit aktuellesBla */
    }
    Alles anzeigen
  • ska
    3
    ska
    Mitglied
    Punkte
    90
    Beiträge
    14
    • 30. Dezember 2005 um 13:50
    • #8

    Ah-klar-DANKE!!

    Die Zeit heilt alle Wunder!!!:p

    Fotografie hält diese Wunder fest...
    http://DI-fotografin.at

  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 3. Januar 2006 um 13:03
    • #9

    herzlichen Dank :p
    hier lernt man ja wirklich sehr schnell und macht auch sehr viel spass :shinner:

    Danke :thumb:
    ciao :zwinker:

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung