Quelltext strukturieren

Benutzeravatar
bruse
Kernelcompilierer
Kernelcompilierer
Beiträge: 412
Registriert: 2. Aug 2006 22:42

Beitrag von bruse » 30. Okt 2006 15:41

Scheme besitzt ein dynamisches Typsystem und daher kann nicht gecastet werden (wozu auch). Wenn das richtige drinsteckt, wird es auch richtig behandelt, läuft alles automatisch. Es wird dir wohl nichts anderes übrig bleiben als irgendwie rauszubekommen ob du eine Zahl oder ein Symbol bekommen hast. Die nötigen Mittel wurden in der Vorlesung behandelt ;-)

Zur Frage davor:

Richtige prozedurale Abstraktion wird bepunktet. Mitunter ist das auch nicht explizit gefordert, aber trotzdem sinnvoll.Wer eine 50-Zeilen Monsterfunktion abliefert kann davon ausgehen, dass er die Punkte für sinnvolle Aufteilung nicht bekommen hat ;-)

edit: 3 Antworten in 3 Minuten. Und da sag nochmal einer, hier würde einem nicht geholfen...

Drudge
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 158
Registriert: 13. Apr 2004 20:17

Beitrag von Drudge » 30. Okt 2006 16:47

@blowfish: Naja, aber "sinnvoll" ist ja nun sehr ungenau. Ich finde es z.B. nicht Sinnvoll für jede Kleinigkeit eine Prozedur zu schreiben. So verliert man sonst unter Umständen noch schneller den Überblick.

Aber trotzdem danke für den Hinweis! Den habe ich wohl überlesen.

spark
Erstie
Erstie
Beiträge: 14
Registriert: 18. Okt 2006 23:45
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von spark » 30. Okt 2006 17:43

banshee hat geschrieben:kann man in scheme irgendwie casten?
Soweit ichs gesehn hab, kann man mit scheme durchaus casten, aber da wirs noch nicht in den Vorlesungen hatten und bei den Übungen steht, dass wir nur mit dem Gelernten arbeiten sollen, würde ich das lieber lassen...

Geht ja einfach mit
(cond
[symbol? (discriminant p q) ('no_real_solution)]
[else (weiterrechnen...)])

banshee
Nerd
Nerd
Beiträge: 684
Registriert: 22. Okt 2006 18:46

Beitrag von banshee » 30. Okt 2006 23:16

spark hat geschrieben:Geht ja einfach mit
(cond
[symbol? (discriminant p q) ('no_real_solution)]
[else (weiterrechnen...)])
falsch!

denn wenn bei der diskriminanten jetzt eine zahl rauskommt kriegste die fehlermeldung dass zahl und symbol sich nicht vergleichen lassen. aber mittlerweile hab ich 2 wege gefunden wie es auch ohne casten geht :)

Benutzeravatar
Tapion
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 220
Registriert: 14. Okt 2006 19:16
Wohnort: Darmstadt

Beitrag von Tapion » 30. Okt 2006 23:50

nein, du bekommst in dem Fall keine Fehlermeldung. schließlich wird ja abgefragt, OB es sich beim rückgabewert um ein symbol handelt. Du hast vermutlich abgefragt, ob es sich im ein spezielles symbol handelt. Das geht mit (symbol=? ...). Die Lösung oben habe ich ebenfalls und sie funktioniert.

PS.: Offenbar hätte es sich doch gelohnt, für ein neues Thema auch ein neues Thema anzufangen...
WS 2010/11 - Tutor GDI 1
SS 2010 - Tutor FGI 1+2

Antworten

Zurück zu „Archiv“