Schleife&Verzweigung, Hilfe!!!!
-
Rodger schrieb:
Aber zwei "schleifen" bereiten mir kopf zerbrechen...
kein Wunder, da ist ja auch nur eine. Schlechter Sprit? -> FuselDusel Auweia!!!!!!!!!!!
-
Du hast die if-Schleife übersehen, nachtfeuer.
-
Swordfish schrieb:
Du hast die if-Schleife übersehen, nachtfeuer.
Auweia, die berüchtigte if-Schleife muss ich wohl übersehen haben.
-
Swordfish schrieb:
Du hast die if-Schleife übersehen, nachtfeuer.
if ist ein Statement und keine Schleife ... Oder seit wann wiederholt if irgendwelche Anweisungen? Wenn man schon nicht in der Lage ist das irgendwann zu lernen sollte man vllt. wenigstens mal den Kopf einschalten.
-
Grump schrieb:
Swordfish schrieb:
Du hast die if-Schleife übersehen, nachtfeuer.
if ist ein Statement und keine Schleife ... Oder seit wann wiederholt if irgendwelche Anweisungen?
Die if-Schleife ist ein Running Gag hier im Forum und auch sonst überall wo viele Programmieranfänger herum laufen. Die benutzen den Begriff nämlich sehr oft. Oft genug, dass jemand sogar dies eingerichtet hat: www.if-schleife.de
-
Hi SeppJ,
SeppJ schrieb:
Die if-Schleife ist ein Running Gag hier im Forum und auch sonst überall wo viele Programmieranfänger herum laufen. Die benutzen den Begriff nämlich sehr oft. Oft genug, dass jemand sogar dies eingerichtet hat: www.if-schleife.de
Wann begreift Ihr es denn endlich? Es gibt eine If-Schleife!
1. If-Anweisung aufschreiben 2. Übersetzungsversuch 3. Fehlermeeldung des Compilers ---> Zurück auf 1. und nächster Schleifendurchlauf.
Also wenn das keine If-Schleife ist, was dann???
Gruß Mümel
-
SeppJ schrieb:
Grump schrieb:
Swordfish schrieb:
Du hast die if-Schleife übersehen, nachtfeuer.
if ist ein Statement und keine Schleife ... Oder seit wann wiederholt if irgendwelche Anweisungen?
Die if-Schleife ist ein Running Gag hier im Forum und auch sonst überall wo viele Programmieranfänger herum laufen. Die benutzen den Begriff nämlich sehr oft. Oft genug, dass jemand sogar dies eingerichtet hat: www.if-schleife.de
Schade, die Seite hätte wenigstens die korrekte Terminologie demonstrieren können: Es ist ein
if
-Statement bzw. eineif
-Anweisung.if
-Abfrage hab ich persönlich noch hie gehört.
-
Arcoth schrieb:
if
-Abfrage hab ich persönlich noch hie gehört...und vermutlich auch noch nie ein Flussdiagramm jesehn..
-
nachtfeuer schrieb:
Arcoth schrieb:
if
-Abfrage hab ich persönlich noch hie gehört...und vermutlich auch noch nie ein Flussdiagramm jesehn..
Nicht auf Deutsch. Wobei ich auch in meinem mittlerweile zweijährigen Studium keine Flussdiagramme erleben durfte; Vielleicht sind die für Leutchen reserviert, die Schwierigkeiten mit Code haben?
-
Arcoth schrieb:
Vielleicht sind die für Leutchen reserviert, die Schwierigkeiten mit Code haben?
könnte sein, z.B. für solche Leute, die noch nicht genau wissen, was auf der Hardwareebene abläuft, wenn solche "If-Schleifchen" loslegen..
-
#include<iostream> using namespace std; extern "C" __int64 _stdcall assembly(unsigned __int32 n); int main() { unsigned __int32 n = 0; cin >> n; cout << assembly(n) << endl; system("pause"); return 0; }
.code MySegment segment read write execute backup_rax dq 0 backup_rbx dq 0 backup_rcx dq 0 assembly proc ; n ist in rcx mov backup_rax, rax ; mache Backup von rax mov backup_rbx, rbx ; mache Backup von rcx mov backup_rcx, rcx ; mache Backup von rbx mov rax, rcx ; kopiere rcx (n) in rax, weil rax zurückgegeben wird mov rbx, 3 ; kopiere 3 in rbx, weil mul keine immediate-Werte erlaubt start_: ; label für die While-Schleife cmp rax, 50 ; vergleiche rax (n) mit 50 jae ende ; wenn größer oder gleich, breche schleife ab mul rbx ; sonst multippliziere n mit 3 add rax, 2 ; addiere 2 zu n cmp rax, 50 ; vergleiche n mit 50 jbe start_ ; wenn kleiner oder gleich, wiederhole Schleife sub rax, 3 ; sonst subtrahiere 3 von rax jmp start_ ; wiederhole Schleife ende: ; Label nach der Schleife mov rbx, backup_rbx ; rbx wiederherstellen mov rcx, backup_rcx ; rcx wiederherstellen ret ; gebe den neuen Wert n wieder zurück mov rax, backup_rax ; rax wiederherstellen assembly endp MySegment ends end
Man könnte Zeile 16 weglassen und imul rax, rax, 3 nehmen. Aber es war ja von unsigned die rede (imul beschreibt eine vorzeichenbehaftete Multiplikation)