Informatik fur Maschinenbauer Peter Kopacek Robert Probst Martin Zauner SpringerW ienN ewYork Univ.-Prof. Dipl.-Ing. Dr. techno Peter Kopacek Univ.-Ass. Dipl.-Ing. Dr. techno Robert Probst Institut fUr Handhabungsgerate und Robotertechnik Technische Universitlit Wien Wien, Osterreich Dipl.-Ing. Dr. techno Martin Zauner Abteilung fUr System-und Automatisierungstechnik Wissenschaftliche Landesakademie fUr Niederosterreich Krems, Osterreich Das Werk ist urheberrechtlich geschUtzt. Die dadurch begrundeten Rechte, insbesondere die der Ubersetzung, des Nachdruckes, der Entnahme von Abbildungen, der Funksendung, der Wiedergabe auf photomechanischem oder lihnlichem Wege und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vor behalten. © 1995 Springer-Verlag/Wien Reproduktionsfertige Vorlage von den Autoren Gedruckt auf sliurefreiem, chlorfrei gebleichtem Papier - TCF Mit 126 Abbildungen Die Deutsche Bibliothek - CIP-Einheitsaufnahme Kopacek, Peter: Inforrnatik fUr Maschinenbauer / P. Kopacek, R. Probst und M. Zauner. - Wien; New York: Springer, 1995 ISBN-13: 978-3-211-82755-0 e-ISBN-13: 978-3-7091-9444-7 DOl: 10.1007/978-3-7091-9444-7 NE: Probst, Robert:; Zauner, Martin: Vorwort Dieses Bueh entstand aus der Pfliehtvorlesung "EDV fUr Masehinenbauer" an der Teehnisehen Universitat Wien. Zweek dieser Lehrveranstaltung und im weiteren dieses Buehes ist es, den Anwendern und Entwicklern teehniseher Systeme die Anwendungsmogliehkeiten von Reehnern und hier insbesonders von PCs naher zu bringen. Der Teehniker muB in erster Linie in der Lage sein, kommerziell verfiigbare Programme zu nutzen und Einsatzmogliehkeiten fUr PCs fUr gegebene Aufgabenstellungen absehatzen zu konnen. Die eigentliehe Erstellung von Programmen geMrt erst in zweiter Linie zu seinen Aufgaben. Das Bueh behandelt aIle Grundlagenbereiehe der anwendungsorientierten Informatik, die Kapitel Betriebssysteme und Programmierung werden anhand von Beispielen aus dem Masehinenbau exemplariseh behandelt. Es ist sieher nieht moglich, in dem zur Verfiigung stehenden Umfang ein komplexes C Programmsystem einer vernetzten teehnisehen Anwendung zu erstellen. Zur Vertiefung einzelner Kapitel wird die Lektiire der einsehlagigen Faehliteratur empfohlen. Da die "PC-Welt" sowohl von der Hard- als aueh von der Softwareseite einer stiirmisehen Entwicklung unterliegt, konnen Teile des Buehes bei seinem Erseheinen nieht mehr ganz aktuell sein. Dies gilt besonders fUr die im Kapitel Anwenderprogramme angefUhrten Programme und Programmversionen sowie fUr die Anwendungen im Masehinenbau. Die Autoren hoffe n, sowohl den in der Praxis stehenden Teehnikern, den Studierenden teehniseher Studienrichtungen und insbesondere Masehinenbauern, eine praxisorientierte Einfiihrung in die Informatikwelt in die Hand zu geben. Unser Dank gilt zunaehst unseren Studenten, welche uns auf viele neue Ideen bei der Abfassung gebraeht haben. Unseren Mitarbeitern am Institut sowie an der Abteilung System- und Automatisierungsteehnik an der Wissensehaftliehen Landesakademie danken wir fUr das Anfertigen von Zeichnungen, fUr Sehreibarbeiten sowie fUr die Formatierungsarbeiten. Dem Springer-Verlag und hier insbesonders Frau Sehilgerius danken wir fUr die Gcduld -das Bueh ist doeh noeh fertig geworden. Wien, im August 1995 M. Zauner R. Probst P. Kopaeek InhaItsverzeichnis 1 GRUNDLAGEN DER INFORMATIK 1 1.1 Geschichte der Informatik 1 1.2 Teilgebiete der Informatik und Anwendungsbeispiele 8 1.3 Informationstechnik 10 1.3.1 Bits und Bytes 10 1.3.2 Zahlensysteme 11 1.3.3 Kodes und Kodierungstheorie 12 1.4 Grundlagen der Schaltalgebra 15 1.4.1 UND-Funktion (Konjunktion) 16 1.4.2 ODER-Funktion (Disjunktion) 16 1.4.3 NICHT-Funktion 16 1.4.4 Grundfunktionen 18 1.4.5 Speicher 19 2 DIE HARDWAREARCHITEKTUR 23 2.1 Die Zentraleinheit -Central Processing Unit -CPU 25 2.2 Die Speicher 27 2.2.1 Read Only Memory -ROM 28 2.2.2 Random Access Memory -RAM 28 2.3 Bussysteme 28 2.4 Ein-/Ausgabeeinheiten (I/O-Interfaces) 29 2.4.1 Schnittstellen und Schnittstellenkarten 29 2.4.2 Graphikkarte 30 2.4.3 Nctzwerkskarten 31 2.4.4 Festpiattencontroller 31 2.4.5 Signalwandler 31 2.5 Peripherie 33 2.5.1 Eingabegeriite 33 2.5.2 Ausgabegerate 35 2.6 Gerate zur Datenspeicherung 36 2.6.1 Magnetplatte (Festplatte -Diskette) 36 2.6.2 Optische Speicher -Laserplatte (CD-ROM) 38 2.7 Standardkonfiguration von PCs 39 VIII Inhaltsverzeichnis 3 DAS BETRIEBSSYSTEM 41 3.1 Einfiihrung 41 3.2 Das Betriebss),stem MS-DOS 44 3.2.1 Dateiverwaltung unter MS-DOS 46 3.2.2 Befehle 50 3.2.3 Stapel-Dateien (BATCH-FILES) 55 3.2.4 Laden von Programmen 57 3.2.5 Konfiguration mit CONFIG.SYS und AUTOEXEC.BAT 57 3.2.6 Entwicklungstendenzen von MS-DOS 59 3.3 Das Betriebssystem UNIX 60 3.3.1 Einfuhrung 60 3.3.2 Eigenschaften von UNIX 60 3.3.3 Anwendungsbcreiche von UNIX 63 3.3.4 Das Filesystem und rclevante Befchle 64 3.3.5 Kommandos, Programme, Prozesse 66 3.3.6 Wichtige Befehle in UNIX 73 3.3.7 Zunkunftsaspekte fur den Einsatz von UNIX 76 4 GRUNDLAGEN DES SOFTWAREENGINEERING 77 4.1 Phasen der Softwareentwicklung 78 4.2 Problem analyse 81 4.2.1 Problembeschreibung, Problemabgrenzung und Randbedingungen 81 4.3 Losungsanslitze 85 4.3.1 Losungsalgorithmus 86 4.3.2 Schrittweise Verfeinerung von Algorithmen 90 4.4 Strukturierte Programmierung 90 4.5 Objektorientierte Programmierung 91 4.5.1 Kapselung 92 4.5.2 Vererbung 93 4.5.3 Polymorphie 94 4.6 Programmierung 94 4.6.1 Algorithmen 95 4.6.2 Datenstrukturen und Datentypen 98 4.6.3 Dateien 102 5 PROGRAMMIERSPRACHEN 105 5.1 Ubersicht und Vergleich 105 5.1.1 FORTRAN 108 5.1.2 BASIC 108 5.1.3 PASCAL und MODULA 2 109 InhaItsverzeichnis IX 5.l.4 C 110 5.2 PASCAL 111 5.2.1 Der erste Start III 5.2.2 Ausgabe 113 5.2.3 Bezeichner 114 5.2.4 Datent)'Pen und Strukturen 114 5.2.5 Operatoren 120 5.2.6 Eingabe 122 5.2.7 M6glichkeiten zur Kontrolle der Programmabarbeitung 123 5.2.8 Dateioperationen 128 5.2.9 Beispiel: Eine komplette PASCAL-Entwicklung, Game of Life 131 5.3 C 145 5.3.1 Der erste Start 145 5.3.2 Operatoren und Ausdruckauswertung 149 5.3.3 Funktionen und Parameter 150 5.3.4 Moglichkeitcn zur Steuerung der Programmabarbeitung 153 5.3.5 Zeiger und Arrays 158 5.3.6 Ein-und Ausgabe 163 5.3.7 Strukturen 166 5.3.8 Beispiel: Eine komplette C-Entwicklung, 'SCAS!' (SCAra SImulation) 168 6DATENBANKEN 183 6.1 Einleitung 183 6.l.1 Konzepte zur Architektur von Datenbanksystemen 184 6.1.2 Die Architektur nach ANSI/SPARC 184 6.2 Daten 186 6.2.1 Datensatze und Objckte 186 6.2.2 Beziehungen 187 6.3 Das Wesen von Datenbanken 187 6.3.1 Das hierarchische Datenmodell 188 6.3.2 Relationale Datcnbanken 189 6.3.3 Netzwerkdatenbanken 190 6.3.4 Pseudo-relationale Datenbanken 191 6.3.5 Vorteile von Datenbanken 192 6.4 Die Komlwnenten einer Datenbank 193 6.4.1 Datenbank (DB) 194 6.4.2 Datenbankmanagementsystem (DBMS) 194 6.5 Normalisierung relationaler Datenbanken 195 6.5.1 Ziel des Normalisierungsprozesses 196 6.5.2 Normalformen 197 6.5.3 Normalisierungsvorgange in der Praxis 202 X Inhaltsverzeichnis 6.6 Die AbfrageSI)rache SQL -Structured Query Language 203 6.6.1 Beispiele fur einfache SQL-Abfragen 204 6.7 SQL -Abfragen in mehreren Tabellen 206 6.8 Zusammenfassung 207 7 MENSCH-MASCHINE-KOMMUNIKATION 209 7.1 Einlcitung 209 7.2 Informationseingabe durch den Menschen 211 7.3 Informationsdarstellung fijr den Menschen 213 7.4 Dialog im Mensch-Maschine-Kommunikationssystem 214 7.5 Benutzeroberllachen 215 7.6 Die Benutzeroberllache WINDOWS 218 7.6.1 Grundelemente von WINDOWS 219 7.6.2 WINDOWS-Dienstprogramme 222 7.7 Zusammenfassung 223 8 ANWENDERPROGRAMME 225 8.1 Einleitung 225 8.2 Textverarbeitung 225 8.3 Das Textverarbeitungsprogramm MS-WORD fijr WINDOWS 228 8.4 Tabellenkalkulation 229 8.5 Das Tabellenkalkulationsprogramm MS-EXCEL 230 8.6 Datenbanken 233 8.7 Grafikprogramme 233 8.8 Das Grafikl)rogramm COREL DRAW 234 8.9 Tools-oder Utilityprogramme 235 9 LOKALE NETZE 237 9.1 Aufbau und Eigenschaften lokaler Netze 237 9.2 Schnittstellen -Ankopplung von Gediten an LANs 239 9.3 Ubertragungsmedien in lokalen Netzen 240 Inhaltsverzeichnis XI 9.4 Ubertragungsvenahren in lokalen Netzen 140 9.5 UbertragungslJrotokolle 141 9.6 NetzwerkstolJologien 144 9.7 Zugriffsvenahren auf lokale Netze 147 9.8 Klassen von Rechnernetzwerken 150 9.9 Netzwerkbetrieb 150 9.10 Internet 151 9.11 Zusammenfassung 153 10 RECHNER 1M MASCHINENBAU 255 10.1 Kiinstliche Intelligenz und Expertensysteme im Maschinenbau 155 10.1 ComlJUtergralJhik 258 10.2.1 Definition und Arbeitsprinzipien 258 10.2.2 Ein-und Ausgabegerate 259 10.2.1 Softwareprobleme 262 10.3 Rechnergestiitzte Produktion (CIM) 263 10.3.1 Komponenten von CIM 264 10.3.2 CIM-Konzepte 266 10.3.3 RechnergestUtzterEntwurf 268 10.3.4 Kiinstliche Intelligenz in CIM-Systemen 275 10.4 Robotik 279 10.5 Digitalrechner in der Automatisierungstcchnik 283 10.5.1 Digitalrechner zur Proze6automatisierung 283 10.5.2 Entwicklungstendenzen 285 10.6 Simulationstcchnik 288 10.6.1 Grundlagen 288 10.6.2 Simulationsverfahren und ihr Einsatz 290 10.7 Neuronale Netzc 294 10.8 Mikro-und Nanosysteme 297 LlTERATUR 301 SACHVERZEICHNIS 303 1 Grundlagen der Informatik Das Wort Informatik ist ein Kunstwort, gebildet aus den Begriffen Information und Mathematik. Der Begriff ist eng mit dem elektronischen Rechner verknfipft und wurde in Deutschland und Frankreich (Informatique) gepragt. 1m angelsachsischen Sprachraum hat das Wort "Informatics" kaum Eingang gefunden und man spricht von Computer Science. Den Kern der Informatik bilden automatisiert ausfuhrbare Rechenverfahren. Man nennt solche Verfahren Algorithmen nach dem persischen Mathematiker AI Chowarizmi, der etwa urn 800 n. Chr. ein grundlegendes Buch fiber Algebra schrieb. Algorithmen begegnen uns nicht nur in der Mathematik, sondern in mannigfaltiger Gestalt im taglichen Leben. Jede Form einer Anleitung, zum Beispiel eine Bedienungsanleitung fUr einen Fernsprecher, ist ein Algorithmus, der einen oft komplizierten Vorgang in einfache Einzelschritte zerlegt. Anleitung in der Telefonzelle: 1. FernMrer abheben 2. Geld einwerfen 3. Wahlen, nach Meldung des gewfinschten Teilnehmers -sofort 4. Zahlknopf drOcken 5. Wenn erstes Gesprach nicht zustande kommt -bei "Besetzt", "Nichtmelden" oder "Melden eines falschen Teilnehmers" -FernMrer einhangen - Vorgang ab Punkt I wiederholen. 6. Werden nach Beendigung des ersten Gespraches weitere Gesprache gewOnscht, nur den Zahlknopf drOcken, wahlen und sprechen. Auch im Bereich der Mathematik konnen bestimmte Rechenvorgange wie etwa die vier Grundrechnungsarten, das Quadrieren oder die Zerlegung einer Zahl in ihre Primfaktoren durch einen Algorithmus beschrieben werden. Diese Anleitung zeigt einige grundsatzliche Eigenschaften von Algorithmen. Sie bestehen aus Einzelschritten, die in der angegebenen Reihenfolge auszufiihren sind. Es ware zorn Beispiel falsch, zuerst das Geld einzuwerfen und dann den FernMrer abzuheben. Einzelne Schritte hangen von einer Bedingung abo Falls beispielsweise das erste Gesprach nicht zustande kommt, dann soli der FernMrer eingehangt werden. Selbst Wiederholungen gewisser Einzelschritte sind zulassig. Es wurde daher relativ frOh erkannt, dafi es sich bei Algorithmen urn monoton abzuarbeitende Rechen vorschriften handelt und dafi diese automatisierbar sind. Dies fUhrt zu einer wesentlichen Entlastung des Menschen von immer wiederkehrenden, monotonen Tatigkeiten. 1.1 Geschichte der Informatik Die altesten bekannten Rechenhilfen sind der urn ca. 2500 v. Chr. in China erfundene Abakus (Rechenbrett) (Tabelle 1.1). Auch heute noch benutzen