Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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)

Ähnliche Präsentationen


Präsentation zum Thema: "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)"—  Präsentation transkript:

1 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) Vertreter: Prof. Dr. Claudio Moraga

2 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gliederung Organisatorisches Technisches Übungen Rechnerzugang Installation des Gnu C++-Compilers Bedienung des Gnu C++-Compilers Anmerkungen zur Informatik

3 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Organisatorisches II Sprechstunde Prof. Dr. G. Dittrich: Dienstag: Uhr Otto-Hahn-Str. 16, Zi. 217 / Technologie Park Tel ls1.cs.uni-dortmund.de Sprechstunde Prof. Dr.-Ing. Claudio Moraga: Mittwoch: 9:30-11:00 Uhr Otto-Hahn-Str. 16, Zi. 216 Tel

4 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Organisatorisches III Lageplan der Otto-Hahn-Str. 2. Stock, Raum 216

5 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Technisches Stellung der Vorlesung: Vorlesung für Studierende anderer Fachbereiche –Elektrotechnik: Grundlagen der Informatik I –Logistik (3.Sem.) –Informationstechnik –Magister FB 15 –Chemie

6 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Technisches II Untergliederung der Vorlesung –EINI-I (diese Vorlesung) Einführende Veranstaltung –prozedurale Programmierung mit C und einer Hinwendung zu C++ –EINI-II (SS 2001) Weiterführende Veranstaltung –objektorientierte Programmierung mit C++

7 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Technisches III Prüfung: Klausur –Elektrotechnik: Grundlagen der Informatik I/II Stoff: EINI I + II 4stdg, nach dem SS (Nachklausur nach dem WS) –Logistik: Grundlagen der Datenverarbeitung Stoff: EINI I + Grundlagen der Datenverarbeitung 2stdg, nach dem WS –Andere Fachbereiche: Siehe eigene Prüfungsordnung

8 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Technisches IV Darstellungsform in der Vorlesung: – Präsentation: i.w. über Folien, aus dem Rechner heraus Unterlagen –Vorab: Literatur (Literaturverweise auf nachfolgenden Folien beachten) –Zudem (geplant): Online - Zugang auf aktuelle Folien etc.: PowerPoint resp. PDF + evtl. Ergänzungen –Schriftliche Ausarbeitung als Skript: nein

9 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Das siebte Buch: Objektorientierung mit C++ Ernst-Erich Doberkat Teubner Verlag. Stuttgart, Leipzig, Wiesbaden 2000

10 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Übungen Angaben zu den Übungen –Übungsleiter: Dr. Eike Riedemann Dipl.-Inform. Jörg Westbomke –Termin(e): Mi, Uhr und Uhr Otto-Hahn-Str. 16 / R. 205 Fr, Uhr ( Logistiker) Otto-Hahn-Str. 16 / R. 205 –Veranstaltungsmodi: 2 wöchentlich / 2 stündig Start der Übungen: –In der 45. KW ( )

11 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Stock, Raum 205 Lageplan der Otto-Hahn-Str. Übungen II

12 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Übungen III Gruppeneinteilung: –6 Gruppen: Gruppe 1+2 Westbomke Gruppe 3-6 Riedemann –Gruppe 1+2 Mittwochs, Uhr –Gruppe 3+4 Mittwochs, Uhr –Gruppe 5+6 Freitags, Uhr (Logistiker) Eintragen in die Übungsgruppen Ausfüllen des Anmeldezettels Vergabe der Prioritäten 1-3; Logistiker Gruppe 5+6 Deutlich in Druckbuchstaben schreiben!!!

13 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Übungen IV Beginn des Übungsbetriebes: 8. NovemberGruppe NovemberGruppe NovemberGruppe NovemberGruppe 5 Danach finden die Übungsstunden im 2 Wochen- Rhythmus statt.

14 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Übungen V Ausgabe der Übungsblätter: –Freitags nach der Vorlesung Abgabe der Übungsblätter: –Jeweils bis zu dem folgenden Freitag 10 Uhr in dem Briefkasten 34 im Hörsaal-Gebäude II. –Gruppenabgaben mit bis zu 3 Personen pro Abgabe sind zugelassen.

15 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Übungen VI Übungsschein –Min. 50% der erreichbaren Punkte –Min. 10 Übungszettel bearbeitet –Mündl. Mitarbeit Übungsscheinpflicht: –Siehe eigene Prüfungsordnung

16 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Übungen VII Einige private Anmerkungen zu Übungen: –Bitte hingehen, denn: Programmieren kann man nur bedingt theoretisch erlernen: Praxis ist wichtig!!! In der Übung ist Zeit die Fragen zu stellen, die in der Vorlesung nicht behandelt werden können. Vergleichbare Veranstaltungen haben gezeigt, daß der Besuch der Übung die beste Vorbereitung auf die Klausur ist.

17 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Übungen VIII Die Übungen sind als praktische Übungen ausgelegt. Es muß selbst programmiert werden!!!

18 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Rechnerzugang Über den eigenen (Heim-)PC –Windows 9x/NT: Public Domain verfügbar + Installationsanweisung wird gestellt (siehe nachfolgende Folien) –Linux Zumeist fester Bestandteil der Distributionen (z.B. Zuse od. Red Hat) +Public Domain verfügbar –Unix Zumeist fester Bestandteil der Distributionen an der UniDo + Public Domain verfügbar –Macintosh derzeit nicht als Public Domain verfügbar

19 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Rechnerzugang II Über einen Uni-Account –Elektrotechnik Zugang über Accounts des Programmiertechnischen Praktikums (PTP) –Andere Accounts des HRZ können vergeben werden –Vorwiegend für Logistiker ohne eigenen PC –Werden in der ersten Übungsstunde von den Betreuern verteilt –Unix-Accounts im UXP1-Cluster des HRZ

20 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Rechnerzugang III Standorte der HRZ-Rechner (Campus Nord) EF 50 R Maschinen Mathe E12+13 u.U26 ca. 15 Maschinen Chemie C ca. 10 Maschinen

21 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Was ist ein Compiler ? Wozu brauche ich ihn beim Programmieren ? Was macht ein Compiler ? Compiler Gnu C++ - Compiler Idee zur Lösung eines Problems Formulierung eines Programms (C++ Syntax) Aus- führung Übersetzung Laufzeit- System ausführbares Programm (Maschinensprache) Was bedeutet Gnu ?

22 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu : Das GNU-Projekt startet 1984 mit dem Ziel, ein Unix-ähnliches Betriebssystem zu entwickeln und über Internet kostenlos verfügbar zu machen. GNU wird (Auf Englisch) rekursiv definiert: Gnus Not Unix Siehe

23 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Was ist ein Compiler ? Wozu brauche ich ihn beim Programmieren ? Was macht ein Compiler ? Compiler Gnu C++ - Compiler Idee zur Lösung eines Problems Formulierung eines Programms (C++ Syntax) Aus- führung Übersetzung Laufzeit- System ausführbares Programm (Maschinensprache)

24 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler Public Domain C++-Compiler und -Debugger Verfügbar für Wintel, Unix und Linux Kommandozeilen orientierte Oberfläche

25 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler II Verfügbar unter: 1.) ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/ mirrors/cygnus/latest/ 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.

26 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler III Installationsanleitung (Win 95/98/NT) - Starten des Installationsprozesses durch Doppelklick auf die Datei full. exe

27 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler IV Installationsanleitung (Win 95/98/NT) - Bestätigen des Dialoges durch den Knopf Next >

28 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler V Installationsanleitung (Win 95/98/NT) - Akzeptieren der Gnu General Public License durch Yes

29 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler VI Installationsanleitung (Win 95/98/NT) - Auswahl des Zielordners durch Browse oder Über- nehmen der Voreinstellung. Weiter mit Next >

30 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler VII Installationsanleitung (Win 95/98/NT) - Auswahl der Gruppe im Programmordner des Startdialoges. Weiter mit Next >

31 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler VIII Installationsanleitung (Win 95/98/NT) - Erfolgreiche Installation. Weiter mit Finish

32 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu 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++ –Das compilierte Programm wird unter dem Namen a.exe erzeugt. –Ausführen des erzeugten Programmes durch eintippen von./ a

33 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gnu C++ - Compiler X Aufruf des Compilers Erzeugtes ausführbares Programm Aufruf des Programms./a

34 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Anregungen 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 !!

35 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Anregungen 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.

36 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Anregungen 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

37 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Gliederung Prolog Teil II Anmerkungen zur "Informatik" Ziel der Veranstaltung Schwerpunkte Aufbau der Veranstaltung Literatur

38 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.

39 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.

40 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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}.

41 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.

42 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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 f A : I -> 0, wobei I die Eingabemenge und 0 die Aus- gabemenge ist.

43 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Anmerkungen zur "Informatik – Verifikation (Fortsetzung) Man sagt: Der Algorithmus A ist korrekt bezüglich f, wenn gilt: f A = 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.

44 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.

45 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.

46 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.

47 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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

48 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.:

49 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Anmerkungen zur "Informatik –Theoretische Informatik Mathematische Maschinen Automatentheorie Formale Sprachen (Syntax Theorie) Semantik von Programmiersprachen Berechenbarkeit Komplexität von Algorithmen Schaltwerktheorie/Theorie des Logikentwurfs Abstrakte Datentypen Theorie paralleler Prozesse Künstliche Intelligenz

50 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Anmerkungen zur "Informatik –Praktische Informatik Programmiersprachen (Anwendung, Methodik) Datenstrukturen und ihre Implementationen Compilerbau Betriebssysteme Datenbanken und Informationssysteme Software Engineering Computer Grafik und CAD Kommunikations-Software, Rechnernetze Expertensysteme Bildverarbeitung Mensch-Maschine-Interaktion

51 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Anmerkungen zur "Informatik –Technische Informatik Rechnerarchitektur Speicherorganisation und -Technologie Schaltnetzwerke und Mikroprogrammierung Mikroprozessoren VLSI Entwurf Telekommunikation, Rechnerverbund (--> Internet, WWW) Peripheriegeräte Spracheingabe Bildabtastung

52 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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

53 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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

54 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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.

55 Kapitel 0: Prolog Vorl EINI-I" 15. Okt 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 !!!

56 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen 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.

57 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen 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")

58 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen und Denkweisen "Höhere" Programmiersprachen: abstrakter, verwenden komplexe "Formeln" Geeignete Übersetzungsalgorithmen (Compiler, Assem- bler,..) erlauben (automatische) Rückführung auf "niedere" Sprachen. –Unterschiedlich ausgeprägte Sprachen gestatten unterschiedlich gut, gewisse Denkweisen (siehe unten) zu unterstützen.

59 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen und Denkweisen Klassifikation nach "Denkweisen" (Paradigmen) –"Problemorientiert": Erlaubt, eine abstrakte Maschine zu definieren mit: –Speicherplätze für Datenobjekte, beschrieben durch (Programm-)Variable –Wertzuweisung (Assignment) – Expliziter Kontrollfluß (GOTO, FOR-Schleife,....) (Jedoch abstrakt an Maschine (- nach "unten" -) orientiert) Diese Sprachen werden auch imperative/prozedurale Sprachen genannt. Beispielsprachen: –FORTRAN - BASIC - PASCAL - C

60 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen und Denkweisen Klassifikation nach "Denkweisen (Forts.) –Funktionsbezogene Programmiersprachen: Spezifikation des Eingabe - Ausgabeverhaltens für ein Problem als Funktion –f : I O Black-Box: Beispielsprachen: –LISP (List Processing, Datenstruktur: Listen (MacCarthy seit 1960) –Abkömmlinge/Dialekte:.. SCHEME (am MIT entwickelt) –Möglich, hierin rein funktional zu programmieren Syntax sehr einfach Konzentration auf die Semantik –Programme werden i. d. R. mit Hilfe eines Interpreters ausgeführt. i I f f(i) = o O

61 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen und Denkweisen Klassifikation nach "Denkweisen (Forts.) –Relationen- (Logik-)bezogene Programmiersprachen: Relation auffaßbar als Menge von Beziehungen zwischen Objekten. Beispiel: - ist Kind von -: Peter ist Kind von Ursula Ursula ist Kind von Ute Relationen mit Mitteln der Prädikatenlogik formalisier- bar.

62 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen und Denkweisen Klassifikation nach "Denkweisen (Forts.) Logisches Programm: –Datenbasis (Menge von vorgegebenen Relationen) –Menge von Regeln –Goal (Anfrage): Behauptung, daß eine Beziehung besteht. Interpreter versucht hier, mit Hilfe der Methoden des formalen Beweisens der Prädikatenlogik Goals zu beweisen. Beispielsprache: PROLOG

63 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen und Denkweisen Klassifikation nach "Denkweisen (Forts.) –Objektorientierte Programmiersprachen - Zentraler Begriff: Objekt: Größe/Entität beschrieben durch: Eigenschaften, die einem Objekt eigen sind. –Z.B. Punkt "hat" die Koordinaten (x,y) Operationen, die daran ausgeführt werden können. –Z.B.: - Verschieben eines Punktes um (x,y) - Abfrage, in welchem Quadranten ein Punkt liegt. - Zentrales Vorgehen: Operationen an Objekten ausführen --> Message passing

64 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Programmiersprachen und Denkweisen Klassifikation nach "Denkweisen (Forts.) –Zentrales Anliegen: Effizientes Strukturieren der Beschreibung von Objekten --> Klassen, Klassenhierarchie (--> Vererbung) "Objektorientiertes" Programm beschreibt i.a. Kommunikation zwischen Objekten –Beispielsprachen: Smalltalk, Eiffel, BETA (Vorläufer: Simula), C++, weitere Erweiterungen imperativer Sprachen (z.B. Objective C, Object Pascal,...) Java

65 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Ziel der Veranstaltung Praktische Einführung in einige Methoden der Informatik, insbesondere in die Programmie- rung. Einführung in eine Programmiersprache [C++] Einblick in wichtige Algorithmen [Sortieren, Suchen, Numerik,...] Überlegungen zur systematischen Konstruktion von Programmen

66 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Schwerpunkte Erlernen einer Programmiersprache Studium wichtiger Grundalgorithmen In diesem Semester: prozedurale Programmierung mit C und einer Hinwendung zu C++ Im nächsten Semester: objektorientierte Programmierung mit C++

67 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Aufbau der Veranstaltung Vorlesung Übungen Praktikum Konzepte Vertiefung Realisierung

68 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Literatur A. E. Aho, J. D. Ullman: Foundations of Computer Science. Computer Science Press, Rockville, MD, 1992/1996 (Teil I) A. E. Aho, J.E. Hopcroft, J.D. Ullman: Data Structures and Algorithms. Addison-Wesley, Reading, MA, 1982 (II) T. H. Corman, C.E. Leiserson, R. L. Rivest: Introduction to Algorithms. The MIT Press, Cambridge, MA, 1990 (II) E.-E. Doberkat: Das siebte Buch: Objektorientierung mit C++. Teubner-Verlag, Wiesbaden, 2000 N. Josuttis: Objektorientiertes Programmieren Addison- Wesley, Bonn, 1994 (I)

69 Kapitel 0: Prolog Vorl EINI-I" 15. Okt Literatur N. Josuttis: Die C++-Standardbibliothek. Addison- Wesley, Bonn, 1996 (I/II) Kernighan, B., Ritchie, D.: Programmieren in C, Hanser Verlag, München, (I) Prinz, P., Kirch-Prinz, U.: Objektorientiert programmie- ren mit ANSI C++, Prentice Hall, München, 1998 (II) Ellis,M., Stroustrup, B.: The annotated C++ Reference Manual, Addison-Wesley, Reading MA, 1990 M. Schader, S. Kuhlins: Programmieren in C++. Springer-Verlag, Berlin, 1993 (I)

70 Kapitel 0: Prolog Vorl EINI-I" 15. Okt ANSI: American National Standards Institute ASCII: American Standard Code for Information Interchange


Herunterladen ppt "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)"

Ähnliche Präsentationen


Google-Anzeigen