Informatikmaterialien 
von Tino Hempel

Startseite | Informatik | Physik | Mathematik | Sonstiges |


Richard-Wossidlo-Gymnasium Ribnitz-Damgarten
Fachbereich Informatik


Programmiersprachen


Programmiersprachen ermöglichen die Kommunikationen zwischen einer Person und dem Computer. Mittlerweile gibt es eine Vielzahl von Sprachen, deren Entwicklung übersichtlich in einem Sprachbaum zusammenfasst und in Generationen eingeteilt werden.  
Ein Paradigma beschreibt das Konzept bzw. Denkschema, das der Sprache zu Grunde liegt. 

Generationen

Name Sprachenbezeichnung Beispiel
1. Generation Maschinensprachen 
  • binär codiert (hexadezimale Darstellung)
  • Abarbeitung vom Prozessor direkt 
  • für Menschen schwer verständlich 
Maschinensprache für Z80-Rechner:
3E FF 
76 
2. Generation Assemblersprachen
  • Benutzung mnemonische Abkürzungen für binär codierte Befehle 
  • Übersetzung Assembler in Maschinensprache durch Software möglich
  • für Menschen schwer verständlich; Formeln o. ä. nicht erkennbar
Assemblersprache für Z80-Rechner:
LD A, FF 
HALT
3. Generation problemorientierte imperative Sprachen
  • Beschreibung der Problemlösung erfolgt algorithmisch
  • erste Vertreter: FORTRAN (formular translator) und ALGOL (algorithmic language)
  • typische (heutige) Vertreter: Java, C++, Object Pascal (Delphi), ...
Sprache Java:
while (i<20) 

  x = x+i*i;
  if (x > 100)
  {
    i = i + 3;
  }
  else IO.show("Fehler");
}
4. Generation Sprachen zur Kommunikation mit Datenbanken
  • Besitzen Operationen zur Manipulation von Tabellen und Datenbanken
  • typischer Vertreter: SQL (structured query language)
Sprache SQL:
SELECT *
FROM tabelle_Schueler
WHERE Schueler.Name='Meier' AND Schueler.geburt <#01/01/1990#;
5. Generation Sprachen, die eine deklarative Beschreibung von Problemen ermöglichen
  • Sprachen unterstützen Schleifenstruktur nicht mehr
  • Rekursion wird primär eingesetzt
  • Varianten: 
    logischer Ansatz z. B. mit PROLOG (programming in logic) oder 
    funktionaler Ansatz z. B. mit LISP (list processing) oder HASKELL
Sprache PROLOG:
maennlich(paul).
maenlich(jens).
alter(jens,7)
kind(X):-alter(X,Z),Z<14.

Stammbaum der Programmiersprachen

Stammbaum
Abbildung nach Duden Informatik. Die Sprache Java entstand 1995 und lehnt sich an C++ an. Eine wesentlich aktuellere und dataillierte Darstellung gibt es Link http://www.levenez.com/lang/.

Programmierparadigmen

Imperative/prozedurale Sprachen Deklarative/prädikative Sprachen
Merkmal
  • Benutzer legt durch die Sprache fest, wie das Problem gelöst werden soll.
  • Der Lösungsweg wird als eine Folge von Einzelschritten aufgeschrieben.
  • Die Schritte bestehen aus Anweisungen, die aus den algorithmischen Grundstrukturen Sequenz, Bedingungen und Schleifen zu komplexen  Verbundanweisungen verknüpft werden.
  • Der Benutzer beschreibt, was das Problem ist, indem er bekanntes Wissen angibt.
  • An das System werden Anfragen gestellt, die entsprechend mit den Lösungsmechanismen Unifikation, Resolution und Backtracking abgearbeitet werden.
  • Es findet ein auf logische Schlüsse basierendes Beweisen in einem System von Tatsachen und Schlussfolgerungen statt.
Beispiel: 
Beschreibung eines Kreises
  1. Leg den Mittelpunkt fest
  2. Rotiere mit dem Zirkel um 360° um den Mittelpunkt
  • Menge aller Punkte, die zu einem vorgebenden Punkt den gleichen Abstand haben
typische Vertreter C++, Java, ALGOL, FORTRAN, PASCAL, BASIC, Delphi (Object PASCAL) LISP, PROLOG, HASKELL


zur Startseite
© Tino Hempel 1997 - 2006 Im Web vertreten seit 1994.
Eine Internet-Seite aus dem Angebot von Tino Hempel.