Pascal - if - formale Parameter - Funktion

Gast #2389723
Lesenswert?
• ▲
▼
Hallo,

Bin jetzt seit einiger Zeit am rumsuchen,
vieleicht kann mir einer von euch Helfen:

Darf ich bei einem Funktionsaufruf (alles Pascal) die Parameter wie 
folgt verändern:

w := max (Feld, (GRENZE-1), (GRENZE-1) div 2);
(Ganz abgesehen von der Sinnhaftigkeit)


Kann man in einer if anweisung eine Funktion aufrufen:

if max (Feld, 1, (GRENZE-1) div 2) > max (Feld, (GRENZE+1) div 2, 
GRENZE) then

bzw bei einem Schreibbefehl:

write (max (Feld, w, w));

Wenn wer eine Antwort hat, vieleicht auch Bitte eine kleine Beschreibung 
warum oder warum nicht:-)
Ich denke mal,dass soetwas kein guter Programmierstil ist oder ?

Danke schon mal

Harald
Gast #2389734
Lesenswert?
• ▲
▼
Harry schrieb:
> Ich denke mal,dass soetwas kein guter Programmierstil ist oder ?

warum denn nicht? Das wird doch ständig gemacht. Ich wüsste auch keinen 
Grund warum das in Pascal nicht gehen soll.
1
if ( list.empty() ) {
2
}

das ist doch sehr sinnvoll, bei if auch eine funktion zu verwenden.
Gast #2391305
Lesenswert?
• ▲
▼
Harry schrieb:
> Und beim  write auch kein Problem?

Wichtig ist nur, dass der Typ des Funktionsergebnisses als Parameter für 
write zulässig ist (oder umgewandelt werden kann, wie z.B. integer -> 
float). Und ja, das ist durchaus guter Programmierstil. Es gibt auch 
keine praktisch bedeutsame Grenze für die Verschachtelungstiefe von 
Funktionen ausser der Stackgrösse und vielleicht die Übersichtlichkeit 
des Sourcelistings.

Alternative wäre ja eine Variable für das Funktionsergebnis zu 
deklarieren, aber das macht der Compiler schon selbst.

Gruss Reinhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren