Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12.
|
|
- Busso Sauer
- vor 7 Jahren
- Abrufe
Transkript
1 4/1 Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12. November 2012 Übungen zu Grundlagen der Programmierung Aufgabe 14 (Lösungsvorschlag) Terminierung rekursiver Funktionen Zur Lösung der vier Teilaufgaben suchen wir Eingabewerte, für die es möglich ist Abstiegsfunktionen, wie in der Vorlesung definiert, anzugeben. a) f_a(m,n) terminiert für alle n N: h : Z N N, h(m,n) = n. Es treten nur für n 0 rekursive Aufrufe auf, d.h. der Parameter n-1 des rekursiven Aufrufs ist nichtnegativ und es gilt: h(m + 1,n 1) = h(m + 2,n 1) = n 1 < n = h(n) f_a(m,n) terminiert nicht, falls n Z \ N: Für n Z\N ist n, n-1, n-2, n-3,... eine unendliche Folge, in der 0 nicht auftritt. Die durch den Aufruf f_a(m,n) angestoßene Folge rekursiver Aufrufe f_a(m+1,n-1), f_a(m+2,n-2), f_a(m+3,n-3),... erreicht also niemals den Terminierungsfall f_a(*,0). Dabei steht * für einen belieben Wert des ersten Parameters. b) f_b(m,n) terminiert für alle (m,n) Z Z mit m n: h : Z Z N, h(m,n) = n m. Es treten nur für n m 0, d.h. für n m > 0 im Fall m n, rekursive Aufrufe auf und es gilt: h(m,n 1) = n 1 m = n m 1 = h(m,n) 1 < h(m,n) h(m + 1,n) = n (m + 1) = n m 1 = h(m,n) 1 < h(m,n) f_b(m,n) terminiert nicht, falls m > n: Für m > n ist n,n 1,n 2,n 3,... eine unendliche Folge, in der m nicht auftritt. Die durch den Aufruf f_b(m,n) angestoßene Folge rekursiver Aufrufe f_b(m,n-1), f_b(m,n-2), f_b(m,n-3),... erreicht also niemals den Terminierungsfall m == n. c) f_c(m,n) terminiert für alle (m,n) Z Z mit m n und (n m) mod 2 = 0: h : Z Z N, h(m,n) = n m. Es treten nur für n m 0 rekursive Aufrufe auf und es gilt: h(m + 1,n 1) = n 1 (m + 1) = n 1 m 1 = h(m,n) 2 < h(m,n) (Achtung: Die Voraussetzung (n m) mod 2 = 0 stellt sicher, dass mit h(m,n) auch h(m + 1,n 1) in N liegt.)
2 4/2 f_c(m,n) terminiert nicht, falls m n und (n m) mod 2 = 1: Falls gilt (n m) mod 2 = 1 (d.h. falls die Differenz n m ungerade ist), dann bildet n m, (n 1) (m+1), (n 2) (m+2), (n 3) (m+3),... eine unendliche Folge ungerader Zahlen, in denen die 0 nicht auftritt. Die durch den Aufruf f_c(m,n) angestoßene Folge rekursiver Aufrufe f_c(m+1,n-1), f_c(m+2,n-2), f_c(m+3,n-3),... erreicht also niemals den Terminierungsfall m==n. f_c(m,n) terminiert nicht, falls m > n: Für m > n ist n m, (n 1) (m + 1), (n 2) (m + 2), (n 3) (m + 3),... eine unendliche Folge, in der die 0 nicht auftritt. Die durch den Aufruf f_c(m,n) angestoßene Folge rekursiver Aufrufe f_c(m+1,n-1), f_c(m+2,n-2), f_c(m+3,n-3),... erreicht also niemals den Terminierungsfall m==n. d) f_d(n) terminiert für alle n Z: h : Z N, h(m,n) = 100 n. Es treten nur für n 100 rekursive Aufrufe auf und es gilt: n < 100 h(200 n 1) = 100 (200 n 1) = (200 n 1) 100 = 99 n < 100 n = 100 n = h(n) n > 100 h(200 n + 1) = 100 (200 n + 1) = 100 (200 n + 1) = n < n = 100 n = h(n) Aufgabe 15 (Lösungsvorschlag) a) f(2,-1) f(0,2) f(-1,1) f(1,2) f(0,1) f(0,1) f(-1,0) f(2,2) f(1,1) f(1,1) f(0,0) f(1,1) f(0,0) f(0,0) f(-1,-1) b) Zum Nachweis der Terminierung verwenden wir die Abstiegsfunktion h : Z Z N, h(a,b) = b a. Es treten nur für b-a 0 rekursive Aufrufe auf und es gilt: Fall a < b: linker Aufruf: h(a + 1,b) = b (a + 1) = b (a + 1) = b a 1 < b a = b a rechter Aufruf: h(a,b 1) = (b 1) a = (b 1) a = b a 1 < b a = b a Fall a > b: linker Aufruf: h(b + 1,a) = a (b + 1) = a (b + 1) = a b 1 < a b = a b = b a rechter Aufruf: h(b,a 1) = (a 1) b = (a 1) b = a b 1 < a b = a b = b a Für jeden rekursiven Aufruf gilt also die Abstiegsbedingung. c) Beweis mittels vollständiger Induktion über n = b a
3 4/3 Induktionsanfang (n = 0): Sei b a = 0. Dann gilt a = b und in diesem Fall berechnet sich f(a,b) zu 1 = 2 0 = 2 b a. Induktionsvoraussetzung: Sei n + 1 = b a > 0 und für alle a, b mit n = b a die Behauptung f(a,b ) = 2 n bereits gezeigt. Induktionsschritt (n n + 1): 1. Fall : a < b. Dann gilt f(a,b) = f(a+1,b) + f(a,b-1). Wegen b (a + 1) = b (a + 1) = (b a) 1 = b a 1 = n und (b 1) a = (b a) 1 = b a 1 = n läßt sich die Induktionsvoraussetzung auf beide rekursive Aufrufe anwenden und f(a,b) berechnet sich zu 2 n + 2 n = 2 n+1 = 2 b a. 2. Fall : a > b. Dann gilt f(a,b) = f(b+1,a) + f(b,a-1). Wegen a (b + 1) = a (b + 1) = (a b) 1 = a b 1 = b a 1 = n und (a 1) b = (a b) 1 = a b 1 = b a 1 = n läßt sich auch hier die Induktionsvoraussetzung auf beide rekursive Aufrufe anwenden und f(a,b) berechnet sich wieder zu 2 n + 2 n = 2 n+1 = 2 b a. Aufgabe 16 (Lösungsvorschlag) public class Mathdienste { public int fac (int n) { return (n == 0)? 1 : n * fac (n-1); public double power (double x, int n) { return (n == 0)? 1 : power(x, n-1) * x; public double expn (double x, int n) { return (n == 0)? 1 : power(x,n)/fac(n) + expn(x,n-1); public class TestMath { public static void main (String[] args) { Mathdienste md = new Mathdienste (); System.out.println(md.expN(1,5)); Aufgabe 17 (Lösungsvorschlag) Markov-Algrithmen
4 4/4 a) (i) εaaaaa 5 0aaaaa 1 a1aaaa 2 aaa0aaa 1 aaaa1aa 2 aaaaaa0a 1 aaaaaaa1 4. aaaaaaa (ii) Das Ergebniswort besteht aus n + n/2 Zeichen a. Dabei steht der Operand / für die ganzzahlige Division natürlicher Zahlen. b) (i) 0a a1 (1) 0b b0 (2) 1a a2 (3) 1b b1 (4) 2a b0 (5) 2b b2 (6) 0. ε (7) 1. ε (8) 2. ε (9) ε 0 (10) (ii) Nein, da sich Eingabewort und Ergebniswort vom Alphabet her nicht unterscheiden und somit der Algorithmus immer wieder von vorne beginnen könnte. Aufgabe 18 Türme von Hanoi a) Für n = 0 ist die Lösung klar: Es ist nichts zu tun. Hat man bereits eine Zugfolge für n 1 Scheiben, dann ergibt sich daraus unmittelbar eine Zugfolge für n Scheiben: (A) Verlege n Scheiben von a nach b mittels Platz c wie folgt: Verlege n-1 Scheiben von a nach c mittels Platz b Setze eine Scheibe vom Platz a auf Platz b Verlege n-1 Scheiben von c nach b mittels Platz a Man beachte, dass beim Umlegen der n 1 oberen Scheiben die unterste nicht stört, weil sie größer als alle anderen ist. b) Es wird nur ein elementarer Schritt verwendet: Setze eine Scheibe vom Platz a auf Platz b. c) Die Anzahl Anz(n) der benötigten elementaren Schritte, um einen Turm aus n Scheiben zu versetzen, ist: Anz(1) = 1 Anz(2) = 1+2*Anz(1) = 1+2 Anz(3) = 1+2*Anz(2) = 1+2*(1+2) Anz(4) = 1+2*Anz(3) = 1+2*(1+2*(1+2)) = Anz(n) = 2 n 1 d) Das Verfahren ist deterministisch, weil die Schrittfolge eindeutig festgelegt ist. Es ist determiniert, weil das Ergebnis eindeutig ist, es ist terminierend, weil es nach endliche vielen Schritten endet. Eine andere Lösung: Wir denken uns die drei Plätze im Kreis angeordnet, und zwar, wenn n ungerade ist, so: auf a folgt b, darauf c, dann wieder a
5 4/5 und wenn n gerade ist, so auf a folgt c, darauf b, dann wieder a. Das folgende Verfahren gibt für 0 < n die Schrittfolge als Wiederholung von zwei elementaren Schritten an. (B) Verlege n Scheiben von a nach b mittels Platz c wie folgt: Lege die kleinste Scheibe einen Platz weiter Wiederhole (2^{n-1-1)-mal: Bewege eine Scheibe, aber nicht die kleinste Lege die kleinste Scheibe einen Platz weiter Im folgenden Beispiel sind Scheiben durch Zahlen dargestellt, die ihre Durchmesser wiedergeben. Fett gedruckt ist jeweils die Scheibe, die zuletzt bewegt wurde. Man beachte, wie die Turmspitze wandert, und zwar zunächst die 1 nach b, dann 12 nach c, dann 123 nach b - unabhängig jeweils vom darunterliegenden Rest des Turms: a b c Dieses Verfahren führt zur selben Schrittfolge und zum selben Ergebnis wie Verfahren (A). Es ist somit auch deterministisch, determiniert und terminierend.anmerkung: Der Turm der buddistischen Mönche, der auf diese Weise täglich um einen Stein versetzt wird und die Tage bis zum Weltuntergang zählt, hat eine Höhe von 64 Scheiben. Das Umsetzen wird also mehr als Jahre dauern. Übrigens ist (2 64 1) auch die Zahl der Reiskörner, die jenem König dadurch als Belohnung abverlangt wurde, dass er beginnend bei 1 auf jedes folgende Feld des Schachbretts die doppelte Anzahl Körner legen sollte.
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 -
MehrInduktion und Rekursion
Mathematische Beweistechniken Vorkurs Informatik SoSe13 10. April 013 Mathematische Beweistechniken Ziel Mathematische Beweistechniken Ziel beweise, dass eine Aussage A(n) für alle n N gilt. Beispiel Für
Mehr12. 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
MehrInduktion und Rekursion
Induktion und Rekursion Induktion und Rekursion Sommersemester 2018 Ronja Düffel 16. März 2018 Induktion und Rekursion > Mathematische Beweistechniken > Vollständige Induktion Der kleine Gauß Induktion
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013/14 Aufgabenblatt 5 2. Dezember
MehrVorkurs Informatik WiSe 17/18
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 10.10.2017 Technische Universität Braunschweig, IPS Überblick Einleitung Türme von Hanoi Rekursion Beispiele 10.10.2017 Dr. Werner Struckmann
Mehr11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n!
Mathematische Rekursion 11. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration, Lindenmayer Systeme Viele mathematische Funktionen sind sehr natürlich
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
Mehr12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! =
Lernziele Sie verstehen, wie eine Lösung eines rekursives Problems in Java umgesetzt werden kann. Sie wissen, wie Methoden in einem Aufrufstapel abgearbeitet werden. 12. Rekursion Mathematische Rekursion,
MehrInduktion und Rekursion
Induktion und Rekursion Induktion und Rekursion Vorkurs Informatik Theoretischer Teil WS 013/14. Oktober 013 Vorkurs Informatik WS 013/14 1/1 Vollständige Induktion Vorkurs Informatik WS 013/14 /1 Ziel
MehrRekursion. Selbstbezug, rekursive Funktionen, rekursive Prozeduren, Terminierung, Effizienz, Korrektheit, Rekursion und Induktion
Rekursion Selbstbezug, rekursive Funktionen, rekursive Prozeduren, Terminierung, Effizienz, Korrektheit, Rekursion und Induktion Ein kleines Problem Schreiben Sie eine Methode writebin, die eine Dezimalzahl
MehrVorkurs Informatik WiSe 16/17
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 11.10.2016 Technische Universität Braunschweig, IPS Überblick Einleitung Beispiele 11.10.2016 Dr. Werner Struckmann / Stephan Mielke,
MehrEinführung in die Programmierung. (K-)II/Wb17
Probeklausur Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Einführung in die Programmierung (K-)II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 6 Gesamt /21 /19 /20 /20 /20 /20 /120 Spielregeln:
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrInformatik II Übung 02. Benjamin Hepp 8 March 2017
Informatik II Übung 02 Benjamin Hepp benjamin.hepp@inf.ethz.ch 8 March 2017 Nachbesprechung U1 08.03.2017 Informatik II - Übung 01 2 Nachbesprechung U1.1 f(a,b) = a x b = a) Induktionsbeweis ueber a nicht
Mehr( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen
MehrEinstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden
MehrHausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)!
WS 015/1 Hausaufgaben zur Vorlesung Vollständige Induktion 1. Beweist folgende Formeln zu beweisen ist nur die Gleichheit mit dem! -Zeichen : a 5 + + 7 + 8 + + 4 + n n 4 + i! nn+9 b 1 + + 9 + + n 1 n 1
MehrRekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrStand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften
MehrÜbung zur Vorlesung Diskrete Strukturen I
Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt 10 Prof. Dr. J. Csirik 7. Januar 00 randt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am 16.
Mehr11. 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
Mehr11. Rekursion. - Wiederholung von Anweisungen: durch Iteration und Rekursion - Anwendungsfälle der Rekursion
11. Rekursion 258 K. Bothe, PI1, WS 2000/01 259 ' ( ) - Wiederholung von Anweisungen: durch Iteration und Rekursion - Anwendungsfälle der Rekursion - induktiv definierte Funktionen - rekursive Problemlösungen
MehrÜbungen zur Vorlesung Differential und Integralrechnung I Lösungsvorschlag
MATHEMATISCHES INSTITUT DER UNIVERSITÄT MÜNCHEN Dr. E. Schörner WS 203/4 Blatt 20.0.204 Übungen zur Vorlesung Differential und Integralrechnung I Lösungsvorschlag 4. a) Für a R betrachten wir die Funktion
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Rekursive Prozeduren zu charakterisieren. Terminierung von rekursiven Prozeduren mit Hilfe von geeigneten Abstiegsfunktionen
MehrKontrollstrukturen: Wiederholungsanweisungen
Kontrollstrukturen: Wiederholungsanweisungen Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/
MehrGrundbegriffe der Informatik Musterlösung zu Aufgabenblatt 2. Jeder Frosch ist glücklich, wenn alle seiner Kinder quaken können.
Aufgabe 2.1 (3 Punkte) Gegeben sind folgende Aussagen: Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 2 Jeder Frosch ist glücklich, wenn alle seiner Kinder quaken können. Alle grünen Frösche
MehrRekursion. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/ WS17/18 Divide et Impera im Römischen
MehrRekursion. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Divide et Impera im Römischen
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
MehrLineare Algebra II 5. Übungsblatt
Lineare Algebra II Übungsblatt Fachbereich Mathematik SS Prof Dr Kollross / Mai Susanne Kürsten Tristan Alex Gruppenübung Aufgabe G (Algebraisch abgeschlossener Körper) Ein Körper heißt algebraisch abgeschlossen,
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick
MehrKontrollstrukturen: Wiederholungsanweisungen
Kontrollstrukturen: Wiederholungsanweisungen Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Wiederholungsanweisungen
MehrDie Ausgangsposition. Der aus drei Scheiben bestehende Turm steht auf Platz 1.
Der Turm von Hanoi 1. Schritt Die Ausgangsposition. Der aus drei Scheiben bestehende Turm steht auf Platz 1. Im ersten Schritt legen wir die oberste Scheibe auf Platz 3. Nun legen wir die mittlere Scheibe
MehrNadel 1 Nadel 2 Nadel 3
Die Türme von Hanoi Nadel 1 Nadel 2 Nadel 3 Der französische Mathematiker Edouard Lucas hat 1883 eine kleine Geschichte erfunden, die unter dem Namen Die Türme von Hanoi weltberühmt wurde : Im Großen Tempel
MehrÜbung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013
Übung zu Grundbegriffe der Informatik Simon Wacker 15. November 2013 Vollständige Induktion über die Wortlänge Es sei B ein Alphabet. Dann ist B = n N 0 B n. Für jedes Wort w B sei A w eine Aussage, die
MehrAlgorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen
Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 9, Donnerstag 18. Dezember 2014 (Teile und Herrsche, Mastertheorem) Junior-Prof. Dr.
MehrGrundbegriffe der Informatik Tutorium 2
Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 16 Philipp Oppermann 9. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrProbeklausur: 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,
MehrInformatik II Übung 2
Informatik II Übung 2 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 7.3.2018 Carina Fuss 7.3.2018 1 Übersicht Tipps zu Eclipse Nachbesprechung Übung 1 Vorbesprechung Übung 2 Wurzelbäume Sortieralgorithmus
MehrInformatik I Tutorium WS 07/08
Informatik I Tutorium WS 07/08 Vorlesung: Prof. Dr. F. Bellosa Übungsleitung: Dipl.-Inform. A. Merkel Tutorium: 12 Tutor: Jens Kehne Tutorium 13: Dienstag, 05. Februar 2008 Agenda des heutigen Tutoriums
MehrVorlesung. Vollständige Induktion 1
WS 015/16 Vorlesung Vollständige Induktion 1 1 Einführung Bei der vollständigen Induktion handelt es sich um ein wichtiges mathematisches Beweisverfahren, mit dem man Aussagen, die für alle natürlichen
Mehr1.) Rekursion und Induktion: Rechnen mit natürlichen Zahlen
1) Rekursion und Induktion: Rechnen mit natürlichen Zahlen Aufbauend auf: "Anwendungen: Sätze, Beweise, Algorithmen und Programme", "Fasern" Aufgaben: 9 > restart; Axiomatik der natürlichen Zahlen Wir
MehrRekursion. 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
MehrEinfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein
MehrTechnische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018
Technische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018 Übungen zu Grundlagen der Programmierung Aufgabe 19 (Lösungsvorschlag) Rekursive Datenstruktur
MehrHöhere Mathematik I für die Fachrichtung Informatik. Lösungsvorschläge zum 4. Übungsblatt
KARLSRUHER INSTITUT FÜR TECHNOLOGIE INSTITUT FÜR ANALYSIS Dr. Christoph Schmoeger Heiko Hoffmann WS 0/4 Höhere Mathematik I für die Fachrichtung Informatik Lösungsvorschläge zum 4. Übungsblatt Aufgabe
MehrIndexmengen. Definition. n n n. i=1 A i := A 1... A n
Indexmengen Definition Es sei n N. Für Zahlen a 1,..., a n, Mengen M 1,..., M n und Aussagen A 1,..., A n definieren wir: n i=1 a i := a 1 +... + a n n i=1 a i := a 1... a n n i=1 M i := M 1... M n n i=1
MehrProgrammiertechnik Übungen zu Klassen & -methoden
Programmiertechnik Übungen zu Klassen & -methoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Übung 1 Ein Verfahren, den größten gemeinsamen Teiler (ggt) zweier Zahlen a und b, a
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
MehrFHZ. K13 Rekursion. Lernziele. Hochschule Technik+Architektur Luzern Abteilung Informatik, Fach Programmieren. Inhalt
Inhalt 1. Einführung 1. Beispiel: Fakultät 2. Beispiel: Zahlenfolge 3. Beispiel: Formale Sprache 4. Unterschied Iteration/Rekursion 2. Rekursive Methoden 1. Beispiel: Fakultät 2. Beispiel: "Türme
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
Mehr1.2. Teilbarkeit und Kongruenz
1.2. Teilbarkeit und Kongruenz Aus den Begriffen der Teilbarkeit bzw. Teilers ergeben sich die Begriffe Rest und Restklassen. Natürliche Zahlen, die sich nur durch sich selbst oder die 1 dividieren lassen,
MehrSemestralklausur Einführung in die Programmierung, WS 2005/06, Seite 1/6 Name, Vorname, Matrikelnummer: Gruppe A
Semestralklausur Einführung in die Programmierung, WS 2005/06, 6.2.2006 Seite 1/6 Name, Vorname, Matrikelnummer: Unterschrift: 1 Grundlagen (5+5 Punkte) Gruppe A a) Schreiben Sie eine Klassenmethode mit
MehrInduktive Beweise und rekursive Definitionen
Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1
Mehr2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:
2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
Mehr= =
9. Januar 2007 Arbeitsblatt 9 Übungen zu Mathematik I für das Lehramt an der Grund- und Mittelstufe sowie an Sonderschulen I. Gasser, H. Strade, B. Werner WiSe 06/07 19.12.06 Präsenzaufgaben: 1. Zu Beginn
MehrInstitut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. Januar 2018 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 17. Februar
MehrRechenregeln für Summen
Rechenregeln für Summen Im Umgang mit Summen sind gewisse Regeln zu beachten. 1 Summe gleicher Summanden Betrachten wir folgende Summe: x Hier enthält x keinen Summationsindex, d.h. es wird x einfach n-mal
MehrNachklausur Bitte in Druckschrift leserlich ausfüllen!
Übungen zur Vorlesung Informatik für Informationsmanager WS 2005/2006 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Bernhard Beckert Dr. Manfred Jackel Nachklausur 24.04.2006 Bitte in Druckschrift
MehrProgrammierkurs 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
MehrKlausur Informatik 1 SS 08. Aufgabe 1 2 3 4 Max. Punkte 30 40 40 10 Punkte. Gesamtpunkte:
Klausur Informatik 1 SS 08 Aufgabe 1 2 3 4 Max. Punkte 30 40 40 10 Punkte Gesamtpunkte: Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel Tragen Sie als erstes Ihren vollständigen Namen und Ihre Matrikelnummer
MehrDas 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
MehrAbschnitt 11: Korrektheit von imperativen Programmen
Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
Mehr10. Felder (Arrays) Teil 2. Java-Beispiele: Echo.java Primzahlen.java Monate.java. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
10. Felder (Arrays) Teil 2 Java-Beispiele: Echo.java Primzahlen.java Monate.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 18. Nov. 2015 2 Techniken mit Arrays: Boolean-Anzeige-Feld
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 8. September 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
MehrGrundlagen der Programmierung WS 15/16 (Vorlesung von Prof. Bothe)
Humboldt-Universität zu Berlin Institut für Informatik Grundlagen der Programmierung WS 15/16 (Vorlesung von Prof. Bothe) Übungsblatt 4: Felder und Rekursion Abgabe: bis 9:00 Uhr am 14.12.2015 über Goya
Mehr9 Türme von Hanoi Bewege Stapel von links nach rechts. In jedem Zug darf genau ein Ring bewegt werden. Es darf nie ein größerer auf einen kleine
9 Türme von Hanoi 1 2 3 Bewege Stapel von links nach rechts. In jedem Zug darf genau ein Ring bewegt werden. Es darf nie ein größerer auf einen kleineren Ring gelegt werden. 9 Türme von Hanoi 1 2 3 Bewege
MehrAlgorithmen 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
MehrKasparov versus Deep Blue. Till Tantau. Institut für Theoretische Informatik Universität zu Lübeck
Kasparov versus Deep Blue Institut für Theoretische Informatik Universität zu Lübeck 18. Vorlesung zu Informatik A für MLS 14. Dezember 2006 Die Lernziele der heutigen Vorlesung und der Übungen. 1 Das
MehrSommersemester Jewgeni Rose. Technische Universität Braunschweig
P r o b e k l a u s u r Z u s a t z a u f g a b e n E i n f ü h r u n g i n d a s P r o g r a m m i e r e n Sommersemester 2013 Jewgeni Rose Technische Universität Braunschweig j.rose@tu-bs.de 1 Aufgabe
Mehra 2 (a b)(a + b) h 1 := h, n N h n+1 := h h n. (2) Die Regeln für das Rechnen mit Potenzen übertragen sich dann weitgehend:
1.1.2 Symbolisches Rechnen Taschenrechner und mathematische Software wie Matlab arbeiten in der Regel numerisch, das heißt das Ergebnis eines Rechenausdrucks zum Beispiel der Form (1 1 4 ) 4 9 wird etwa
MehrInformatik II - Tutorium 2
Informatik II - Tutorium 2 Vincent Becker vincent.becker@inf.ethz.ch 07.03.2018 Vincent Becker 08.03.2018 1 Übungsblatt 1 Vincent Becker 08.03.2018 2 U1.A1 f(a, b) = a x b = a) Induktionsbeweis über a
MehrLogik/Beweistechniken
Mathematikvorkurs bei Marcos Soriano Logik/Beweistechniken erstellt von: Daniel Edler -II- Inhaltsverzeichnis 1 Logik/Beweistechniken 1 1.1 Allgemeine Vorgehensweise......................... 1 2 Konjunktion/Disjunktion
MehrÜbungsblatt 5. Thema: Algorithmen: Rekursion vs Iteration, O-Notation, Korrektheit
Informatik I WS 05/06 Prof. Dr. W. May Dipl.-Inform. Oliver Fritzen Dipl.-Inform. Christian Kubczak Übungsblatt 5 Ausgegeben am: Abgabe bis: 25.11.2005 6.12.2005 (Theorie) 9.12.2005 (Praktisch) Thema:
MehrKapitel 08: Rekursion und Terminierung Software Entwicklung 1
Kapitel 08: Rekursion und Terminierung Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Rekursion ist eine elegante Strategie zur Problemlösung, die es erlaubt eine Problemstellung
MehrC++ - Kontrollstrukturen Teil 2
C++ - Kontrollstrukturen Teil 2 Reiner Nitsch 8417 r.nitsch@fbi.h-da.de Schleife und Verzweigung kombiniert SV initialisieren while(b1) if(b2) w f V1 V2 SV Richtung Ziel verändern Wichtiger Baustein vieler
MehrInformatik I Tutorium WS 07/08
Informatik I Tutorium WS 07/08 Vorlesung: Prof. Dr. F. Bellosa Übungsleitung: Dipl.-Inform. A. Merkel Tutorium: 12 Tutor: Jens Kehne Tutorium 6: Dienstag, 04. Dezember 2007 Agenda des heutigen Tutoriums
MehrKlausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Für eine
MehrWiederholung 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
Mehr1.) Zahlensysteme (10 Punkte)
1.) Zahlensysteme (10 Punkte) (a) Stellen Sie folgende Ganzzahlen als vorzeichenbehaftete Binärzahlen in 7 Bit dar. Negative Zahlen werden im Zweier-Komplement dargestellt. (17) 10 : ( 37) 10 : (b) Führen
MehrInstitut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März
MehrMathematische Rekursion
Rekursion Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die Funktion erscheint in ihrer eigenen Definition. Mathematische Rekursion o Viele mathematische
MehrThemen: Kubische Gleichungen, Ungleichungen, Induktion
Lo sungen zu U bungsblatt Mathematik fu r Ingenieure Maschinenbauer und Sicherheitstechniker), 1. Semester, bei Prof. Dr. G. Herbort im WiSe1/14 Dipl.-Math. T. Pawlaschyk, 05.11.1 Themen: Kubische Gleichungen,
MehrInhalt Kapitel 2: Rekursion
Inhalt Kapitel 2: Rekursion 1 Beispiele und Definition 2 Partialität und Terminierung 3 Formen der Rekursion Endständige Rekursion 4 Einbettung 29 Beispiele und Definition Rekursion 30 Man kann eine Funktion
MehrVariablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn
MehrAufgabe 1 (12 Punkte)
Aufgabe 1 (12 Punkte) Schreiben Sie eine Klasse public class ZinsesZins, die zu einem gegebenen Anfangskapital von 100,00 die Kapitalentwicklung bei einer jährlichen nachschüssigen Verzinsung in Höhe von
MehrÜbung Informatik I - Programmierung - Blatt 3
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
MehrAlgorithmen & Programmierung. Rekursive Funktionen (1)
Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden
Mehr2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
MehrJavaprogrammierung 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