17.01.2014 Aufrufe

Softwareentwicklung in C - ASC

Softwareentwicklung in C - ASC

Softwareentwicklung in C - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

2.2 Programmiersprachen 11<br />

e<strong>in</strong>es Programms verwendet, und dieser kann auch während der Abarbeitung<br />

modifiziert werden.<br />

E<strong>in</strong>ige wichtige Vertreter imperativer Sprachen s<strong>in</strong>d: C, Pascal, Basic,<br />

Cobol und Fortran. Imperative Sprachen s<strong>in</strong>d für e<strong>in</strong> sehr breites Spektrum<br />

an Problemstellungen <strong>in</strong> verschiedensten Bereichen gut e<strong>in</strong>setzbar. Sie s<strong>in</strong>d<br />

auch für sehr große und komplexe <strong>in</strong>teraktive Systeme geeignet, jedoch s<strong>in</strong>d<br />

hierbei objektorientierte Sprachen im Normalfall vorzuziehen.<br />

Funktionale Sprachen Funktionalen Sprachen liegt das Pr<strong>in</strong>zip zugrunde,<br />

dass Programme Funktionen berechnen, mit denen sie E<strong>in</strong>gabe- auf Ausgabewerte<br />

abbilden. In der funktionalen Programmierung beschreibt man<br />

die Beziehungen zwischen E<strong>in</strong>gabe- und Ausgabedaten mit Hilfe mathematischer<br />

Ausdrücke. Die Ausführung e<strong>in</strong>es Programms ist gleichbedeutend mit<br />

der Auswertung des Ausdrucks. Es gibt hierbei ke<strong>in</strong>e Variablen.<br />

E<strong>in</strong>ige wesentliche Vertreter dieser Sprachen s<strong>in</strong>d: ML (bzw. SML), Lisp<br />

und Logo (Anm: Lisp und Logo enthalten auch teilweise imperative Konzepte).<br />

Funktionale Sprachen s<strong>in</strong>d besonders gut geeignet zur Programmierung<br />

von Algorithmen, die sich auch mathematisch gut formulieren lassen (z.B.<br />

Sortierverfahren, Listenbehandlungen etc.). Für große und stark <strong>in</strong>teraktive<br />

Systeme s<strong>in</strong>d funktionale Sprachen nur bed<strong>in</strong>gt zu empfehlen.<br />

Prädikative Sprachen In prädikativen Sprachen wird die Programmierung<br />

als Beweisen <strong>in</strong> e<strong>in</strong>em System von Tatsachen und Schlussfolgerungen aufgefasst.<br />

Bei der Programmierung wird e<strong>in</strong>e Menge von Fakten und Regeln (d.h.,<br />

wie man aus gegebenen Fakten neue Fakten gew<strong>in</strong>nt) angegeben. Die Aufgabe<br />

des Computers ist es nun, e<strong>in</strong>e an ihn gestellte Anfrage als richtig oder<br />

falsch zu beantworten.<br />

Um sich e<strong>in</strong> Bild von der Denkweise bei prädikativen Sprachen machen<br />

zu können, betrachten wir folgendes Beispiel zur Berechnung der Faktoriellen<br />

e<strong>in</strong>er Zahl:<br />

Faktum: die Faktorielle von 1 ist 1.<br />

d.h.: fac(1, 1).<br />

Regel: wenn die Faktorielle von n - 1 gleich f ist, dann ist die Faktorielle<br />

von n gleich n * f.<br />

d.h.: fac(n − 1, f) ⇒ fac(n, n ∗ f)<br />

Will man nun e<strong>in</strong> solches Programm ausführen, um die Faktorielle von 3<br />

zu berechnen, dann ist diese Berechnung gleichbedeutend mit der Frage, für<br />

welche Zahl f nun die o.g. Regel richtig ergibt. Dementsprechend wird<br />

die Regel so lange angewandt, bis das Abbruchkriterium erreicht ist. Dieses<br />

Abbruchkriterium ist <strong>in</strong> unserem Fall das Erreichen des Faktums, dass die<br />

Faktorielle von 1 gleich 1 ist.<br />

Manchen Lesern mag nun vorkommen, dass prädikative Sprachen von der<br />

Denkweise her nicht übertrieben <strong>in</strong>tuitiv und e<strong>in</strong>fach zu durchschauen s<strong>in</strong>d.<br />

Ich kann nur sagen, dass diese Leser mit ihrer Me<strong>in</strong>ung nicht alle<strong>in</strong> auf weiter<br />

Flur stehen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!