• Keine Ergebnisse gefunden

Taschenbuch Programmiersprachen

N/A
N/A
Protected

Academic year: 2022

Aktie "Taschenbuch Programmiersprachen"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

- 7370

enverzeichnis

n Bayer

analytiker, T-Systems GmbH r. Thomas Fuchß

or für Informatik, FH Karlsruhe ng Gruber

ruber und Hufnagel Softwareentwicklung GmbH r. Peter A. Henning

3r für Informatik, FH Karlsruhe Keller

ichaftlicher Mitarbeiter, Forschungszentrum Karlsruhe st Keller

eentwicklung, SAP AG Walldorf t Kreis

[GmbH r. Norbert Link

>r für Informatik, FH Karlsruhe tfehne

diger EDV-Berater r. Britta Nestler

irin für Informatik, FH Karlsruhe brischewski

chaftlicher Mitarbeiter, FH Karlsruhe o Schindlmayr

tive Analyst, EnBW Gesellschaft für Sttromhandel mbH Supp

:entwickler, .riess applications gmbh . Holger Vogelsang

r für Informatik, FH Karlsruhe Wagner

sfuhrer, quartis GmbH

Taschenbuch Programmier- sprachen

herausgegeben von

Prof. Dr. Peter A. Henning und Prof. Dr. Holger Vogelsang

Mit zahlreichen Tabellen

FACHBUCHVERLAG LEIPZIG

im Carl Hanser Verlag

(2)

Inhaltsverzeichnis

1 Einleitung 17

1.1 Definition und Geschichte 17 1.2 Programmentwicklung 19 1.2.1 Industrielle Software-Entwicklung 19 1.2.2 Open Source-Software 20 1.2.3 Normung 21 1.3 Programmierung 21 1.3.1 Vorgehensweise 21 1.3.2 Regeln guter Programmierung 22 1.4 Klassifizierung von Programmiersprachen 22 1.5 Glossar Programmiersprachen 25

2 C 50

2.1 Übersicht 50 2.2 Organisation der Sprache 51 2.2.1 Modularisierung des Quelltextes 51 2.2.2 Kommentare, Namen und üterale 51 2.2.3 Präprozessor 52 2.2.4 Genereller Quelltextaufbau 56 2.3 Imperative Aspekte 56 2.3.1 Primitive Datentypen 56 2.3.2 Eigene und zusammengesetzte Datentypen 57 2.3.3 Speicherung von Daten 61 2.3.4 Ausdrücke 63 2.3.5 Operatoren und ihre Reihenfolgen 63 2.3.6 Anweisungen 64 2.4 Funktionen 66 2.4.1 Variable Parameteranzahl 66 2.4.2 Programmstart 67 2.5 Zeiger 68 2.5.1 Zeiger auf Strukturen und Unions 69 2.5.2 Zeiger, Arrays und Zeigerarithmetik 69 2.5.3 Zeiger auf Funktionen 70 2.5.4 Dynamische Speicherverwaltung 70 2.6 Vordefinierte oder wichtige Funktionen 71 2.6.1 Strings 71 2.6.2 Arrays und Speicher 72 2.6.3 Mathematik 72

3 C++ 74

3.1 Übersicht 74 3.2 Organisation der Sprache 74 3.2.1 Modularisierung des Quelltextes 75 3.2.2 Kommentare, Namen und Literale 76 3.2.3 Präprozessor 76 3.2.4 Genereller Quelltextaufbau 77 3.3 Imperative Aspekte 77 3.3.1 Primitive Datentypen 77 3.3.2 Eigene und zusammengesetzte Datentypen 77 3.3.3 Speicherung von Daten 78 3.3.4 Ausdrücke 78 3.3.5 Operatoren und ihre Reihenfolgen 78 3.3.6 Anweisungen 80

3.4 Funktionen 3.4.1 Generische Funktionen 3.4.2 Programmstart 3.5 Zeiger und Referenzen 3.5.1 Zeiger auf Objekte 3.5.2 Zeiger auf Methoden 3.5.3 Referenzen

3.5.4 Dynamische Speicherverwaltung 3.6 Objekte und Klassen 3.6.1 Deklaration und Aufbau 3.6.2 Erzeugung und Löschung 3.6.3 Attribute

3.6.4 Initialisierung und Freigabe 3.6.5 Methoden

3.6.6 Zugriffsrechte 3.6.7 Geschachtelte Klassen 3.7 Vererbung

3.7.1 Konstruktoren und Initialisierung 3.7.2 Destruktoren und Freigabe 3.7.3 Überschreiben von Methoden 3.7.4 Abstrakte Klassen 3.7.5 Mehrfachvererbung 3.8 Überladen von Operatoren 3.8.1 Elementoperatoren 3.8.2 Nichtelementoperatoren 3.8.3 Vordefinierte Operatoren 3.9 Generische Klassen

3.10 Vordefinierte oder wichtige Klassen ..

3.10.1 Strings 3.10.2 Arrays 3.10.3 Mathematik

4 Java

4.1 Übersicht

4.2 Organisation der Sprache 4.2.1 Modularisierung des Quelltextes 4.2.2 Kommentare, Namen und Literale 4.2.3 Genereller Quelltextaufbau 4.3 Imperative Aspekte 4.3.1 Primitive Datentypen

4.3.2 Eigene und zusammengesetzte Datentypen 4.3.3 Speicherung von Daten

4.3.4 Ausdrücke

4.3.5 Operatoren und ihre Reihenfolgen 4.3.6 Anweisungen

4.4 Referenzen

4.4.1 Dynamische Speicherverwaltung 4.5 Objekte und Klassen 4.5.1 Deklaration und Aufbau 4.5.2 Klassenrechte 4.5.3 Erzeugung und Löschung 4.5.4 Attribute

4.5.5 Initialisierung und Freigabe 4.5.6 Methoden

4.5.7 Methodenrechte 4.5.8 Getter und Setter 4.6 Geschachtelte Klassen 4.7 Vererbung

4.7.1 Konstruktoren und Initialisierung 4.7.2 Destruktor (finalize) und Freigabe

(3)

Inhaltsverzeichnis

Itsverzeichnis

Einleitung 17

Definition und Geschichte 17 Programmentwicklung 19 Industrielle Software-Entwicklung 19 Open Source-Software 20 Normung 21 Programmierung 21 Vorgehensweise 21 Regeln guter Programmierung 22 Klassifizierung von Programmiersprachen 22 Glossar Programmiersprachen 25

C 50

Übersicht 50 Drganisation der Sprache 51 Modularisierung des Quelltextes 51

<ommentare, Namen und Literale 51

Dräprozessor 52

Senereller Quelltextaufbau 56 mperative Aspekte 56

3rimitive Datentypen 56 Eigene und zusammengesetzte Datentypen 57 Speicherung von Daten 61

\usdrücke 63 Dperatoren und ihre Reihenfolgen 63 Anweisungen 64

runktionen 66

/ariable Parameteranzahl 66

Drogrammstart 67

feiger 68 feiger auf Strukturen und Unions 69 teiger, Arrays und Zeigerarithmetik 69 feiger auf Funktionen 70 Dynamische Speicherverwaltung 70 /ordefinierte oder wichtige Funktionen 71 strings 71

\rrays und Speicher 72 Mathematik 72

> + 74

Jbersicht 74 Drganisation der Sprache 74 dodularisierung des Quelltextes 75 Commentare, Namen und Literale 76 'räprozessor 76 Genereller Quelltextaufbau 77 mperative Aspekte 77 'rimitive Datentypen 77 Eigene und zusammengesetzte Datentypen 77 ipeicherung von Daten 78 Ausdrücke 78 )peratoren und ihre Reihenfolgen 78 Anweisungen 80

3.4 Funktionen 81 3.4.1 Generische Funktionen 82 3.4.2 Programmstart 83 3.5 Zeiger und Referenzen 83 3.5.1 Zeiger auf Objekte 83 3.5.2 Zeiger auf Methoden 83 3.5.3 Referenzen 84 3.5.4 Dynamische Speicherverwaltung 85 3.6 Objekte und Klassen 86 3.6.1 Deklaration und Aufbau 86 3.6.2 Erzeugung und Löschung 86 3.6.3 Attribute 89 3.6.4 Initialisierung und Freigabe 90 3.6.5 Methoden 91 3.6.6 Zugriffsrechte 92 3.6.7 Geschachtelte Klassen 93 3.7 Vererbung 94 3.7.1 Konstruktoren und Initialisierung 94 3.7.2 Destruktoren und Freigabe 95 3.7.3 Überschreiben von Methoden 96 3.7.4 Abstrakte Klassen 97 3.7.5 Mehrfachvererbung 98 3.8 Überladen von Operatoren 99 3.8.1 Elementoperatoren 99 3.8.2 Nichtelementoperatoren 101 3.8.3 Vordefinierte Operatoren 101 3.9 Generische Klassen 102 3.10 Vordefinierte oder wichtige Klassen 103 3.10.1 Strings 103 3.10.2 Arrays 104 3.10.3 Mathematik 104

4 Java 105

4.1 Übersicht 105 4.2 Organisation der Sprache 105 4.2.1 Modularisierung des Quelltextes 106 4.2.2 Kommentare, Namen und Literale 107 4.2.3 Genereller Quelltextaufbau 109 4.3 Imperative Aspekte 109 4.3.1 Primitive Datentypen 109 4.3.2 Eigene und zusammengesetzte Datentypen 110 4.3.3 Speicherung von Daten 112 4.3.4 Ausdrücke 112 4.3.5 Operatoren und ihre Reihenfolgen 113 4.3.6 Anweisungen 114 4.4 Referenzen 116 4.4.1 Dynamische Speicherverwaltung 117 4.5 Objekte und Klassen 117 4.5.1 Deklaration und Aufbau 117 4.5.2 Klassenrechte 118 4.5.3 Erzeugung und Löschung 118 4.5.4 Attribute 119 4.5.5 Initialisierung und Freigabe 120 4.5.6 Methoden 120 4.5.7 Methodenrechte 123 4.5.8 Getter und Setter 124 4.6 Geschachtelte Klassen 125 4.7 Vererbung 127 4.7.1 Konstruktoren und Initialisierung 127 4.7.2 Destruktor (finalize) und Freigabe 128

(4)

Inhaltsverzeichnis

4.7.3 Überschreiben von Methoden 128 4.7.4 Abstrakte Klassen 129 4.7.5 Schnittstellen 130 4.8 Vordefinierte oder wichtige Klassen 131 4.8.1 Strings 131 4.8.2 Arrays 131 4.8.3 Mathematik 131

5 C# 133

5.1 Übersicht 133 5.1.1 Laufzeitumgebung CLR 133 5.1.2 Compiler 133 5.2 Organisation der Sprache 134 5.2.1 Modularisierung 134 5.2.2 Die Einsprungstelle (main) 135 5.2.3 Kommentare, Namen und Literale 135 5.2.4 Compiler-Direktiven 136 5.3 Value Types 137 5.3.1 Vordefinierte Value Types 137 5.3.2 Benutzerdefinierte Value Types 139 5.4 Reference Types 140 5.4.1 Vordefinierte Reference Types 140 5.4.2 Benutzerdefinierte Reference Types 140 5.4.3 Arrays (System.Array) 145 5.4.4 Pointer 146 5.5 Typ-Konvertierungen 147 5.6 Attribute 148 5.6.1 Deklaration von Attributen 148 5.6.2 Zugriff auf Attribute 149 5.6.3 Vordefinierte Attribute 149 5.7 Imperative Aspekte 150 5.7.1 Variablen und Parameter 150 5.7.2 Ausdrücke (Expressions) 151 5.7.3 Anweisungen (Statements) 152 5.8 Wichtige Klassen 155 5.8.1 Ein- und Ausgabe in C# 155 5.8.2 Stream, TextReader und TextWriter 155

6 Pascal 157

6.1 Übersicht 157 6.2 Organisation der Sprache 157 6.2.1 Quelltypen 157 6.2.2 Kommentare und Symbole 158 6.2.3 Bezeichner 158 6.2.4 Reservierte Schlüsselwörter 159 6.2.5 Literale 159 6.2.6 Aufbau eines Pascal-Programms 160 6.2.7 Aufbau einer Unit 161 6.2.8 Aufbau des Pascal-Quelltextes 161 6.3 Imperative Aspekte 163 6.3.1 Primitive Datentypen 163 6.3.2 Arrays 167 6.3.3 Selbstdefinierte Datentypen 168 6.3.4 Speicherbereiche von Code und Variablen 168 6.3.5 Ausdrücke 168 6.3.6 Operatoren und Reihenfolgen 169 6.3.7 Anweisungen 170 6.3.8 L-Value, R-Value 172 6.4 Prozedurale Elemente und Funktionen 173 6.5 Referenzen auf Funktionen/Prozeduren 174

6.6 Vordefinierte oder wichtige Funktionen 6.6.1 File-IO

6.6.2 Mathematische und String-Funktionen

7 Object Pascal

7.1 Übersicht

7.2 Organisation der Sprache 7.3 Imperative Aspekte 7.3.1 Primitive Datentypen 7.4 Funktionen

7.5 Zeiger und Referenzen 7.5.1 Zeiger auf Objekte und Methoden 7.5.2 Referenzen

7.6 Objekte und Klassen

7.6.1 Deklaration und Aufbau von Objekten/Klassen 7.6.2 Erzeugung und Löschen von Objekten/Klassen 7.6.3 Attribute

7.6.4 Initialisierung und Freigabe 7.6.5 Methoden

7.6.6 Zugriffsrechte 7.7 Vererbung

7.7.1 Konstruktoren und Initialisierung 7.7.2 Destruktoren und Freigabe 7.7.3 Überschreiben von Methoden 7.7.3 Abstrakte Klassen und Interfaces 7.8 Besondere Klasseneigenschaften

8 MODULA-2

8.1 Organisation der Sprache 8.2 Imperative Aspekte 8.2.1 Typen und Variablen 8.2.2 Coroutinen 8.2.3 Operatoren

8.3 Prozedurale Elemente und Funktionen 8.4 Zeiger, Referenzen und Objekte 8.5 Vordefinierte oder wichtige Funktionen

9 Ada

9.1 Einleitung

9.2 Allgemeine Aspekte zur Programmentwicklung 9.2.1 Programmarchitektur

9.2.2 Compiler und Übersetzung 9.2.3 Portabilität von Ada-Programmen 9.2.4 Einsatzgebiete und Wartbarkeit 9.3 Algorithmen und Datenstrukturen 9.3.1 Typen in Ada

9.3.2 Anweisungen 9.3.3 Unterprogramme 9.3.4 Ausnahmebehandlung

9.4 Modulkonzept und Objektorientierung 9.4.1 Pakete

9.4.2 Generische Pakete 9.4.3 Objektorientierte Konzepte 9.5 Echtzeitfähigkeit und Multitasking 9.6 Einbettung der Sprache, Umgebung

10 FORTRAN

10.1 Übersicht

(5)

Inhaltsverzeichnis Inhaltsverzeichnis

Überschreiben von Methoden 128 Abstrakte Klassen 129 Schnittstellen 130 Vordefinierte oder wichtige Klassen 131 Strings 131 Arrays 131 Vlathematik 131

C# 133

Übersicht 133 .aufzeitumgebung CLR 133 Compiler 133 Drganisation der Sprache 134 vlodularisierung 134 Die Einsprungstelle (main) 135

<ommentare, Namen und Literale 135 Dompiler-Direktiven 136

*/alue Types 137 i/ordefinierte Value Types 137 Benutzerdefinierte Value Types 139 Reference Types 140 /ordefinierte Reference Types 140 Benutzerdefinierte Reference Types 140 Arrays (System.Array) 145 'ointer 146 ryp-Konvertierungen 147

\ttribute 148 )eklaration von Attributen 148 Zugriff auf Attribute 149 /ordefinierte Attribute 149 mperative Aspekte 150 /ariablen und Parameter 150 Vusdriicke (Expressions) 151 Anweisungen (Statements) 152 Wichtige Klassen 155 Ein- und Ausgabe in C# 155 Stream, TextReader und TextWriter 155 3

ascal 157

Übersicht 157 Drganisation der Sprache 157 3uelltypen 157 Commentare und Symbole 158 Jezeichner 158 Reservierte Schlüsselwörter 159 .iterale 159 Aufbau eines Pascal-Programms 160 Aufbau einer Unit 161 Vufbau des Pascal-Quelltextes 161 mperative Aspekte 163 'rimitive Datentypen 163 Arrays 167 ielbstdefinierte Datentypen 168 Speicherbereiche von Code und Variablen 168 Ausdrücke 168 )peratoren und Reihenfolgen 169 Anweisungen 170 .-Value, R-Value 172 'rozedurale Elemente und Funktionen 173 Referenzen auf Funktionen/Prozeduren 174

6.6 Vordefinierte oder wichtige Funktionen 174 6.6.1 File-IO 174 6.6.2 Mathematische und String-Funktionen 176

7 Object Pascal 178

7.1 Übersicht 178 7.2 Organisation der Sprache 178 7.3 Imperative Aspekte 179 7.3.1 Primitive Datentypen 179 7.4 Funktionen 179 7.5 Zeiger und Referenzen 179 7.5.1 Zeiger auf Objekte und Methoden 179 7.5.2 Referenzen 180 7.6 Objekte und Klassen 180 7.6.1 Deklaration und Aufbau von Objekten/Klassen 180 7.6.2 Erzeugung und Löschen von Objekten/Klassen 181 7.6.3 Attribute 182 7.6.4 Initialisierung und Freigabe 184 7.6.5 Methoden 184 7.6.6 Zugriffsrechte 185 7.7 Vererbung 185 7.7.1 Konstruktoren und Initialisierung 186 7.7.2 Destruktoren und Freigabe 186 7.7.3 Überschreiben von Methoden 186 7.7.3 Abstrakte Klassen und Interfaces 187 7.8 Besondere Klasseneigenschaften 188

8 MODULA-2 189

8.1 Organisation der Sprache 189 8.2 Imperative Aspekte 190 8.2.1 Typen und Variablen 190 8.2.2 Coroutinen 191 8.2.3 Operatoren 191 8.3 Prozedurale Elemente und Funktionen 192 8.4 Zeiger, Referenzen und Objekte 192 8.5 Vordefinierte oder wichtige Funktionen 193

9 Ada 195

9.1 Einleitung 195 9.2 Allgemeine Aspekte zur Programmentwicklung 196 9.2.1 Programmarchitektur 196 9.2.2 Compiler und Übersetzung 196 9.2.3 Portabilität von Ada-Programmen 197 9.2.4 Einsatzgebiete und Wartbarkeit 197 9.3 Algorithmen und Datenstrukturen 198 9.3.1 Typen in Ada 198 9.3.2 Anweisungen 201 9.3.3 Unterprogramme 203 9.3.4 Ausnahmebehandlung 204 9.4 Modulkonzept und Objektorientierung 205 9.4.1 Pakete 205 9.4.2 Generische Pakete 207 9.4.3 Objektorientierte Konzepte 209 9.5 Echtzeitfähigkeit und Multitasking 211 9.6 Einbettung der Sprache, Umgebung 214

FORTRAN 215

Übersicht 215

(6)

10.2 Organisation der Sprache 215 10.2.1 Quellcode 215 10.2.2 Struktur eines FORTRAN-Programms 216 10.2.3 Kommentare, Namen und Literale 216 10.2.4 Primitive Datentypen 217 10.2.5 Abgeleitete Datentypen 218 10.3 Imperative Aspekte 218 10.3.1 Arrays 218 10.3.2 Dynamische Arrays 220 10.3.3 Initialisierung 220 10.3.4 EQUIVALENCE-Anweisung 220 10.3.5 Zuweisungen und Operatoren 221 10.3.6 Kontrollstrukturen 222 10.3.7 Array-Anweisungen 224 10.4 Prozedurale Elemente 224 10.4.1 Parameterübergabe 225 10.4.2 Besonderheiten von Unterprogrammen 226 10.4.3 Besonderheiten von Funktionen 226 10.4.4 Module 226 10.4.5 Operatordefinitionen und Überladung 227 10.4.3 COMMON-Blöcke 227 10.5 Input und Output in FORTRAN 228 10.5.1 Listengesteuerte Ein- und Ausgabe 228 10.5.2 Formatierte Ein- und Ausgabe 228 10.5.3 FORMAT-Anweisung 229 10.5.4 Ein- und Ausgabe auf Dateien 230 10.6 Zeigervariablen und dynamischer Speicher 231 10.6.1 POINTER und TARGET 231 10.6.2 Dynamischer Speicher 231 10.7 Intrinsische Funktionen 232 10.7.1 Mathematische Funktionen 232 10.7.2 String-Funktionen 233 10.7.3 Array-Funktionen 234 10.7.4 POINTER-Funktionen 235

11 COBOL 236

11.1 Übersicht 236 11.2 Organisation der Sprache 237 11.2.1 Quellcode 237 11.2.2 Struktur eines COBOL-Programms 237 11.2.3 Elemente der Sprache 239 11.3 DATA DIVISION 240 11.3.1 COBOL-Stufennummern 242 11.3.2 COBOL-Datentypen 243 11.3.3 Tabellen in COBOL 246 11.3.4 Weitere Klauseln der DATA DIVISION 246 11.4 PROCEDURE DIVISION 247 11.4.1 Arithmetische und logische Ausdrücke 248 11.4.2 Zuweisungen 249 11.4.3 Arithmetische Anweisungen 251 11.4.4 Bedingte Anweisungen 251 11.4.5 Unterprogramme 252 11.4.6 String-Manipulationen 254 11.4.7 Dateiverarbeitung 254 11.4.8 Tabellenverarbeitung 255 11.4.9 Sortieren und Mischen 255 11.5 Weitere Elemente von COBOL 256 11.5.1 Reports 256 11.5.2 Eingebaute Funktionen 256

12 BASIC

12.1 Übersicht

12.2 Organisation der Sprache 12.2.1 Quelltext

12.2.2 Prozedurale Elemente und Funktionen 12.2.3 Identifier, Literale

12.3 Imperative Aspekte 12.3.1 Primitive Datentypen 12.3.2 Arrays

12.3.3 Zuweisungen, Ausdrücke und Operatoren 12.3.4 Kontrollstrukturen

12.4 Vordefinierte oder wichtige Funktionen. ..

12.4.1 String-Funktionen 12.4.2 Array-Funktionen 12.4.3 Mathematische Funktionen

13 VisualBasic.NET

13.1 Übersicht

13.2 Organisation der Sprache 13.2.1 Quelltext

13.2.2 Logische Programmeinheiten

13.2.3 Identifier, Literale, Seperatoren und Operatoren 13.3 Imperative Aspekte

13.3.1 Einfache Datentypen 13.3.2 Aufzählungstypen

13.3.3 Konstanten, Variablen und Arrays 13.3.4 Ausdrücke

13.3.5 Prozeduren (procedures) 13.3.6 Kontrollstrukturen 13.3.7 Schleifen

13.3.8 Ausnahmebehandlung (Error Messages) 13.4 Weitere Details zu VB.NET

14 JavaScript und ECMAScript

14.1 Übersicht

14.2 Organisation der Sprache 14.2.1 Kommentare, Namen und Literale 14.2.2 Interpretationsschema 14.3 Imperative Aspekte 14.3.1 Eingebaute Datentypen 14.3.2 Ausdrücke und Operatoren 14.3.3 Anweisungen

14.4 Funktionen und Objekte 14.5 Eingebaute Objekte 14.5.1 String-Objekt 14.5.2 Math-Objekt 14.5.3 Array-Objekt 14.5.4 Date-Objekt 14.5.5 RegExp-Objekt 14.5.6 JavaScript und Java 14.6 Browser-API 14.6.1 Browser-Objekte 14.6.2 Event-Handling

15 Perl

15.1 Übersicht

15.2 Organisation der Sprache 15.2.1 Quellcode und Programmstruktur

(7)

Inhaltsverzeichnis

Organisation der Sprache 215 Quellcode 215 Struktur eines FORTRAN-Programms 216 Kommentare, Namen und Literale 216 Primitive Datentypen 217 Abgeleitete Datentypen 218 Imperative Aspekte 218 Arrays 218 Dynamische Arrays 220 Initialisierung 220 EQUIVALENCE-Anweisung .220 Zuweisungen und Operatoren 221 Kontrollstrukturen 222

<\rray-Anweisungen 224 Prozedurale Elemente 224

3arameterübergabe 225 Besonderheiten von Unterprogrammen 226 Besonderheiten von Funktionen 226 Module 226 Dperatordefinitionen und Überladung 227

;OMMON-Blöcke 227 nput und Output in FORTRAN 228 Jstengesteuerte Ein- und Ausgabe 228

:ormatierte Ein- und Ausgabe 228

:ORMAT-Anweisung 229 Ein- und Ausgabe auf Dateien 230 leigervariablen und dynamischer Speicher 231 'OINTER und TARGET 231 tynamischer Speicher 231 ntrinsische Funktionen 232 /lathematische Funktionen 232 String-Funktionen 233 irray-Funktionen 234 'OINTER-Funktionen i 235

;OBOL 236

Jbersicht 236 )rganisation der Sprache 2 3 7 iuellcode 237 Itruktur eines COBOL-Programms 237 Elemente der Sprache 239 )ATA DIVISION .'....".'..'.'.'." 240 lOBOL-Stufennummern 242 :OBOL-Datentypen 243 abellen in COBOL 246 /eitere Klauseln der DATA DIVISION 246 'ROCEDURE DIVISION ... . . . . [ . . . 247 rithmetische und logische Ausdrücke 248 uweisungen 249 rithmetische Anweisungen 251 edingte Anweisungen 251 nterprogramme 252 tring-Manipulationen 254 ateiverarbeitung 254 abellenverarbeitung 255 ortieren und Mischen 255 /eitere Elemente von COBOL 256 eports 256 ingebaute Funktionen 256

Inhaltsverzeichnis

I I

BASIC 257

Übersicht 257 Organisation der Sprache 258 Quelltext 258 Prozedurale Elemente und Funktionen 259 Identifier, Literale 261 Imperative Aspekte 262 Primitive Datentypen 262 Arrays 264 Zuweisungen, Ausdrücke und Operatoren 265 Kontrollstrukturen 270 Vordefinierte oder wichtige Funktionen 273 String-Funktionen 273 Array-Funktionen 273 Mathematische Funktionen 274

Visual Basic.NET 277

Übersicht 277 Organisation der Sprache 277 Quelltext 277 Logische Programmeinheiten 278 Identifier, Literale, Seperatoren und Operatoren 282 Imperative Aspekte 283 Einfache Datentypen 283 Aufzählungstypen 285 Konstanten, Variablen und Arrays 285 Ausdrücke 287 Prozeduren (procedures) 288 Kontrollstrukturen 292 Schleifen 293 Ausnahmebehandlung (Error Messages) 294 Weitere Details zu VB.NET 296

JavaScript und ECMAScript 297

Übersicht 297 Organisation der Sprache 298 Kommentare, Namen und Literale 299 Interpretationsschema 299 Imperative Aspekte 300 Eingebaute Datentypen 300 Ausdrücke und Operatoren 300 Anweisungen 301 Funktionen und Objekte 302 Eingebaute Objekte 303 String-Objekt 304 Math-Objekt 305 Array-Objekt 306 Date-Objekt 307 RegExp-Objekt 307 JavaScript und Java 308 Browser-API 308 Browser-Objekte 308 Event-Handling 314

Perl 316

Übersicht 316 Organisation der Sprache 316 Quellcode und Programmstruktur 316

(8)

Inhaltsverzeichnis Inhaltsverzeichnis

15.2.2 Kommentare, Namen und Literale 317 15.2.3 Datentypen 317 15.2.4 Referenzen 318 15.3 Imperative Aspekte 319 15.3.1 Operatoren 319 15.3.2 Reguläre Ausdrücke 320 15.3.3 Anweisungen 321 15.3.4 Kontrollstrukturen 322 15.3.5 Input/Output in Perl 323 15.4 Prozedurale Aspekte 325 15.4.1 Funktionen 325 15.4.2 Packages und Module 325 15.5 Objektorientierte Aspekte 326 15.5.1 Klassendefinition 326 15.5.2 Vererbung 327 15.6 Eingebaute Funktionen und Objekte 327 15.6.1 Kontroll- und Dateifunktionen 328 15.6.2 Mathematische Funktionen 329 15.6.3 String-Funktionen 329 15.6.3 Funktionen für Listen und Hashes 330 15.7 Perl/Tk 331 15.7.1 Programmstruktur 331 15.7.2 Widget-Methoden im Detail 333 15.7.3 Ereignissteuerung 336

16 Tcl/Tk 337

16.1 Übersicht 337 16.2 Organisation der Sprache 337 16.2.1 Quellcode und Programmstruktur 337 16.2.2 Kommentare, Namen und Literale 338 16.2.3 Datentypen 338 16.3 Imperative Aspekte 339 16.3.1 Anweisungen, Ausdrücke und Operatoren 339 16.3.2 Glob Style Patterns 340 16.3.3 Reguläre Ausdrücke 341 16.3.4 Kontrollstrukturen 342 16.3.5 Input/Output in Tel 344 16.4 Prozedurale Aspekte 346 16.4.1 Prozeduren 346 16.4.2 Parameterübergabe 347 16.5 Eingebaute Funktionen und Objekte 347 16.5.1 Kontroll- und Dateifunktionen 347 16.5.2 Mathematische Funktionen 349 16.5.3 Anweisungen für Strings 349 16.5.4 Anweisungen für Listen 350 16.6 Tcl/Tk 352 16.6.1 Programmstruktur und Widgets 352 16.6.2 Geometrie-Management in Tk 353

17 PHP 356

17.1 Übersicht 356 17.2 Organisation der Sprache 356 17.2.1 Quellcode und Programmstruktur 356 17.2.2 Kommentare, Namen, Literale 357 17.2.3 Datentypen 358 17.2.4 Referenzen 359 17.2.4 Vordefinierte Variablen 359 17.3 Imperative Aspekte 360 17.3.1 Operatoren 360 17.3.2 Anweisungen 361

17.3.3 Kontrollstrukturen

17.4 Prozedurale Elemente und Funktionen.

17.4.1 Funktionen 17.4.2 Parameterübergabe 17.5 Objektorientierte Aspekte 17.5.1 Klassendefinition

17.5.2 Vererbung

17.5.3 Klassen- und Objekt-Funktionen 17.6 Wichtige Funktionen 17.6.1 Strings

17.6.2 Funktionen für Arrays 17.6.3 Mathematische Funktionen 17.6.4 Kontrollfunktionen 17.6.5 Zeit- und Datumsfunktionen 17.6.6 Dateifunktionen

18 Python

18.1 Übersicht

18.2 Organisation der Sprache 18.2.1 Quellcode-Struktur 18.2.2 Quellcode-Dateien 18.2.3 Modularisierung 18.2.4 Namensräume 18.2.5 Interpreter 18.2.6 Kommentare 18.2.7 Dokumentations-Strings 18.2.8 Bezeichner und Namen 18.2.9 Literale

18.3 Imperative Aspekte 18.3.1 Operatoren 18.3.2 Variablen 18.3.3 Objekte/Typen 18.3.4 Standard-Datentypen 18.3.5 Elementare Anweisungen 18.3.6 Zusammengesetzte Anweisungen 18.4 Ausnahmebehandlung 18.4.1 Benutzerdefinierte Ausnahmen 18.4.2 Finalize-Anweisung 18.5 Funktionen 18.5.1 Funktionsparameter 18.5.2 Funktionsaufruf 18.5.3 Rückgabewerte 18.5.4 Anonyme Funktionen 18.6 Klassen 18.6.1 Klasseninstanzen 18.6.2 Methoden 18.6.3 Vererbung 18.6.4 Datenkapselung 18.6.5 Überladen von Operatoren 18.7 Speicherverwaltung 18.8 Erweiterungen

19 Lisp

19.1 Übersicht 19.1.1 Entwicklung von LISP 19.1.2 Einsatz von LISP 19.1.3 Aufbau der Sprache 19.2 Datentypen und Variablen 19.2.1 Zahlen

19.2.2 Symbole und Variablen

(9)

Inhaltsverzeichnis

Kommentare, Namen und Literale 317 Datentypen 317 Referenzen 318 Imperative Aspekte 319 Operatoren 31 g Reguläre Ausdrücke 320 Anweisungen 321 Kontrollstrukturen 322 Input/Output in Perl 323 Prozedurale Aspekte 325 Funktionen 325 Packages und Module 325 Objektorientierte Aspekte 326 Klassendefinition 326 Vererbung 327 Eingebaute Funktionen und Objekte 3 2 7 Kontroll- und Dateifunktionen 328 Mathematische Funktionen 329 String-Funktionen 329 Funktionen für Listen und Hashes 330 Perl/Tk '.'.' 331 Programmstruktur 33I Widget-Methoden im Detail 333 Ereignissteuerung 336

Tcl/Tk 337

Übersicht 337 Organisation der Sprache 337 Quellcode und Programmstruktur 337 Kommentare, Namen und Literale 338 Datentypen 333 Imperative Aspekte 339 Anweisungen, Ausdrücke und Operatoren 339 Glob Style Patterns 340 Reguläre Ausdrücke 341 Kontrollstrukturen 342 Input/Output in Tel 344 Prozedurale Aspekte 346 Prozeduren 34g Parameterübergabe 347 Eingebaute Funktionen und Objekte 347 Kontroll- und Dateifunktionen 347 Mathematische Funktionen 349 Anweisungen für Strings 349 Anweisungen für Listen 350 Tcl/Tk .".'.'.'''. V 352 Programmstruktur und Widgets 352 Geometrie-Management in Tk 353

PHP 356

Übersicht 356 Organisation der Sprache 356 Quellcode und Programmstruktur 356 Kommentare, Namen, Literale 357 Datentypen 358 Referenzen 35g vordefinierte Variablen 35g Imperative Aspekte 360 Operatoren 360 Anweisungen 361

Inhaltsverzeichnis 13

17.3.3 Kontrollstrukturen 361 17.4 Prozedurale Elemente und Funktionen 363 17.4.1 Funktionen 363 17.4.2 Parameterübergabe 364 17.5 Objektorientierte Aspekte 365 17.5.1 Klassendefinition 365 17.5.2 Vererbung 365 17.5.3 Klassen- und Objekt-Funktionen 366 17.6 Wichtige Funktionen 366 17.6.1 Strings 367 17.6.2 Funktionen für Arrays 369 17.6.3 Mathematische Funktionen 370 17.6.4 Kontrollfunktionen 371 17.6.5 Zeit- und Datumsfunktionen 372 17.6.6 Dateifunktionen 373

18 Python 375

18.1 Übersicht 375 18.2 Organisation der Sprache 375 18.2.1 Quellcode-Struktur 375 18.2.2 Quellcode-Dateien 376 18.2.3 Modularisierung 376 18.2.4 Namensräume 377 18.2.5 Interpreter 377 18.2.6 Kommentare 378 18.2.7 Dokumentations-Strings 378 18.2.8 Bezeichner und Namen 378 18.2.9 Literale 379 18.3 Imperative Aspekte 381 18.3.1 Operatoren 381 18.3.2 Variablen 383 18.3.3 Objekte/Typen 384 18.3.4 Standard-Datentypen 384 18.3.5 Elementare Anweisungen 386 18.3.6 Zusammengesetzte Anweisungen 387 18.4 Ausnahmebehandlung 388 18.4.1 Benutzerdefinierte Ausnahmen 389 18.4.2 Finalize-Anweisung 389 18.5 Funktionen 389 18.5.1 Funktionsparameter 389 18.5.2 Funktionsaufruf 390 18.5.3 Rückgabewerte 390 18.5.4 Anonyme Funktionen 390 18.6 Klassen 391 18.6.1 Klasseninstanzen 391 18.6.2 Methoden 392 18.6.3 Vererbung 392 18.6.4 Datenkapselung 392 18.6.5 Überladen von Operatoren 392 18.7 Speicherverwaltung 393 18.8 Erweiterungen 393

19 Lisp 395

19.1 Übersicht 395 19.1.1 Entwicklung von LISP 395 19.1.2 Einsatz von LISP 395 19.1.3 Aufbau der Sprache 396 19.2 Datentypen und Variablen 396 19.2.1 Zahlen 396 19.2.2 Symbole und Variablen 397

(10)

Inhaltsverzeichnis Inhaltsverzeichnis

19.2.3 19.2.4 19.2.5 19.2.6 19.2.7 19.3 19.3.1 19.3.2 19.3.3 19.3.4 19.4 19.4.1 19.4.2 19.4.3 19.4.4 19.5 19.5.1 19.5.2

19.6

19.6.1 19.6.2 19.6.3

20 20.1

20.1.1 20.1.2 20.1.3

20.2

20.2.1 20.2.2 20.2.3 20.2.4 20.2.5

20.3

20.3.1 20.3.2 20.3.3 20.3.4 20.4 20.4.1 20.4.2 20.4.3

20.5

20.5.1 20.5.2 20.6 20.6.1 20.6.2

21 21.1 21.2

21.2.1 21.2.2 21.2.3 21.2.4

21.3

21.3.1 21.3.2

Listen 398 Arrays und Vektoren 398 Characters und Strings 399 Streams 400 Functions 400 Funktionen und Prädikate 400 Definition benannter Funktionen 400 Funktionen als Variablen 402 Lambda-Ausdrücke 402 Prädikate 403 Programmsteuerung 403 Neue Variablenumgebung 403 Bedingungen 404 Iteration 405 Mapping 406 Arbeiten mit Zahlen und Listen 406 Mathematische Funktionen 406 Funktionen für Listen, Vektoren und Strings 407 Input/Output und Dateien 407 Character Input/Output 407 Formatierter Output 408 Dateien 408

PROLOG 410

Übersicht 410 Entwicklung von PROLOG 410 Einsatz der Sprache 410 Aufbau der Sprache 411 Syntax 411 Allgemeine Syntax 411 Konstanten 412 Variablen 412 Strukturen 412 Operatoren 413 Programmstruktur 413 Fakten 413 Fragen 414 Regeln 414 Matching 416 Datenstrukturen und Arithmetik 417 Darstellung von Listen 417 Arbeiten mit Listen 417 Arithmetik 418 Backtracking und Cut 419 Zielerfüllung und Backtracking 419 Der Cut-Befehl 420 Eingabe und Ausgabe 422 Dateien 422 Befehle zur Ein- und Ausgabe 423

Smalltalk 424

Übersicht 424 Grundlagen der Syntax 425 Allgemeine Merkmale 425 Anweisungen 426 Variablen 428 Konstruktion neuer Instanzen 429 Klassen und Methoden 429 Klassen 429 Methoden 430

21.4 Blöcke, Verzweigungen und Iterationen . ..

21.4.1 Blöcke 21.4.2 Verzweigungen 21.4.3 Iterationen

21.5 Beschreibung elementarer Klassen 21.5.1 Klassen für einfache Objekte 21.5.2 Klassen für komplexe Objekte 21.6 Sonstiges

21.6.1 Events 21.6.2 Haltepunkte

21.6.3 Methodenaufruf beim Programmstart 21.6.4 Zeiger und Referenzen

22 Mathematica

22.1 Grundlagen 22.1.1 Packages 22.1.2 Online-Hilfe

22.2 Einfache Berechnungen 22.3 Variablen und Gleichungen 22.3.1 Nummerische Daten 22.3.2 Differenzialrechnung

22.4 Grafik und Sound in Mathematica 22.4.1 Funktionsplots

22.4.2 Grafikobjekte in Mathematica 22.4.4 Sound-Objekte in Mathematica 22.5 Programmieren mit Mathematica 22.5.1 Kontrollstrukturen

22.5.2 Zeichenketten 22.5.3 Bereiche und Listen 22.5.4 Vektoren und Matrizen 22.5.5 Definition von Funktionen 22.6 Ausgabe und Speicherung 22.6.1 Ausgabeformate

22.6.2 Export

22.7 Interna und Ergänzungen

23 Maple

23.1 Grundlagen 23.1.1 Online-Hilfe

23.2 Einfache Berechnungen 23.3 Variablen und Gleichungen

23.4 Grafische Darstellung von Funktionen . . . . 23.5 Programmieren mit Maple

23.5.1 Kontrollstrukturen 23.5.2 Zeichenketten

23.5.3 Bereiche, Listen und Mengen 23.5.4 Felder und Matrizen 23.5.5 Tabellen

23.5.6 Definition von Funktionen 23.6 Fehlersuche

23.7 Ausgabe und Speicherung

24 Matlab

24.1 Einfache Berechnungen

24.2 Datenspeicherung und Steuerungsbefehle 24.2.1 Speicherung von Sitzungen

24.2.2 Skriptfiles 24.2.3 Steuerungsbefehle

2 4 . 3 G r a f i s c h e D a r s t e l l u n g v o n F u n k t i o n e n . . . .

(11)

Inhalts

Listen 398 Arrays und Vektoren 398 Characters und Strings 399 Streams 400 Functions 400 Funktionen und Prädikate 400 Definition benannter Funktionen 400 Funktionen als Variablen 402 Lambda-Ausdrücke 402 Prädikate 403 Programmsteuerung 403 Neue Variablenumgebung 403 Bedingungen 404 teration 405 Mapping 406 Arbeiten mit Zahlen und Listen 406 Mathematische Funktionen 406

:unktionen für Listen, Vektoren und Strings 407 nput/Output und Dateien 407 Character Input/Output 407

:ormatierter Output 408 Jateien 408

>ROLOG 410

Ibersicht 410 ntwicklung von PFIOLOG 410 insatz der Sprache 410 ufbau der Sprache 411 yntax 411 llgemeine Syntax 411 onstanten 412 ariablen 412 rukturen 412 peratoren 413 rogrammstruktur 413 ikten

Inhaltsverzeichnis 15

a g e n . sgeln.

413 414 414 ätching 416 ätenstrukturen und Arithmetik 417 irstellung von Listen 417 aeiten mit Listen 417 thmetik 418 icktracking und Cut 419 ilerfüllung und Backtracking 419 r Cut-Befehl 420 igabe und Ausgabe 422 teien 422 'ehle zur Ein- und Ausgabe 423

nalltalk 424

ersieht 424 jndlagen der Syntax 425 lemeine Merkmale 425 veisungen 426 iablen 428 istruktion neuer Instanzen 429 ssen und Methoden 429

»sen 429 hoden 430

21.4 Blöcke, Verzweigungen und Iterationen 432 21.4.1 Blöcke 432 21.4.2 Verzweigungen 433 21.4.3 Iterationen 434 21.5 Beschreibung elementarer Klassen 436 21.5.1 Klassen für einfache Objekte 436 21.5.2 Klassen für komplexe Objekte 438 21.6 Sonstiges 440 21.6.1 Events 440 21.6.2 Haltepunkte 440 21.6.3 Methodenaufruf beim Programmstart 441 21.6.4 Zeiger und Referenzen 441

22 Mathematics 442

22.1 Grundlagen 442 22.1.1 Packages 443 22.1.2 Online-Hilfe 444 22.2 Einfache Berechnungen 444 22.3 Variablen und Gleichungen 446 22.3.1 Nummerische Daten 447 22.3.2 Differenzialrechnung 447 22.4 Grafik und Sound in Mathematica 448 22.4.1 Funktionsplots 448 22.4.2 Grafikobjekte in Mathematica 451 22.4.4 Sound-Objekte in Mathematica 453 22.5 Programmieren mit Mathematica 453 22.5.1 Kontrollstrukturen 453 22.5.2 Zeichenketten 454 22.5.3 Bereiche und Listen 455 22.5.4 Vektoren und Matrizen 456 22.5.5 Definition von Funktionen 457 22.6 Ausgabe und Speicherung 458 22.6.1 Ausgabeformate 458 22.6.2 Export 459 22.7 Interna und Ergänzungen 460

23 Maple 461

23.1 Grundlagen 461 23.1.1 Online-Hilfe 462 23.2 Einfache Berechnungen 463 23.3 Variablen und Gleichungen 464 23.4 Grafische Darstellung von Funktionen 465 23.5 Programmieren mit Maple 467 23.5.1 Kontrollstrukturen 467 23.5.2 Zeichenketten 469 23.5.3 Bereiche, Listen und Mengen 470 23.5.4 Felder und Matrizen 472 23.5.5 Tabellen 474 23.5.6 Definition von Funktionen 474 23.6 Fehlersuche 475 23.7 Ausgabe und Speicherung 476

24 Matlab 478

24.1 Einfache Berechnungen 478 24.2 Datenspeicherung und Steuerungsbefehle 480 24.2.1 Speicherung von Sitzungen 480 24.2.2 Skriptfiles 481 24.2.3 Steuerungsbefehle 481 24.3 Grafische Darstellung von Funktionen 482

(12)

Inhaltsverzeichnis

24.3.1 Einfache Plots 482 24.3.2 Grafikbefehle 484 24.3.3 Zeichnen von Oberflächen 485 24.4 Vektoren und Vektoroperationen 486 24.5 Matrizen 488 24.6 Vergleiche und Kontrollstrukturen 490 24.6.1 Logische Operatoren 490 24.6.2 for-Schleife 491 24.6.3 while -Schleife 491 24.6.4 if...then...else...end -Anweisungen 491 24.7 Funktion m-files 492 24.8 Verschiedene Funktionen 493 24.9 Zeitnahme 494

25 ABAP 495

25.1 Übersicht 495 25.1.1 SAP-Basis und SAP Web Application Server 495 25.1.2 Umfang und Einsatzgebiete der Sprache ABAP 495 25.2 Organisation der Sprache 4 9 6 25.2.1 Quelltext und Programmgenerierung 496 25.2.2 ABAP-Syntax 497 25.2.3 Programmstruktur 498 25.2.4 Programmtypen und Programmausführung 499 25.3 Imperative Aspekte 501 25.3.1 Datentypen und Datenobjekte 501 25.3.2 Deklarationen 503 25.3.3 Zuweisungen und Berechnungen 504 25.3.4 Programmablaufsteuerung 505 25.3.5 Byte- und Zeichenkettenverarbeitung 507 25.3.6 Bearbeitung interner Tabellen 508 25.3.7 Zeiger 509 25.4 Prozedurale Aspekte 510 25.4.1 Ereignissteuerung 510 25.4.2 Prozedurale Programmierung 510 25.4.3 Objektorientierte Programmierung 511 25.5 Benutzungsschnittsstellen 514 25.5.1 Dynpros 515 25.5.2 Selektionsbilder 515 25.5.3 Listen 515 25.6 Zugriff auf persistente Daten 516 25.6.1 Datenbankzugriffe 516 25.6.2 Datenschnittstellen 517 25.7 Externe Schnittstellen 518 25.7.1 Funktionale Schnittstelle 518 25.7.2 Externe Datenschnittstelle 518

Sachwortverzeichnis 520

1 Einleitung

Holger Vogelsang und Peter A. Henning

1.1 Definition und Geschichte

Ein Programm ist eine Abfolge von Daten und Befehlen an c zessor, um diese Daten in andere Daten umzuwandeln. Es wii formal definierten Sprache verfasst, der Programmierspract Die erste höhere Programmiersprache war der 1945 von Kc entwickelte Plankalkül [Z72, PK].

Konrad Zuse (1910-1995) ist damit nicht nur der Erbauer des ersten mit Von-Neumann-Architektur (1941), sondern auch der Erfinder di miersprachen.

Hinweis: Ein t im folgenden Text markiert einen Eintrag i (Abschnitt 1.5)

Computer waren lange Zeit nur in tMaschinensprache <

sembler programmierbar, bis 1954 FORTRAN als erste pral setzbare höhere Programmiersprache entwickelt wurde.

Die ersten Programmiersprachen waren problemorientiert u dem tprozeduralen Programmierparadigma. Die Blockoi kam erst mit ALGOL auf, um 1970 begann sich mit Pascal nannte strukturierte Programmierung durchzusetzen.

Parallel dazu entwickelte sich ab ca. 1970 das Tobjektorieni grammierparadigma, im Wesentlichen über die Stufen de Smalltalk. Es mündete ab ca. 1990 in die Einbringung objektc Aspekte in die meisten Programmiersprachen.

Symbolische Programmierung zur Lösung nicht-nummerisch me begann um 1960 mit LISP und mündet heute in das T(

Programmierparadigma.

Ab 1960 entwickelten sich aus der Job Control Language JCL zahl von Skriptsprachen, die eine einfache Integration an gramme und Abläufe ermöglichen. Nach 1975 entstanden T(

Sprachen, die jeweils mehr oder weniger Programmlogik 1 vgl. Tabelle 1.3 in Abschnitt 1.7.

Heute existieren weit über 1000 verschiedene Programmierspi

teilweise nur wenige Jahre en vogue sind [S96].

Referenzen

ÄHNLICHE DOKUMENTE

*) P. Wust, Der Mensch und die Philosophie, hrgb. Pfleger, Dialog mit Peter Wust. — Der Titel ist allerdings eine Entgleisung. Er stützt sich auf ein W ort Wusts:

Organspende aktuell: Organspendelauf 2015 Leitfaden: Gewalt gegen Kinder und Jugendliche Lehrstuhl Allgemeinmedizin.

Ist dies zum Beispiel aus Zeitgrün- den nicht möglich, kann dem Reisenden eine Auffrischungsimpfung angeboten werden. Die Boosterimpfung wird zwar „im Regelfall nicht

Deutscher Ärztetag in Nürnberg mit klaren Forderungen an die Politik 356 Nedbal: Startschuss Kammerwahlen 2012 – Interview. mit

Schweizerischen Strafprozessordnung (EG StPO), SGS 250 § 10, wählt der Landrat auf Vorschlag des Regierungsrats den Ersten Staatsanwalt oder die Erste Staatsanwältin sowie

Die 1,0 Pfarrstelle der Evangelischen Kirchengemeinde Heringen, pfarramtlich verbunden mit der Evangelischen Kirchengemeinde Nauheim und der Evangelischen Kir- chengemeinde

Der zweite Absatz im Modul Prüfung Dialogdolmetschen lautet nun: „Voraussetzung für den Zugang zu diesem Modul ist die Absolvierung des Moduls

(3) Die Vorlesungen der historischen Grundlagenfächer sind nach erfolgreich beendetem ersten Studienabschnitt mit einer Fachprüfung in den Bereichen Theater-, Film- und