Hallo Welt für Fortgeschrittene

Größe: px
Ab Seite anzeigen:

Download "Hallo Welt für Fortgeschrittene"

Transkript

1 Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra II Benjamin Fischer Informatik 2 Programmiersysteme Martensstraße Erlangen

2 Gliederung Lineare Rekursion BigInteger Chinesischer Restsatz Diophantische Gleichungen Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 2

3 Lineare Rekursion - Fibonacci Wir betrachten die Fibonacci-Folge mit der Differenzengleichung: Wir wissen bereits Naiver Ansatz : rekursive Berechnung stößt schnell an seine Grenzen... Dynamische Programmierung hoher Speicheraufwand Formel von Moivre/Binet ungenau für große n Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 3

4 Lineare Rekursion Für viele Folgen exisitiert eine lineare Differenzengleichung der Form: mit k Konstanten c i und k Startwerten a i Diese treten bei fast allen linear rekursiven Problemen auf Wie berechnet man diese effizient? Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 4

5 Lineare Rekursion - Fibonacci Berechnung mit der Fibonacci Q-Matrix: Satz von Cassini Fibonacci rekursiv Herleitung an der Tafel... Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 5

6 Herleitung zusammengefasst ;) Schreibe (2) als Ergibt mit den Startwerten Also Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 6

7 Lineare Rekursion - Fibonacci Was bringt uns das? Matrix-Multiplikation ist assoziativ Potenzgesetze ausnutzen Gesamtlaufzeit für n x n Matrix Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 7

8 Fibonacci Vergleich Laufzeiten Rekursiv Dynamische Programmierung Q-Matrix Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 8

9 Lineare Rekursion Fibonacci (Beispiel) Berechnung von Fib(42) Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 9

10 Lineare Rekursion Weiteres Beispiel Gegegeben sei die lineare Differenzengleichung Mit den Startwerten In Matrixform Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 10

11 Lineare Rekursion Weiteres Beispiel (2) Lösung Beispiel für n = 4 Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 11

12 BigInteger Motivation Primitive Datentypen (int/float, long/double, usw.) für viele numerische Berechnungen nicht ausreichend Maximal int128 mit 16 Byte, Wertebereich: -1,7*10 38 bis 1,7*10 38 (signed), 0 bis 3,4 *10 38 (unsigned) Zum Beispiel in der Kryptografie, Finanzmathematik, numerischen Algebra,... Übersicht für Programmiersprachen (Beispiel in Java): C/C++ : gmp-library Haskell/Python : implizit, aufgrund eines anderen Paradigma Java : BigInteger Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 12

13 BigInteger Die Klasse java.math.biginteger Ermöglicht das Rechnen mit Ganzzahlen beliebiger Größe Bietet weitere Funktionalitäten wie Bestimmung des ggt Modulare Arithmetik Erzeugung von Pseudo-Primzahlen Analog für Gleitkommazahlen mit java.math.bigdecimal Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 13

14 BigInteger Übersicht einiger Methoden Konstruktoren // erzeugt BigInteger-Objekt mit Ziffern-String BigInteger ( String val ) ; // erzeugt BigInteger-Objekt mit Ziffern-String zur Basis radix BigInteger ( String val, int radix ) ; // erzeugt BigInteger-Objekt mit Byte-Array im Zweierkomplement BigInteger ( byte[] val ) ; // BigInteger konstant 1 final BigInteger ONE ; // BigInteger konstant 10 final BigInteger TEN ; Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 14

15 BigInteger Arithmetische Operatoren // Addition BigInteger add ( BigInteger val ) ; // Multiplikation BigInteger multiply ( BigInteger val ) ; // Subtraktion BigInteger subtract ( BigInteger val ) ; // usw... // Bestimmung des ggt BigInteger gcd ( BigInteger val ) ; // Primzahl-Test boolean isprobableprime ( int certainty ) ; Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 15

16 BigInteger mit Fibonacci-Q-Matrix import java.math.biginteger ; public class BigInt { public static BigInteger[][] Q = new BigInteger[2][2]; public static BigInteger[][] res = new BigInteger[2][2]; public static void main ( String[] args ) { initq(q); inite(res); ComputeFibQ(10000); } public static void computefibq ( long n ) { pow(q,n,res); System.out.println( "Fib(" + n + ") = " + res[0][1].tostring()); } Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 16

17 BigInteger mit Fibonacci-Q-Matrix (2) public static void initq ( BigInteger[][] m ) { m[0][0] = m[0][1] = m[1][0] = BigInteger.ONE; m[1][1] = BigInteger.ZERO; } public static void inite ( BigInteger[][] m ) { m[0][0] = m[1][1] = BigInteger.ONE; m[0][1] = m[1][0] = BigInteger.ZERO; } public static void copy ( BigInteger[][] m1, BigInteger[][] m2 ) { m1[0][0] = m2[0][0]; m1[0][1] = m2[0][1]; m1[1][0] = m2[1][0]; m1[1][1] = m2[1][1]; } Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 17

18 BigInteger mit Fibonacci-Q-Matrix (3) public static void multiply ( BigInteger[][] m1, BigInteger[][] m2 ) { BigInteger[][] cur = new BigInteger[2][2]; cur[0][0] = (m1[0][0].multiply(m2[0][0])).add(m1[0][1].multiply(m2[1][0])) ; cur[0][1] = (m1[0][0].multiply(m2[0][1])).add(m1[0][1].multiply(m2[1][1])) ; cur[1][0] = (m1[1][0].multiply(m2[0][0])).add(m1[1][1].multiply(m2[1][0])) ; cur[1][1] = (m1[1][0].multiply(m2[0][1])).add(m1[1][1].multiply(m2[1][1])) ; copy(m1,cur); } public static void pow ( BigInteger[][] Q, long n, BigInteger[][] cur ) { while (n > 0) { if (n % 2 == 0) { multiply (Q,Q) ; n /= 2 ; } else { multiply(cur,q) ; n-- ; } } } Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 18

19 Chinesischer Restsatz Historisches erste Version des Satzes von Sun Zi (chinesischer Mathematiker) ca. im 3. Jhdt v.chr. In dieser Form wurde der Satz von Ch in Chiu-Shao im Jahre 1247 bewiesen Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 19

20 Chinesischer Restsatz Problem Dies ist ein System linearer Kongruenzen (sogenannte simultane Kongruenz) Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 20

21 Chinesischer Restsatz In diesem Sinne sind 4 Fragen zu beantworten Wann exisitiert eine Lösung? Ist diese Lösung eindeutig? Wie berechnet man diese? Wo findet der chinesische Restsatz Anwendung? Bemerkung: Zunächst Analyse von Systemen bestehend aus 2 Kongruenzen Anschließend Rückführung auf den allgemeinen Fall (formal per Induktion über die Länge des Systems) Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 21

22 Chinesischer Restsatz Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 22

23 Beweis Eindeutigkeit Annahme : Daraus folgt : Das impliziert : Also : Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 23

24 Chinesischer Restsatz Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 24

25 Problem Keine Lösung (I) Lösung (II) Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 25

26 Chinesischer Restsatz (Zusammenfassung) Vorteil: m 1 und m 2 müssen nicht teilerfremd sein! Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 26

27 Chinesischer Restsatz Lösung 1. Erhalte simultange Kongruenz als Eingabe 2. solange mehr als eine Gleichung vorhanden ist 2.1 Fasse zwei Gleichungen mit dem Verfahren von vorheriger Folie zusammen 2.2 Entferne die zwei Ausgangsgleichungen und füge Ergebnis hinzu 3. verbleibende Gleichung ist Lösung Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 27

28 Chinesischer Restsatz Beispiel 1. Schritt: (I) und (II) Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 28

29 Chinesischer Restsatz 2. Schritt: (I') und (III) Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 29

30 Chinesischer Restsatz Lösung gefunden! Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 30

31 Diophantische Gleichungen Allgemeine diophantische Gleichung mit f Polynomfunktion und ganzzahligen Koeffizienten Beispiele Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 31

32 Diophantische Gleichungen Problem Lösbarkeit einer allgemeinen diophantischen Gleichung unentscheidbar Hilberts zehntes Problem, Beweis Matijassewitsch, 1970 Betrachtung von linearen diophantischen Gleichungen Algorithmen zur Bestimmung einer Lösung Anwendung beispielsweiße in der Produktverteilung Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 32

33 Lineare Diophantische Gleichungen In diesem Sinne stellen sich wieder die Frage Wann exisitiert eine Lösung? Ist diese Lösung eindeutig? Wie berechnet man diese Lösung? Ausgehend von 2 Unbekannten, Ruckführung auf allgemeinen Fall Von Interesse sind nur ganzzahlige Lösungen Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 33

34 Lineare Diophantische Gleichungen Allgemeine Form Lösbarkeit Bemerkung : für c = 0 exisitert offensichtlich x 1 = x 2 = 0 als Lösung Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 34

35 Lineare Diophantische Gleichungen Bestimmung einer Lösung Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 35

36 Lineare Diophantische Gleichungen Bestimmung aller Lösungen Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 36

37 Lineare Diophantische Gleichungen Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 37

38 Lineare Diophantische Gleichungen Beweis Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 38

39 Lineare Diophantische Gleichungen Allgemeiner Fall Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 39

40 Lineare Diophantische Gleichungen Algorithmus 1. Reduziere Ausgangsgleichung auf zwei Unbekannte 2. Löse diese mit bekanntem Verfahren 3. Löse in k-2 Schritten die substituierten Gleichungen, pro Schritt wird eine Lösung von x i erhalten 4. Lösung für alle x i gefunden Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 40

41 Lineare Diophantische Gleichungen - Beispiel Ausgangsgleichung Exisitieren Lösungen? Reduktion auf 2 Unbekannte 1. Schritt 2. Schritt Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 41

42 Lösungsverfahren 1. Schritt Partikuläre Lösungen für x 1 und y 2 Allgemeine Lösungen für x 1 und y 2 Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 42

43 Lösungsverfahren 2. Schritt Partikuläre Lösungen für x 2 und y 1 Allgemeine Lösungen für x 2 und y 1 Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 43

44 Lösungsverfahren 3. Schritt Partikuläre Lösungen für x 3 und x 4 Allgemeine Lösungen für x 3 und x 4 Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 44

45 Lösungsverfahren Lösung Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 45

46 Vielen Dank für die Aufmerksamkeit! Noch Fragen? Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 46

47 Quellen Lineare Rekursion BigInteger Chinesischer Restsatz /docs/crt.pdf Diophantische Gleichungen Hallo-Welt-Folien Hallo Welt für Fortgeschritten ZAA2 Benjamin Fischer Folie 47

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra II Florin Cristian Ghesu Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Rechnen mit großen Zahlen BigInteger

Mehr

II.3.1 Rekursive Algorithmen - 1 -

II.3.1 Rekursive Algorithmen - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel  Problem Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

3. Diskrete Mathematik

3. Diskrete Mathematik Diophantos von Alexandria um 250 Georg Cantor 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

11. Rekursion, Komplexität von Algorithmen

11. Rekursion, Komplexität von Algorithmen 11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv

Mehr

Zahlentheorie, Arithmetik und Algebra 1

Zahlentheorie, Arithmetik und Algebra 1 Zahlentheorie, Arithmetik und Algebra 1 Monika Huber 24.6.2015 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 1 / 52 Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

Zahlentheorie, Arithmetik und Algebra I

Zahlentheorie, Arithmetik und Algebra I Zahlentheorie, Arithmetik und Algebra I Viktoria Ronge 04.06.2014 Viktoria Ronge Zahlentheorie, Arithmetik und Algebra I 04.06.2014 1 / 63 Übersicht 1 Modulare Arithmetik 2 Primzahlen 3 Verschiedene Teiler

Mehr

WIEDERHOLUNG (BIS ZU BLATT 7)

WIEDERHOLUNG (BIS ZU BLATT 7) Universität Bielefeld SS 2016 WIEDERHOLUNG (BIS ZU BLATT 7) JULIA SAUTER Wir wiederholen, welche Aufgabentypen bis zu diesem Zeitpunkt behandelt worden sind. Auf der nächsten Seite können Sie sich selber

Mehr

Ganzzahlige Division mit Rest

Ganzzahlige Division mit Rest Modulare Arithmetik Slide 1 Ganzzahlige Division mit Rest Für a,b Æ mit a b gibt es stets eine Zerlegung von a der Form a = q b+r mit 0 r b 1. Hierbei gilt q = a b (salopp formuliert: b passt q-mal in

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6

Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung Programmieren 1, IN1bac, WS 10/11 Seite 1 von 6 Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6 Datum, Uhrzeit: 24. 01. 2011, 10.30 Uhr Semester: IN1 Note:... Prüfer: Prof. Meixner Dauer: 60 Min. Hilfsmittel: keine Punkte:... Diese Prüfung

Mehr

Rekursive Funktionen

Rekursive Funktionen Um Rekursion zu verstehen, muss man vor allem Rekursion verstehen. http://www2.norwalk-city.k12.oh.us/wordpress/precalc/files/2009/05/mona-lisa-jmc.jpg Rekursive Funktionen OOPM, Ralf Lämmel Was ist Rekursion?

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

Mehr

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002 Prof. H. Herbstreith 30.01.2002 Fachbereich Informatik Leistungsnachweis Informatik 1 WS 2001/2002 Bearbeitungszeit 120 Minuten. Keine Hilfsmittel erlaubt. Aufgabe 1: 20 Punkte Vervollständigen Sie folgende

Mehr

SWE1 / Übung 2 (19.10.2011)

SWE1 / Übung 2 (19.10.2011) SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn

Mehr

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9 Chr.Nelius: Zahlentheorie (SS 2007) 9 4. ggt und kgv (4.1) DEF: Eine ganze Zahl g heißt größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen a und b, wenn gilt: GGT 0 ) g 0 GGT 1 ) g a und g b GGT 2 )

Mehr

JAVA - Zufallszahlen

JAVA - Zufallszahlen Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 5. JAVA werden beim Programmieren erstaunlich oft gebraucht: Simulationen Spiele Aufbau von Testszenarien...

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

12. Rekursion Grundlagen der Programmierung 1 (Java)

12. Rekursion Grundlagen der Programmierung 1 (Java) 12. Rekursion Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 24. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

Mehr

JAVA - Methoden - Rekursion

JAVA - Methoden - Rekursion Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

Mehr

Differenzengleichungen. und Polynome

Differenzengleichungen. und Polynome Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck Technikerstr. 13/7, A-600 Innsbruck, Österreich franz.pauer@uibk.ac.at 1 Einleitung Mit linearen Differenzengleichungen

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Programmieren in C++ Überladen von Methoden und Operatoren

Programmieren in C++ Überladen von Methoden und Operatoren Programmieren in C++ Überladen von Methoden und Operatoren Inhalt Überladen von Methoden Überladen von Operatoren Implizite und explizite Konvertierungsoperatoren 7-2 Überladen von Methoden Signatur einer

Mehr

Lineare Differenzengleichungen und Polynome. Franz Pauer

Lineare Differenzengleichungen und Polynome. Franz Pauer Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck, Technikerstr. 13/7, A-600 Innsbruck, Österreich. Franz.Pauer@uibk.ac.at Vortrag beim ÖMG-LehrerInnenfortbildungstag

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Java-Vorkurs 2015. Wintersemester 15/16

Java-Vorkurs 2015. Wintersemester 15/16 Java-Vorkurs 2015 Wintersemester 15/16 Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen Algebra und Diskrete Mathematik, PS3 Sommersemester 2016 Prüfungsfragen Erläutern Sie die Sätze über die Division mit Rest für ganze Zahlen und für Polynome (mit Koeffizienten in einem Körper). Wodurch

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

Mehr

1. Der Einstieg in Java. Was heißt Programmieren?

1. Der Einstieg in Java. Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Praktikum zur Vorlesung

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

Primitive Rekursion. Basisfunktionen: Konstante Funktion: const 3 3 (1,1, pr 1,3(g,h) (1,1)) Projektion: proj 3 (1,1, pr. Komposition: comp 3,2

Primitive Rekursion. Basisfunktionen: Konstante Funktion: const 3 3 (1,1, pr 1,3(g,h) (1,1)) Projektion: proj 3 (1,1, pr. Komposition: comp 3,2 Primitive Rekursion Basisfunktionen: Konstante Funktion: const Stelligkeit. Wert des Ergebnisses. Unabhängig von den Parametern. const (,, pr,(g,h) (,)) Stelligkeit. Projektion: proj Gibt die Komponente

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Arithmetik und Algebra

Arithmetik und Algebra Willkommen Gliederung "Hallo Welt!" für Fortgeschrittene Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 2 7. Juni 2005 Willkommen Gliederung Gliederung 1 Repräsentation

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Inf 12 Aufgaben 14.02.2008

Inf 12 Aufgaben 14.02.2008 Inf 12 Aufgaben 14.02.2008 Übung 1 (6 Punkte) Ermitteln Sie eine mathematische Formel, die die Abhängigkeit der Suchzeit von der Anzahl der Zahlen N angibt und berechnen Sie mit Ihrer Formel die durchschnittliche

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Dynamische Programmierung

Dynamische Programmierung Dynamische Programmierung Julian Brost 11. Juni 2013 Julian Brost Dynamische Programmierung 11. Juni 2013 1 / 39 Gliederung 1 Was ist dynamische Programmierung? Top-Down-DP Bottom-Up-DP 2 Matrix-Kettenmultiplikation

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Speicher und Adressraum

Speicher und Adressraum Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode

Mehr

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Fakultät Grundlagen Juli 2015 Fakultät Grundlagen Übersicht Lineare Gleichungssystem mit 2 Variablen 1 Lineare Gleichungssystem mit 2 Variablen Beispiele 2 Fakultät Grundlagen Folie: 2 Beispiel I Lineare

Mehr

Musterlösungen zur Klausur Informatik 3

Musterlösungen zur Klausur Informatik 3 Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus

Mehr

Seminararbeit zur Zahlentheorie. Die Gaußschen Zahlen

Seminararbeit zur Zahlentheorie. Die Gaußschen Zahlen Universität Paderborn WS 2007/2008 Warburger Str. 100 33098 Paderborn Seminararbeit zur Zahlentheorie Die Gaußschen Zahlen Tatjana Linkin, Svetlana Krez 20. November 2007 INHALTSVERZEICHNIS 1 Inhaltsverzeichnis

Mehr

4: Algebraische Strukturen / Gruppen

4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) 120 4: Algebraische Strukturen / Gruppen Definition 46 Sei G eine nichtleere Menge. Eine Funktion : G G G bezeichnen wir als Verknüpfung auf G. Das Paar (G,

Mehr

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28 Java CoMa-Übung II TU Berlin 24.10.2012 CoMa-Übung II (TU Berlin) Java 24.10.2012 1 / 28 Themen der Übung 1 Java-Installation 2 Hello World 3 Temperature CoMa-Übung II (TU Berlin) Java 24.10.2012 2 / 28

Mehr

Elementare Zahlentheorie. Diskrete Strukturen. Winter Semester 2012 #

Elementare Zahlentheorie. Diskrete Strukturen. Winter Semester 2012 # Erster Teil 1 Elementare Diskrete Strukturen Winter Semester 2012 # 342 207 Prof. Armin Biere Institut für Formale Modelle und Verifikation Johannes Kepler Universität, Linz http://fmv.jku.at/ds Literatur

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum: Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung

Mehr

Algorithmen und Datenstrukturen 01

Algorithmen und Datenstrukturen 01 26. April 2012 1 Organisatorisches Über mich Wichtige Links 2 Besprechung Blatt 0 Übungsablauf und Abgabesystem 3 Pseudocode Text Pseudocode Pseudocode Ablaufdiagramm 4 Datentypen & Entscheidungsgehalt

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

1 Potenzen und Polynome

1 Potenzen und Polynome 1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 8 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Vererbung Vererbung Statischer Typ Dynamischer Typ 2 Polymorphie Overloading: Methoden überladen Overriding:

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Parallele Prozesse. Prozeß wartet

Parallele Prozesse. Prozeß wartet Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr