Informatik für Berufliche Gymnasien

Werbung
Informatik
für Berufliche Gymnasien
Peter K. Siebert
1. Ausgabe, 2016
ISBN 978-3-86249-496-5
Grundlagen der strukturierten und
objektorientierten Programmierung
(Visual Basic)
BS-BG-VB2015

Impressum
ISBN 978-3-86249-496-5
Matchcode: BS-BG-VB2015
Autor:
Peter K. Siebert
Studiendirektor und Fachlehrer für Informatik und Physik
Produziert im HERDT-Digitaldruck
1. Ausgabe, 2016
HERDT-Verlag für Bildungsmedien GmbH
Am Kümmerling 21–25
55294 Bodenheim
Internet: www.herdt.com
E-Mail: [email protected]
© HERDT-Verlag für Bildungsmedien GmbH, Bodenheim
Alle Rechte vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder einem anderen Verfahren) ohne schriftliche Genehmigung des Verlags reproduziert oder unter Verwendung elektronischer Systeme verarbeitet,
vervielfältigt oder verbreitet werden.
Dieses Buch wurde mit großer Sorgfalt erstellt und geprüft. Trotzdem können Fehler nicht vollkommen ausgeschlossen werden.
Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung
noch irgendeine Haftung übernehmen.
Wenn nicht explizit an anderer Stelle des Werkes aufgeführt, liegen die Copyrights an allen Screenshots beim HERDT-Verlag.
Sollte es trotz intensiver Recherche nicht gelungen sein, alle weiteren Rechteinhaber der verwendeten Quellen und Abbildungen zu finden, bitten wir um kurze Nachricht an die Redaktion.
Die in diesem Buch und in den abgebildeten bzw. zum Download angebotenen Dateien genannten Personen und Organisationen, Adress- und Telekommunikationsangaben, Bankverbindungen etc. sind frei erfunden. Eventuelle Übereinstimmungen
oder Ähnlichkeiten sind unbeabsichtigt und rein zufällig.
Die Bildungsmedien des HERDT-Verlags enthalten Verweise auf Webseiten Dritter. Diese Webseiten unterliegen der Haftung
der jeweiligen Betreiber, wir haben keinerlei Einfluss auf die Gestaltung und die Inhalte dieser Webseiten. Bei der Bucherstellung haben wir die fremden Inhalte daraufhin überprüft, ob etwaige Rechtsverstöße bestehen. Zu diesem Zeitpunkt waren
­keine Rechtsverstöße ersichtlich. Wir werden bei Kenntnis von Rechtsverstößen jedoch umgehend die entsprechenden Internetadressen aus dem Buch entfernen.
Die in den Bildungsmedien des HERDT-Verlags vorhandenen Internetadressen, Screenshots, Bezeichnungen bzw. Beschreibungen und Funktionen waren zum Zeitpunkt der Erstel­lung der jeweiligen Produkte aktuell und gültig. Sollten Sie die Webseiten
nicht mehr unter den angegebenen Adressen finden, sind diese eventuell inzwischen komplett aus dem Internet genommen
worden oder unter einer neuen Adresse zu finden. Sollten im vorliegen­den Produkt vorhandene Screen­shots, Bezeichnungen
bzw. Beschreibungen und Funktionen nicht mehr der beschrie­benen Software entsprechen, hat der Hersteller der jeweiligen
Software nach Drucklegung Änderungen vorgenommen oder vorhandene Funktionen geändert oder entfernt.
Bildquellenverzeichnis
2
Seite 5
casually-dressed-mature-businessmen, © iStock/peepo
Seite 115
euro money,wallet,hands, © iStock/Manuela Krause
Seite 117
Software Architecture Class Diagram, © iStock/Jim Mangione
© HERDT-Verlag

Vorwort
Willkommen zum Schülerbuch „Informatik für Berufliche Gymnasien“. Der vorliegende Band
führt in die Grundlagen der strukturierten und objekt­orientierten Programmierung mit
­Visual Basic ein.
Jedes Kapitel beginnt mit einer Einstiegssituation, die an die Erfahr­ungs­welt der Schülerinnen und Schüler anknüpft und als Rahmenhandlung im Kapitel weiter­geführt wird. Für
das Erlernen der Inhalte werden handlungsorientierte Techniken eingesetzt, die die Inhalte
und Methoden der Infor­matik anwendungsbezogen darstellen. Zudem enthält jedes Kapitel
Sach­informa­tionen und darauf abge­stimmte Handlungsaufträge, die einen tieferen Bezug
zum Lerninhalt her­stellen. Als weitere Elemente unterstützen „Merke“, „Hinweise“ und
„Tipps“ die pädagogische Aufbereitung der Sach­informationen. Die Aufgaben am Ende eines
Kapitels festigen und trans­ferieren das Erlernte auf einfache und komplexere Aufgabenstellungen.
Ein Symbol in der Randspalte verweist auf Dateien, die im Lehrermedienpaket hinterlegt sind
und den Schülerinnen und Schülern an einem zentralen Speicherort zur Verfügung gestellt
werden sollten. Um das Lehrermedienpaket herunterzuladen, gehen Sie auf www.herdt.de
und geben den auf der Titelseite abgedruckten Webcode in das gleichnamige Eingabefeld
ein.
Wenn in diesem Buch lediglich die männliche Form (z. B. Schüler) verwendet wird, so dient
dies einzig und allein der sprachlichen Vereinfachung.
Der Autor bedankt sich beim HERDT-Verlag für die freundliche Betreuung und Unterstützung
beim Entstehen dieses Schülerbuchs. Ebenso bedanke ich mich bei allen Schülerinnen und
Schülern für ihre konstruktive Zusammenarbeit.
Peter K. Siebert
© HERDT-Verlag
3
1
Grundlagen der strukturierten ­
Programmierung
1.2 Analyse und Definitionen durchführen
Zur Definitionsphase gehören die genaue Kenntnis und das vollständige Verständnis des zu
lösenden Problems. Dies setzt in der Regel voraus, dass entweder der Programmentwickler
das Fachgebiet, aus dem das Problem stammt, in hinreichendem Maße beherrscht oder dass
er mit einem Fachmann aus diesem Gebiet zusammenarbeitet. Die Planer recherchieren vor
Ort, analysieren Arbeitsabläufe und formulieren daraus einen Spezifikationsrahmen, der in
einem Projektauftrag dargelegt wird. Der Projektauftrag ist ein Verzeichnis der Anforderungen an das Softwaresystem, z. B. an die Hardware und an die Durchführung dieses Projekts,
der zu erwartenden Kosten und der festgelegten Termine bei der Entwicklung der Software.
In einem Kick-off-Meeting analysieren Herr Lindemann und zwei seiner Mitarbeiter, Frau Kern und Herr
Gröhner, die Anforderungen an das Softwareprojekt Elektronischer Fragebogen und die entsprechenden
­Spezifikationen. In ­einem Brainstorming wurden folgende Eckpunkte für das ­Softwareprojekt spezifiziert und
in einer Mindmap festgehalten:
Handlungsauftrag
Beschreiben Sie in Gruppenarbeit anhand der oben stehenden Mindmap, der Informationen aus der Einstiegssituation und der E-Mail-Korrespondenz zu dem Bewertungsschema einen Projektauftrag für den elektronischen Fragebogen.
Projektauftrag.docx
und
Bewertungs­schema.
msg
8
Die E-Mail-Korrespondenz befindet sich als Outlook-Element Bewertungsschema.mgs
im Lehrermedienpaket.
Als roten Faden können Sie dazu aus dem Lehrermedienpaket das Word-Dokument
Projektauftrag.docx ­verwenden.
© HERDT-Verlag
Entwurfsmethoden anwenden
1.3 Entwurfsmethoden anwenden
Aufgrund des Projektauftrags kann der elektronische Fragebogen entworfen werden. In den
meisten Fällen wird der Entwurf mit Blick auf die verfügbaren Ressourcen, z. B. Anwendungssoftware oder Programmiersprache, umgesetzt.
In der Planungsphase muss das zu erarbeitende Softwaresystem überschaubar gemacht
­werden, d. h., das zu lösende Problem wird in seiner Komplexität reduziert und in Teil­
probleme zerlegt, die gegebenenfalls. in weitere Teilprobleme untergliedert werden. Hierbei
ist ­darauf zu ­achten, dass diese Teilprobleme möglichst unabhängig voneinander bestehen,
damit jedes T
­ eilproblem dann weitgehend für sich allein gelöst werden kann. Das Gesamtproblem kann also ­weitgehend arbeitsteilig gelöst werden und es kann später auf bestehende Teillösungen zurückgegriffen werden.
Die Zerlegung eines komplexen Problems in untergeordnete Teilprobleme und deren weiter
gehende Zerlegung bis in kleinste, überschaubare Teilprobleme wird häufig als Methode der
schrittweisen Verfeinerung oder als Top-down-Design bezeichnet, wie es die nachfolgende
Grafik zeigt. Ab einem bestimmten Problemumfang ist diese Methode unumgänglich.
Die Entwurfsphase reicht bis zu dem Punkt, an dem die Umsetzung der Ideen in die Realität
notwendig ist (Realisierung).
Handlungsauftrag
Erstellen Sie in Gruppenarbeit mithilfe der Methode der schrittweisen Verfeinerung
einen Projektstrukturplan in Form eines Baumdiagramms, der das Softwareprojekt in
logische Module zerlegt. Als Orientierungshilfe können Sie die Aufzeichnungen von
Herrn Lindemann verwenden, die er zum Entwurf der Benutzungsoberfläche des elek­
tronischen Fragebogens erstellt hat. Sie finden seine Aufzeichnungen unter Benutzer­
oberflaeche Fragebogen.png im Lehrermedienpaket.
© HERDT-Verlag
Benutzungs­
oberfläche Frage­
bogen.png
9
1
Grundlagen der strukturierten ­
Programmierung
1.4 Realisierung
Ziel der Realisierungsphase ist die programmtechnische Lösung der einzelnen ­Teilprobleme.
Die Fertigstellung der einzelnen Module wird nicht immer arbeitsteilig gleichzeitig
­geschehen, sondern teilweise nacheinander, sodass zeitweise Module bereits fertiggestellt
sind, während andere Module nur als Idee bestehen. Im Folgenden werden die theoretischen
Grundlagen der Algorithmusentwicklung anhand von exemplarischen Beispielen dargelegt.
Dieses Wissen kann dann auf das Softwareprojekt der Einstiegssituation angewandt werden.
1.4.1 Algorithmen entwickeln
Beispiel
Suchen eines Elements in folgender Zahlenkette:
Mithilfe eines Rechners soll in der dargestellten Zahlenkette ein bestimmtes Element,
z. B. die Zahl 8, gefunden werden.
Dieses Problem taucht in der Praxis recht häufig auf. Man denke an die Suche nach Telefon­
nummern in einem Telefonbuch oder nach bestimmten Einträgen innerhalb von Daten­
banken.
Damit man mithilfe des Rechners dieses und andere Probleme lösen kann, muss eine detaillierte Verfahrensvorschrift erarbeitet werden, die die Arbeitsfolge und die Arbeitsschritte für
den Rechner eindeutig und ausführbar festlegt. Eine solche Arbeitsvorschrift bezeichnet man
als Algorithmus.
Merke
Das Wort Algorithmus ist vom Namen des arabischen Gelehrten Muhammed Ibn Musa
Al-Chwarizmi abgeleitet, der um 820 n. Chr. das damals in Europa weit­gehend unbekannte Dezimalzahlensystem und Verfahren zur Ausführung der Grundrechenarten
­beschrieben hat. Die lateinische Übersetzung seines Buches bewirkte ab 1200 n. Chr.
die Einführung der heute üblichen Rechenverfahren.
Die Entwicklung geeigneter Algorithmen ist der schwierigste Teil der ­Softwareentwicklung.
Dies ist ein kreativer Prozess, der ähnlich wie die Erschaffung von Kunstwerken nur in
­begrenztem Maße erlernbar ist.
Als einfache Problemlösungsmöglichkeit bietet sich für unsere Problemstellung das Suchen
durch fortlaufendes Vergleichen der Elemente mit dem gesuchten Element an. Folgende
­Arbeitsanweisungen lassen sich für diese Problemstellung umgangssprachlich beschreiben:
10
© HERDT-Verlag
Realisierung
XX
Man nehme das erste und alle nachfolgenden Elemente der Zahlenkette und vergleiche
sie jeweils mit dem gesuchten Element.
XX
Man führe dies so lange durch, bis das gesuchte Element gefunden wurde oder das Ende
der Zahlenkette erreicht ist.
XX
Falls man das gesuchte Element gefunden hat, gebe man den Platz dieses Elements innerhalb der Zahlenkette aus. Andernfalls gebe man den Text Nicht gefunden aus.
Diese umgangssprachliche Verfahrensvorschrift ist für eine direkte Umsetzung auf einen
Rechner noch zu ungenau, so fehlt z. B. eine Anweisung, wie man von einem Element zu
­einem anderen Element gelangt. Es müssen bei einer Umsetzung auf ein Computersystem an
die einzelnen Arbeitsanweisungen strengere Anforderungen gestellt werden als an Arbeitsanweisungen, die eine Person ausführen soll.
Merke
Ein Algorithmus ist eine eindeutige Beschreibung eines allgemeinen endlichen Verfahrens zur Ermittlung gesuchter Größen aus gegebenen Größen.
1.4.2 Algorithmen beschreiben
Beim Erarbeiten von Algorithmen zeigt sich, dass bestimmte Grundoperationen, auch Elementaralgorithmen genannt, immer wieder auftauchen oder dass sich Algorithmen aus diesen Grundoperationen zusammensetzen lassen. Es liegt nahe, diese mit grafischen Symbolen
zu beschreiben. Als eine übersichtliche grafische Darstellungsform hat sich das Struktogramm
nach Nassi-Shneiderman (DIN 66 261) bewährt. Aus folgenden Elementen kann sich ein Struktogramm zusammensetzen:
„„
Sequenz
Eine Abfolge von Anweisungen wird als Sequenz bezeichnet und in einer rechteckigen
Box dargestellt. Die Anweisungen werden von oben nach unten abgearbeitet.
Schema
Beispiel
Anweisung 1
Einlesen einer Zahl
Anweisung 2
Erhöhen der Zahl um 1
Anweisung 3
Ausgabe Zahl
Erklärung: Die Abfolge der drei Anweisungen liest Zahl ein, erhöht Zahl um 1 und gibt
die geänderte Zahl aus.
© HERDT-Verlag
11
1
Grundlagen der strukturierten ­
Programmierung
„„
Verzweigung oder auch Entscheidungsanweisung
Ist die Bedingung wahr, wird Block 1 ausgeführt, andernfalls Block 2. Ein Block kann dabei
aus mehreren Anweisungen bestehen oder auch leer sein.
Schema
Beispiel
Bedingung
Ja
Zahl > 5
Nein
Block 1
Block 2
Ja
Nein
Ausgabe von
Zahl
Erhöhe Zahl
um 5
Erklärung: Ist Zahl größer als 5, dann wird Zahl ausgegeben, andernfalls wird Zahl um 5
erhöht.
„„
Mehrfachauswahl
In Abhängigkeit von einem gegebenen Wert wird ein entsprechender Block für die
­weitere Verarbeitung ausgewählt. Trifft keine Auswahl zu, so kann durch einen Block eine
eindeutige Reaktion der Mehrfachauswahl hervorgerufen werden.
Schema
Beispiel
Wert
=1
=2
=3
Block
1
Block
2
Block
3
Zahl
sonst
Block
4
=1
=2
=3
Erhöhe
Zahl
um 1
Erhöhe
Zahl
um 10
Erhöhe
Zahl
um 100
sonst
Ende
Erklärung: Abhängig davon, welchen Wert Zahl hat – ob 1, 2 oder 3 –, wird der Wert von
Zahl im ausgewählten Block um den entsprechenden Wert erhöht. Andernfalls wird die
Mehrfachauswahl beendet.
„„
Wiederholung ohne Bedingungsprüfung oder auch Zählschleife
Ähnlich einem Rundenzähler werden bei einer Zählschleife die Anweisungen so oft wiederholt, bis ein vorgegebener Endwert erreicht wird. Zu Beginn wird die Laufanweisung
auf ­einen vorgegebenen Startwert gesetzt. In der Regel erhöht sich der Rundenzähler um
den Wert 1.
Schema
Laufanweisung
Anweisungen
Beispiel
Für Zahl = 1 bis 10 wiederhole
Ausgabe von Zahl
Erklärung: Zahl durchläuft ganzzahlig die Werte von 1 bis 10. Die Zwischenwerte 1, 2, 3
bis 10 werden jeweils ausgegeben.
12
© HERDT-Verlag
Realisierung
„„
Wiederholung mit vorausgehender Bedingungsprüfung oder auch kopfgesteuerte
­Schleife
Bevor die Wiederholungsanweisungen durchgeführt werden, wird geprüft, ob die
­Bedingung für die Wiederholung noch erfüllt ist. Ist dies nicht der Fall, werden die
­Wiederholungsanweisungen nicht durchgeführt.
Schema
Bedingung
Beispiel
Solange Zahl <= 10 wiederhole
Anweisung
Ausgabe von Zahl
Anweisung
Erhöhe Zahl um 1
Erklärung: Solange der Wert von Zahl <= 10 ist, werden folgende Wiederholungsanweisungen durchgeführt: Ausgabe von Zahl und anschließende Erhöhung des Wertes von
Zahl um 1. Die fortlaufende Ausgabe und Erhöhung von Zahl wird dann abgebrochen,
wenn der Wert von Zahl größer als 10 ist. Wie bei der Wiederholung ohne Bedingungsprüfung durchläuft Zahl ganzzahlig die Werte von 1 bis 10. Vorausgesetzt wird hierbei,
dass Zahl zu Beginn der Wiederholungsanweisung den Anfangswert 1 hat.
„„
Wiederholung mit nachfolgender Bedingungsprüfung oder auch fußgesteuerte Schleife
Die Bedingungsprüfung für die Wiederholungsanweisungen steht bei dieser Wieder­
holungsart am Ende. Das bedeutet, dass die Wiederholungsanweisungen mindestens
­einmal abgearbeitet werden, bis die Bedingungsprüfung entscheidet, ob die Anweisungen wiederholt werden oder nicht.
Schema
Beispiel
Anweisung
Ausgabe von Zahl
Anweisung
Erhöhe Zahl um 1
Bedingung
Wiederhole bis Zahl > 10
Erklärung: Auch hier durchläuft Zahl ganzzahlig die Werte von 1 bis 10. Die fortlaufende
Ausgabe von Zahl wird abgebrochen, sobald der Wert von Zahl größer als 10 ist und die
Bedingung am Wiederholungsende nicht mehr erfüllt ist. Auch hier muss Zahl zu Beginn
der Wiederholungsanweisung den Anfangswert 1 besitzen.
© HERDT-Verlag
13
1
Grundlagen der strukturierten ­
Programmierung
Fortsetzung des Beispiels
Grafische Darstellung für das Suchen eines Elements in einer Zahlenkette:
Das Durchsuchen der Zahlenkette nach der gesuchten Zahl lässt sich mithilfe des sequenziellen Suchverfahrens durchführen, das Element für Element in der Reihenfolge der Speicherung durchsucht, bis das Element gefunden wird und der Platz ausgegeben werden kann.
Für das angeführte Beispiel lässt sich folgendes Struktogramm darstellen:
Eingabe von ZAHLENKETTE
Eingabe der GESUCHTEN ZAHL
ANZAHL der Elemente von ZAHLENKETTE soll 5 sein
PLATZ soll 0 sein
Erhöhe PLATZ um 1
Wiederhole, bis der Wert des Elements von PLATZ gleich der
GESUCHTEN ZAHL ist
oder PLATZ größer als ANZAHL ist.
PLATZ <= ANZAHL
Ja
Nein
Ausgabe PLATZ
Ausgabe "nicht gefunden"
Dieses Beispiel zeigt, dass es in einem Struktogramm möglich ist, die jeweiligen Grundoperationen beliebig zu schachteln bzw. aneinanderzureihen. Die äußere Begrenzung des Struktogramms bleibt jedoch ein Rechteck. Die Struktur des Algorithmus hebt sich deutlich hervor.
Handlungsauftrag
Erstellen Sie in Partnerarbeit ein Struktogramm für das Softwareprojekt ­Elektronischer
Fragebogen, das in seiner Grobstruktur die Arbeitsweise dieses Softwareprodukts
­darstellt. Das Struktogramm soll dann in den nachfolgenden Kapiteln schrittweise
­verfeinert werden.
14
© HERDT-Verlag
Realisierung
1.4.3 Objekte darstellen
Bei der bisherigen Betrachtung von Algorithmen wurde die Struktur des Verfahrensablaufs in
den Vordergrund gestellt. Unklar und unübersichtlich war die Darstellung der Objekte, auch
Daten genannt, die mithilfe eines Algorithmus bearbeitet bzw. manipuliert werden.
Häufige Objekte von Algorithmen sind Zahlen oder einzelne Zeichen (engl. Characters). ­Diese
können bestimmte Werte annehmen, z. B. von –32768 bis +32767 oder von a bis z, und es bestehen bestimmte Ordnungsrelationen. So ist 1 kleiner als 4 oder a kleiner als d. Zahlen und
Zeichen gehören zur Gruppe der einfachen Objekttypen. Komplexe Objekte werden aus einfachen Objekten zusammengesetzt. So ergibt die Aneinanderreihung von Zeichen den neuen
Datentyp Text, auch als Zeichenkette (engl. String) bezeichnet. Werden mehrere Werte des
gleichen Datentyps unter einem Namen zusammengefasst, so spricht man von einem neuen
Datentyp, den man als Datenfeld (engl. Array) bezeichnet. Mithilfe eines Indexwerts kann
dann auf bestimmte Werte zugegriffen werden.
Merke
In der strukturierten Programmentwicklung ist ein Objekt durch einen Wert, einen
­Bezeichner (Namen) und einen Datentyp charakterisiert.
„„
Können die Werte eines Objekts zur Programmlaufzeit verändert werden, so spricht
man von Variablen.
„„
Können die Werte eines Objekts zur Programmlaufzeit nicht mehr verändert
­werden, so spricht man von Konstanten.
Häufig hängen die Art des Algorithmus und die Art des Objekttyps voneinander ab, so auch
im angeführten Beispiel:
„„ PLATZ
ist ein variables Objekt vom Datentyp Zahl. Es nimmt durch Manipulation des
­Algorithmus alle ganzzahligen Werte zwischen 0 und 6 an.
„„ ANZAHL
ist ebenfalls ein variables Objekt vom Datentyp Zahl. Es nimmt den Wert 5 an, da
ZAHLENKETTE in unserem Beispiel aus 5 Elementen besteht.
© HERDT-Verlag
15
1
Grundlagen der strukturierten ­
Programmierung
„„ ZAHLENKETTE
ist ein komplexes Objekt vom Datentyp Datenfeld Zahl. Es besteht aus einfachen Objekten vom Datentyp Zahl und kann insgesamt als ZAHLENKETTE oder in seinen
Elementen als ZAHLENKETTE an der Stelle 1, 2, … n angesprochen werden. Häufig wird dafür die Abkürzung ZAHLENKETTE[n] verwendet. Das Abarbeiten des komplexen Objekttyps ZAHLENKETTE erleichtert die Grundoperation Wiederholung und umgekehrt.
Mit diesen Vereinbarungen lässt sich das Struktogramm des angeführten Beispiels hinsichtlich
der Variablen und deren Datentypen (in Klammern) vervollständigen:
Variablen:
PLATZ(Zahl), ANZAHL(Zahl), ZAHLENKETTE(Datenfeld Zahl) GESUCHTEN
ZAHL(Zahl)
Eingabe der GESUCHTEN ZAHL
ANZAHL = 5
PLATZ = 0
Erhöhe PLATZ um 1
Wiederhole, bis Wert von ZAHLENKETTE[PLATZ] = GESUCHTEN ZAHL
oder PLATZ > ANZAHL ist.
PLATZ <= ANZAHL
Ja
Nein
Ausgabe PLATZ
Ausgabe "nicht gefunden"
Handlungsauftrag
Identifizieren und definieren Sie die variablen Objekte und deren Datentypen in
dem in Kapitel 1.4.2 entwickelten Struktogramm des Softwareprojekts Elektronischer
­Fragebogen. Beschränken Sie sich nur auf einfache Objekte der Datentypen Zahl
oder Text. Ergänzen Sie das Struktogramm wie im vorangegangenen Beispiel um den
­Bereich Variablen.
1.4.4 Programmiersprachen und Programmübersetzer anwenden
Um einen Algorithmus einer Maschine in einer verständlichen, d. h. bearbeitbaren Form mitzuteilen, ist man gezwungen, eine spezielle Sprache, eine sogenannte Programmiersprache,
zu verwenden.
Die Sprache des Menschen ist dazu ungeeignet, da sie durch einen für die Maschine zu umfangreichen Wortschatz und häufig durch mangelnde Eindeutigkeit gekennzeichnet ist. Was
ist z. B. mit dem Begriff „Anker“ gemeint? Der Anker eines Elektromotors, eines Schiffs oder
einer Uhr?
16
© HERDT-Verlag
Realisierung
Programmiersprachen sind gekennzeichnet durch:
„„
einen begrenzten Wortschatz
„„
Exaktheit
„„
Eindeutigkeit
Der begrenzte Wortschatz muss so ausgewählt sein, dass er für die Beschreibung von
­Problemen oder Problemlösungen geeignet ist. Die Exaktheit muss durch Regeln für das
­Aneinanderreihen von Schlüsselwörtern, auch als Syntax bezeichnet, gewährleistet sein.
­Jeder zulässigen Aneinanderreihung von Zeichen muss eine eindeutige Bedeutung, auch als
Semantik bezeichnet, entsprechen. Weiterhin ist wünschenswert, dass Programmiersprachen
für den Menschen leicht verständlich sind. Es kann so leichter programmiert werden, d. h.,
Algorithmen können so leichter in eine für die Maschine verständliche Sprache übersetzt
werden.
Handlungsauftrag
Recherchieren Sie im Internet und ordnen Sie die fast unüberschaubare Anzahl von
Programmiersprachen in Gruppen nach von Ihnen festgelegten Gesichtspunkten ein
und beschreiben Sie kurz deren Eigenschaften.
Bevor ein in einer Programmiersprache erstellter Algorithmus auf einem Rechner ausgeführt
werden kann, muss dieser Algorithmus in die binäre Befehlsfolge des Rechners übersetzt
werden. Dazu wird ein Übersetzer verwendet.
Ein Übersetzer ist ein Programm, das ein Quellprogramm in ein bedeutungsgleiches
Objektprogramm übersetzt. Das Quellprogramm ist in einer höheren Programmiersprache oder in einer Assemblersprache geschrieben, das Objektprogramm hingegen in der Regel in einer Maschinensprache. Da der Übersetzer von einem Prozessor
abgearbeitet werden muss, ist er vom Prozessortyp abhängig. Er ist nicht übertragbar.
Die Übersetzung geschieht häufig in mehreren Phasen, d. h., der Übergang vom
Quellprogramm in das Objektprogramm erfolgt in mehreren Stufen:
„„
Lexikalische Analyse
Schlüsselwörter, Variablen, Konstanten, Prozeduren und Funktionen werden erkannt und durch Abkürzungen ersetzt. Leerzeichen und Kommentare werden
überlesen. Tabellen für Konstanten und Variablen werden angelegt.
„„
Syntaktische Analyse
Überprüfung des Programms auf Richtigkeit gemäß den Syntaxregeln. Gegebenenfalls Erzeugung einer Fehlermeldung und Aufbereiten der Programmstruktur in eine für den Prozessor bearbeitbare Reihenfolge bzw. Form.
„„
Codegenerierung
Umsetzung der Ergebnisse der lexikalischen und syntaktischen Analyse in einen
prozessorspezifischen Code. Optimierung des Codes, d. h. Verbesserungen zur
Verkürzung der Programmlaufzeit und zur Reduzierung des Speicherplatzbedarfs.
© HERDT-Verlag
17
Zugehörige Unterlagen
Herunterladen