Technische Informatik für Ingenieure (TIfI) WS 2005/2006 I. Einführung Ekkart Kindler Ziel und Motivation Grundbegriffe Praxis Zwischendurch: Organisatorische Hinweise und Ablauf der Veranstaltung 1. Ziel und Motivation Rolle der Software- und Informationstechnik im Maschinenbau verstehen Die Vorlesungsfolien und die meisten Beispielprogramme sowie Übungszettel und aktuelle Informationen finden Sie im Internet! Es ist sinnvoll, sich die Vorlesungsunterlagen vor der Vorlesung auszudrucken, um dann während der Vorlesung Notizen darin zu machen! Grundkonzepte der Programmierung beherrschen Programme verstehen Programme entwickeln Programmiersprachen erlernen Aufbau von Rechnern kennen Hier am Beispiel der Programmiersprache Java. : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 3 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 4 Ingenieur, Programmieren?? Ingenieur, Programmieren?? Rechner in fast allen Produkten des Maschinenbaus! Beispiele: Fahrzeugtechnik Luftfahrt Bahntechnik Beleuchtungstechnik... Dazu werden Prof. Wallaschek und Prof. Gausemeier zwei Gastvorlesungen abhalten (voraussichtlich im Dezember). Oft in hochgradig sicherheitskritischen Systemen Rechner im Produktionsprozeß allgegenwärtig Ingenieure und Informatiker müssen sich gegenseitig verstehen Produkte Notationen, Methoden und deren Grenzen NB: Informatiker programmieren nicht, sondern sie entwickeln Software (das ist ein fundamentaler Unterschied)! Das Verständnis der grundlegenden Programmierkonzepte ist gute Basis dafür : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 5 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 6
Organisatorisches Vorlesung Termin: Dienstag, 14 15-15 45 Uhr, C1 Achtung, am 1. November findet keine Vorlesung statt (Allerheiligen)! Dozent: Ekkart Kindler kindler@upb.de, (05251) 60 3320 Sprechstunde Mittwoch 9 00-10 00 (und n.v.) Unterlagen und aktuelle Informationen: : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 7 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 8 Organisatorisches Übung Termine: Dienstag bis Freitag, 7 30-9 00 Uhr, Beginn: 8. Nov.!! P1.2.04 und P4.4.41 (jeweils zwei Gruppen) Tutoren: Mohammad-Reza Brojerdi Matthias Meyer Eckehard Münch Harald Selke Matthias Tichy Programmieren lernt man NUR durch Übung!!! Wer zur Übung seinen eigenen Rechner mitbringen möchte, sollte sich bevorzugt für eine Gruppe in Raum P4.4.41 anmelden. Organisatorisches Melden Sie sich über das System StudInfo {flex zu dieser Veranstaltung an: https://studinfo.upb.de/cgi-bin/go?c=tifi_2005ws Dort können Sie sich insbesondere für eine der Übungsgruppen anmelden! Die Übungsblätter werden jeweils eine Woche vorher ins Web gestellt und in der Übung bearbeitet : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 9 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 10 StudInfo {flex : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 11 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 12
StudInfo {flex StudInfo {flex : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 13 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 14 StudInfo {flex Zugangskarten Für Login und Zugang zu den Rechnern benötigen Sie eine Zugangskarte vom IT-Zentrum (http://mb-s1.upb.de/mb-it/) Die Karten erhalten Sie im Raum P1.2.012 Öffnungszeiten: Dienstag 13 30 bis 15 00, Sonderöffnungszeiten: Mittwoch, 26. Okt., 10 00 bis 11 00 Freitag, 28. Okt., 9 30 bis 10 30 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 15 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 16 2. Begriffe Mechatronic Mechatronic Informatik Information und Daten Algorithmus Programm Programmiersprache Mechanik Elektronik Informatik Mechatronic Eingebettete Systeme : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 17 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 18
Informatik Information Wissenschaft von der Darstellung, der Verarbeitung, Speicherung, Übertragung und Wiedergewinnung von Information insbesondere von der automatischen Verarbeitung durch digitale Rechner. [frei nach Duden Informatik] Information umfaßt eine Nachricht zusammen mit ihrer Bedeutung (Semantik). [nach Informatik Duden] Viel besser kriegen wir die Definition noch nicht hin! : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 19 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 20 Information & Daten Information & Daten Pragmatik Information Daten Repräsentation Repräsentation 61 61 Interpretation Interpretation Repräsentation Interpretation Geschwindigkeit: 61 km/h : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 21 Geschwindigkeit: 61 km/h 1 1 1 1 0 1 32 16 8 4 2 1 interne : Technische Informatik für Ingenieure, WS 2005/06, Universität PaderbornDarstellung VL 1 22 Information & Daten Algorithmus Streng genommen können Rechner keine Information verarbeiten; sie können nur Daten verarbeiten. Nur vermöge der Interpretation von Daten wird letztendlich Information verarbeitet. Heute wird oft auch von der Wissensverarbeitung geredet! Was ist Wissen? Ein Algorithmus ist ein präzise Verarbeitungsvorschrift zur systematischen Lösung eines Problems durch Ausführung elementarer Einzelschritte. Die Bezeichnung Algorithmus leitet sich aus dem Namen des Mathematikers Ibn Mûsâ Al-Chwârismî aus dem 9. Jahrhundert ab. : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 23 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 24
Beispiele für Algorithmen Rechenregel Kochrezept Rechenregeln (Grundschule) Strickmuster Notenblatt Legobauplan Programme Addition: : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 25 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 26 Beispiele Algorithmus Berechnung der Fakultät einer Zahl n: n! n i=1 i 1 * 2 * 3 * * n Mulipliziere alle Zahlen von 1 bis n miteinander. Multipliziere alle Zahlen von 1 bis n in aufsteigender Reihenfolge miteinander. Ein Algorithmus kann in verschiedenen Sprachen und Notationen formuliert sein. Ein Algorithmus kann auf verschiedenen Abstraktionsebenen formuliert sein Was präzise und elementar ist, ist kontextabhängig. Was für einen Mathematiker elementar ( trivial ) ist, ist es für einen Erstklässer noch lange nicht. Was für eine Hauswirtschafterin elementar, ist es für einen Junggesellen noch lange nicht. Was für einen Menschen präzise ist, ist es für eine Maschine noch lange nicht. : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 27 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 28 Programm Beispiel: Fakultät berechnen Ein Algorithmus der in einer Notation formuliert ist, so daß er von einem Rechner ausgeführt werden kann heißt Programm. Eine solche Notation für Algorithmen heißt Programmiersprache. In der Vorlesung betrachten wir die Progammiersprache Java Das ist etwas viel auf einmal. Das wird im Laufe der Vorlesung alles noch genau erklärt; jetzt müssen Sie noch nicht alle Details verstehen. : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 29 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 30
Beispiel: Fakultät berechnen Beispiel: Fakultät berechnen n : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 31 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 32 Beispiel: Fakultät berechnen 3. Praxis Formalkram ist im Augenblick nicht wichtig, muß aber sein. Übersetzung und Start von Java-Programmen Entwicklungsumgebung (später) : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 33 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 34 Übersetzung und Start Beispiel: Fakultätsprogramm Programm (textuell) Programm (binär) public static void main (String[] Out.print("Geben Sie eine Zahl Übersetzung / Compilierung 0010100101 010110101... Bindung & Ausführung Out.println("Das Ergebnis ist " Fakultaet.java Fakultaet.class > javac Fakultaet.java > java Fakultaet : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 35 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 36
Beispiel: Fakultät berechnen Fakultaet.java In.java Out.java! " Fakultaet.java! # $ Fakultaet Unterlagen Die Programme In.java und Out.java finden Sie bei den Vorlesungsunterlagen: Benutzereingabe! In der ersten Übung sollen Sie u.a. das Beispielprogramm eingeben und zum Laufen bringen! Viel Spaß und Erfolg dabei! : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 37 : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 38 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, 2. Auflage 2004. Klaus Echtle, Michael Goedicke: Lehrbuch der Programmierung mit Java. dpunkt.verlag, 1. Auflage 2000. U.v.a.m. : Technische Informatik für Ingenieure, WS 2005/06, Universität Paderborn VL 1 39