if Schleife oder nicht

if Schleife ja oder nein

  • ja

    Abstimmungen: 17 30,4%
  • nein

    Abstimmungen: 29 51,8%
  • keine Ahnung

    Abstimmungen: 10 17,9%

  • Anzahl der Umfrageteilnehmer
    56
goela hat gesagt.:
Und if eine Anweisung und keine Schleife - DEFINITIV!!!!!!!!

Das ist nur halb richtig.
Richtig : If ist eine Anweisung
Aber auch Schleifen sind Anweisungen.

In der Programmierung gib es Ausdrücke und Anweisungen.

eine for() Schleife ist auch eine Anweisung weshalb der Satz oben nicht ganz richtig ist.

Nur weil man eine Schleife herumbastelt ist es für mit keine IF-Schleife!!! AUS, FERTIG, BASTA!!!!!

Nicht nur für dich so, sondern auch nach Programmierungs Definitionen.
Der Bestandteil in dem die If Anweisung vorkommt wird der Anweisungsblock der Schleife genannt.
Der Block ist Bestandteil der Schleife, die Anweisungen jedoch nicht.
Weshalb auch

while(true){}

eine gültige Schleife ist.
Aus diesem Grunde gibt es keine IF-Schleife.
Jedoch @ Geist stört es keinen wenn du eine in eine Schleife eingebettete IF Anweisung als If-Schleife bezeichnest :)
 
Aus diesem Grunde gibt es keine IF-Schleife.

doch, gibt es. eine schleife macht auch nichts anderes, als vergleichen und dann etwas ausführen - der einzige unterschied ist, dass nach einem schleifendurchlauf wieder an den anfang der schleife gesprungen wird.
macht zwar nicht viel sinn und ist schlechter stil, aber mit einer if-anweisung und ein paar gotos lässt sich auch eine schleife bauen.
in diesem zusammenhang: schönen gruss an alle basic- und assembler-programmierer da draussen. :)
 
Original geschrieben von asphyxia


doch, gibt es. eine schleife macht auch nichts anderes, als vergleichen und dann etwas ausführen - der einzige unterschied ist, dass nach einem schleifendurchlauf wieder an den anfang der schleife gesprungen wird.
macht zwar nicht viel sinn und ist schlechter stil, aber mit einer if-anweisung und ein paar gotos lässt sich auch eine schleife bauen.
in diesem zusammenhang: schönen gruss an alle basic- und assembler-programmierer da draussen. :)

Ich kann dir auch aus einer 1+1 Rechnung und ein paar "Gotos" eine Schleife bauen. Trotzdem ist a+b noch immer keine Schleife.

Eine Schleife muss von Haus aus die Fähigkeit mitbringen einen Code aufgrund eines Ausdruckes zu widerholen.

Wenn ich IF und Goto zusammensetze so ist dies auch keine Schleife. Denn die IF Anweisung bringt nicht von Haus aus die möglichkeit mit und GOTO auch nicht.
while, for .... jedoch bringen von haus aus die 2 Eigenschaften mit die per Definition eine Schleife ausmachen:
Ausdruck und Schleifendurchlauf Anweisungsblock
 
da gib ich dir auch gerne recht, aber auch for, while, repeat, do, und was weiss ich was noch für schleifen werden zur laufzeit vom prozessor durch if-anweisungen und sprungbefehle interpretiert.
in höheren programmiersprachen gibt es zwar schleifen, die sowas automatisieren, aber auf grundlegender ebene besteht eine schleife immer aus einem vergleich (if) und einer oder mehreren sprungmarken.
 
Original geschrieben von asphyxia
da gib ich dir auch gerne recht, aber auch for, while, repeat, do, und was weiss ich was noch für schleifen werden zur laufzeit vom prozessor durch if-anweisungen und sprungbefehle interpretiert.
in höheren programmiersprachen gibt es zwar schleifen, die sowas automatisieren, aber auf grundlegender ebene besteht eine schleife immer aus einem vergleich (if) und einer oder mehreren sprungmarken.

Du ob das so oder so interpretierst punkt ist das die Bezeichnung Schleife eine Definition aufweisst die in der Informatik eigentlich keinen Spielraum für weitergehenden Spekulationen aufweisst.
Und nach dieser Definition ist IF keine Schleife.
Da Informatik ein prüfbares Wissen ist brauch mann da nicht gross drüber Disktutieren ob das so ist oder nicht sondern kann das ganz einfach nachlesen.

Aber wie ich schon sagte ich würde niemand hängen wenn er von der if schleife redet :)
 
Hallo,

etwas verspätet meine Antwort auf diesen Beitrag, aber für alle C Freunde, die schon immer eine if Schleife haben wollten: :)

#define if(bed) while(bed)
...
int i=0;
if(i<5) {
...
i++;
}


Grüße Thomas
 
Das ist unfair! :)
Code:
#define if(bed) while(bed)
int i = 0;
if(i++ < 5) {
    /* ... */
}
So find ich es schöner. :)
 

Neue Beiträge

Zurück