Einführung in die Kommunikation mit Scheme

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Programmiersprachen

Eine Programmiersprache ist eine meist formale Sprache, mit der die Kommunikation zwischen Mensch und Computer möglich ist.
Sie besitzt eine Syntax und eine Semantik.

Syntax
  • beschreibt die Menge aller erlaubten Zeichenketten (Befehle / Anweisungen) in einem Programm,
  • sie ist mathematisch beschreibbar und kann durch Computer auf Korrektheit überprüft werden,
Semantik
  • beschreibt die Bedeutung der einzelnen Sprachkonstrukte,
  • sie ist nur in Ansätzen mathematisch erfassbar und muss deshalb verbal beschrieben werden,

Programmiersprachen und Programmierparadigmen:

Programmiersprachen.gif

Die Klassifikation in imperative, objektorientierte, funktionale bzw. logische Programmiersprachen entspricht verschiedenen Denkstilen, Herangehensweisen und Strategien, um komplexe Probleme mit Computern zu erfassen und zu lösen. Man spricht deshalb von Programmierparadigmen.

Scheme (sprich: skiem) ist eine funktionale (besser: funktionsorientierte) Programmiersprache, die um 1975 am MIT in Boston entwickelt wurde.

Erste Kommunikation mit Scheme

Testen Sie folgende Ausdrücke:

Zusammenfassung

  • Scheme versucht, jeden Ausdruck nach der Methode REPL (READ – EVAL – PRINT – LOOP) auszuwerten. Die Auswertung eines Ausdrucks heißt Evaluation.
  • Zahlen werden zu sich selbst evaluiert.
  • Die Notationsform mathematischer Ausdrücke erfolgt in Präfixnotation. Das Operationszeichen ist ein Operator und bildet immer das erste Element einer Liste, die durch runde Klammern dargestellt wird.
  • Allgemein gilt für die Syntax in Scheme: (<operator> <operand_1> ... <operand_n>).
  • Ausdrücke in Anführungszeichen sind Zeichenketten.
  • Die Auswertung logischer Ausdrücke erfolgt mit der Rückgabe von Wahrheitswerten #t bzw. #f.
  • Die Operatoren +; -; *; / sowie sin, cos, tan, sqrt, ... sind in Scheme vordefinierte Prozeduren.

Variablen

Zur wechselseitigen Umrechnung von Winkeln im Grad- und Bogenmaß benötigen wir die Konstante $\pi$.
Wir testen:

pi kann nicht evaluiert werden. Offensichtlich ist es ein Symbol, an das kein Wert gebunden ist.
Variablen sind Symbole, an die Werte gebunden sind. Diese Wertbindung erfolgt mit der Sonderform define:

Wir wollen die Sonderform define benutzen, um einfache Berechnungen von Kreisflächen vorzunehmen:

 

Quelltext überprüfen:

Zusammenfassung

  • Mit define erfolgt eine globale Erweiterung der Umgebung von Scheme.
  • Die Werte bereits definierter Variablen können mit set! geändert werden. set! ist ebenfalls eine Sonderform.
    Beispiel:

  • Die Sonderformen define und set! sollten sparsam verwendet werden, da ihre Nebenwirkungen (Seiteneffekte) beträchtlich sein können.
    Beispiel:
    (define + -)
    (+ 12 7)
    

    Achtung! Wenn Sie diese Anweisungen im ProgrammingWiki testen, müssen Sie anschließend den Cache löschen und den Web-Browser neu starten!

Persönliche Werkzeuge