Abo
  • IT-Karriere:

Ada - numerische Typen

In vielen Programmiersprachen stehen Programmierern eine Reihe von vordefinierten Ganzzahltypen zur Verfügung, die zum Beispiel 8, 16, 32 und 64 Bit einnehmen (in der Regel gibt es noch Varianten mit oder ohne Vorzeichen). Andere Wertebereiche sind nicht möglich.

Stellenmarkt
  1. Dataport, verschiedene Standorte
  2. EUCHNER GmbH + Co. KG, Leinfelden-Echterdingen/Stuttgart

In Ada hingegen können Programmierer ihre eigenen Ganzzahltypen völlig frei definieren, so dass sie am besten zum Anwendungsbereich passen. Ist zum Beispiel ein Winkel in Grad gefragt, kann der Typ so definiert werden:

          Type Angle is range 0 .. 359;

Werte außerhalb dieses Bereichs sind für Variablen dieses Typs nicht zulässig. Eine Zuweisung, die diese Eigenschaft verletzen würde, zum Beispiel


          X : Angle := 365;     -- das ist ein Fehler
          Y : Angle := 359;
          Y := Y + 1;           -- hier entsteht ein Fehler

erzeugt entweder einen Fehler zur Laufzeit oder der Fehler wird, in einfachen Fällen wie diesem, sofort vom Compiler entdeckt.

Ein Fehler ist es ebenfalls, zu einem Winkel von 359 Grad ein Grad zu addieren, denn man würde ja den Wertebereich verlassen. Aber wäre es nicht praktischer, wieder bei 0 Grad anzukommen? Das kann in Ada mit sogenannten modularen Typen erreicht werden:


          Type Mod_Angle is mod 360;

Diese Deklaration definiert wieder einen Typ mit einem Wertebereich von 0 bis 359, jetzt werden aber Berechnungen mit diesem Typ modular ausgeführt:

          X : Angle := 365;	     --  das ist immer noch ein Fehler
          Y : Angle := 359;
          Y := Y + 1;                --  das ist OK, Y ist nun 0

Diese numerischen Typen sind ein Beispiel dafür, wie Ada es ermöglicht, näher an der zu lösenden Aufgabenstellung zu sein als mit vielen andere Programmiersprachen. Natürlich kann für einen Winkel einfach eine 16-Bit-Variable verwendet werden, dann muss aber überall überprüft werden, dass Berechnungen korrekt sind und keine unsinnigen Winkel berechnet werden.

Ada ermöglicht es Programmierern zu dokumentieren, was diese 16-Bit-Variable (denn auch in Ada wird der Compiler vermutlich 16 Bit für unseren Winkel reservieren) darstellen soll; der Compiler beziehungsweise die Laufzeitchecks nehmen die nötigen Überprüfungen automatisch vor.

Diese numerischen Typen sind ein Beispiel dafür, wie Ada es Programmierern leichter macht, in der Problemdomäne zu bleiben, in der die Begriffe des zu lösenden Problems verwendet werden (Winkel, Temperatur, Geschwindigkeit und so weiter), statt gleich in die Lösungsdomäne zu wechseln, wo andere Begriffe wichtig sind, zum Beispiel die Auswahl zwischen 8 Bit oder 16 Bit für den Winkel. Der nächste Abschnitt ist ebenfalls ein Beispiel dafür.

 Ada und Spark: Mehr Sicherheit durch bessere ProgrammiersprachenAda - Representation Clauses 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Anzeige
Spiele-Angebote
  1. 4,99€
  2. (-44%) 27,99€
  3. 4,99€

demon driver 24. Jun 2019 / Themenstart

Das ist erst mal nur eine unbelegte Behauptung.

demon driver 24. Jun 2019 / Themenstart

Nix

SirFartALot 13. Jun 2019 / Themenstart

das mag ja fuer Auftragsprogrammierer oder Freelancer normal zu sein, die...

\pub\bash0r 12. Jun 2019 / Themenstart

Wobei ausgerechnet Java (und Applets) eigentlich ein sehr gutes Sicherheitsmodell haben...

kayozz 12. Jun 2019 / Themenstart

Ja, C# bzw. .NET hat auch Schwächen. Aber das Argument würde ich so nicht stehen...

Kommentieren


Folgen Sie uns
       


Honor 20 Pro - Hands on

Das Honor 20 Pro ist das neue Oberklasse-Smartphone der Huawei-Tochter. Als Besonderheit gibt es eine Vierfachkamera, um für möglichst viele Objektivsituationen gewappnet zu sein. Hinweis vom Hersteller: "Bei den gezeigten Geräten der Honor-20-Serie handelt es sich um Demoversionen, die sich in Aussehen und Funktion von der finalen Version unterscheiden können."

Honor 20 Pro - Hands on Video aufrufen
Timex Data Link im Retro-Test: Bill Gates' Astronauten-Smartwatch
Timex Data Link im Retro-Test
Bill Gates' Astronauten-Smartwatch

Mit der Data Link haben Timex und Microsoft bereits vor 25 Jahren die erste richtige Smartwatch vorgestellt. Sie hat es sogar bis in den Weltraum geschafft. Das Highlight ist die drahtlose Datenübertragung per flackerndem Röhrenmonitor - was wir natürlich ausprobieren mussten.
Ein Test von Tobias Költzsch

  1. Smart Watch Swatch fordert wegen kopierter Zifferblätter von Samsung Geld
  2. Wearable EU warnt vor deutscher Kinder-Smartwatch
  3. Sportuhr Fossil stellt Smartwatch mit Snapdragon 3100 vor

5G-Auktion: Warum der Preis der 5G-Frequenzen so hoch war
5G-Auktion
Warum der Preis der 5G-Frequenzen so hoch war

Dass die Frequenzen für den 5G-Mobilfunk teuer wurden, lasten Telekom, Vodafone und Telefónica dem Newcomer United Internet an. Doch dies ist laut dem Netzplaner Kai Seim nicht so gewesen.
Eine Analyse von Achim Sawall

  1. Funklöcher Hohe Bußgelder gegen säumige Mobilfunknetzbetreiber
  2. Bundesnetzagentur 5G-Frequenzauktion erreicht 6,5 Milliarden Euro
  3. 5G-Auktion Etablierte wollen Preis für 1&1 Drillisch hochtreiben

Dark Mode: Wann Schwarz-Weiß-Denken weiterhilft
Dark Mode
Wann Schwarz-Weiß-Denken weiterhilft

Viele Nutzer und auch Apple versprechen sich vom Dark Mode eine augenschonendere Darstellung von Bildinhalten. Doch die Funktion bringt andere Vorteile als viele denken - und sogar Nachteile, die bereits bekannte Probleme bei der Arbeit am Bildschirm noch verstärken.
Von Mike Wobker

  1. Sicherheitsprobleme Schlechte Passwörter bei Ärzten
  2. DrEd Online-Arztpraxis Zava will auch in Deutschland eröffnen
  3. Vivy & Co. Gesundheitsapps kranken an der Sicherheit

    •  /