Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Const vs. #define

von RedakteurytwinkySeite 1 von 3

Eine Konstante in ein Programm einzufügen, ist nicht so schwierig:

Const Siebzehn=17, Vier=4, Hal=(Siebzehn+Vier)*2

Die Tatsache, daß mit CONST auch Berechnungen durchgeführt werden können, ist wunderbar geeignet für die Einführung der Kreiszahl Pi=3.14..
Nun ist es aber nicht nötig, Pi aus mehr oder weniger zuverlässigen Quellen abzutippen(Fehlerquelle durch falsches Abtippen). FreeBASIC nimmt uns die Arbeit ab und wir könnten schreiben:

Const Pi=4.0*Atn(1.0)

Selbstverständlich könnten wir eine größere Anzahl von Nachkommastellen benutzen, doch wozu? Der Compiler berücksichtigt ja sowieso nur die Stellen, die FreeBASIC maximal verwenden kann.
In diesem Fall wird für die Konstante EIN Wert berechnet und im gesamten Programmverlauf verwendet.
Ein wichtiger Punkt bei der Programmentwicklung ist jedoch immer wieder das Vermeiden unnötiger Berechnungen(z.B. um ein Programm 'schneller' zu machen).
Warum denn das? Ein Programm soll schließlich Berechnungen durchführen.
Zugegeben, da ist was Wahres dran, aber der Einwand geht irgendwie daneben, denn eine Berechnung, die immer wieder durchgeführt wird(und stets das selbe Ergebnis liefert), ist höchst überflüssig, manch einer würde sagen redundant, aber in den Streit um den Begriff 'Redundanz' wollen wir uns jetzt nicht einmischen.. ;-))
Damit wir Brechnungen, die wir durchgeführt haben, nicht ständig neu machen müssen(weil das ja letztendlich auch Zeit kostet), können wir das Ergebnis in Variablen speichern. Das sehen wir uns mal an einem Beispiel an:
(Wer jetzt glaubt, es käme wieder der alte Trick mit Pi=4.0*Atn(1.0), wird leider enttäuscht sein, denn es gibt ja 'noch eine' mathematische Konstante ^^ )
Die "Eulersche Zahl e" (mit Ziffern ausgedrückt e=2.718..) läßt sich mit Exp(1.0) berechnen:

Dim As Double e=Exp(1.0)

..das ist noch relativ 'einfache' Mathematik ;-))
Die Variable e steht nun (erstmal) mit dem berechneten Wert zur Verfügung und wir könnten ihn auch ausgeben lassen. (Wer mag, kann sich selbst ein Beispielprogramm dafür schreiben..)
Das Problem ist, daß eine Variable geändert werden kann. Das ist einerseits höchst erwünscht, manchmal ja auch nötig, doch in diesem Fall wäre es nicht das Wahre, denn dann wäre 'e' ja nicht mehr die 'Eulersche Zahl'.
Eine Variable kann aber auch einen konstanten Wert haben. Der Typ des Wertes ist dabei egal, er muß FreeBASIC nur bekannt sein..

Const e=Exp(1.0)

erledigt diese EINMALIGE Berechnung für uns und stellt den ermittelten Wert programmweit zur Verfügung.
Im Klartext: Die 'zeitraubende' Double-Berechnung wird EINMAL durchgeführt und der Wert kann dann aus der Variablen(die in diesem Fall eine Konstante ist) abgerufen werden.
So, jetzt kommt die Gegenseite..

 

Gehe zu Seite Gehe zu Seite  1  2  3  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 11.01.2008 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 27.08.2010 von Mitgliedfrebas gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen