Wirtschaftsinformatik [Reprint 2014 ed.] 9783486816624, 9783486276084

Das Buch ist als Repetitorium zur Vorbereitung auf Prüfungen im Grundstudium konzipiert. Aus dem umfassenden Fachgebiet

178 75 9MB

German Pages 183 [188] Year 2004

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Vorwort
1 Einführung
2 Grundlagen der Informatik
2.1 Einführung
2.2 Kurzer geschichtlicher Abriss
2.3 Exkurs in die mathematische Logik
2.4 Zahlensysteme
2.4.1 Bits und Bytes
2.4.2 Dual- und Dezimalsystem
2.5 Codierung
2.5.1 Zahldarstellungen
2.5.2 Codierung von Zeichen
2.5.3 Gepackte Zahlendarstellungen
2.5.4 Fest- und Gleitkommadarstellungen
2.5.5 Codierung von Dateien
2.5.6 Einige Dokumentenformate
2.6 Software und Betriebssysteme
2.6.1 Software
2.6.2 Algorithmen und Programme
2.6.3 Programmiersprachen
2.6.4 Betriebssysteme
2.7 Internet
2.7.1 Geschichte des Internet
2.7.2 Dienste des Internet
2.7.3 Multimedia im Internet: Grafik, Sound und Video
2.7.4 Intranet und Extranet
2.8 Einführung in die Kryptologie
2.8.1 Einleitung
2.8.2 Symmetrische Verfahren (private key)
2.8.3 Asymmetrische Kryptosysteme (public key)
2.8.4 Secure Socket Layer (SSL)
2.8.5 Ausblick: Steganographie
3 Analyse und Einführung betrieblicher Informationssysteme
3.1 Grundlagen der Systemanalyse
3.2 Modelle
3.2.1 Datenorientierte Sicht
3.2.2 Prozessorientierte Sicht
3.2.3 Objektorientierte Sicht
3.3 Phasenkonzept
3.3.1 Projektinitialisierung
3.3.2 Projektplanung
3.3.3 Projektdurchführung
3.3.4 Projektabschluss
4 Anwendungsfelder betrieblicher Informationssysteme
4.1 Datenbankanwendungen
4.1.1 Grundlagen relationaler Datenbanken
4.1.2 Der Datenbank-Lebenszyklus
4.1.3 Data Warehouse-Systeme
4.2 Enterprise Resource Planning (ERP) -Systeme
4.2.1 Kennzeichen
4.2.2 Funktionalität
4.3 E-Business und seine Unterstützung durch Informationssysteme
4.3.1 E-Business-Begriffe
4.3.2 E-Commerce
4.3.3 E-Procurement
4.3.4 E-Organisation
4.3.5 Supply Chain Management
4.3.6 Customer Relationship Management
4.3.7 E-Communities
4.3.8 E-Govemment und E-Policy
Lösungshinweise
Literaturverzeichnis
Stichwortverzeichnis
Recommend Papers

Wirtschaftsinformatik [Reprint 2014 ed.]
 9783486816624, 9783486276084

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

WiSorium Wirtschafts- und Sozialwissenschaftliches Repetitorium Herausgegeben von Professor Dr. Michael Bernecker Baeumle-Courth • Nieland • Schröder, Wirtschaftsinformatik Baumgarth • Bernecker, Marketingforschung Bernecker, Grundlagen der Betriebswirtschaftslehre Bernecker • Helmke, Der handelsrechtliche Jahresabschluß Bernecker • Seethaler, Grundlagen der Finanzierung Bäck, Personalmanagement Bode, Allgemeine Wirtschaftspolitik Franz · Bernecker, Allgemeine Volkswirtschaftslehre Grote • Wellmann, MikroÖkonomik Möller • Dörrenberg, Projektmanagement Wellmann • Hünseier, MakroÖkonomik Witte, Logistik Witte, Materialwirtschaft

Wirtschaftsinformatik Von

Dipl-Math. Peter Baeumle-Courth Prof. Dr. Stefan Nieland Prof. Dr. Hinrich Schröder

R.Oldenbourg Verlag München Wien

Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.

© 2004 Oldenbourg Wissenschaftsverlag GmbH Rosenheimer Straße 145, D-81671 München Telefon: (089) 45051-0 www.oldenbourg-verlag.de Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere fur Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Gedruckt auf säure- und chlorfreiem Papier Gesamtherstellung: Druckhaus „Thomas Müntzer" GmbH, Bad Langensalza ISBN 3-486-27608-5

Inhaltsverzeichnis

V

Inhaltsverzeichnis Vorwort

IX

1

Einführung

1

2

Grundlagen der Informatik

4

2.1

Einführung

4

2.2

Kurzer geschichtlicher Abriss

5

2.3

Exkurs in die mathematische Logik

8

2.4

Zahlensysteme

12

2.4.1

Bits und Bytes

12

2.4.2

Dual- und Dezimalsystem

12

2.5

Codierung

14

2.5.1

Zahldarstellungen

14

2.5.2

Codierung von Zeichen

15

2.5.3

Gepackte Zahlendarstellungen

16

2.5.4

Fest-und Gleitkommadarstellungen

17

2.5.5

Codierung von Dateien

18

2.5.6

Einige Dokumentenformate

21

2.5.6.1

RTF: Rieh Text Format

21

2.5.6.2

HTML: HyperText Markup Language

21

2.5.6.3

XML: Extensible Markup Language

22

2.5.6.4

PDF: Portable Document Format

22

2.6

Software und Betriebssysteme

24

2.6.1

Software

24

2.6.2

Algorithmen und Programme

25

2.6.3

Programmiersprachen

27

2.6.3.1

1. Generation: Maschinensprachen

27

2.6.3.2

2. Generation: Assembler

28

2.6.3.3

3. Generation: Höhere Programmiersprachen

28

VI

Inhaltsverzeichnis

2.6.3.4

4. Generation: Applikative Programmiersprachen (4GL)

28

2.6.3.5

5. Generation: Very High Level Languages

29

2.6.3.6

Einsatzgebiete von Programmiersprachen

29

2.6.4

Betriebssysteme

30

2.6.4.1

Betriebsarten

31

2.6.4.2

Verschiedene Betriebssysteme in der Praxis

32

2.7

Internet

33

2.7.1

Geschichte des Internet

34

2.7.2

Dienste des Internet

35

2.7.2.1

E-Mail

35

2.7.2.2

Mailinglisten

36

2.7.2.3

Newsgruppen

36

2.7.2.4

Telnet

36

2.7.2.5

FTP - File Transfer Protocol (Dateitransfer)

37

2.7.2.6

Chat

38

2.7.2.7

WWW - World Wide Web

38

2.7.3

Multimedia im Internet: Grafik, Sound und Video

39

2.7.3.1

Grafikformate

40

2.7.3.2

Formate für Video und Audio

41

2.7.4 2.8

Intranet und Extranet Einführung in die Kryptologie

42 43

2.8.1

Einleitung

43

2.8.2

Symmetrische Verfahren (private key)

44

2.8.3

Asymmetrische Kryptosysteme (public key)

46

2.8.4

Secure Socket Layer (SSL)

48

2.8.5

Ausblick: Steganographie

50

3

Analyse und Einführung betrieblicher Informationssysteme

51

3.1

Grundlagen der Systemanalyse

51

3.2

Modelle

53

3.2.1

Datenorientierte Sicht

56

3.2.2

Prozessorientierte Sicht

58

3.2.3

Objektorientierte Sicht

63

Inhaltsverzeichnis

3.3

Phasenkonzept

3.3.1

Projektinitialisierung

VII

68 69

3.3.1.1

Zielvorgaben

70

3.3.1.2

Wirtschaftlichkeitsanalyse

71

3.3.1.3

Projektorganisation

74

3.3.2

Projektplanung

77

3.3.3

Projektdurchführung

80

3.3.3.1

Ist-Analyse

80

3.3.3.2

Soll-Konzept

84

3.3.3.3

Realisierung und Einfuhrung

86

3.3.4

4

Projektabschluss

Anwendungsfelder betrieblicher Informationssysteme

4.1

Datenbankanwendungen

4.1.1

Grundlagen relationaler Datenbanken

87

90 90 90

4.1.1.1

Datenbankmodelle

90

4.1.1.2

Anforderungen an relationale Datenbanksysteme

91

4.1.1.3

Drei-Ebenen-Architektur

93

4.1.1.4

Komponenten eines Datenbankmanagementsystems

94

4.1.2

Der Datenbank-Lebenszyklus

97

4.1.2.1

Anforderungsanalyse und-Spezifikation

97

4.1.2.2

Konzeptioneller Entwurf

98

4.1.2.3

Logischer Entwurf

98

4.1.2.4

Implementierungsentwurf

102

4.1.2.5

Implementierung

107

4.1.2.6

Arbeiten mit der Datenbank (Betrieb und Wartung)

108

4.1.3

Data Warehouse-Systeme

108

4.1.3.1

Architektur

109

4.1.3.2

Extraktion

110

4.1.3.3

Speicherung

111

4.1.3.4

Präsentation und Berichterstellung

115

vin

4.2

Inhaltsverzeichnis

Enterprise Resource Planning (ERP) -Systeme

119

4.2.1

Kennzeichen

120

4.2.2

Funktionalität

122

4.3

E-Business und seine Unterstützung durch Informationssysteme

126

4.3.1

E-Business-Begriffe

126

4.3.2

E-Commerce

128

4.3.3

E-Procurement

131

4.3.4

E-Organisation

137

4.3.5

Supply Chain Management

138

4.3.6

Customer Relationship Management

143

4.3.7

E-Communities

145

4.3.8

E-Govemment und E-Policy

148

Lösungshinweise

154

Literaturverzeichnis

165

Stichwortverzeichnis

169

Vorwort

Vorwort Das vorliegende Lehrbuch richtet sich an Studierende wirtschaftswissenschaftlicher Studiengänge an Hochschulen und Akademien, die sich zielgerichtet auf Grundstudiumsprüfungen im Fach Wirtschaftsinformatik vorbereiten möchten. Aus diesem umfassenden Fachgebiet sind einige grundlegende Themen ausgewählt worden, mit denen insbesondere die Schnittstellen zur Betriebswirtschaftslehre verdeutlicht werden. Jedem Kapitel sind Lernziele vorangestellt, damit auch der eilige Leser sein Wissen selektiv auffrischen kann. Der grundlegende Stoff wird kompakt dargestellt und durch zahlreiche Abbildungen unterstützt. Am Ende eines jeden Kapitels sind Wiederholungsfragen zu finden, die teils der Zusammenfassung wesentlicher Inhalte dienen, teils als Beispiele für die Anwendung vorgestellter Methoden und Techniken heranzuziehen sind. Zu dieser zweiten Kategorie der eher „kreativen" Aufgaben sind am Ende des Buches jeweils Lösungsvorschläge zu finden. Die Autoren unterrichten an unterschiedlichen privaten Fachhochschulen, die duale Studiengänge anbieten, in denen eine enge Verzahnung zwischen Theorie an der Hochschule und Praxis in verschiedenen Unternehmen gegeben ist. Die Inhalte des Lehrbuches sind folglich sowohl an den Curricula der Hochschulen als auch an den Bedürfnissen der betrieblichen Praxis ausgerichtet. Durch die räumliche Verteilung der Autoren war die Erstellung des Buches von der Herausforderung geprägt, die Distanz unter Zuhilfenahme moderner Kommunikationsmedien wie E-Mail, Telefon- und Videokonferenz zu überwinden. Begleitende Informationen zu dem vorliegenden Buch sind im Internet unter der Adresse http://wirtschaftsinformatik.baeumle.com zu finden. Anmerkungen bzw. Fragen an die Autoren können an die E-Mail Adresse [email protected] gerichtet werden.

Peter Baeumle-Courth Stefan Nieland Hinrich Schröder

1. Einführung

1

1 Einführung Fragestellungen der Wirtschaftsinformatik sind aus kaufmännisch geprägten Tätigkeitsfeldern nicht mehr wegzudenken. Das folgende kurze Beispiel soll dies verdeutlichen und gleichzeitig einen Ausblick auf die weiteren Kapitel geben. Ein Hochschulabsolvent der Betriebswirtschaftslehre arbeitet als Assistent der Geschäftsleitung eines mittelständischen Fachhandels für Bürobedarf. Dieses Unternehmen hat diverse Filialen in Nordrhein-Westfalen, die für Groß- bzw. Firmenkunden sowie Privatpersonen Büroartikel vom Bleistift bis zum Laserdrucker anbieten. Das Unternehmen hat ein Zentrallager, von dem aus mit einem kleinen eigenen Fuhrpark die Filialen beliefert werden. Die Bestellungen von den Großkunden gehen in der Regel telefonisch oder per Fax in den Filialen ein. Privatkunden kommen in die Läden und kaufen normalerweise sofort, wobei sie bar oder mit der EC-Karte zahlen. Die IT-Landschaft des Unternehmens ist geprägt durch diverse Altsysteme an den unterschiedlichen Lokationen und durch folgende Merkmale gekennzeichnet: •

eine zentrale Buchhaltung, d. h. Rechnungen werden dezentral erstellt, aber zentral verbucht,



eine zentrale Personalverwaltung,



ein zentrales Warenwirtschaftssystem, in dem die Warenbestände des Zentrallagers und der Filialen geführt werden, wobei allerdings die Filialbestände parallel in PC-basierten Systemen vor Ort ebenfalls erfasst sind,



eine dezentrale Auftragserfassung, d. h. Verkäufe werden in den Filialen in PC-basierten Systemen erfasst und nachts elektronisch an die Zentrale übermittelt.

Nicht nur aufgrund der flauen Konjunkturlage kämpft das Unternehmen in den letzten Jahren mit Umsatzrückgängen. Große überregionale Büromärkte und Internet-Versandhändler stellen eine ernsthafte Konkurrenz dar, der nur schwer begegnet werden kann. Gleichzeitig hat das Unternehmen auch mit stetigen Kostensteigerungen zu kämpfen, was die Geschäftsleitung letztlich dazu veranlasst, ihren Assistenten mit einer umfassenden Analyse der Gesamtsituation zu beauftragen. In einem ersten Schritt konnten die folgenden Schwachstellen identifiziert werden: •

Es existiert offensichtlich wenig Wissen über die einzelnen Kunden, und wenn es vorhanden ist, so ist es auf die Filialen verstreut.



Kostendaten liegen zumeist nur in den Filialen in selbst erstellten ExcelDateien und individuell aufgebauten Arbeitsblättern vor. Eine Ausnahme stellen die Personalkosten dar, die im zentralen Personalverwaltungssystem abrufbar sind.



In einzelnen Filialen sind erhebliche Inventurdifferenzen aufgetreten. Ein Abgleich der zentralen Bestandsführung mit den Filialsystemen zeigt ebenfalls

2

1. Einführung

große Abweichungen auf. Die Belieferung der Filialen mit Waren ist problembehaftet, da die in der Zentrale vorliegenden Bedarfsfälle offensichtlich nicht immer korrekt sind. •

Eine systematische Lieferantenbewertung und -auswahl ist nicht möglich, weil entsprechende Informationen fehlen. Aus diesem Grund wird häufig bei langjährigen Standardlieferanten bestellt, deren Zuverlässigkeit teilweise allerdings etwas nachgelassen hat. So kommt es immer wieder zu Fehllieferungen und Lieferverzögerungen. Es fehlt außerdem ein Überblick über die Einkaufskosten.



Die Altsysteme für die kaufmännischen Anwendungen scheinen am Ende ihrer Lebensdauer. Funktionale Änderungen in den größtenteils individuell entwickelten Systemen sind, wenn überhaupt, nur mit erheblichem Aufwand umzusetzen. Der IT-Dienstleister, der für die Programmierung und Erweiterung der bestehenden Systeme zuständig ist, erhöht laufend seine Stundensätze, ist aber der Einzige, der sich mit der verwendeten Software noch auskennt und daher unverzichtbar.

Die Geschäftsleitung erkennt relativ schnell, dass eine Ablösung der bestehenden IT-Systeme durch ein integriertes ERP-System inklusive ausgewählter E-BusinessKomponenten dringend erforderlich ist. Man verspricht sich davon u. a. eine Senkung der operativen Kosten, bspw. durch bessere Belieferung der Filialen und kostengünstigeren Einkauf, sowie eine gezieltere Kundenansprache. Außerdem sind Großkunden auf das Unternehmen zugekommen und wollen das Angebot in ihre E-Procurement-Systeme integrieren. Der Geschäftsleitungsassistent, dem die Projektleitung übertragen wurde, muss sich dafür einige ΓΓ-Kenntnisse aneignen. Zunächst sollten ihm wesentliche Grundlagen der Informatik geläufig sein. Im Hinblick auf die Aufgabenstellung gehören dazu natürlich auch grundlegende Informationen zum Internet. Sicherheitsaspekten kommt dabei eine immer größere Bedeutung zu, so dass er sich über Ansätze der Kryptographie und der Kryptoanalyse sowie gängige Verschlüsselungsverfahren, wie das im Internet gebräuchliche SSL, informieren muss (vgl. Kap. 2). Um ein Projekt zur Ablösung der Altsysteme zu initiieren und professionell vorgehen zu können, sollte er sich an einem gängigen Vorgehensmodell orientieren sowie grundlegende Aspekte der Datenmodellierung und Verfahren zur Modellierung von Geschäftsprozessen beherrschen. Weiterhin muss er in der Lage sein, ein Projekt zu planen und zu organisieren sowie eine Wirtschaftlichkeitsanalyse durchzuführen (vgl. Kap 3). Um die unternehmensspezifischen Daten zu strukturieren und auszuwerten, sollte er fundierte Kenntnisse über die Architektur, den Entwicklungsprozess und Methoden zum Entwurf von relationalen Datenbankanwendungen sowie über die Architektur und die Funktionsweise von Data Warehouse-Systemen haben. Erforderlich ist auch Wissen um die wesentlichen Merkmale und Funktionen von ERP-Systemen sowie die Bedeutung integrierter Software. Schließlich benötigt er

1. Einführung

3

einen fundierten Überblick über die Konzepte des E-Business sowie über die Einsatzfelder von E-Commerce, Ε-Procurement und Supply Chain Management. Zur Erhöhung der Kundenbindung sollten ihm auch die wesentlichen Konzepte des Customer Relationship Management bekannt sein (vgl. Kap. 4). Die dargestellten Aufgaben sind für Kaufleute mit einer gewissen IT-Affinität durchaus typisch und werden deshalb in den folgenden Kapiteln systematisch aufgearbeitet.

4

2. Grundlagen der Informatik

2 Grundlagen der Informatik 2.1 Einführung In diesem •

Kapitel

erfolgt eine erste Einführung in das Gebiet der Informatik sowie eine Einordnung der Wirtschaftsinformatik.

Informatik ist die Wissenschaft, Technik und Anwendung der maschinellen Verarbeitung und Übermittlung von Informationen. 1 Allgemein unterscheidet man die Teilgebiete Theoretische Informatik (u. a. mit den Themen Automatentheorie und Formale Sprachen), Technische Informatik (insbesondere Rechnerarchitekturen) und Praktische Informatik (u. a. Betriebssysteme, Compilerbau, Softwaretechnologie). Wird der jeweilige Anwendungsbereich in den Vordergrund gestellt, lassen sich Gebiete der angewandten Informatik wie Rechtsinformatik, Ingenieurinformatik oder Medizinische Informatik nennen. Die Wirtschaftsinformatik ist als eigenständiges Fach zwischen Betriebswirtschaftslehre und Informatik zu positionieren, enthält aber auch Elemente weiterer Fachgebiete wie Mathematik oder Ingenieurwissenschaften:

Betriebswirtschaftslehre

Informatik

WlrtschafísInformatik

I

" i - · · . ! U ' " V J ' n S V ! 1 -.'/^•^'.•«".'.«V

Mathematik Ingenieurwissenschaften etc.

Abb. 2-1: Abgrenzung der

Wirtschaftsinformatik

Eine sehr schöne, recht breit angelegte Einführung in zahlreiche Themen der Informatik anhand konkreter Fragestellungen bietet das Buch „Der Turing Omnibus" von Α. K. Dewdney. Dabei geht der Autor des Buches allerdings davon aus, dass der Leser oder die Leserin nicht durch die eine oder andere mathematische Formel abgeschreckt wird. Vgl. Dewdney, Α. K. (1995).

2. Grundlagen der Informatik

5

Wirtschaftsinformatik behandelt als Mittler zwischen betriebswirtschaftlichen Fragestellungen und deren informationstechnischer Umsetzung u. a. •

die Analyse bestehender Systeme,



den Entwurf neuer, besserer Systeme,



die Abbildung der jeweils relevanten Realitätsaspekte im DV-System (Modellierung),



Kosten- und Aufwandsabschätzungen von Problemlösungsvarianten und



Fragen der Beschaffung erforderlicher Soft- und Hardware.

2.2 Kurzer geschichtlicher Abriss In diesem •

Kapitel

wird in sehr kompakter Form ein Einblick in die Geschichte der Informatik gegeben.

Eine wesentliche Grundlage für die Entwicklung von Rechenmaschinen bildet das in Indien um 500 n.Chr. entstandene sogenannte Hindu-Arabische Zahlensystem mit den zehn Ziffern 0 bis 9. Im Vergleich zu dem aus Asterix-Heften bekannten Römischen Zahlensystem (ein Addiersystem mit Zahlen wie z. B. MCMXVH) kennt das Zehner- oder Dezimalsystem die Zahl 0, und es ist ein Stellenwertsystem 2 , das - wie unsere Erfahrungen zeigen - sehr viel einfacher zu handhaben ist. Bereits 1641 baute der französische Mathematiker Blaise Pascal mit 19 Jahren seinem Vater eine Addiermaschine mit sechs Stellen, 1650 wurde der Rechenschieber erfunden. 1703 begann Gottfried Wilhelm Leibniz sich mit dem Dualsystem („Zweiersystem") zu beschäftigen, das zur Grundlage der heutigen digitalen Datenverarbeitung wurde. 3 1833 entwickelte der Mathematiker Charles Babbage eine mechanische Rechenanlage, deren Architektur aus einem Speicher, einem Rechen- und einem Steuerwerk, einer Ein-/Ausgabeeinheit (engl, input/output) und einem Programm bestand. 1941 entwickelte der deutsche Bauingenieur Konrad Zuse seine auf dem Dual-

2

Vgl. Abschnitt 2.4.2.

3

Der Begriff „digital" bedeutet sinngemäß, dass etwas durch eine Zahlenangabe mit einer vorgegebenen Präzision exakt ausgedrückt werden kann. Eine analoge Uhr mit Zeigern kann rein theoretisch die Zeit beliebig genau anzeigen, man muss sie nur präzise genug ablesen. Demgegenüber zeigt eine Digitaluhr (mit einer Ziffernanzeige für Stunden und Minuten) stets minutengenau die Zeit an, aber eben auch nicht genauer.

6

2. Grundlagen der Informatik

system (Zweiersystem) basierende Rechenanlage Z3. Um 1945 erarbeitete der Mathematiker von Neumann fundamentale Prinzipien moderner Rechenanlagen: ein Programm wird hier genauso wie die (Nutz-)Daten selbst gespeichert. Dies ist ein wesentlicher Grundstein für alles, was die heutigen Computer zu leisten vermögen. Anfang der 50er Jahre entwickelte IBM die Programmiersprache ForTran (Formula Translation), 1959-1961 waren die Geburtsjahre der Common Business Oriented Language, COBOL, die im betriebswirtschaftlichen Bereich eingesetzt wurde (und zum Teil noch wird). Während die 1969 von Prof. Nikiaus Wirth entworfene Programmiersprache Pascal im Wesentlichen auf Ausbildungszwecke beschränkt geblieben ist, wurde ab 1970 die Sprache C in Zusammenhang mit der Entwicklung des Betriebssystems Unix entwickelt. C gilt heutzutage als „die" Standardsprache in Bezug auf die klassische, strukturierte Programmierung. Gegen Ende der 70er Jahre kam das Konzept der objektorientierten SoftwareEntwicklung auf, zu deren Programmiersprachen das auf C aufbauende C++, Smalltalk sowie die modernere Sprache Java (seit 1995) zählen. 1978 kam mit „WordStar" das erste benutzerfreundliche Textverarbeitungsprogramm für Computer auf den Markt. In Sachen Computer-Hardware stellte Apple 1977 einen der ersten Rechner für den Heimeinsatz vor; seit 1984 ist der Name „Apple Macintosh" auf dem Markt. 1981 hat IBM den ersten „Personal Computer" (PC) mit dem Betriebssystem MS-DOS 4 vorgestellt, der 1985 mit dem 80386-Prozessor von Intel grundlegend leistungsfähiger geworden ist.5 1987 wurde der elektronische Datenaustauschstandard EDIFACT geschaffen. (Vgl. dazu auch Kap. 4.3.5) 1991 gab es das erste Lebenszeichen des Betriebssystems Linux. Der Erfinder, Linus Torvalds, gab dieses auf Unix basierende System von Anfang an als sog. „open source" frei, d. h. insbesondere, dass jeder es ohne Lizenzierungskosten nutzen kann. 1994 fand bereits der erste internationale Linux-Kongress statt. Seit dem Jahre 1993 gibt es das Internet (vgl. Kapitel 2.7) in Gestalt des „World

4

MS-DOS steht für .Microsoft Disk Operating System". Die Firma Microsoft wurde 1975 von Bill Gates und Paul Allen gegründet.

5

Ein virtuelles Computermuseum kann im Internet unter der Adresse www.i-m.de/home/compmuseum/guidtour.htm besucht werden. Ebenso empfiehlt sich ein Besuch im realen oder virtuellen Heinz-Nixdorf-Museumsforum in Paderborn, www.hnf.de.

2. Grundlagen der Informatik

7

Wide Web", mit „Mosaic" stand der erste Internet-Browser einer breiteren (jedoch fachkundigen) Öffentlichkeit zur Verfügung. 1994 erschien das 32-Bit-Betriebssystem OS/2 von IBM der Version 3. Heute findet OS/2 seinen Einsatz hauptsächlich im Bankenbereich. 1994/1995 brachte Microsoft das Betriebssystem „Windows NT" heraus. 1997 wurde von IBM der Begriff „E-Business" (electronic business) erstmals benutzt. Ebenfalls im Jahre 1997 verlor Schachweltmeister Kasparov gegen den IBM-Supercomputer „Deep Blue". 1998 erschien der „Apple iMac", ein speziell für die Arbeit mit dem Internet konzipierter Rechner. 1998 wurde vom World Wide Web Consortium (W3C) die Extensible Markup Language (XML) kreiert, die sich im Rahmen des Internets, vor allem auch im Bereich des E-Business, etabliert hat. (Vgl. hierzu die Abschnitte 2.5.6.3. sowie 4.3.5) 2000 entwickelte die Firma Microsoft „C#", eine neue auf C++ und Java basierende Programmiersprache. 2001 brachte Apple mit „Mac OS X" erstmals ein Macintosh-Betriebssystem heraus, das auf Unix basiert. 2001 wurde der E-Business-Standard ebXML (Electronic Business Extensible Markup Language) veröffentlicht. Im April 2002 sollten - nach einer Erhebung der Gartner Group - eine Milliarde PCs weltweit verkauft worden sein. 2003 wurden Prototypen des sog. „elektronischen Papiers" auf der Cebit in Hannover vorgestellt. 6

6

Firmen wie Siemens, Philips, 3M oder Xerox wollen das elektronische Papier in naher Zukunft in vielen Geräten, von Computerdisplays bis Telekommunikationsgeräten, einsetzen. Wer sich für weitere Details zur Geschichte der Informatik interessiert, sei auf das kleine Buch von Naumann, F. (2001) hingewiesen. Daneben ist www.computergeschichte.info eine vorzügliche Quelle zum Weiterlesen im Internet.

8

2. Grundlagen der Informatik

2.3 Exkurs in die mathematische Logik In diesem Kapitel m wird eine kurze Einführung in die Aussagenlogik gegeben, • es werden die grundlegenden logischen Gesetze vorgestellt und • damit u. a. Grundlagen für die inhaltliche Arbeit mit Datenbanken gelegt.

In der formalen Logik wird systematisch untersucht, wie Aussagen miteinander verknüpft werden, auf welche Weise formale Schlüsse gezogen und Beweise durchgeführt werden. Nachfolgend wird auf die Aussagenlogik etwas näher eingegangen. Für weitere Ausführungen zur Aussagen- und zur hier nicht behandelten Prädikatenlogik sei auf das Buch von Schöning verwiesen.7 In der Aussagenlogik werden einfache Verknüpfungen mittels „und" und „oder" zwischen Aussagesätzen (oder deren Negation) untersucht. Beispiele für solche Aussagesätze sind A := „Düsseldorf ist die Landeshauptstadt von Nordrhein-Westfalen", Β := „Frankfurt liegt nördlich von Hamburg". Diese „atomaren" Aussagen können jeweils wahr (true) oder falsch (false) sein. Hierbei wird von einem Wahrheitswert gesprochen. Im Rahmen der Aussagenlogik werden die Zusammenhänge betrachtet, wie sich aus den Wahrheitswerten solcher elementarer Aussagen die Wahrheitswerte von komplexeren Zusammensetzungen ergeben, beispielsweise: C := (A und B) = „Düsseldorf ist die Landeshauptstadt von Nordrhein-Westfalen" und „Frankfurt liegt nördlich von Hamburg". Die Aussage C ist, wie wir wissen, falsch, da bereits die Teil-Aussage Β falsch ist. Symbole, die Aussagesätze oder kurz Aussagen repräsentieren, werden atomar oder Atome genannt. Jedem Atom kann (eindeutig) einer der Wahrheitswerte wahr oder falsch zugeordnet werden. Die in der folgenden Abbildung dargestellten fünf logischen Verknüpfungen werden in der Aussagenlogik üblicherweise betrachtet.

7

Vgl. Schöning, U. (1995).

2. Grundlagen der Informatik

Symbol (Notation)

9

Bedeutung

Bezeichnung

nicht

Negation

A

und

Konjunktion

V

oder

Disjunktion

=>

wenn, dann

Implikation

genau dann, wenn

Äquivalenz

->

Abb. 2-2: Verknüpfungen in der Aussagenlogik Auch wenn formal weniger als diese fünf Operationen genügen würden, 8 so ist es in der Praxis gleichwohl sehr zweckmäßig, alle fünf Verknüpfungen einsetzen zu können. Hierzu einige Beispiele: •

Negation / Verneinung: Ist eine Aussage A wahr, so ist deren Negation —ι A (lies: „nicht A") falsch. Wenn der Satz „Rom ist die Hauptstadt Italiens" wahr ist, dann ist die Aussage -> „Rom ist die Hauptstadt Italiens" = „Rom ist nicht die Hauptstadt Italiens" falsch.



Konjunktion / Und-Verknüpfung: Die verknüpfte Aussage Α Λ Β (lies: „A und B") ist genau dann wahr, wenn A wahr ist und Β wahr ist. „Ich habe Urlaub" Λ „ich fahre nach Frankreich" (umgangssprachlich: „ich habe Urlaub und fahre nach Frankreich") ist genau dann wahr, wenn beide Sachverhalte zutreffen.



Disjunktion / Oder-Verknüpfung: Α ν Β („A oder Β") ist genau dann wahr, wenn mindestens eine der beiden Aussagen A oder Β zutrifft. Das heißt umgekehrt: Α ν Β ist nur dann falsch, wenn A falsch ist und Β falsch ist. Die zusammengesetzte Aussage „Ich gehe in das Kino" oder „ich besuche ein Konzert" ist bereits dann wahr, wenn ich tatsächlich in ein Konzert gehe - unabhängig davon, ob ich auch in das Kino gehe. „Ich gehe vormittags in die Vorlesung" oder „ich gehe nachmittags in das Schwimmbad" ist entgegen dem üblichen Verständnis aber auch dann wahr, wenn ich beides erfülle, also die Vorlesung am Vormittag besuche und am Nachmittag in das Schwimmbad gehe!



Implikation: Α => Β („wenn A, dann Β") ist so definiert, dass sie nur dann falsch ist, wenn A wahr ist, Β jedoch falsch. Jede andere Konstellation führt zu einer wahren Implikation. Aus einer falschen (bzw. nicht erfüllten) Voraussetzung kann im Sinne der Aussagenlogik alles geschlossen werden. Das bedeutet für die Praxis, dass eine Implikation nur dann eine Aussagekraft besitzt, wenn

* Es ist möglich, alle aussagen logischen Verknüpfungen alleine durch Negation, Konjunktion und Disjunktion auszudrücken.

10

2. Grundlagen der Informatik

deren Prämisse A zutrifft. Das folgende Beispiel illustriert dies: „wenn die Temperatur im Zimmer des Direktors auf über 35 Grad ansteigt, dann bekommen die Schüler hitzefrei". Diese Aussage bedeutet, dass die Schüler auf jeden Fall hitzefrei bekommen, wenn die Temperatur über 35 Grad liegt; es ist aber ebenso möglich, dass bereits bei niedrigeren Temperaturen hitzefrei gegeben wird. Dazu sagt diese Implikation allerdings nichts aus. •

Äquivalenz: A Β („A ist äquivalent zu B") schließlich ist genau dann wahr, wenn A und Β dieselben Wahrheitswerte besitzen. Dies ist aus der Mathematik bekannt, wo Gleichungen oder Ungleichungen äquivalent umgeformt werden: x+y=3 y=3-x. Für x=l und y=2 treffen die linke und die rechte Seite der Äquivalenz zu, für x=l und y=l treffen beide Seiten nicht zu. Die Äquivalenz ist also in jedem Falle erfüllt, da auf der linken und der rechten Seite stets derselbe Wahrheitswert auftritt.

Die formalen Definitionen dieser fünf Verknüpfungen (Operationen) lassen sich durch sogenannte Wahrheitswertetafeln darstellen. A

-A

w

f

f

w

Abb. 2-3: Wahrheitswertetafel der Negation In der obigen Wahrheitswertetafel wird die Negation dargestellt: - Λ ist falsch, wenn A wahr ist; —A ist wahr, wenn A falsch ist. A

Β

w w

A Β

w

A=>B w

w w

f w

f

f

w

A vB

w

A aB w

f

f w

f f

f

f

f

w f w

Abb. 2-4: Wahrheitswertetafel der zweistelligen Verknüpfungen In der zweiten Wahrheitswertetafel werden die anderen Operationen, die zwei Aussagen miteinander verknüpfen, dargestellt. Diese heißen binäre oder zweistellige Verknüpfungen. Die Negation ist demgegenüber eine sogenannte unäre oder auf deutsch einstellige Operation. Mit Hilfe der Wahrheitswertetafeln können Zusammenhänge sehr gut und rasch erkannt werden. Beispielsweise sind die Formeln Α => Β und —ι Α ν Β äquivalent.

2. Grundlagen der Informatik

11

A

Β

Α => Β

-IAVB

w

w

w

w

w

f

f

f

f

w

w

w

f

f

w

w

Abb. 2-5: Beweisführung mit einer

Wahrheitswertetafel

Einige allgemein gültige Gesetze der Aussagenlogik werden nachfolgend ohne mathematische Beweisführung aufgelistet. Kommutativgesetze

ΑΛΒ=ΒΛA

Αν B = B νA Assoziativgesetze

(A Λ Β) Λ C = A Λ (Β Λ C) (Α ν Β) ν C = Α ν (Β ν C)

Distributivgesetze

(Α Α Β) ν C = (Α ν C) Λ (Β ν C) (Α ν Β) Λ C = (Α Λ C) ν (Β A C)

Gesetze von DeMorgan

-.(Α

Α

Β) = -ιΑ ν -ιΒ Α —.Β

—Ι(Α ν Β) = - Α

Idempotenz

—ι—ιΑ=Α (Α Α Α)=Α (Α ν Α)=Α

Absorptionsregeln

(Α Α (Α ν Β))=Α (Α ν (Α Α Β))=Α

Abb. 2-6: Aussagenlogische

Gesetze

Wiederholungsfragen 1. Stellen Sie die Implikation Α => Β nur mit Hilfe von Negation und Disjunktion dar. Belegen Sie die Richtigkeit mit einer Wahrheitswertetafel. (Lösung s. Anhang). 2. Wenden Sie das deMorgansche Gesetz an auf -Ι(Α Λ Β Λ C). Wie lautet der entsprechende disjunktive Ausdruck, der Oder-Verknüpfungen (und die Negation) verwendet? (Lösung s. Anhang). 3. Zeigen Sie anhand einer Wahrheitswertetafel: (Α => Β) λ (Β => A) (A Β). (Lösung s. Anhang). 4. Zeigen Sie anhand einer Wahrheitswertetafel: (Α => Β) A (B => C) => (A => C). (Lösung s. Anhang).

2. Grundlagen der Informatik

12

2.4 Zahlensysteme In diesem Kapitel m werden Zahlensysteme, insbesondere das Dualsystem, • sowie die verschiedenen Einheiten rund um Bit und Byte vorgestellt.

2.4.1

Bits und Bytes

Die Daten, die bei einer DV-Anlage verwaltet werden müssen, werden digital abgespeichert, genauer als eine Folge von binären Elementen, die jeweils 0 oder 1, wahr oder falsch, Strom leitend oder nicht leitend (usw.) sind. Diese binäre Abspeicherung kann vereinfacht als Folge von Nullen und Einsen dargestellt werden, wobei von der physikalischen Art der Darstellung abstrahiert wird. 9 Natürlich setzen sich komplexere Informationen aus einer Vielzahl solcher 0-1-Bausteine, Bits (Abkürzung für binary digits) genannt, zusammen. Zur Systematisierung dieser Informationen werden Kodierungsvorschriften, sogenannte Codes, verwendet, die es in einheitlich genormter Weise erlauben, u. a. das gesamte Alphabet abzuspeichern. Ein Code ist eine eindeutige Zuordnung der Zeichen eines Zeichenvorrats auf einen anderen Zeichenvorrat. Zum späteren besseren Verständnis konkreter Codes werden zunächst einige Zahlensysteme vorgestellt.

2.4.2

Dual- und Dezimalsystem

Eine einfache Ja/Nein-Entscheidung kann offenbar durch genau ein Bit abgespeichert werden, indem ζ. B. festgelegt wird, dass 1 für „Ja" und 0 für „Nein" stehen soll. Dies wird als Informationsgehalt 1 Bit bezeichnet. Mit zwei Bit Speicherplatz können offenbar gerade die vier Kombinationen 00, 01, 10 und 11 abgespeichert werden, d. h. hiermit können vier verschiedene Zustände dargestellt werden. Entsprechend dienen drei Bit zur Abspeicherung von acht (=2 3 ) verschiedenen Möglichkeiten, die schematisch dargestellt werden können als 000, 001,010,011, 100, 101, 110 und 111. In nahe liegender Weise werden diese acht 0-1-Tripel (häufig) als 0, 1,2, 3, 4, 5, 6 und 7 interpretiert. Dabei wird vom Zweiersystem (Dualsystem) gesprochen; ähnlich dem gewohnten Zehner- oder Dezimalsystem handelt es sich dabei um ein Stellenwertsystem. Während beim Zehnersystem die Potenzen von 10 durch eigene Stellen dargestellt werden (1, 10, 100, 1000 usw.), sind es beim Zweiersystem die

9

Binär bedeutet zweiwertig; das binäre Zahlensystem (Zweier- oder Dualsystem) stellt eine Zahl durch eine Folge von Nullen und Einsen dar.

2. Grundlagen der Informatik

13

Potenzen von 2 (1, 2, 4, 8, 16 ...)· Die Dualzahl 110 steht auf diese Weise für 1·2 2 +1·2 1 +0·2°= 1-4+1-2+0-1 = 6 . Es leuchtet unmittelbar ein, dass aufgrund der binären Abspeicherungsmethodik in der Datenverarbeitung das Dualsystem das dem Problemkreis angemessene Zahlensystem ist. Üblicherweise werden jeweils vier Bit (entsprechend 16 Möglichkeiten) zu Einheiten zusammengefasst, die mit dem Hexadezimalsystem (Sechzehnersystem) gut zu beschreiben sind. Soll beispielsweise eine ganzzahlige Schulnote (1 bis 6) gespeichert werden, so sind drei Bit notwendig, da mit nur zwei Bit lediglich vier verschiedene Alternativen dargestellt werden könnten; in gewissem Sinn werden hierbei allerdings (zwangsläufig) zwei Möglichkeiten „verschenkt". Um das Alphabet der deutschen Sprache mit seinen je 26 Klein- und Großbuchstaben, je drei großen und kleinen Umlauten (usw.) sowie einer ganzen Reihe von Sonderzeichen (wie Klammern und Satzzeichen) abspeichern zu können, werden somit mindestens sechs oder sieben Bit benötigt (2 6 =64, 2 7 =128). Als Standard hat sich durchgesetzt, dass acht Bit, d. h. die Möglichkeit, 256 Alternativen abspeichern zu können, als ein Byte bezeichnet werden. 0

0

0

0 0 0 Ein Byte.

0

0

0

0

0 1 0 1 Ein anderes Byte.

1

0

Abb. 2-7: Bytes In der Welt der Datenverarbeitung werden 1024 Bytes als ein Kilobyte (kurz KByte, KB oder K) bezeichnet. Der zunächst etwas merkwürdige Wert 1024 ergibt sich aus dem Zweiersystem: 1024 = 210. Dennoch ist es natürlich umgangssprachlich legitim, bei einem Kilobyte von (etwa) „tausend Bytes" zu sprechen. Ein Vergleich am Rande: eine Schreibmaschinenseite Text wird, grob gemittelt, häufig mit 2000 Bytes = 2 K angesetzt. 10 Entsprechend werden 1024 Kilobyte als ein Megabyte (kurz MB), 1024 Megabyte (1.048.576 Kilobyte) als ein Gigabyte (GB) und schließlich 1024 GB als ein Terabyte (TB) bezeichnet.

10

Hierbei wird allerdings nur der reine Textgehalt berücksichtigt. Bei modernen Textverarbeitungsprogrammen werden zahlreiche weitere Informationen wie Schrifttyp und -große etc. abgespeichert, so dass eine gewohnte Seite Text deutlich mehr Speicherplatz benötigt.

14

2. Grundlagen der Informatik

Wiederholungsfragen 1. Transformieren Sie die römische Zahlenangabe MCMXVII in eine Dezimalzahl. (Lösung s. Anhang). 2. Stellen Sie die Dezimalzahl 17 im Dualsystem dar. (Lösung s. Anhang). 3. Wieviele verschiedene Möglichkeiten können in einem Byte gespeichert werden? Wieviele in einem „Halb-Byte"? (Lösung s. Anhang). 4. Wieviele Bits werden benötigt zur Abspeicherung der Monate eines Jahres (in einer geeigneten Codierung)? Wieviele Bytes werden zur Abspeicherung der Wochen eines Jahres gebraucht? (Lösung s. Anhang).

2.5 Codierung In diesem Kapitel werden m Zahldarstellungen und verschiedene Codes vorgestellt, • verschiedene Dateiformate präsentiert und • gängige Datei- und Grafikformate erläutert.

2.5.1

Zahldarstellungen

Neben der eingangs vorgestellten, sehr einfachen Codierung von ganzen (positiven) Zahlen gibt es noch eine ganze Reihe anderer „Dinge", die gespeichert, also auch codiert werden müssen. Zunächst soll die Abspeicherung verschiedener Arten von Zahlen in sogenannten Zahlformaten behandelt werden. Das Prinzip (bzw. die Codierungsvorschrift oder das Format), eine nichtnegative ganze Zahl (wie etwa 12) einfach durch ihre Dualentwicklung zu repräsentieren, wird echte Dualzahldarstellung genannt. So ist die Dezimalzahl 12 (in eindeutiger Weise) zerlegbar in die Dualentwicklung 12 dez = 8 + 4 = Ix2 3 +lx2 2 +0x2'+0x2 0 = 1100 dual . Das Format der echten Dualzahl eignet sich typischerweise gut für alle Arten von „Rechenaufgaben", mit diesem Format arbeitet ein Computer normalerweise. Steht dagegen die Ausgabeformatierung im Vordergrund für Darstellungen auf einem Bildschirm oder einem Ausdruck, dann wird ein anderes Format gewählt werden: das sogenannte unechte Dualzahlformat. Hier wird im Falle der 12 nicht der numerische Wert 12 dual ermittelt und abgespeichert, vielmehr wird die Darstellung als Ziffern- bzw. Zeichenfolge Ί ' '2' auch intern abgespeichert. Die Zahl 12 ist demnach, als unechte Dualzahl abgespeichert, die Folge der zwei Zeichen ' 1 ' und '2'.

2. Grundlagen der Informatik

15

Dabei muss es zur Abspeicherung der Zeichen Ί ' bzw. '2' natürlich wiederum eine Vorschrift geben. Diese findet sich in einem Code wieder, deren prominentester Vertreter der ASCII, der American Standard Code for Information Interchange, ist, auf den im folgenden Abschnitt eingegangen wird.

2.5.2

Codierung von Zeichen

Während es bei einer ganzen Zahl wie 0, 1 oder 2 nach dem bisher Gesagten nun klar ist, wie man diese auf einem binär orientierten (digitalen) DV-System abspeichert, so ist dies bei einem Zeichen wie Ά ' keineswegs geklärt. Da der Digitalrechner, vereinfacht formuliert, nur 0 und 1 als atomare Bausteine speichern kann, kann er intern „in Wahrheit" nur endliche Sequenzen von 0 und 1 darstellen. Daraus resultiert die Notwendigkeit der Codierung. Unter einem Code versteht man in diesem Zusammenhang die Abbildungsvorschrift des darzustellenden Zeichenvorrates auf eine entsprechende Menge endlicher 0-1-Folgen. Sollten nur die vier Zeichen Ά ' , ' B \ ' C und 'D' gespeichert werden, so könnte ein 2-Bit-Mini-Code vereinbart werden, bei dem Ά ' beispielsweise durch 00, Έ ' durch 01, 'C' durch 10 und 'D' durch 11 dargestellt werden. Der bekannte Automobilclub „ADAC" wäre dann sehr einfach darzustellen als Sequenz 00 11 00 10. Die hier zur besseren Lesbarkeit eingeschobenen Leerzeichen muss bzw. kann der Rechner natürlich nicht mitspeichern, dies wäre ja ein weiteres, fünftes Zeichen, das in 2 Bit nicht mehr hineinpasst. Solange aber die Breite (=Anzahl der Bits) eines Zeichens in einem bestimmten Code gleich ist," benötigt man naturgemäß auch keine Trennmarkierungen zwischen den einzelnen Zeichen. In der Praxis werden natürlich mehr als vier Zeichen benötigt; in der Tat wurden in der Vergangenheit auch die verschiedensten Codierungen festgelegt. Es sei an dieser Stelle kurz erwähnt, dass es noch zahlreiche weitere Codierungsarten gibt, u. a. auch fehlererkennende und fehlerkorrigierende Codes, bei denen mit Redundanz, also Wiederholung von Information, gearbeitet wird.12 Ein gängiges Verfahren einer fehlererkennenden Codierung ist die Verwendung eines Prüfbits. Sollen beispielsweise drei Bits (= acht Möglichkeiten) übertragen werden, so wird ein viertes Bit angehängt, das etwa so gewählt wird, dass die Quersumme immer gerade ist (even parity check). Zur 3-Bit-Folge 101 tritt also das Prüfbit 0: 1010 hat eine gerade Quersumme. Die 3-Bit-Folge 010 wird mit 1 ergänzt zu 0101 - wiederum einer Sequenz mit gerader Quersumme.

" Dies muss nicht zwingend immer so sein. Kompressionsverfahren oder auch das bekannte Morse-Alphabet arbeiten gerade damit, dass häufig vorkommende Zeichen mit einer geringeren Bitbreite dargestellt werden als seltener auftretende. So ist im MorseAlphabet der häufig auftretende Buchstabe 'e' codiert mit. (einem Punkt), das sehr viel seltener auftretende 'x' hat den Morse-Code - . . - (Strich Punkt Punkt Strich). 12

Vgl. Emst, H. (2003), S. 74 f.

16

2. Grundlagen der Informatik

Würde nun bei ζ. B. einer Datenübertragung die Sequenz 1110 auftreten, so wäre im hier zugrunde gelegten Beispiel klar, dass ein Übertragungsfehler stattgefunden haben muss, denn die Quersumme ist nicht geradzahlig. Hiermit kann nun zwar keine Fehlerkorrektur stattfinden, aber der Empfänger der Daten kann den Sender auffordern, die (korrekte) Sequenz noch einmal zu schicken. Die für den PC-Bereich relevante Zeichen-Codierung geschieht mittels des bereits erwähnten ASCII, des American Standard Code for Information Interchange. Hierbei handelt es sich um einen laut Standard sieben Bit breiten Code, der die (USamerikanischen) Zeichen beinhaltet. Darüber hinaus wird als erweiterter 8-BitA S C n der um jeweils nationale oder sonstige Sonderzeichen erweiterte Code verstanden. Zu beachten ist, dass der ASCII-Code nur auf 7 Bit standardisiert ist. Das bedeutet: ein Text mit deutschen Umlauten auf einem Personal Computer kann bzw. wird auf einem Apple Macintosh nur noch verstümmelt erscheinen: die Umlaute und 'ß' werden als irgendwelche anderen Sonderzeichen auf dem Macintosh 13 wiedergegeben werden. Ähnlich verhält es sich mit Daten, die von einer UNIX-Anlage auf einen PC überspielt werden. Aber auch DOS und Windows benutzen zwei verschiedene AS CH-Variant en, die Windows-Variante wird auch mit dem Namen ANSI-Code bezeichnet. 14 Neben dem ASCII-Code ist noch der EBCDIC (extended binary coded decimal information code) zu erwähnen, der in der IBM-Großrechnerwelt verwendet wird.

2.5.3

Gepackte Zahlendarstellungen

Eine genauere Analyse der (auf ASCII basierenden) unechten Dualzahlen zeigt, dass das obere Halbbyte stets 0011 lautet; dies könnte somit auch entfallen, sofern der verarbeitenden Software „klar" ist, dass es sich bei den betreffenden Daten um das jeweils zweite Halbbyte einer solchen unechten Dualzahl handelt. Dies führt zu den sogenannten gepackten unechten Dualzahlen: die Zahl 12 ist hier kürzer zu speichern als die nur noch zwei Halbbytes lange Sequenz 0001 0010. Der Ansatz der sogenannten BCD-Zahlen (binary coded decimals) führt zu demselben Resultat: Für das Abspeichern einer Ziffer im Zehnersystem sind offensichtlich vier Bits notwendig, denn mit drei Bits sind nur 2 3 = 8 verschiedene Möglichkeiten darstellbar. Somit ist ein naheliegender Ansatz, jeweils eine Ziffer des Dezimalsystems in einer sogenannten Tetrade abzuspeichern. Eine Tetrade steht dabei für ein Halbbyte, also 13

„Macintosh", „DOS", „Windows" und „Unix" sind die im Anwenderbereich gängigsten Betriebssysteme; in den verwendeten Codes unterscheiden sich diese Betriebssysteme zum Teil erheblich, woraus häufig Probleme im Datenaustausch zwischen diesen Plattformen resultieren. Zu Betriebssystemen vgl. die Ausführungen in Kap. 2.6.4.

14

Die Abkürzung ANSI steht für das US-amerikanische Normierungsinstitut, American National Standards Institute.

2. Grundlagen der Informatik

17

eine 4-Bit-Sequenz. Damit sind die Sequenzen 0000, 0001, 0010 usw. bis 1001 „verbraucht" für die Ziffern Ό' bis '9'. Die restlichen sechs Möglichkeiten (1010 bis 1111) werden hier nicht benötigt, dies sind sogenannte Pseudotetraden. Die mehrstellige Dezimalzahl 234 ist somit als BCD-Zahl darstellbar durch die Tetradensequenz 0010 0011 0100. Zusätzlich müssen auch negative ganze Zahlen dargestellt bzw. abgespeichert werden. Dies geschieht in der Regel dadurch, dass das höchste Bit, also das anschaulich skizziert am weitesten links stehende, als sogenanntes Vorzeichenbit verwendet wird; es ist 0 für Zahlen größer oder gleich 0 und 1 für negative Zahlen. 15

2.5.4

Fest- und Gleitkommadarstellungen

Bislang wurden stets ganze Zahlen (wie etwa 12) dargestellt; mit derselben Technik könnte man aber ohne weiteres auch Zahlen mit einer festgelegten Anzahl Nachkommastellen codieren, wenn nur festgelegt ist, wo das Komma stehen soll. Einigt man sich beispielsweise auf zwei Nachkommastellen (wie bei Preisangaben üblich), dann wäre die Zahl 12 (Euro) als 1200 (Cents) zu speichern. Die BCDAbspeicherung 000100100011 entspricht somit der Sequenz 123 (dezimal gelesen), und zusammen mit der Festlegung des Dezimalkommas steht dies für den Wert 1,23.

0011 0001 0011 0010

0001 0010

Abb. 2-8: Übersicht der gängigen

Zahlendarstellungen

Die bis hier diskutierten Zahldarstellungen können unter dem Begriff der Festkommazahl oder Festpunktdarstellung zusammengefasst werden. Bei diesem Co-

15

Technisch gibt es nun verschiedene Möglichkeiten, negative Zahlen zu codieren. Darauf soll an dieser Stelle jedoch nicht näher eingegangen werden.

18

2. Grundlagen der Informatik

dierungsschema steht die Anzahl der Nachkommastellen und die der Vorkommastellen von Anfang an fest. Beispielsweise können Zahlen bis zur zweiten Nachkommastelle „genau" gespeichert werden. (In diesem Fall muss das Dezimaltrennzeichen, üblicherweise das Komma oder der Punkt, nicht mit abgespeichert werden, da dessen Position feststeht.) Eine Zahl mit mehr Nachkommastellen wie beispielsweise 1,2345 müsste dann zwangsläufig gerundet (als 1,23) abgespeichert werden. Nun gibt es aber auch Problemstellungen, bei denen nicht von vorne herein klar ist, in welchen Größenordnungen und mit welcher Genauigkeit eine Zahl darzustellen ist. So ist es gelegentlich erforderlich, auch die Zahlen 1.230.000 oder 0,00000123 abzuspeichern. Hierzu dient günstigerweise die Gleitpunkt- oder Gleitkommadarstellung. Eine Zahl χ wird mathematisch dargestellt als x=mxB e , wobei m als die Mantisse, Β die Basis und e der Exponent (oder die sogenannte Charakteristik) bezeichnet wird. In der Regel wird als Basis Β der Wert 2 gewählt. Eine Zahl χ ist somit zerleg- und darstellbar als x=mx2 e . Für die Mantisse wird festgelegt, dass diese als Wert zwischen 0 (einschließlich) und 1 (ausschließlich) interpretiert wird. Im konkreten Beispiel ist somit die Zahl x=12 d e z =1100 d u a p0,1100 d u a j χ 2 4 darstellbar mit Vorzeichen 0 (Zahl ist nicht-negativ), Mantisse 1100 dua) und Exponent 100 d u a l =4 d e z .

2.5.5

Codierung von Dateien

Komplexer wird die Codierung, wenn es sich nicht um die Darstellung einzelner Zeichen oder Zahlen handelt, sondern ganze Dateien, insbesondere Grafiken, dargestellt werden sollen. Hier gibt es eine Vielzahl sogenannter Datei- und Grafikformate. Im Wesentlichen entscheidet sich jeder Software-Hersteller zunächst einmal für ein eigenes, sogenanntes proprietäres Format. Um die Kunden bei der Stange zu halten, wird oft nichts unternommen, was einen Wechsel zu einer anderen Software erleichtern würde. Wären die Dateiformate der einzelnen Programme offen gelegt, so könnte beispielsweise jeder Anwender der Textverarbeitungssoftware Microsoft Word auf OpenOffice wechseln (oder umgekehrt) und könnte dabei seine alten Dateien in unveränderter Form öffnen und weiter bearbeiten. Sehen wir uns jeweils ein Dokument in den beiden Textverarbeitungsprogrammen Microsoft Word für Windows und OpenOffice an.

2. Grundlagen der Informatik

19

Mffita: Ca« Erarbeiten éftitlv

trifiijm

format EjH« F*nw HUI»

3 «ΙΓ? a i * | u | m · 1···|β| « Ή 1*17*1 si

SS

fltamWe

Ein-nn&cher-Beijpieiteictm'ein«r-Tcxtverart>eitung. ^

Sünxjad

102* ' Êim' Abb. 2-9: Beispieldokument in OpenOffice

Beide Dokumente enthalten (als bewusste Benutzereingabe) nur jeweils einen Satz, wie auf den Bildschirmabzügen gezeigt. Doch schon die Dateigröße der beiden Dokumente differiert erheblich. Während in dieser konkreten Situation die Open Office-Datei knapp 5 Kilobyte groß geworden ist, beansprucht die MicrosoftWord-Datei ca. 19 Kilobyte. Gleichzeitig ist allerdings auch zu bemerken, dass der eigentlich gespeicherte Text gerade einmal ca. 60 Bytes groß ist! W Nftcrusuft Word - brtspKH.tJtx gearOeUBn jreicm Einfügen FofmjJ Extr« T«Be(B fere» l

PIRO

Ein einfacher Bespieitexl in einer Textverarbeitung. Y

Abb. 2-10: Beispieldokument in Microsoft Word Das heißt: in beiden Fällen, Word wie OpenOffice, wurde über den eigentlichen Text hinaus eine ganze Menge weiterer Informationen gespeichert. Und das ist auch nachvollziehbar, denn in einer Textverarbeitung werden u. a. auch Attribute wie die Schriftart, die Schriftgröße, ggf. die Farbe des Textes, Eigenschaften der gesamten (Papier-)Seite, Formatvorlagen usw. mitverwaltet und dementsprechend auch gespeichert.

20

2. Grundlagen der Informatik

Ein Blick in das Innenleben der beiden Dateien zeigt, dass eine ganze Menge nicht direkt verständlicher Zeichen gespeichert ist; der nachfolgende Ausschnitt aus der OpenOffice-Datei zeigt, dass der Inhalt der Datei überwiegend binär gespeichert wird, dazu kommen einige beschreibende Passagen. Bei dem anschließend gezeigten Ausschnitt der Word-Datei ist offensichtlich auch die eigentliche Textpassage im Klartext zu erkennen. 16 o o o o 0SE0 0 0 0 0 OBFO 0000 ocoo 0 0 0 0 OCIO 0000 0C20 0 0 0 0 OC 3 0 0000 0C40 0000 0C50 0C60 0000 0000 0C80 0000 0 0 0 0 (CAO 0 0 0 0 OCBO 0 0 0 0 OCCO 0 0 0 0 OCDO 0 0 0 0 OCEO 0000 0000 0 0 0 0 ODIO 0000 0000 0030 0000

0000

0C70

36 72 6 66 74 2E 00 73

F

58

30 46

22 2D 66 69 61 00 η A2 77 21 43 47 DE 74 48

2C 63 66 62 3E 00 65 3A 02 16 C8

60 6F 69 65 50 no 74 14

A2

74 6E 65 64 03 00 69 FE 7E Β 5 DB 65 75 63 3A 4B 00

74

3A 3D 6D 63 14 00 67 05 86 03 68 92 03 BF 5 0 6 5 DD B8 Ai 2E E 6 3D EO 8 5

BF 7E

ΒΒ co 73

61 74 3A 6F 04 00 6E 7F

FA

F3 3F

C9 Β 55C AF Β 5 E 5 6F F2 2C B2 2C B4 BB Al 8 Ε A2 F4 05 2C •2 0 19 OCFO 3 6 7D 2D BE 9C 0D00 9F AA AA 4 A3 6 9 6 07 BE 9B 2 9 6D FD F2 0D20 2B CF F9 0 7 EC BA 92 9 1 7 7 5B EE 7 6 32 F2 2D 7 0 0D40 0 9 OE C4 40 SE 3D 8 8 O F 0C90 91

62 48 B5 9A DA 65 DD 5 1 SC 9 1 24 D l 55 86 88 38

63 22 65 75 00 00 73 97

68 35 74 6D 08 00 2E

61 34 61 65 00 00 ?8 77

72 22 3Ε 6Ε οε 00

2C

Abb. 2-11: Blick in das Innenleben der 0000 0000 0000 0000 oooc

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

0520 0530 0540 0550 0560 0570 0580 0590 05A0 05b0 05C0 05D0 05E0 05F0 0600 0610 0620 0630 0640 0650 0660 0670 0680 0690

00 00 00 00 00 00 00 00 00 00 00 00 00 00 45 69 6E 74 00 00 00 00 00 00

Abb. 16

00 00 00 00 00 00 o c EO 00 o o 80 0:8 00 BC 00 00 32 Ol 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 6E 20 73 70 69 65 72 20 75 6 E 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2-

00 00 00 00 00 00 EA ID Oll 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 69 65 6C 54 65 2E 20 00 00 00 o o 00 00 00 00 00 00 00 00

00 00 00 00 00 00 26 BE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6E 66 74 65 78 74 OD OD 00 00 00 00 00 00 00 00 00 00 00 00

63 3E 2F 2D 77 OC

74 3C 6F 6D 65 00 58

65 2F 66 65 31 00 60 ED 90 66 60 r2 62

CD A8 3B AE DA 6 0 Β ΓΑ5 70 0 4 Β 6 6F AB 7 0 AF 5 7 6 4 E6 4A E7 DB 2 6 FO A5 57 0 9 8 8 4 5 6 0 8F 3 8 D7 3A 7F F6 C6 FA FC 7 1 B 5 OF 8 0 FO 5A 04 9C OE C 9 3 5 45 1 9 8 7 4 0 C 6 2 0 2 9 IB F7 B6 CB 2 4 CI 48 CD 6 0 Β9 DB 2 9 4 4 17 BB 8 7 57 8Α 42 0 5 IF F Λ37 OB 3 6 BE 4 7 5E DE E9 E 3 F2 52 4 9 6 7 77 A4 1 6 25 C8 3B 1 9 7C 9 2 DA F ΒDE CD E 3 1 0 24 E 7 9 1 E 6 AF 4F 2 9 Ε7 AD F 9 4C BF 1 4 AF

6D

61 2F 3C 74 00 00 6C

oo

00 00 C2 00 00 00 00 00 00 00 00 00 00 61 78 76 00 00 00 00 00 00 00

00 00 00 00 32 Ol 00 D4 00 01 BC 00 00 EO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 68 65 74 20 69 65 72 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 6E 72 00 00 00 00 00 00 00

6" meta:characte r-count="54"/>PK»f[].fl-B-wel . settings, xml-Xin só:H»"ú»ú»w,¿ :

XweóAJ· à fm-] Ñp*AÉ 0 !-ST-'»ho!4p»Wdpf FC »ss ¿ÒSO fiW œGifAViPe.êEmASÎ bî»A3o!?:û-fâ.3qti rttÜ.iil. fSEicflâ) i*eÂ0llM=5- ArfJ-H |iöä"=ml|)D|j $DU6}-=a£çWeB+T·? fâ— J6ÛA.6VGAIÛÔ BVèa)«!2 RIgwñ- •Ο C