22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Unter <strong>der</strong> Annahme obige Aussage sei richtig, erhalten wir einen Wi<strong>der</strong>spruch, da die Aussage ihre eigene<br />

Falschheit postuliert. Nehmen wir dagegen an, daß die Aussage falsch sei, dann wäre obiger Satz richtig und<br />

wir hätten wie<strong>der</strong>um einen Wi<strong>der</strong>spruch. Der Grund für dieses Problem liegt in <strong>der</strong> Selbstreferenz <strong>der</strong> Aussage.<br />

Um in unserem Kontext (<strong>der</strong> Erstellung maschinenlesbarer Aufgabenbeschreibungen) eine Aufgabenstellung<br />

diskutieren zu können, benötigen wir also eine Beschreibungsform, die es sowohl ermöglicht, zu entscheiden, ob<br />

eine Aussage eine Interpretation hat und falls sie eine hat, welche dies ist. Dazu müssen wir in <strong>der</strong> Lage sein,<br />

einem Satz eine eindeutige Bedeutung zu geben und zu entscheiden, wie die Zusammensetzung mehrerer Sätze<br />

zu interpretieren ist. Ein weiterer Grund, warum wir eindeutig interpretierbare Sprachen benötigen, besteht<br />

darin, daß wir Arbeitsanweisungen an eine Maschine geben wollen. Diese ist jedoch nur in <strong>der</strong> Lage, eindeutige<br />

Aufträge zu verarbeiten. Computerlinguisten versuchen schon ziemlich lange, einer Maschine beizubringen,<br />

das Verstehen natürlicher Sprache zu simulieren; bislang mit mäßigem Erfolg.<br />

Das bisher Gesagte soll nun aber nicht heißen, daß es keine Notwendigkeit für die Mehrdeutigkeiten und<br />

Inkonsistenzen <strong>der</strong> natürlichen Sprache gibt; ganz im Gegenteil. Sie ist nur für den hier angestrebten Zweck<br />

ungeeignet. Natürliche Sprache ist ein Spiegel u.a. ihrer eigenen Entstehungsgeschichte und des sozialen,<br />

kulturellen, zeitlichen, historischen und örtlichen Kontextes <strong>der</strong> Kommunikationspartner. 2 Mithin ist es durch<br />

sie auch möglich, Dinge abhängig von diesem Kontext zu diskutieren.<br />

Was ist nun eine geeignete Sprache zur Beschreibung von Aufgabenstellungen? Die For<strong>der</strong>ung nach eindeutiger<br />

Interpretierbarkeit ist unzureichend, da in <strong>der</strong> Menge dieser Sprachen beliebig viele enthalten sind, bei<br />

denen wir auf Fragen, die für uns relevant sind, keine Antwort erhalten können. Unsere Konsequenz besteht<br />

darin, daß wir zur Beschreibung <strong>der</strong> Eigenschaften eines Programmes die formale Logik, speziell die in<br />

<strong>der</strong> Mathematik etablierte Prädikatenlogik, verwenden. Von dieser weiß man, daß sie mächtig genug ist, um<br />

die uns interessierenden Fragen zu behandeln und eine erkleckliche Anzahl Antworten zu ermöglichen. Kurz<br />

gesagt, die Prädikatenlogik genügt den von uns gestellten Anfor<strong>der</strong>ungen an eine Sprache am besten.<br />

In diesem Kapitel werden zunächst die <strong>Grundlagen</strong> eingeführt, die wir benötigen, um Sprache zu beschreiben.<br />

Der Formalismus zur Beschreibung von Sprache überhaupt wird u.a. am Beispiel <strong>der</strong> Ausagenlogik<br />

eingeführt. Diese ist hinreichend einfach und sollte dem Inhalte nach bekannt sein, wenn auch nicht in dieser<br />

formalen Form. Die hier gewählte Darstellung <strong>der</strong> formalen Sprachbeschreibungen ist we<strong>der</strong> erschöpfend noch<br />

vollständig formal. Die eingeführten Begriffe bilden jedoch die Grundlage für die gesamte Veranstaltung.<br />

Im Anschluß an die Darstellung formaler Sprachbeschreibungen werden wir auf die Frage eingehen, wie man<br />

von einer umgangssprachlichen Beschreibung zu einer in einer formalen Sprache gelangt. Danach werden zwei<br />

Beispiele für Spezifikationssprachen eingeführt: zum einen die bereits erwähnte Prädikatenlogik, zum an<strong>der</strong>en<br />

eine dreiwertige Logik, um für Spezifikationen und Programmbeweise eine bessere Handhabe zu haben. An<br />

dieser Stelle werden wir weitere, auch für die Aussagenlogik relevante Begriffe wie ‘Tautologie’ einführen. Die<br />

Logik wird dabei eingeführt, um ein Beschreibungsmittel für Eigenschaften und Aufgaben von Programmen zu<br />

haben und <strong>der</strong>en Erfüllung überprüfen zu können. Themen wie Vollständigkeit und Wi<strong>der</strong>spruchsfreiheit von<br />

Ableitungssystemen, für die sich die mathematische Logik interessiert, werden daher nur am Rande gestreift.<br />

Es empfiehlt sich für <strong>Informatik</strong>er, bei an<strong>der</strong>er Gelegenheit das Thema Logik zu vertiefen.<br />

Wir haben uns bemüht, diese Beschreibung <strong>der</strong> <strong>Grundlagen</strong> so zu gestalten, daß möglichst wenig auf Kenntnisse<br />

Bezug genommen wird, die erst in einem späteren Teil eingeführt werden. Stellenweise ist dies jedoch<br />

nicht möglich gewesen. Es empfiehlt sich daher, den Teil bis zum Kapitel Syntax nach dem Durcharbeiten des<br />

gesamten Kapitels 2 nochmals zu wie<strong>der</strong>holen. Zur Darstellung muß noch erwähnt werden, daß üblicherweise<br />

erst die formalen Definitionen angegeben werden, und im Anschluß daran die Erläuterungen folgen.<br />

Eine Liste weiterführen<strong>der</strong> Literatur findet sich am Ende dieses Kapitels. Es wird nicht erwartet, daß Sie<br />

diese Bücher durcharbeiten. Die dort gemachten Angaben sollen Sie aber in die Lage versetzen, bei Interesse<br />

den einen o<strong>der</strong> an<strong>der</strong>en Punkt zu vertiefen.<br />

2 Aus Gründen <strong>der</strong> Lesbarkeit wird auf Formen wie KommunikationspartnerInnen verzichtet. Frauen sind jedoch explizit<br />

immer mitgemeint. Wer die mangelnde Lesbarkeit solcher Ausdrücke anzweifelt, möge sich klarmachen, daß mit <strong>der</strong> Wahl <strong>der</strong><br />

dualen Form alle Pronomina, Artikel usw. entsprechend anzupassen sind.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!