EINI EINI Einführung in die Einführung in die Informatik Informatik für für Naturwissenschaftler Naturwissenschaftler und Ingenieure I und Ingenieure I Vorlesung 2 SWS WS ‘00/01 Prof. Dr. Gisbert Dittrich (Dipl.-Inform. Jörg Westbomke) Vertreter: Prof. Dr. Claudio Moraga
70
Embed
EINI Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 00/01 Prof. Dr. Gisbert Dittrich (Dipl.-Inform. Jörg Westbomke)
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
EINIEINIEinführung in die Informatik Einführung in die Informatik
für Naturwissenschaftler für Naturwissenschaftler und Ingenieure Iund Ingenieure I
Datei full.exe (ca. 14 MB) oder das Unterverzeichnis full-split
herunterladen
2.) In jeder Übungsgruppe ist eine vorbereitete CD mit allen
notwendigen Dateien zum Ausleihen vorhanden.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 26
Gnu C++ - Compiler IIIGnu C++ - Compiler III
• Installationsanleitung (Win 95/98/NT)
- Starten des Installationsprozesses durch Doppelklick
auf die Datei full.exe
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 27
Gnu C++ - Compiler IVGnu C++ - Compiler IV
• Installationsanleitung (Win 95/98/NT)
- Bestätigen des Dialoges durch den Knopf Next >
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 28
Gnu C++ - Compiler VGnu C++ - Compiler V
• Installationsanleitung (Win 95/98/NT)
- Akzeptieren der Gnu General Public License durch
Yes
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 29
Gnu C++ - Compiler VIGnu C++ - Compiler VI
• Installationsanleitung (Win 95/98/NT)
- Auswahl des Zielordners durch Browse oder Über-
nehmen der Voreinstellung. Weiter mit Next >
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 30
Gnu C++ - Compiler VIIGnu C++ - Compiler VII
• Installationsanleitung (Win 95/98/NT)
- Auswahl der Gruppe im Programmordner des
Startdialoges. Weiter mit Next >
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 31
Gnu C++ - Compiler VIIIGnu C++ - Compiler VIII
• Installationsanleitung (Win 95/98/NT)
- Erfolgreiche Installation. Weiter mit Finish
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 32
Gnu C++ - Compiler IXGnu C++ - Compiler IX
• Bedienung– Vor dem ersten Start den Ordner c:\tmp von Hand
erzeugen!!!– Start der Shell durch Aufruf aus der
Programmgruppe.– Start des Compilers durch g++ <Dateiname>– Das compilierte Programm wird unter dem Namen a.exe erzeugt.
– Ausführen des erzeugten Programmes durch eintippen von ./a <enter>
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 33
Gnu C++ - Compiler XGnu C++ - Compiler X
Aufruf des Compilers
Erzeugtes ausführbares Programm
Aufruf des Programms
./a
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 34
Anregungen zur Veranstaltung EINI IAnregungen zur Veranstaltung EINI I
• zur Vorlesung:– Besuch der Vorlesung
• Nacharbeiten der Vorlesung anhand:
– Bücher– evtl. Folien (inkl. eigener Ergänzungen!)– zusätzlicher Literatur (angegebene und selbst gefun-
dene; Fachbibliotheken aufsuchen, aus dem Netz !!)
– zu Übungen:• Besuch (bitte zu Hause vorbereiten!)
• aktive Teilnahme : – Bearbeiten von Aufgaben (schriftlich resp. am
Rechner!)– Vortragen der bearbeiteten Aufgaben--> Schein !!
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 35
Anregungen zur Veranstaltung EINI IAnregungen zur Veranstaltung EINI I
• Zeitaufwand: – ca. die 2-fache Zeit außer der Zeit für den Besuch
von Vorlesung und Übungen
• zu Prüfungen: – EINI I ist eingebunden in Klausuren s.o.– Empfehlung: Vorbereitung in Gruppen– In der Sache:
• Schriftlich vorliegendes Material (vor allem revidiertes Material) durcharbeiten.
• Erst in die "Breite", dann in die "Tiefe" lernen.
Überblick bekommen, Zusammenhänge sehen.
Dabei die Details auch beherrschen lernen.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 36
Anregungen zur Veranstaltung EINI IAnregungen zur Veranstaltung EINI I
• zu Prüfungen: – In der Sache: Fortsetzung
• Beispiele zu allen wesentlichen Begriffen zurechtlegen.
• Üben, sich in Fachsprache auszudrücken (inkl. For-malismen !).
• Miteinander lernen
• Reihum Tutor/Prüfer spielen.
– Sonstige Informationen, insbesondere aus Fachschaft
– Anmeldung dann, wenn erfolgreiche Prüfungsvor-bereitung gesichert ist.
– Zeitaufwand : Individuell
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 37
Gliederung Prolog Teil IIGliederung Prolog Teil II
• Anmerkungen zur "Informatik"• Ziel der Veranstaltung• Schwerpunkte• Aufbau der Veranstaltung• Literatur
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 38
Anmerkungen zur "Informatik"Anmerkungen zur "Informatik"
• Ziel: – Knappen Überblick über die Informatik geben, damit
der Stoff dieser Vorlesung eingeordnet werden kann.
• Kernaspekt der Informatik– Erster Ansatz: (Wie später zu sehen, nur ein Aspekt!)
• Informatik ist die Wissenschaft, die die methodische Beherrschung algorithmisch lösbarer Probleme behandelt.
• Wesentlich: algorithmisch lösbares Problem und damit Begriff des Algorithmus.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 39
Anmerkungen zur "Informatik"Anmerkungen zur "Informatik"
– Hier nur intuitive Begriffsbestimmung.
– "Definition" (korrekt: informelle Umschreibung) : • Ein Algorithmus ist ein Verfahren zur Lösung von
Einzelproblemen einer definierten Problemklasse. Dieses Verfahren ist formal so präzise definiert, daß es im Prinzip von einer Maschine (rein mechanisch) ausgeführt werden kann.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 40
Anmerkungen zur "Informatik"Anmerkungen zur "Informatik"
• Beispiel:– Wir sagen: eine Zahl n N ist gerade, gdw. es eine
Zahl m N gibt, so daß gilt: n = m + m. – Diese Eigenschaft kann “rein mechanisch” an ihrer
Dezimaldarstellung entschieden werden:
• Algorithmus: “Test auf Geradheit”– gegeben: Ziffernfolge z– gesucht: Ist die dargestellte Zahl gerade?– Damit ist die Problemklasse definiert: Jede
Ziffernfolge ist ein Einzelproblem der Klasse– Lösung: z stellt gerade Zahl dar letzte Ziffer
{0,2,4,6,8}.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 41
Anmerkungen zur "Informatik"Anmerkungen zur "Informatik"
• Algorithmus: “Test auf Geradheit” Fortsetzung– Die Lösung des vorgelegten Einzelproblems ist die
(korrekte) Antwort auf die – Frage: Stellt die Ziffernfolge eine gerade Zahl dar
oder nicht? Mathematisch korrekt ? (Übung)– Diese Antwort lautet: “ja” oder “nein”.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 42
Anmerkungen zur "Informatik"Anmerkungen zur "Informatik"
• Ableitung typischer Fragestellungen und damit Teilgebiete der Informatik– Spezifikation
• Wie werden Problemklassen und Einzelprobleme genügend exakt formuliert?
– Verifikation • Eine Problemklasse läßt sich häufig durch eine
Funktion, d.h. durch eine Abbildung f: I -> 0 (I: Inputs; 0: Outputs) beschreiben.
• Ein Algorithmus A stellt zwischen den Eingaben und Ausgaben ebenfalls eine solche Abbildung dar
fA: I -> 0, wobei I die Eingabemenge und 0 die Aus-gabemenge ist.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 43
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
– Verifikation (Fortsetzung)• Man sagt: Der Algorithmus A ist korrekt bezüglich f,
wenn gilt: fA= f, d.h. wenn A die spezifizierte Ein-Ausgabefunktion f realisiert.
• Der Nachweis dieser Korrektheit ist i.a. ein schwieriges Problem und wird mit Verifikation bezeichnet.
– Programmierung: • Wie wird das Verfahren beschrieben?
• Welche sprachlichen Mittel stehen zur Verfügung?
• Diese Fragen führen auf sehr unterschiedliche “Rechenmodelle”, die man zur Berechnung der Ein-Ausgabefunktion benutzen kann.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 44
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
– Datenstrukturen: Objekte, auf denen unsere Algorithmen operieren.
• Die Objekte, die durch Algorithmen manipuliert werden, können strukturiert sein. Die Strukturierung dieser Objekte ist auf das engste mit der Darstellung des Algorithmus verbunden.
--> !! Algorithmus und Datenstruktur hängen somit untrennbar zusammen.!!
• Jede Formulierung eines Algorithmus enthält eine Beschreibung der Daten, auf denen der Algorithmus operiert.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 45
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
– Effizienz: • Frage:
Wenn verschiedene Algorithmen, etwa A und B, die gleiche Funktion zwischen Eingaben und Ausgaben herstellen (realisieren), wie kann man beurteilen, ob einer von ihnen “besser” ist als der andere?
• Zwei wichtige Maße zur Beurteilung von Algorithmen:
• Zeitkomplexität • Raumkomplexität
• Diese Maße können zum Vergleichen von Algorithmen verwendet werden.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 46
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
– Entwurfsmethodik (--> Software Engineering):• Wie entwickelt man komplexe Algorithmen/Systeme ?
• Behandlung von Fehlern?
• Wiederverwendbarkeit
• Modifizierbarkeit
• Projektmanagement
• ..........
– Syntax-Semantik: Beispiel: ROM
• Informatik ist nicht:• akademischer Programmierkurs
• Einweihung in die letzten noch offenen Geheimnisse eines konkreten Rechners.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 47
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
• Weitere Versuche, den Begriff "Informatik" zu erfassen:– "Informatik" nach “Informatik Spektrum” (1985)
• Informatik ist die Wissenschaft von der systematischen und automatisierten Verarbeitung von Informationen.
• Sie erforscht grundsätzliche Verfahrensweisen der Informationsverarbeitung und allgemeine Methoden ihrer Anwendung in den verschiedensten Bereichen.
• Für diese Aufgabe wendet die Informatik vorwiegend formale und ingenieurmäßig orientierte Techniken an. Durch Verfahren der Modellbildung sieht sie beispielsweise von den Besonderheiten spezieller
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 48
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
Datenverarbeitungssysteme ab; sie entwickelt Standardlösungen für die Aufgaben der Praxis.
– Diese Umschreibung sagt wenig über Inhalte, jedoch viel über die Methodik dieser Wissenschaft.
• Formale Methoden
• Modellbildung: Modelle = Abstraktionen von realen Sachverhalten
– Die Themen in diesen Gebieten umfassen u.a.:
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 49
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
– Angewandte Informatik• z.B. Medizinische Informatik (d.h. Informatik (resp.
Geräte der Informatik), eingesetzt in der oder für die Medizin)
--> Praktisch alle Lebensbereiche werden heute von der Informatik berührt/ durchsetzt
– Informatik und Gesellschaft• v.a. gesellschaftliche Auswirkungen der Informatik
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 53
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
• "Informatik" nach "Brauer-Münch: Studien- und Forschungsführer Informatik, 3. Auflage, Springer 1996"– " Das Gebiet der Informatik läßt sich wegen ihres
universellen Charakters nicht einfach eingrenzen; der Begriff Informatik kann nicht knapp definiert werden, er hat sich in den letzten Jahren stark erweitert und wird sich schnell weiterentwickeln."
– Dennoch: – " Informatik läßt sich ... kennzeichnen durch die drei
Begriffe
Intelligenz-Formalismen-Technik“
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 54
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
• Etwas allgemeiner:– " Informatik ist die (Ingenieur-) Wissenschaft von
• der theoretischen Analyse und Konzeption
• der organisatorischen und technischen Gestaltung sowie
• konkreten Realisierung von (komplexen) Systemen
• aus miteinander und mit ihrer Umwelt kommuni-zierenden (in gewissem Maß intelligenten und autono-men) Agenten oder Akteuren, die als Unterstützungs-systeme für den Menschen in unsere Zivilisation eingebettet werden müssen.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 55
Anmerkungen zur "Informatik“Anmerkungen zur "Informatik“
• (Mit Agenten/Akteuren sind Softwaremodule, Maschinen oder roboterartige Geräte gemeint.)“ (Interpunktion geändert)
– Geht also deutlich über die Sichtweise von "Informatik" als "Computerwissenschaft" hinaus !!
– Informatik hat Bezug zu fast allen Bereichen !!!
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 56
Programmiersprachen und DenkweisenProgrammiersprachen und Denkweisen
• Vorbemerkung zu "Sprache"– Denken <--> Sprache– Fachsprachen:
• für komplexe Sachverhalte mit akzeptablem Aufwand
• für Fachleute
– Programmiersprache: • syntaktische Form, um Problemlösungen zu beschrei-
ben
• muß von einer Maschine interpretiert werden können
– >Der Programmierer muß genau wissen, wie die Maschine die vereinbarte Sprache interpretiert.
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 57
Programmiersprachen und DenkweisenProgrammiersprachen und Denkweisen
• Weniges zur Historie– in den 30er Jahren:
• Präzisierung von - berechenbare Funktion - Algorithmus
– (Turing-Maschine, -rekursive Funktion, -Kalkül)
– in den 40er Jahren: • Reale technische Entwicklung von Rechenmaschinen:
K. Zuse, J. v. Neumann, ....
– Auf Maschinen bezogene Programmiersprachen:• Maschinensprache: nutzt direkt Registerstruktur, ALU
der konkreten Maschine.• Assemblersprache: symbolische Namen, mnemonische
Bezeichnungen für Operationen ("Add")
Kapitel 0: PrologVorl “EINI-I"
15. Okt. 2000 58
Programmiersprachen und DenkweisenProgrammiersprachen und Denkweisen