Forum: PC-Programmierung Pascal - if - formale Parameter - Funktion


von Harry (Gast)


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

von Peter II (Gast)


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.

von Harry (Gast)


Lesenswert?

Hi,

Und beim  write auch kein Problem?

Danke nochmals:-)

lg.

Harry

von Reinhard Kern (Gast)


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

von Sven P. (Gast)


Lesenswert?

Harry schrieb:
> Ich denke mal,dass soetwas kein guter Programmierstil ist oder ?
Was bringt dich, rein interessehalber, auf diesen Gedanken?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.