poku999 Geschrieben 14. Januar 2010 Teilen Geschrieben 14. Januar 2010 Hallo liebe Leute, ich hoffe ihr könnt mir helfen! Ich schreibe übermorgen Informatik und weiß nicht wann ich eine fußgesteurte und eine kopfgesteurte Schleife anwende. Schön wäre an einer Aufgabe zu erklären wann ich welche Schleife anwende. Der Unterschied ist mir bewusst. Bei der kopfgesteurten Schleife: Solange die Bedingung wahr ist, wird die Aktion ausgeführt. Bei der fußgesteurten Schleife: Die Aktion wird solange ausgeführt bis die Bedingung falsch ist. und die Aktion wird dabei min einmal durchlaufen. Danke für eure Antworten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 14. Januar 2010 Teilen Geschrieben 14. Januar 2010 Bei der kopfgesteurten Schleife: Solange die Bedingung wahr ist, wird die Aktion ausgeführt. Bei der fußgesteurten Schleife: Die Aktion wird solange ausgeführt bis die Bedingung falsch ist."Solange wahr" und "solange bis falsch" ist dasselbe und die Aktion wird dabei min einmal durchlaufen.Das ist der entscheidende Unterschied. Im Gegensatz dazu wird die kopfgesteuerte Schleife, wenn die Schleifenbedingung gleich zu Beginn falsch ist, komplett übersprungen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
konsti4u Geschrieben 14. Januar 2010 Teilen Geschrieben 14. Januar 2010 Das mit dem mind. einmal durchlaufen kenne ich unter "nicht abweisende"-Schleife: https://www.tu-chemnitz.de/wirtschaft/wi1/lehre/2002_ws/wi_pr1/prog03.htm Kopf- und Fußgesteuert... sollte wohl das gleiche sein, die Schleifenbedingung wird dabei wohl vor dem Schleifenrumpf (kopfgesteuert) oder nach dem Schleifenrumpf (fußgesteuert) geprüft Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
poku999 Geschrieben 15. Januar 2010 Autor Teilen Geschrieben 15. Januar 2010 "Solange wahr" und "solange bis falsch" ist dasselbe Das ist der entscheidende Unterschied. Im Gegensatz dazu wird die kopfgesteuerte Schleife, wenn die Schleifenbedingung gleich zu Beginn falsch ist, komplett übersprungen. Vielen Dank für die Antwort, jedoch weiß ich nicht bei welcher aufgabe ich welche schleife anwende. ich bräuchte mal ein beispiel von euch. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
poku999 Geschrieben 15. Januar 2010 Autor Teilen Geschrieben 15. Januar 2010 "Solange wahr" und "solange bis falsch" ist dasselbe Das ist der entscheidende Unterschied. Im Gegensatz dazu wird die kopfgesteuerte Schleife, wenn die Schleifenbedingung gleich zu Beginn falsch ist, komplett übersprungen. Vielen Dank für die Antwort. Ich bräuchte mal ein Beispiel an dem ich erkenne wann ich welche Schleife anwende. Kann mir das als Aufgabe nicht vorstellen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
konsti4u Geschrieben 15. Januar 2010 Teilen Geschrieben 15. Januar 2010 (bearbeitet) Kopfgesteuert (abweisende Schleife): int i, summe; summe=0; i=0; while(i < 10) { summe= summe + i; i++; } Fußgesteuerte Schleife (nicht abweisende Schleife): int i, summe; summe=0; i=0; do { summe = summe + i; i ++; } while (i <10); Beide Schleifen machen das gleiche, wo liegt der Unterschied, ganz einfach wie oben schon gesagt, die Fußschleife läuft mindestens einmal durch, das kann man nicht verhindern. So würde z.B. der folgende Schleifenrumpf kein einziges Mal durchlaufen, denn diese prüft erst die Bedingung und falls diese zutrifft wird der Schleifenrumpf ausgeführt, bei der Fußgesteuerten dagegen wird der Rumpf mind. einmal durchlaufen, weil diese zuerst die Anweisungen im Schleifenrumpf ausführt und dann erst testet, ob die Bedingung erfüllt ist! int i, summe; summe = 0; i =1000; //beachte hier die Änderung while(i < 10) { summe = summe + i; i ++; } Wird keinmal durchlaufen! Summe am Ende 0; i am Ende 1000; int i, summe; summe =0; i=1000; do { summe = summe + i; i ++; } while (i <10); Wird einmal durchlaufen (summe am ende = 1000), i am Ende 1001; Bearbeitet 15. Januar 2010 von konsti4u Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
poku999 Geschrieben 15. Januar 2010 Autor Teilen Geschrieben 15. Januar 2010 Kopfgesteuert (abweisende Schleife): int i, summe; summe=0; i=0; while(i < 10) { summe= summe + i; i++; } Fußgesteuerte Schleife (nicht abweisende Schleife): int i, summe; summe=0; i=0; do { summe = summe + i; i ++; } while (i <10); Beide Schleifen machen das gleiche, wo liegt der Unterschied, ganz einfach wie oben schon gesagt, die Fußschleife läuft mindestens einmal durch, das kann man nicht verhindern. So würde z.B. der folgende Schleifenrumpf kein einziges Mal durchlaufen, denn diese prüft erst die Bedingung und falls diese zutrifft wird der Schleifenrumpf ausgeführt, bei der Fußgesteuerten dagegen wird der Rumpf mind. einmal durchlaufen, weil diese zuerst die Anweisungen im Schleifenrumpf ausführt und dann erst testet, ob die Bedingung erfüllt ist! int i, summe; summe = 0; i =1000; //beachte hier die Änderung while(i < 10) { summe = summe + i; i ++; } Wird keinmal durchlaufen! Summe am Ende 0; i am Ende 1000; int i, summe; summe =0; i=1000; do { summe = summe + i; i ++; } while (i <10); Wird einmal durchlaufen (summe am ende = 1000), i am Ende 1001; Danke, aber wann brauche ich welche Schleife? wenn ich eien aufgabe bekomme weiß ich nicht, welche ich anwenden soll. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
snotti.herry Geschrieben 15. Januar 2010 Teilen Geschrieben 15. Januar 2010 Wenn die schleife einmal durchlaufen werden muss dann nimmste ne fußgesteuerte.Wenn die schleife erst nach überprüfung laufen soll dann nimmst ne kopfgesteuerte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 15. Januar 2010 Teilen Geschrieben 15. Januar 2010 aber wann brauche ich welche Schleife? wenn ich eien aufgabe bekomme weiß ich nicht, welche ich anwenden soll. Das kommt darauf an, wie dein Programmablauf strukturiert ist. Beispiel: Ein Programm liest vom Benutzer eine Liste von Zahlen ein und gibt sie wieder aus. Der Benutzer soll das Einlesen durch Eingabe von -1 beenden können. Die Einleseschleife muss also mindestens einmal durchlaufen werden, um überhaupt erst einmal eine Zahl einzulesen, auch wenn der Benutzer die Eingabe sofort durch -1 beendet. Wenn das Programm hinterher die Zahlen wieder ausgeben soll, soll es natürlich nichts tun, wenn keine Zahlen zum Ausgeben vorhanden sind. Die Eingabeschleife wäre also fußgesteuert, die Ausgabeschleife kopfgesteuert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 15. Januar 2010 Teilen Geschrieben 15. Januar 2010 Ein aktuelles Beispiel für die Verwendung einer fußgesteuerten Schleife hier aus dem Forum: http://forum.fachinformatiker.de/net/135045-c-problem-menueerstellung.html#post1201350 Das Menü wird auf jeden Fall einmal angezeigt und am Fuß wird der eingegebene Wert geprüft. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.