Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
4 - Anregungen & Vorschläge

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Funktionsverkettung
Autor: p. specht (---.aon.at)
Datum:   02.09.18 23:09

Priorität "Nicht wichtig, nicht dringend"
Es geht um den Rosetta Code hier:

http://rosettacode.org/wiki/Function_composition

Selbst im blöden BBC-Basic gibt es eine "Funktionsverkettung", sprich: Man kann mehrere Funktionen einer "Containerfunktion" als (Template-)Parameter übergeben, wodurch eine neue, verkettete Funktion entsteht. Im nachstehenden Prog habe ich mir anders beholfen, um das gleiche Ergebnis zu erzielen.

Allerdings bin ich nicht sicher, ob es nicht doch eine Lösung im Geiste der Aufgabenstellung gibt, z.B. Objektorientiert. Da bin ich leider zu wenig sattelfest. Das folgende Machwerk könnte man jedenfalls nicht bei Rosetta einreichen:
 WindowTitle "Composite functions"
 'Task: http://rosettacode.org/wiki/Function_composition#BBC_BASIC
 cls:font 2:parameters x!
 
 'Create some functions for testing:
 :Proc FNsqrt :parameters a!:return SQRT(a!):endproc
 :Proc FNabs :parameters a!:return ABS(a!):endproc
  
 'Create function composition:
 proc FNsqrtabs :parameters z!
  z!=FNabs(z!)
  z!=FNsqrt(z!)
  return z! 
 endproc
 
 'Test calling the composition:
 x! = -2
 print "  ";format$("%g",x!),"  ",FNSqrtAbs(x!)
 Waitinput
 END
 'Output: -2        1.41421356
 


____
Ein richtiges Problem hat keine Lösung, nur Näherungen!

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Funktionsverkettung  Neu
p. specht 02.09.18 23:09 
 Re: Funktionsverkettung  Neu
Michael Wodrich 11.09.18 20:14 
 Re: Funktionsverkettung  Neu
p. specht 14.09.18 00:45 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org