Einzelnen Beitrag anzeigen

Blutiger Anfänger
(Gast)

n/a Beiträge
 
#4

Re: OOP - Atome, Moleküle, ...

  Alt 15. Jul 2004, 21:28
Zitat von Toxman:
Du könntest ein Molekül als Array of Array of CAtom (Deine Klasse), darstellen. Damit könntest du die Position aller Atome speichern. Ausserdem solltest du alle Atome nummerieren (von links nach rechts, von oben nach unten ...) und dann noch eine Liste erstellen in der die Bindungsart (einfach, doppelBinung) gespeichert ist.
Falls du auf die unterschiedlichen Atomradien achten willst, kannst du ja für größere atome mehrere Elemente im Array² belegen.
Nope, Atomradien spielen keine Rolle. Bindungswinkel auch nicht. Aber welche Eigenschaften bräuchte ich denn deiner Meinung nach um die 2D-Position eines Atoms im Molekül zu kodieren?

Zitat von MathiasH:
naja, bei den Atomeigenschaften kannste viele mit bisserl Wissen aus Chemie aus der Ordnungszahl ableiten. Von der organisation der Daten würde ich (wie ich das immer tue ) zu den guten alten arrays und records greifen, denn warum sollte jedes atom eigene prozeduren haben? (irgendwann bekehrt mich vielleicht noch wer zu OOP)
Es soll und muß OOP sein. Das Programm wird in C++ verfaßt und soll u.a. auf Windows und Linux laufen.

Zitat von MathiasH:
Datentypen:
Atom: Eigenschaften (was halt im Periodensystem steht)
Molekül: Eigenschaften + Aufbau
den Aufbau würde ich wie folgt speichern: ein array mit positionen, bei jedem element in diesem array gibt es neben der Ordnungszahl, Ladung etc. noch eine Info, mit wem es verbunden ist
Ja, aber welche Eigenschaften. Genau dahingehend such ich ja Vorschläge! Aus dem PSE brauche ich nur die Ordnungszahl - die kann als Index in das PSE dienen (wobei das PSE als Tabelle o.ä. abgespeichert sein kann).

Zitat von MathiasH:
Damit sollte man das Zeug halbwegs verwalten können.
Eine andere Alternative wäre das Molekül als Baumstruktur zu speichern, was bei kompexverbindungen sicher sinnvoll wäre...
Wie stellst du dir das vor? Hatte auch über sowas nachgedacht, aber keine praktikable Lösung gefunden.

Also definitiv gibt es folgendes

Delphi-Quellcode:
TAtom = class
FOrdnungszahl:Integer;
end;
Wie weiter?

Die Valenzen müßten doch irgendwie so kodiert werden können, daß die Position des Atoms im Molekül eindeutig bestimmbar ist, wenn ich das Anfangsatom kenne (ein beliebiges an dem es nicht weiter geht)!

Oliver
  Mit Zitat antworten Zitat