Kapitel 1 - Universität Paderborn

Transcription

Kapitel 1 - Universität Paderborn
Inhalt
1. Einführung und Motivation
2.7 Klassen
2. Grundlagen der Programmierung
2.1 Einfache Programme
2.2 Syntax, Semantik und Simulation
2.3 Verzweigungen
2.4 Schleifen
2.5 Primitive Datentypen
2.6 Felder (Arrays)
2.8 Methoden
Rainer Feldmann
Universität Paderborn
2.9 Rekursion
2.10 Dateien
2.11 Objektorientierung
2.12 Dynamische Datenstrukturen
2.13 Vererbung
Technische Informatik für Ingenieure (TIFI)
WS 09/10
3
Literatur
• Hanspeter Mössenböck. Sprechen Sie Java? Eine Einführung
in das systematische Programmieren. dpunkt.verlag, 3. Auflage
2005.
• Dietmar Ratz, Jens Scheffler, Detlef Seese. Grundkurs Programmierung in Java, Bd. 1. Hanser Verlag, 2. Auflage, 2004.
• Klaus Echtle, Michael Goedicke. Lehrbuch der Programmierung
mit Java. dpunkt.verlag, 1. Auflage 2000.
Darüber hinaus gibt es viele weitere gute Einführungen in die Programmierung und die
Programmiersprache Java.
Sehen Sie sich verschiedene Bücher an, bevor Sie sich zum Kauf eines Buches entscheiden.
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
6
1. Einführung und Motivation
Ziele der Veranstaltung
• Rolle der Software- und Informationstechnik im Maschinenbau verstehen
• Grundkonzepte der Programmierung beherrschen
– Programme verstehen
– Programme entwickeln
– Programmiersprache erlernen (hier: Java)
• Aufbau von Computern kennenlernen
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
7
Warum soll ich Programmieren lernen ?
¾
»
Programmieren fand ich in der Schule schon doof!
”
Deshalb studiere ich doch Ingenieurwissenschaften und nicht Informatik!“
½
Rainer Feldmann
Universität Paderborn
¼
Technische Informatik für Ingenieure (TIFI)
WS 09/10
8
Warum soll ich Programmieren lernen ?
»
¾
Programmieren fand ich in der Schule schon doof!
”
Deshalb studiere ich doch Ingenieurwissenschaften und nicht Informatik!“
½
¼
Gute Argumente für das Erlernen der Programmierung:
• Computer befinden sich in fast allen Produkten des Maschinenbaus
(Fahrzeugtechnik, Beleuchtungstechnik, ...)
Lernen Sie wie Computer arbeiten!
• Oft in sicherheitskritischen bzw. gewinnkritischen Systemen
(Atomkraftwerke, Flugzeugen, Produktionssysteme)
Lernen Sie die Risiken des Computereinsatzes kennen!
• Viele moderne maschinenbauliche Produkte werden in enger Zusammenarbeit zwischen Ingenieuren und Informatikern entwickelt (z.B. mechatronische Systeme).
Kenntnisse über Programmierung von Computern sind Teil einer gemeinsamen Sprache von
Ingenieuren und Informatikern.
• ... und viele andere mehr
Lernen Sie Computer effizient zu nutzen!
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
8
Einige dramatische Softwarefehler (http://www5.informatik.tu-muenchen.de/˜huckle/bugse.html)
F16 (1979) Kampfjet des US Militärs.
Fehler im Programm des Autopiloten: das Flugzeug flog in der südlichen Erdhalbkugel auf dem Kopf“.
”
Therac-25 (1985-1987) Bestrahlungsmaschine für Krebspatienten.
Aufgrund von Fehlern in ihren Computerprogrammen wurden einige Patienten mit tödlichen Dosen bestrahlt.
Ariane 5 (1996) Europäische Weltraumrakete.
Explodierte kurz nach dem Start, weil Computerprogramme der Ariane 4 die höhere Geschwindigkeit der Ariane
5 nicht verarbeiten konnten.
USS Yorktown (1998) Kriegsschiff der US Marine.
Ein Crewmitglied gab versehentlich eine 0“ als Eingabe in ein schiffseigenes Computersystem ein. Das Compu”
terprogramm nahm die 0“ an, teilte später durch 0“ und legte durch diesen Fehler das Antriebssystem des
”
”
Kriegsschiffes für mehrere Stunden lahm.
Mars Climate Orbiter (1999) Amerikanischer Satellit.
Zwei Programmierteams verwendeten zwei unterschiedliche Masseinheiten für die Navigation im Weltall. Nach
Datenaustausch wurde keine Konversion durchgeführt. Der Satellit ist im Weltall verschollen.
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
9
Warum passieren Fehler beim Einsatz von Computern und Computerprogrammen ?
"Verdammt, er sagt ’Ich denke, also bin ich!’ "
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
10
Warum passieren Fehler beim Einsatz von Computern und Computerprogrammen ?
• Computer sind (noch) grenzenlos dumm,
denn
– ... sie machen nur das, was man ihnen
befohlen hat.
(kein Nachdenken über Anweisungen, keine Eigeninitiative)
– ... sie machen immer das, was man ihnen
befohlen hat.
(kein Nachdenken über ihre Handlungen,
kein Auslassen unsinniger Anweisungen)
"Verdammt, er sagt ’Ich denke, also bin ich!’ "
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
10
Warum passieren Fehler beim Einsatz von Computern und Computerprogrammen ?
• Computer sind (noch) grenzenlos dumm,
denn
– ... sie machen nur das, was man ihnen
befohlen hat.
(kein Nachdenken über Anweisungen, keine Eigeninitiative)
– ... sie machen immer das, was man ihnen
befohlen hat.
(kein Nachdenken über ihre Handlungen,
kein Auslassen unsinniger Anweisungen)
"Verdammt, er sagt ’Ich denke, also bin ich!’ "
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
10
Warum passieren Fehler beim Einsatz von Computern und Computerprogrammen ?
• Computer sind (noch) grenzenlos dumm,
denn
– ... sie machen nur das, was man ihnen
befohlen hat.
(kein Nachdenken über Anweisungen, keine Eigeninitiative)
– ... sie machen immer das, was man ihnen
befohlen hat.
(kein Nachdenken über ihre Handlungen,
kein Auslassen unsinniger Anweisungen)
Also:
'
$
Computer machen keine Fehler!
Computer führen nur die fehlerhaften Anweisungen
aus, die ihnen die Menschen einprogrammiert haben!
&
Rainer Feldmann
Universität Paderborn
%
Technische Informatik für Ingenieure (TIFI)
WS 09/10
10
1.1 Wichtige Begriffe
Wir werden in den nächsten Wochen immer wieder mit den folgenden Begriffen arbeiten:
•
•
•
•
•
Informatik
Daten, Information
Algorithmus
Programm
Programmiersprache
Was bedeutet das alles ?
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
11
Informatik
Wikipedia Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere der automatischen Verarbeitung mit Hilfe von Rechenanlagen.
Informatik Duden Informatik ist die Wissenschaft von der Darstellung, Verarbeitung, Speicherung, Übertragung und Wiedergewinnung von Information – insbesondere von der automatischen Verarbeitung durch digitale Rechner.
Was ist Information ?
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
12
Daten und Information
Informatik Duden: Information umfasst eine (kodierte?) Nachricht und ihre Bedeutung.
(Anmerkung: eine unbefriedigende Definition)
Beispiel:
Kodierung
1111000
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
13
Daten und Information
Informatik Duden: Information umfasst eine (kodierte?) Nachricht und ihre Bedeutung.
(Anmerkung: eine unbefriedigende Definition)
Beispiel:
Datum
Kodierung
=
1111000
+
+
+
+
+
+
Interpretation
À
Repräsentation
=
Rainer Feldmann
Universität Paderborn
1 · 64
1 · 32
1 · 16
1·8
0·4
0·2
0·1
120
Technische Informatik für Ingenieure (TIFI)
WS 09/10
13
Daten und Information
Informatik Duden: Information umfasst eine (kodierte?) Nachricht und ihre Bedeutung.
(Anmerkung: eine unbefriedigende Definition)
Beispiel: Information = Mein Auto fährt 120 km/h“
”
Datum
Kodierung
=
1111000
+
+
+
+
+
+
Interpretation
À
Repräsentation
=
Rainer Feldmann
Universität Paderborn
1 · 64
1 · 32
1 · 16
1·8
0·4
0·2
0·1
120
Bedeutung
Interpretation
À
Repräsentation
= Geschwindgkeit eines Autos ?
Technische Informatik für Ingenieure (TIFI)
WS 09/10
13
Daten und Information
• Computer können keine Informationen verarbeiten sondern nur Daten.
• Durch die Interpretation von Daten wird letztendlich Information verarbeitet.
Wie können Computer denn Daten verarbeiten ?
Computer können ...
• ... Daten einlesen (von Peripheriegeräten
wie Tastatur, Maus, CD/DVD, etc.)
• ... Daten speichern (im Hauptspeicher
und in externen Speichern)
• ... Daten manipulieren (im Prozessor)
• ... Daten anzeigen (auf Peripheriegeräten wie Bildschirm, Drucker,
Kopfhörer, etc.)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
14
Wie können Computer denn Daten verarbeiten ?
• Alle Daten im Rechner und den Speichern werden digital binär kodiert, d.h. alle Daten sind
einfach Folgen von Nullen und Einsen (Bits): z.B. werden
– ... ganze Zahlen als Binärzahlen mit 32 oder sogar 64 Bits dargestellt, z.B.
.
97 = 1 · 26 + 1 · 25 + 1 · 20 = ...01100001
(Oft wird die Zweikomplementdarstellung verwendet, die wir hier nicht betrachten)
– ... Textzeichen als Folge von 8 Bits kodiert (ASCII-Kodierung), z.B. ist
.
0 0 .
A = 01000001 = bin(65), 0a0 = 01100001 = bin(97),
0 0 .
0 = 00110000 = bin(48).
– ... Bildpunkte auf dem Bildschirm durch binäre Kodierung ihrer Farbe repräsentiert.
• Computer können diese digitalen binären Daten dann manipulieren, so dass sich z.B.
– ... für ganze Zahlen Addition, Subtraktion, Multiplikation und Division umsetzen läßt.
– ... für Texte Konkatenation, Teiltextsuche, etc. umsetzen läßt.
– ... ein Drucker ein Foto ausdrucken kann.
– ... ein Bildschirm einen Film anzeigen kann.
Wie sagt man einem Computer wie er seine Daten zu manipulieren hat ?
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
15
Algorithmus
Wikipedia Unter einem Algorithmus versteht man eine genau definierte Handlungsvorschrift zur
Lösung eines Problems oder einer bestimmten Art von Problemen in endlich vielen Schritten.
Lehrbuch über Algorithmen (CLR90) : An Algorithm is any well-defined computational procedure that takes some value as input and produces some value as output.
oder hier: Ein Algorithmus ist eine präzise Verarbeitungsvorschrift zur systematischen Lösung
eines Problems durch Ausführung elementarer Einzelschritte.
Der Name Algorithmus“ leitet sich von dem arabi”
schen Mathematiker Abu Abdullah Muhammad ibn
Musa al-Chwarizmi (ca. 780-850) her.
Denkmal in Khiwa/Usbek.
Briefmarke UdSSR
Beispiele (?)
• Kochrezept
• Strickmuster
• Notenblatt
Rainer Feldmann
Universität Paderborn
• Baupläne
– Lego
– Möbel
Technische Informatik für Ingenieure (TIFI)
• Rechenregeln
(z.B. schriftliche Addition)
• Computerprogramme
WS 09/10
16
Beispiel: Verdoppeln einer Zahl
Schreib die zahl vor dich
mach eine Linien darunter
heb an zu forderst
Duplir die erste Figur.
Kompt eine zahl
die du mit einer Figur schreiben magst
so setz die unden
Wo mit zweyen
schreib die erste
Die ander behalt im Sinn.
Darnach duplir die ander
und gib darzu das du behalten hast
und schreib abermals die erste Figur
wo zwo vorhanden
und duplir fort biß zur letzten
die schreibe ganz auf.
(Adam Ries, Rechenbuch, 1574)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
17
Beispiel: Verdoppeln einer Zahl
Schreib die zahl vor dich
mach eine Linien darunter
heb an zu forderst
Duplir die erste Figur.
Kompt eine zahl
die du mit einer Figur schreiben magst
so setz die unden
Wo mit zweyen
schreib die erste
Die ander behalt im Sinn.
Darnach duplir die ander
und gib darzu das du behalten hast
und schreib abermals die erste Figur
wo zwo vorhanden
und duplir fort biß zur letzten
die schreibe ganz auf.
5
8
9
2
"Zahl vor dich"
(Adam Ries, Rechenbuch, 1574)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
17
Beispiel: Verdoppeln einer Zahl
Schreib die zahl vor dich
mach eine Linien darunter
heb an zu forderst
Duplir die erste Figur.
Kompt eine zahl
die du mit einer Figur schreiben magst
so setz die unden
Wo mit zweyen
schreib die erste
Die ander behalt im Sinn.
Darnach duplir die ander
und gib darzu das du behalten hast
und schreib abermals die erste Figur
wo zwo vorhanden
und duplir fort biß zur letzten
die schreibe ganz auf.
5
8
9
2
"Zahl vor dich"
"Linien darunter"
(Adam Ries, Rechenbuch, 1574)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
17
Beispiel: Verdoppeln einer Zahl
Schreib die zahl vor dich
mach eine Linien darunter
heb an zu forderst
Duplir die erste Figur.
Kompt eine zahl
die du mit einer Figur schreiben magst
so setz die unden
Wo mit zweyen
schreib die erste
Die ander behalt im Sinn.
Darnach duplir die ander
und gib darzu das du behalten hast
und schreib abermals die erste Figur
wo zwo vorhanden
und duplir fort biß zur letzten
die schreibe ganz auf.
5
8
9
2
"Zahl vor dich"
"Linien darunter"
4
"unden"
(Adam Ries, Rechenbuch, 1574)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
17
Beispiel: Verdoppeln einer Zahl
Schreib die zahl vor dich
mach eine Linien darunter
heb an zu forderst
Duplir die erste Figur.
Kompt eine zahl
die du mit einer Figur schreiben magst
so setz die unden
Wo mit zweyen
schreib die erste
Die ander behalt im Sinn.
Darnach duplir die ander
und gib darzu das du behalten hast
und schreib abermals die erste Figur
wo zwo vorhanden
und duplir fort biß zur letzten
die schreibe ganz auf.
5
8
9
2
1
"Zahl vor dich"
"im Sinn"
"Linien darunter"
8
4
"unden"
(Adam Ries, Rechenbuch, 1574)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
17
Beispiel: Verdoppeln einer Zahl
Schreib die zahl vor dich
mach eine Linien darunter
heb an zu forderst
Duplir die erste Figur.
Kompt eine zahl
die du mit einer Figur schreiben magst
so setz die unden
Wo mit zweyen
schreib die erste
Die ander behalt im Sinn.
Darnach duplir die ander
und gib darzu das du behalten hast
und schreib abermals die erste Figur
wo zwo vorhanden
und duplir fort biß zur letzten
die schreibe ganz auf.
5
1
8
9
2
1
7
"Zahl vor dich"
"im Sinn"
"Linien darunter"
8
4
"unden"
(Adam Ries, Rechenbuch, 1574)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
17
Beispiel: Verdoppeln einer Zahl
Schreib die zahl vor dich
mach eine Linien darunter
heb an zu forderst
Duplir die erste Figur.
Kompt eine zahl
die du mit einer Figur schreiben magst
so setz die unden
Wo mit zweyen
schreib die erste
Die ander behalt im Sinn.
Darnach duplir die ander
und gib darzu das du behalten hast
und schreib abermals die erste Figur
wo zwo vorhanden
und duplir fort biß zur letzten
die schreibe ganz auf.
5
1
1
1
8
9
2
1
7
"Zahl vor dich"
"im Sinn"
"Linien darunter"
8
4
"unden"
(Adam Ries, Rechenbuch, 1574)
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
WS 09/10
17
Beispiel: Schriftliche Addition
1
1
1
0
Rainer Feldmann
Universität Paderborn
Technische Informatik für Ingenieure (TIFI)
Zwischen
werte
Ausgabe
12037
Eingabe
5892
6145
WS 09/10
18