Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in die Programmierung Folie 1 Uwe Lämmel Einführung in die Programmierung Zusammenfassung Uwe Lämmel Fakultät für Wirtschaftswissenschaften.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Programmierung Folie 1 Uwe Lämmel Einführung in die Programmierung Zusammenfassung Uwe Lämmel Fakultät für Wirtschaftswissenschaften."—  Präsentation transkript:

1 Einführung in die Programmierung Folie 1 Uwe Lämmel Einführung in die Programmierung Zusammenfassung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

2 Einführung in die Programmierung Folie 2 Uwe Lämmel Was ist Informatik? "Wissenschaft von der automatischen Informationsverarbeitung mit Hilfe von Computern, insbesondere dem Entwurf und der Formulierung von Algorithmen in angemessenen Sprachen sowie ihrer physikalischen Realisation." Meyers Neues Lexikon, 1993 Unsere Weltsicht:Dinge + Handlungen Begriffswelt der Informatik:Daten + Algorithmen

3 Einführung in die Programmierung Folie 3 Uwe Lämmel Programmiersprachen Maschinencode natürliche Sprache Compiler Programmierung Programm Programmiersprache ?

4 Einführung in die Programmierung Folie 4 Uwe Lämmel Einführung in die Programmierung Was hat es gebracht?

5 Einführung in die Programmierung Folie 5 Uwe Lämmel Was war? Objektorientierte Programmentwicklung ~ Klassen Typische Datenbehälter Suchverfahren und einfache Sortieralgorithmen

6 Einführung in die Programmierung Folie 6 Uwe Lämmel Was war? Programmentwicklung Bauplan-Klasse –Instanzvariable, Konstruktor, Zugriffsmethode –Vererbung ( class A extends B... ) –realisieren eines Interfaces ( class A implements C …) Methoden-Bibliothek (Bibliotheksklasse) –statische Methoden ausführbare Klasse –main-Methode

7 Einführung in die Programmierung Folie 7 Uwe Lämmel Was war? Programmierkonzepte Einfache Datentypen: int, double, boolean, char Referenz – Datentypen –eigene Klassen: Person, Student, Rechnung,… –Array, –vordefinierte Klassen: String, ArrayList Einfache Anweisungen –Zuweisung, Methoden-Aufruf, return, break Strukturierte Anweisungen –if, switch, –for-each, for, do, while Methoden –formale / aktuelle Parameter –Ergebnis Rekursion

8 Einführung in die Programmierung Folie 8 Uwe Lämmel Klasse - Bauplan class Klasse [extends Klasse1] { // Eigenschaften: Instanzen-Variablen (meist private) private int number; // Klassen-Variablen( static ) private static int anzahl; // Konstruktor(en) mit/ohne Parameter public Klasse(){ /* Initialisierungen */ } // Zugriffsmethoden: getX/setX public int getNumber() { return number; } public void setNumber(int n) { number=n; } // Arbeitsmethoden … }//Klasse

9 Einführung in die Programmierung Folie 9 Uwe Lämmel Vererbung fördert Wiederverwendung bessere Wartbarkeit Unterklasse - erbt Merkmale - erweitert Oberklasse Überschreiben: dynamischer Methodenaufruf Unterklassen-Objekte auch dort wo Oberklasse erwartet ev. Casting

10 Einführung in die Programmierung Folie 10 Uwe Lämmel Klasse als Bibliothek von Methoden class MaFkt { // Klassen-Methoden (static) public static int fakultaet(int n)... public static int fibonacci(int a)... public static int ueber(int n, int k) }//MaFkt

11 Einführung in die Programmierung Folie 11 Uwe Lämmel Ausführbare Klasse class Klasse [ throws Exception ] { // weitere Klassen-Methoden (static) möglich // main-Methode: public static void main(String[ ] args) { IntIO io = new Intio(); // Ein-Ausgabeobjekt // Verarbeitung: // Objekt-Erzeugung, Methoden-Auffrufe, … }//main }//Klasse

12 Einführung in die Programmierung Folie 12 Uwe Lämmel Methoden public static int[ ] bubbleSort(int[ ] folge, int anf, int ende) { int temp; … } // bubbleSort Methoden-Kopf (Signatur): – Sichtbarkeit (public, private, leer) – statisch (static) oder dynamisch (an Objekt) – void oder Ergebnis-Typ: int, String, Person[ ], … – Parameter-Liste: leer () oder Folge aus Typ und Name: (String[ ] args) … (String derName, int scheine) … Methoden-Körper: – lokale Variablen – Anweisungen, die einen Algorithmus beschreiben – Rückgabe des Ergebnis: return erg; // falls nicht void

13 Einführung in die Programmierung Folie 13 Uwe Lämmel Strukturierte Programmierung Jeder Algorithmus wird mittels –Sequenz, –Auswahl und –Wiederholung dargestellt BÖHM/JACOPINI: –Jeder Algorithmus lässt sich so darstellen.

14 Einführung in die Programmierung Folie 14 Uwe Lämmel Struktogramme Teile und Herrsche - Divide and Conquer Schrittweise Verfeinerung

15 Einführung in die Programmierung Folie 15 Uwe Lämmel Programmentwicklung Man zerlege eine Aufgabe in so viele Teile als es notwendig ist, bis man zu Teilen gelangt, die zu lösen sind. Descartes Diese Regel Descartes ist von geringem Nutzen, solange die Art der Zerlegung nicht erklärt wird. Der ungeübte Problemlöser kann durch falsche Zerlegung das Problem eher vergrößern Leibniz

16 Einführung in die Programmierung Folie 16 Uwe Lämmel Programmierstil Programm muss Problemlösung widerspiegeln; –erkennbare Programmgliederung –aufeinanderfolgende Anweisungen auf eine Zeile, wenn sie logisch zusammengehören: name=; nr=0; zf=max; // Initialisierungen Anweisungen eines Niveaus beginnen immer in derselben Spalte Einrücken von Unteranweisungen: 2-4 Leerzeichen gegenüber der strukturierten Anweisung: while(a

17 Einführung in die Programmierung Folie 17 Uwe Lämmel Kommentare Schnittstelle des Programms/ der Klasse/ Methode –WAS macht das Programm? –WELCHE Daten müssen bereitgestellt werden? –WO finde ich das Programm? –WER hat es erstellt ? –WANN wurde es erstellt ? (neueste Variante?) –WIE wird die Lösung erzielt(grob) ?

18 Einführung in die Programmierung Folie 18 Uwe Lämmel Erklärung lokaler Daten problembezogene Bezeichner (sprechende Namen) double radius; // millimeter ergänzende Kommentare über zugelassene Werte: int code ; // Werte : -1 - Fehler; Bedeutung der Indizes in Arrays: –Höhe, Breite, Tiefe verwendete Maßeinheiten

19 Einführung in die Programmierung Folie 19 Uwe Lämmel Sprechende Namen Faust: Wie nennst Du Dich? Mephistopheles: Die Frage scheint mir klein Für einen, der das Wort so sehr verachtet, Der, weit entfernt von allem Schein, Nur in der Wesen Tiefe trachtet. Faust: Bei Euch, ihr Herrn, kann man das Wesen Gewöhnlich aus dem Namen lesen,

20 Einführung in die Programmierung Folie 20 Uwe Lämmel Programmierstil! Anstatt anzunehmen, unsere Aufgabe sei es, dem Computer zu lehren, was er zu tun hat, sollten wir uns lieber darauf konzentrieren, dem Menschen zu erklären, was wir vom Computer wollen. Knuth, 1984

21 Einführung in die Programmierung Folie 21 Uwe Lämmel Was war? Datenbehälter Container, Abstrakte Datentypen, Collection … Sammlungen mit definierten Zugriffsmethoden –Trennung Interface und Implementation Keller, Stack, Stapel: LIFO (push, pop, peek, …) Schlange, Queue: FIFO (insert, delete, front, …) Baum: getLeft, setLeft, … –binärer Suchbaum: Suchen und Sortieren (Tabelle: Zugriff über Index) Implementation mittels: –Array –ArrayList –verkette Liste (rekursive Datenstruktur)

22 Einführung in die Programmierung Folie 22 Uwe Lämmel Was war? Suchen und Sortieren Suchverfahren –Lineare Suche: unsortierte Folge, Aufwand: O(n) –binäre Suche: sortierte Folge, O(log n) –Suche im binären Suchbaum O(log n) –Maximum (Minimum) einfache Sortieralgorithmen –SelectSort: immer O(n²), Teilfolgen fertig –BubbleSort: O(c).. O(n²), erkennt sortierte Folge –InsertSort: O(n²), Einfügen neuer Elemente –Quicksort: O(n log n) –Ausgabe eines binären Suchbaums (LWR)

23 Einführung in die Programmierung Folie 23 Uwe Lämmel Was war nicht? – Programmentwicklung – Analyse, Spezifikation, Entwurf, Codierung, Test – Java - Konzepte, die nicht betrachtet wurden: – Dateiarbeit, (java.io.*) – Oberflächen, (java.awt.*; javax.swing.*) – Einbindung in HTML (Applets: java.applet) – Parallele Prozesse (Threads: java.lang.Thread)

24 Einführung in die Programmierung Folie 24 Uwe Lämmel Viel Erfolg O glücklich, wer noch hoffen kann, Aus diesem Meer des Irrtums aufzutauchen! Goethe, Faust I


Herunterladen ppt "Einführung in die Programmierung Folie 1 Uwe Lämmel Einführung in die Programmierung Zusammenfassung Uwe Lämmel Fakultät für Wirtschaftswissenschaften."

Ähnliche Präsentationen


Google-Anzeigen