AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]
Thema durchsuchen
Ansicht
Themen-Optionen

Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

Ein Thema von xSkuLL KiiDx · begonnen am 16. Jan 2013 · letzter Beitrag vom 21. Jan 2013
Antwort Antwort
gb0

Registriert seit: 27. Aug 2005
20 Beiträge
 
#1

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 17. Jan 2013, 19:28
Aus den Beiträgen weiter oben geht es eigentlich schon hervor:

Wenn ZUERST die Bedingung geprüft wird, kommt die Programmausführung nie in den Schleifenkörper hinein. Du kannst damit praktisch ein ganzes 'schrecklich wichtiges' Programm abschirmen - als Beispiel würde sich eine Passwort-Eingabe anbieten. Nur wenn das Pw stimmt, funktioniert der 'Inhalt'.

Wenn die Schleife mal einfach so los startet, geht die Programmausführung jedenfalls 1 x durch den Schleifenkörper, um DANACH abzubrechen, weil die Bedingung eben nicht erfüllt ist. Daher ideal für so Zählschleifen.

Vielleicht hilft das bei der Beispielfindung...
  Mit Zitat antworten Zitat
xSkuLL KiiDx

Registriert seit: 16. Jan 2013
15 Beiträge
 
#2

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 17. Jan 2013, 19:38
also wie ich das jetzt verstanden habe ... passwort wird eingeben ----> Falsch ! Schleife schaltet sich ein und man muss erneut das Passwort eingeben bis es stimmt ? wenns stimmt wird der Inhalt Freigegeben ? so hab ich das jetzt irgendwie verstanden Oo stimmt das ? sorry ich bin NOCH net so schlau wie ihr bitte habt Verständnis
  Mit Zitat antworten Zitat
gb0

Registriert seit: 27. Aug 2005
20 Beiträge
 
#3

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 17. Jan 2013, 19:49
Ja, am ANFANG wird das eingegebene Passwort auf Richtigkeit geprüft (KOPF) - und nur wenn true herauskommt geht's ab ins Innere der Schleife - sonst gleich hinter die Ende-Marke (wie's in der Aufgabenstellung auch steht). Hinter der Ende-Marke sollte (zumindest für das Beispiel) der Programm-Abbruch/Ende stehen. In Wirklichkeit gibt es meist noch Varianten (zum Beispiel eine (fußgesteuerte Zählschleife), die vielleicht 3 Eingabeversuche zulässt - und dann erst zum Programm-Abbruch/Ende führt.
  Mit Zitat antworten Zitat
xSkuLL KiiDx

Registriert seit: 16. Jan 2013
15 Beiträge
 
#4

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 17. Jan 2013, 19:53
okey also ist eine Schleife wie ein Tresor ? oder ? so kann man das doch eig bezeichnen
  Mit Zitat antworten Zitat
gb0

Registriert seit: 27. Aug 2005
20 Beiträge
 
#5

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 17. Jan 2013, 20:01
Für die KOPFgesteuerte und das Beispiel: ja.

Du bist glücklich in die Schleife gekommen (Passwort stimmt)? Dann fangen die Troubles nämlich erst an, weil es sich um die erwähnte Endlos-Schleife handelt. Du musst dem User also die Möglichkeit geben, aus dem Schleifenkörper heraus die Bedingung vom KOPF der Schleife auf false zu setzen, damit er aufhören (= die Schleife sauber verlassen) kann, also ohne Go To und weg! Vielleicht so was wie "WOLLEN SIE ZU ARBEITEN AUFHÖREN ? ( J/N )" - je nach Antwort bleibt der User drinnen oder fliegt raus... Und dadurch ist der Bann der Endlos-Schleife gebrochen, weil es damit eben möglich ist, da 'rauszukommen!

Geändert von gb0 (17. Jan 2013 um 20:06 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 17. Jan 2013, 21:56
@xSkuLL KiiDx

Wie gesagt, ich weiß nicht ob es schon erwähnt wurde (ist keine Bösartigkeit, aber ich lese auch nicht jeden Beitrag)...

Was die Folien angeht, ist vor allem die dritte Folie etwas missverständlich. Dort steht zum Beispiel:

Zitat:
- In einer kopfgesteuerten Schleife wird ein Anweisungsblock mehrfach ausgeführt
Nun, es ist eine Schleife und Schleifen haben es an sich, dass sie u. U. mehrfach durchlaufen werden, aber das ist ja das Spezielle an der kopfgesteuerten Schleife, dass sie auch kein einziges Mal durchlaufen werden müssen. Jetzt also zu behaupten, dass in einer kopfgesteuerten Schleife ein Anweisungsblock mehrfach ausgeführt wird, ist missverständlich.

Wenn, dann wäre die Behauptung für Schleifen gültig:

Zitat:
- In einer Schleife wird ein Anweisungsblock u. U. mehrfach ausgeführt
Denn die Aussage, wonach ein Anweisungsblock mehrfach ausgeführt wird, gilt für beide Schleifen. Und die Unterschiede:

Zitat:
- In der kopfgesteuerten Schleife wird die Bedingung für die Ausführung des Anweisungsblocks vorher geprüft.

- Somit kann es vorkommen, dass eine kopfgesteuerte Schleife auch kein mal durchlaufen wird.
und

Zitat:
- In einer fußgesteuerten Schleife wird der Anweisungsblock zuerst durchlaufen. Dann erst wird die Bedingung für eine Wiederholung geprüft.

- Somit wird eine fußgesteuerte Schleife mindestens mein mal durchlaufen.
Dann finde ich auch den Satz leicht mußverständlich:

Zitat:
Bedingung nicht erfüllt – > „false“ -, wird die Schleife verlassen und die Anweisungen unterhalb der kopfgesteuerten Schleife werden ausgeführt.
Es ist nicht falsch, aber es wird so oft von Anweisungsblöcken gesprochen, dass einer der sich nicht auskennt mit den Anweisungsblöcke leicht durcheinander kommen könnte. Vielleicht etwas knapper und geradliniger formulieren:

Zitat:
Bedingung nicht erfüllt – > „false“ -, die Schleife wird verlassen und das Programm fortgeführt.
  Mit Zitat antworten Zitat
xSkuLL KiiDx

Registriert seit: 16. Jan 2013
15 Beiträge
 
#7

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 18. Jan 2013, 15:17
Okey danke ! ich werds gleich nochmal verbessern ... wollte heute meine Präsentation fertig stellen und schon mal das Strucktogramm anfangen (was sich für mich eig unmöglich anhört ^^) ... habt ihr vllt noch ein paar Sachen die man noch in die PP einbauen kann ? zB ein Schaubild ? hab bisher kein geeignetes gefunden :/ oder ein Ausschnitt von einem Screen vom Programm ? oder findet ihr das unnötig weil ich das ja am Schluss nochmal zeige und erkläre ?


Immer her mit den Tipps !

Mfg

xSkuLL KiiDx




ahh ja vllt hat noch einer ne Idee für das Programm ... hab ihn heut nochmal gefragt und er meinte man muss eins haben ausm Alltag was es aber noch net irgendwie gibt.... hab ja schon gedacht sowas wie schon erwähnt zu machen ... also Passwort und dann schleife aber dann dachte ich das gibts ja schon überall das ist langweilig oder nicht ?

Geändert von xSkuLL KiiDx (18. Jan 2013 um 15:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 18. Jan 2013, 16:18
Delphi-Quellcode:
assignfile(myfile,'C:\temp\testtext');
reset(myfile);
repeat
  readln(myfile,satz);
until eof(myfile) or (pos('Testtext',Satz)>0);
closefile(myfile);


assignfile(myfile,'C:\temp\testtext');
reset(myfile);
while not(eof(myfile)) and (pos('Testtext',Satz)=0) do
  readln(myfile,satz);
closefile(myfile);
wie wär's damit?
Hab allerdings nichts getestet!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#9

AW: Kopf- und Fußgesteuerte Schleifen [Verständnisfrage]

  Alt 18. Jan 2013, 17:02
habt ihr vllt noch ein paar Sachen die man noch in die PP einbauen kann ? zB ein Schaubild ? hab bisher kein geeignetes gefunden
Um DadyH nicht wieder zu übergehen, er hat im Beitrag #11 auf Wikipedia verlinkt, und da finden sich paar nette Bilder, in etwa:

http://upload.wikimedia.org/wikipedi...0/EinfAusw.png

Zitat:
ahh ja vllt hat noch einer ne Idee für das Programm ... hab ihn heut nochmal gefragt und er meinte man muss eins haben ausm Alltag was es aber noch net irgendwie gibt....
Wenn es kein technisches sein muss, das Beispiel mit Cola war durchaus ernst gemeint

Delphi-Quellcode:
const
  DosenInhalt = 330; //ml
  NormSchluck = 20; //ml
var
  GetraenkInhalt, SchluckInhalt, AnzahlSchlucke: Integer;
begin
  GetraenkInhalt := DosenInhalt;
  AnzahlSchlucke := 0;

  ShowMessage('In der Getränkedose befinden sich ' + IntToStr(GetraenkInhalt) + ' ml.');
  while GetraenkInhalt > 0 do
  begin
    if GetraenkInhalt > NormSchluck then SchluckInhalt := NormSchluck else SchluckInhalt := GetraenkInhalt;
    GetraenkInhalt := GetraenkInhalt - SchluckInhalt;
    AnzahlSchlucke := AnzahlSchlucke + 1;
    ShowMessage('In der Getränkedose befinden sich noch ' + IntToStr(GetraenkInhalt) + ' ml.');
  end;
  ShowMessage('Die Getränkedose ist leer.' + #13#10 +
    'Es wurden ' + IntToStr(AnzahlSchlucke) + ' Schlucke getrunken.');
end;
So in der Art auch das mit mit Repeat Until und der Arbeit
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz