Читать книгу Algorithmen und Datenstrukturen - Gunter Saake - Страница 39

2.2Sprachen und Grammatiken

Оглавление

Bevor wir uns detaillierter mit Algorithmen beschäftigen, müssen wir uns einige Grundlagen aus anderen Gebieten aneignen. Laut unseren intuitiven Einführungen sollen Beschreibungen von Algorithmen

 verständlich und

  ausführbar

Verständlichkeit

sein. Mit dem Aspekt der Ausführbarkeit werden wir uns bei der Diskussion von Maschinenmodellen intensiver beschäftigen; hier geht es nun um den Aspekt der Verständlichkeit.

Bei der Diskussion von Algorithmen betrachtet man Verstehbarkeit primär im Sinne der Festlegung einer Sprache, die von Rechnern interpretiert werden kann. Eine Beschreibung in natürlicher Sprache ist in der Regel mehrdeutig und entspricht somit nicht unseren Anforderungen. Unser Ziel ist es daher, spezielle Sprachen zur Festlegung von Algorithmen zu entwickeln.

Allgemein unterscheidet man bei Sprachen zwei Aspekte:

Syntax legt Muster fest

 Die Syntax gibt formale Regeln vor, welche Satzmuster gebildet werden können. Ein Beispiel aus der deutschen Sprache:»Der Elefant aß die Erdnuss.« (syntaktisch korrekt)»Der Elefant aß Erdnuss die.« (syntaktisch falsch)

Semantik legt Bedeutung fest

 Die Semantik hingegen legt die Bedeutung fest. Auch hier werden (formale oder informale) Regeln genutzt, um festzulegen, welche Sätze eine Bedeutung haben:»Der Elefant aß die Erdnuss.« (semantisch korrekt, sinnhaft)»Die Erdnuss aß den Elefanten.« (semantisch falsch, sinnlos)

Festlegung von Syntax und Semantik von Sprachen, insbesondere von Programmiersprachen, ist Inhalt späterer Studienabschnitte eines Informatik-Hauptstudiums und soll hier nicht vertieft werden. Wir präsentieren nur einige kurze Ausführungen, die für die restlichen Abschnitte des Buches benötigt werden. Nur als Bemerkung sei erwähnt, dass bei der Analyse natürlicher Sprache noch weitere Aspekte neben der Semantik und der Syntax, etwa die Pragmatik, untersucht werden müssen, die bei Sprachen, die für Rechner entwickelt wurden, keine besondere Rolle spielen.

Algorithmen und Datenstrukturen

Подняться наверх