Informatik Kurse 11-13.

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

der Universität Oldenburg
Klassen - Verkettete Liste -
Verteilte Software - Java - Prozedurale Programmierung 1
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
PKJ 2005/1 Stefan Dissmann Methoden (Motivation) Idee: Identische Programmabschnitte zusammenfassen und mit einem Namen versehen Vorteile: Übersichtlichkeit.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0);
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Planung einfache Dateibehandlung (externe Dateien, Öffnen, Lesen/Schreiben, Schließen). Diskussion des Problems, die Wörter in einem gegebenen Text.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
Verzweigung.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Rekursive Funktionen (Fakultät)
Wir haben gesehen Das Gerüst ist bei JavaKara fix vorgegeben
Einführung in die Programmierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
2.4 Rekursion Klassifikation und Beispiele
Einführung in JavaKara
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Rekursion-
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
Unterprogramme / Methoden
1 // Verkettete Liste 2 // demonstriert verkettete Listen und // Rekursion // (Einfügen am "Fuß") // #include struct Liste { int Element; Liste *weiter;
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Java Programme nur ein bisschen objektorientiert.
Schwarz, Lubkoll : Javakurs LE Organisatorisches ● Wer sind wir? ● Was machen wir hier? ● Was haben wir davon? ● Was habt ihr davon?
Praktische Informatik 1
Konstruktoren.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
2.4 Rekursion Klassifikation und Beispiele
Hello World! Javakurs 2013 Arne Kappen
JavaKara programmieren: Verzweigungen
JAVA lernen: Methoden.
Rekursion – Speicherverwaltung
Aufgaben zu Rückgabewerten
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Felder in Java.
Hintergrund Autoren von der PH Bern:
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Einführung in die Programmierung
Mit der Turtle Java Programmieren
Syntax: while ( BEDINGUNG ) { // Anweisungen die so lange immer wieder ausgeführt // werden, wie die Bedingung zutrifft } for (INITIALISIERUNG; BEDINGUNG;
Cäsar-Verschlüsselung
SS 04 Christiane Rauh Christian Hellinger
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Schleifen mit der Turtle
Mit Java die Turtle steuern
Cäsar-Verschlüsselung
Einführung in die Programmierung
Einführung in die Programmierung
REKURSION + ITERATION.
Grundkurs Informatik 11-13
Kara: act()-Methode.
Heapsort-Algorithmus
 Präsentation transkript:

Informatik Kurse 11-13

Der Tramp tanzt die Rekursion Fertig! Basisfall zünderUntersuchen(…) zünderUntersuchen(…) zünderUntersuchen(…) zünderUntersuchen(…) Rückmeldung: Zünder untersucht Rückmeldung: Zünder untersucht Rückmeldung: Zünder untersucht Rückmeldung: Zünder untersucht Informatik Kurse 11-13

Was wird ausgegeben #1  public class RekursionDemo{  #2    public static void main(String[] args){  #3        rekursion(5);  #4    }  #5    private static void rekursion(int a){  #6        a--;  #7        System.out.println(a);  #8        if (a!=0) rekursion(a);  #9        System.out.println(a);  #10   }  #11 } Informatik Kurse 11-13

Debug-Session Informatik Kurse 11-13

Übung Lassen Sie das Programm im Trace-Modus (F7) abarbeiten und beobachten Sie die Reihenfolge in der die Anweisungen abgearbeitet werden und welche Werte a im Laufe des Ablaufs annehmen Informatik Kurse 11-13

Der Akteur startet das Programm Sequenzdiagramm Der Akteur startet das Programm Der zurückführende Pfeil symbolisiert die Rekursion Informatik Kurse 11-13

Schreiben Sie ein Testprogramm für den ggT analog zu RekursionDemo ggT - rekursiv ggT(792,75) static int ggT(int a, int b){     if(a==b||b==0) return a;     else return ggT(b,a%b);  } ggT(75,42) ggT(42,33) ggT(33,9) ggT(9,6) Schreiben Sie ein Testprogramm für den ggT analog zu RekursionDemo ggT(6,3) „ggT(3,0)“ Informatik Kurse 11-13

Fakultaet vor der Zuweisug fakultaet nach der Zuweisung n! Version 1 static int fak(int n){    int fakultaet = 1;    int faktor = 1;    while (faktor <= n){       fakultaet = fakultaet*faktor;         //System.out.println(fakultaet);         faktor++;    }   return fakultaet; } import info1.*;  public class FakultaetTest{     public static void main(String[] args){        System.out.print("n: ");        int n = Console.in.readInt();        System.out.println("n! = "+fak(n));     }     static int fak(int n){        int fakultaet = 1;        int faktor = 1;        while (faktor <= n){          fakultaet = fakultaet*faktor;          //System.out.println(fakultaet);          faktor++;        }        return fakultaet;     }  } n . (n-1) . (n-2) . ... . 2 . 1 faktor in Bedingung Bedingung Fakultaet vor der Zuweisug fakultaet nach der Zuweisung faktor 1 true 2 3 6 4 24 5 120 false   Informatik Kurse 11-13

21! ist schon wieder nicht mehr berechenbar Ausgabe    static long fak(int n){        long fakultaet = 1;        int faktor = 1;        while (faktor <= n){          fakultaet = fakultaet*faktor;          System.out.println(fakultaet);          faktor++;        }        return fakultaet;     } 21! ist schon wieder nicht mehr berechenbar Informatik Kurse 11-13

n! Version 2 - rekursiv 0! = 1 und n! = n. (n-1)! private static long fakultaet(int n){    if (n==0) return 1;    else return n*fakultaet(n-1); } Informatik Kurse 11-13