Abgabe: (vor 12 Uhr)
|
|
|
- Eugen Becke
- vor 8 Jahren
- Abrufe
Transkript
1 TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Übungsblatt 2 Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz, Dr. M. Petter Abgabe: (vor 12 Uhr) Aufgabe 2.1 (P) Kaninchen Auf einer einsamen Insel wird ein Paar geschlechtsreifer Kaninchen ausgesetzt, um herauszufinden, wie viele Kaninchen innerhalb eines Jahres geboren werden. Hierbei wird angenommen, dass jedes geschlechtsreife Paar jeden Monat ein neues Kaninchenpaar zur Welt bringt. Jedes Kaninchenpaar ist bereits im ersten Monat seiner Lebenszeit geschlechtsreif und jedes Kaninchen hat eine Lebenszeit von 3 Monaten. a) Schreiben Sie ein MiniJava-Programm, welches die Zahl n einliest, die den n-ten Monat bezeichnet. Ihr Programm soll die Anzahl der Kaninchenpaare, die im n-ten Monat geschlechtsreif sind, ausgeben. Als Beispiel der Kaninchenpopulation dient folgende Tabelle: Monat 1. Generation 2. Generation 3. Generation b) Gehen Sie nun davon aus, dass die Kaninchenpaare, die sich im zweiten Monat ihrer Geschlechtsreife befinden, 3 Kaninchenpaare zu Welt bringen. Schreiben Sie ein MiniJava-Programm, welches wiederum die Zahl n einliest, die den n-ten Monat bezeichnet. Ihr Programm soll die Anzahl der Kaninchenpaare ausgeben, die im n-ten Monat die 1., 2. und 3. Generation darstellen. Lösungsvorschlag 2.1 public c l a s s Kaninchen extends MiniJava { int k = 1 ; int tmp, time ; int adult = 0, teen = 0, young = 1 ; // young s p e z i f i z i e r t Karnickel der 1. Generation, usw ; time = read ( ) ; while ( k!= time ) { k++; tmp = young ; // Aufgabe a : young = adult+teen+young ; // Aufgabe b : // young = a d u l t +(3 teen )+young ; adult = teen ; teen = tmp ;
2 2 // Anzahl Karnickel der 1. Generation w r i t e ( young ) ; // Anzahl Karnickel der 2. Generation w r i t e ( teen ) ; // Anzahl Karnickel der 3. Generation w r i t e ( adult ) ; // Gesamtzahl g e b a e r f a e h i g e r Karnickel : w r i t e ( young+adult+teen ) ; Aufgabe 2.2 (P) Multiplikationstabelle Implementieren Sie ein MiniJava-Programm namens Multtable.java, das die Multiplikationstabelle für alle Zahlen von 1 bis x ausgibt (für positive x). Dabei soll x vom Benutzer eingegeben werden. Für x = 10 ist die Ausgabe folgende: Hinweis: Verwenden Sie zur Ausgabe der Tabellen die Funktionen System.out.print() und System.out.println(). System.out.print( \t ); erzeugt einen Tabulator, System.out.print(i); gibt die Zahl i am Bildschirm aus und System.out.println(); erzeugt einen Zeilenvorschub. Lösungsvorschlag 2.2 public class Multtable extends MiniJava { int i, j, x ; x = read ( M u l t i p l i k a t i o n s t a b e l l e von 1 b i s..? ) ; while ( x < 1) { x = read ( B i t t e geben S i e e i n e p o s i t i v e Zahl g r o e s s e r a l s 0 e i n. ) ; i =1; j =1; while ( i <= x ) { j =1; while ( j <= x ) {
3 3 System. out. p r i n t ( i j ) ; System. out. p r i n t ( \ t ) ; j=j +1; System. out. p r i n t l n ( ) ; i=i +1; Aufgabe 2.3 (P) Suche nach der Wurzel In dieser Aufgabe wollen wir die Quadratwurzel zu einer Zahl a 1 näherungsweise bestimmen. In diesem Bereich gilt 1 a a. Da die reelle Wurzelfunktion monoton wächst können wir eine binäre Suche anwenden. Dabei wird der Suchbereich immer wieder halbiert und in der Hälfte weiter gesucht, in der sich die Lösung befinden muss, bis die Lösung gefunden, oder bis auf einen vorgegebenen Fehler ɛ angenähert ist. Sucht man im Intervall [b 1, b 2 ] nach dem Wert x, so dass x = a, bestimmt man die (zur Wurzel inverse) Funktion f(x) = x 2 an der Mitte des Intervalls m = b 1+b 2. Ist der Wert (f(m) a) < ɛ endet die 2 Berechnung. Ist f(m) > a ergibt sich, dass b 1 < x < m sein muss. In diesem Fall wiederholt man die Suche im Intervall [b 1, m]. Analog sucht man falls f(m) < a im Intervall [m, b 2 ] weiter. a) Schreiben Sie ein MiniJava-Programm Wurzel.java, welches für eine einzulesende Zahl a die Quadratwurzel a nach obigem Algorithmus näherungsweise bestimmt, in dem die Iteration nach einer vom Benutzer festgelegten Anzahl von Durchläufen abgebrochen wird. b) Ermöglichen sie dem Benutzer die Fehlertoleranz ɛ festzulegen. Ihr Programm soll nun so lange suchen, bis es diese Fehlertoleranz erreicht. Lösungsvorschlag 2.3 public c l a s s Wurzel extends MiniJava { double a, eps, l, r,m, d ; a = readdouble ( Zahl ) ; i f ( a>=1.0) { eps = readdouble ( Fehler ) ; l =1.0; // s q r t ( a ) in [ 1, a ] r=a ; m=( l+r ) / 2. 0 ; // f i n d middle o f i n t e r v a l d=m m a ; // i n i t i a l e r r o r while ( d d > eps eps ) {// i s e r r o r small enough? i f (m m<a ) // l e f t or r i g h t i n t e r v a l? l=m; else //m m=a not p o s s i b l e r=m; m=( l+r ) / 2. 0 ; // f i n d middle o f cur i n t e r v a l d=m m a ; // c a l c e r r o r
4 4 w r i t e ( Die Wurzel von +a+ i s t +m+, mit Ungenauigkeit +d + g e f o r d e r t + eps ) ; else w r i t e ( Fehler, Zahl muss g r o e s s e r g l e i c h 1. 0 s e i n ) ; Aufgabe 2.4 [4 Punkte] (H) Suche nach der Wurzel Teil II Das Heron-Verfahren (auch Babylonisches Wurzelziehen genannt) ist ein weiterer iterativer Algorithmus zur Bestimmung einer rationalen Näherung der Quadratwurzel a einer reellen Zahl a 0. Die Iterationsvorschrift lautet: x n+1 = 1 2 (x n + a x n ) Hierbei steht a für die Zahl, deren Quadratwurzel bestimmt werden soll. Der Startwert x 0 der Iteration kann, solange er grösser Null ist, beliebig festgesetzt werden. a) Schreiben Sie ein MiniJava-Programm Heron.java, welches für eine einzulesende Zahl a und den Startwert x 0 = a die Quadratwurzel a näherungsweise, bis auf einen vom Benutzer abgefragten maximalen Fehler ɛ berechnet und ausgibt. b) In diesem Teil wollen wir die beiden Wurzelverfahren vergleichen. Modifizieren Sie Heron.java und Wurzel.java aus Tutoraufgabe 2.2 jeweils so, dass beide Methoden Ergebnisse mit gleichem Fehler ɛ = produzieren. Fügen Sie zusätzlichen Code ein, um die Anzahl der benötigten Schleifendurchläufe zu zählen und um zu testen, welches der Verfahren, angewendet auf die Zahlen von 2 bis 10 als a und jeweils x 0 = a, weniger Schleifendurchläufe braucht? Lösungsvorschlag 2.4 public c l a s s Heron extends MiniJava { double x, a, eps ; a = readdouble ( B i t t e p o s i t i v e Zahl zum Wurzel zi ehen eingeben ) ; while ( a<0){ a=readdouble ( B i t t e p o s i t i v e Zahl zum Wurzel ziehen eingeben ) ; // eps = ; eps = readdouble ( B i t t e t o l e r i e r b a r e n maximalen Fehler angeben ) ; x = a ; while ( ( x x a ) > eps ( x x a ) < eps ) { x=(x+a/x ) / 2. 0 ; w r i t e ( Die Wurzel von +a+ i s t +x+, mit Ungenauigkeit +( Math. s q r t ( a ) Math. abs ( x ) ) ) ;
5 5 public class V e r g l e i c h s t e s t extends MiniJava { double heronx ; double binaerx ; double x, a, eps, l, r,m, d ; int heron, b i naer ; eps = ; a=2; while ( a<11) { // Heron heron =0; x = a ; while ( ( x x a ) > eps ( x x a ) < eps ) { x=(x+a/x ) / 2. 0 ; heron=heron +1; heronx=x ; // Binaere Suche b inaer =0; l =1.0; // s q r t ( a ) in [ 1, a ] r=a ; m=( l+r ) / 2. 0 ; // f i n d middle o f i n t e r v a l d=m m a ; // i n i t i a l e r r o r while ( d d > eps eps ) {// i s e r r o r small enough? i f (m m<a ) // l e f t or r i g h t i n t e r v a l? l=m; else //m m=a not p o s s i b l e r=m; m=( l+r ) / 2. 0 ; // f i n d middle o f cur i n t e r v a l d=m m a ; // c a l c e r r o r b inaer=b i naer +1; binaerx = m; // V e r g l e i c h : System. out. p r i n t l n ( a+ : Heron : +(heronx heronx )+ /# +heron + Bin. Suche : +( binaerx binaerx )+ /# +b inaer ) ; a=a +1; Aufgabe 2.5 [6 Punkte] (H) Kartenlotto Kartenlotto ist ein einfaches Glücksspiel, bei dem ein Spieler gegen die Bank spielt. Nachdem der Spieler gesetzt hat, werden zunächst zwei Karten gezogen. Folgen die Kartenwerte direkt aufeinander (z.b: 7, 8, oder 8,7) oder ist es ein Paar (gleicher Kartenwert) hat der Spieler verloren und sein Einsatz geht an die Bank. Andernfalls wird eine weitere Karte gezogen. Liegt ihr Wert strikt zwischen den Werten der bereits gezogenen Karten gewinnt der Spieler und erhält den doppelten Einsatz zurück. Zusätzlich hat der Spieler vor dem Ziehen der dritten Karte die Möglichkeit seinen Einsatz
6 6 zu verdoppeln, falls er genügend Guthaben hat. Teilen Sie dazu dem Spieler nachdem Ziehen der zweiten Karte den Abstand der beiden Kartenwerte mit und fragen Sie, ob der Spieler verdoppeln möchte. Erstellen sie ein MiniJavaprogramm namens KartenLotto.java, welches das Spiel realisiert. Der Spieler startet mit einem Guthaben von 100 und einem Einsatz von 10. Zum Karten ziehen steht Ihnen die Methode int drawcard() (wie read() verwenden) der Klasse MiniJava zur Verfügung, die direkt den Kartenwert liefert. Fragen sie nach jeder Runde, ob der Spieler erneut spielen möchte und falls nicht geben sie den insgesamt erzielten Gewinn/Verlust aus. Sollte der Spieler nicht mehr über genug Guthaben verfügen endet das Spiel ebenfalls. Hinweis: Achten Sie darauf, Eingaben auf Ihre Gültigkeit hin zu überprüfen! Hilfestellung: Implementieren Sie die Aufgabenstellung in kleinen Schritten so weit Sie kommen: a) Lassen Sie den Spieler zuerst nur einmal und ohne Einsatz spielen Testen sie, ob die gezogenen Karten gewinnen. b) Legen Sie einen Kontostand für den Spieler an und verrechnen Sie den Gewinn/Verlust mit dem Kontostand. Verhindern Sie eine Überschreitung des Kontos. c) Lassen Sie wiederholt neue Spiele mit dem aktualisierten Kontostand zu. Lösungsvorschlag 2.5 public c l a s s KartenLotto extends MiniJava { // I n i t i a l i s i e r u n g int pgeld, p e i n s a t z ; int karte1, karte2, mitte, eingabe ; pgeld = 100; // Abfrage f r e r s t e s S p i e l. eingabe = read ( 0 = Abbruch, 1=Neue Runde ) ; while ( eingabe < 0 && eingabe > 1) { // Eingabe k o r r e k t? eingabe = read ( 0 = Abbruch, 1=Neue Runde ) ; while ( eingabe == 1 && pgeld >= 10) { //Neue Runde/ genug Geld? // Einsatz f e s t l e g e n. p e i n s a t z = 1 0 ; // Karten z i e h e n. karte1 = drawcard ( ) ; karte2 = drawcard ( ) ; i f ( karte2 < karte1 ) { // S o r t i e r u n g der Karten ( ohne H i l f s v a r i a b l e ) f r e i n f a c h e r e s Vergleichen karte2 = karte1 + karte2 ; karte1 = karte2 karte1 ; karte2 = karte2 karte1 ; w r i t e ( Karte1 : + karte1 +. Karte2 : + karte2 ) ; i f ( karte2 karte1 < 2) { // Test auf s o f o r t i g e n V e r l u s t. pgeld = pgeld p e i n s a t z ; w r i t e ( Leider v e r l o r e n. Guthaben : + pgeld ) ;
7 7 else { // Verdoppeln? w r i t e ( Abstand : + ( karte2 karte1 1) ) ; eingabe = read ( 0 = Weiter, 1 = Verdoppeln ) ; while ( eingabe < 0 && eingabe > 1 && pgeld >= 20) { // Eingabe k o r r e k t / genug Geld? eingabe = read ( 0 = Weiter, 1 = Verdoppeln ) ; i f ( eingabe == 1) { // Einsatz e r h h e n. p e i n s a t z = p e i n s a t z 2 ; w r i t e ( Neuer Einsatz : + p e i n s a t z ) ; // D r i t t e Karte z i e h e n und Gewinn t e s t e n. mitte = drawcard ( ) ; w r i t e ( Karte : + mitte ) ; i f ( karte1 < mitte && mitte < karte2 ) { pgeld = pgeld + p e i n s a t z ; // Gewinn auszahlen. w r i t e ( Gewonnen! Guthaben : + pgeld ) ; else { pgeld = pgeld p e i n s a t z ; // Einsatz abziehen. w r i t e ( Leider v e r l o r e n. Guthaben : + pgeld ) ; i f ( pgeld >= 10) { // Neue Runde m g l i c h? eingabe = read ( 0 = Abbruch, 1=Neue Runde ) ; // Neue Runde? while ( eingabe < 0 && eingabe > 1) { // Eingabe k o r r e k t? eingabe = read ( 0 = Abbruch, 1=Neue Runde ) ; else { w r i t e ( Zu wenig Geld! ) ; w r i t e ( S p i e l e n d e! Gewinn : + ( pgeld 100) ) ;
Abgabe: (vor 12 Uhr)
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 1 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 5 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
Institut 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 2016/17 Aufgabenblatt 2 31.10.2016
DHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA https://www.iai.kit.edu/~javavorlesung W. Geiger, T. Schlachter, C. Schmitt, W.
Schaltjahr Klasse: LeapYear Schreiben Sie ein Programm LeapYear, das eine Jahreszahl von der Konsole einliest und dann bestimmt, ob es sich bei diesem Jahr um ein Schaltjahr handelt! Das Ergebnis soll
Abgabe: (vor 12 Uhr) Aufgabe 3.1 (P) Kontrollflussgraph. Zeichnen Sie für das folgende MiniJava-Programm den Kontrollflussgraphen.
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 3 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen
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
Numerisches Programmieren, Übungen
Technische Universität München SS 2012 Institut für Informatik Prof. Dr. Thomas Huckle Dipl.-Inf. Christoph Riesinger Dipl.-Math. Alexander Breuer Dipl.-Math. Dipl.-Inf. Jürgen Bräckle Dr.-Ing. Markus
Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
Programmieren in JavaScript
Lineare Programme 1. Euro a) Schreiben Sie ein Programm, dass Frankenbeträge in Euro umrechnet. Der Benutzer gibt dazu den aktuellen Kurs ein, worauf das Programm einige typische Werte (z.b. für Fr 10,
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
Mathematik I. Vorlesung 7. Folgen in einem angeordneten Körper
Prof. Dr. H. Brenner Osnabrück WS 009/010 Mathematik I Vorlesung 7 Folgen in einem angeordneten Körper Wir beginnen mit einem motivierenden Beispiel. Beispiel 7.1. Wir wollen die Quadratwurzel einer natürlichen
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
Ausdrücke und primitive Typen
Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 04 14.11.2016 Ausdrücke und primitive Typen Aufgabe 4.1 Java-Quiz Wahr Falsch Der Ausdruck
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,
Programmiervorkurs WS 2012/2013. Schleifen und Methoden
Programmiervorkurs WS 2012/2013 Schleifen und Methoden Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.:
Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Klausur Prof. Dr. Helmut Seidl, T. M. Gawlitza, S. Pott,
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.
Übungskomplex Reelle Zahlen. Rechnen mit Gleitkommazahlen
Übungskomplex Reelle Zahlen Rechnen mit Gleitkommazahlen Hinweise zur Übung Benötigter Vorlesungsstoff Einheiten 1-3 (C-Tutorial) Einheiten Reelle Zahlen 61 Aufgabe Kreisberechnung a) Schreiben Sie zwei
Radizieren mit dem Heron-Verfahren
Mathematik mit Python und OpenOffice Calc Radizieren mit dem Heron-Verfahren Matthias Richter. März 011 1 Idee Das Heron-Verfahren ist ein Algorithmus um die Quadratwurzel einer Zahl x R näherungsweise
Algorithmen für Kettenbrüche Ac
Algorithmen für Kettenbrüche Ac 2013-2016 Eine reelle Zahl x der Form 0 z + z 1 1 1 + 1 z2 +... + z n heißt endlicher regulärer Kettenbruch (KB). Kurzschreibweise: x = [ z 0 ; z 1, z 2,..., z n ] z 0 ist
Einführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 16. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
Nichtlineare Gleichungen
Nichtlineare Gleichungen Ein wichtiges Problem in der Praxis ist die Bestimmung einer Lösung ξ der Gleichung f(x) =, () d.h. das Aufsuchen einer Nullstelle ξ einer (nicht notwendig linearen) Funktion f.
Kasparov 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
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
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
Kontrollstrukturen und Funktionen in C
Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren
Numerisches Lösen von Gleichungen
Numerisches Gesucht ist eine Lösung der Gleichung f(x) = 0. Das sverfahren ist eine numerische Methode zur Bestimmung einer Nullstelle. Es basiert auf dem Zwischenwertsatz: Satz (1.1.1) Zwischenwertsatz:
Lösungsvorschläge. zu den Aufgaben im Kapitel 4
Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere
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
Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015
Technische Universität Dortmund Informatik VII (Graphische Systeme) Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015 Übungsaufgaben zum Vorkurs Informatik Wintersemester 2015/2016 Teil I
Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
Theorie und Praxis geometrischer Algorithmen
0/36 Theorie und Praxis geometrischer Algorithmen Isolierende Intervalle: Sturmsche Ketten Rico Philipp Motivation 1/36 Was ist eine Sturmsche Kette? Wie berechnet man diese? Durch welche Eigenschaften
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
Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004
Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Name : Vorname : Matrikelnummer : Hauptfach : Nebenfach/Fachrichtung Hinweise : 1. Überprüfen
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
Verzweigungen und Wiederholungen
3 Verzweigungen und Wiederholungen 3-1 Verzweigungen und Wiederholungen Inhalt if while do while for break, continue switch Beispiele Übungsaufgaben if Will man eine Anweisung nur unter einer Bedingung
Zahlenmengenerweiterung Von den rationalen Zahlen zu den irrationalen Zahlen
Zahlenmengenerweiterung Von den rationalen Zahlen zu den irrationalen Zahlen Inhalte Heron-Verfahren Iteration Näherungsverfahren Irrationale Zahlen Überprüfungsmöglichkeiten Themenbereich Heron -Verfahren
Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 5 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 5 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Rekursion. 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"
5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
PVL 3 - Roulette. (5 Punkte) Abgabe bis 20.12.2015
PVL 3 - Roulette (5 Punkte) Abgabe bis 20.12.2015 Beim Roulette wird in jeder Runde eine von 37 Zahlen (0-36) ausgespielt. Dabei können Geldbeträge direkt auf eine Zahl zwischen 1 und 36 gesetzt werden
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
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.
Informatik 1 Programmieren in MATLAB Georg Richter
Informatik Programmieren in MATLAB Georg Richter Aufgabe 8: Bierschaumzerfall (zum Auf- und Erwärmen) Für manch einen (selbstverständlich nicht für jeden) gilt an heißen Tagen eine maßvoll gefüllte Hopfenkaltschale
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
Algorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Studentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
Einführung der Quadratwurzel
Einführung der Quadratwurzel In den 90er Jahren wurde als Werbemaßnahme ein Bungeespringen aus der Eibsee- Seilbahn veranstaltet. Die Gondel wurde direkt über der Riffelriss zum Stehen gebracht, sodass
Übung Programmierung WS 2007/08 - Blatt 5
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
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
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
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
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE13-TypenOperatorenAusdrücke (Stand 01.12.2010) Aufgabe 1: Schreiben Sie ein Programm zur Umrechnung von Celsius-Temperaturwerten in Fahrenheit-Temperaturwerte.
Kurs 1575, Musterlösung zur Winter Klausur 2003/04
Kurs 1575, Musterlösung zur Klausur im Wintersemester 2003/04 1 Kurs 1575, Musterlösung zur Winter Klausur 2003/04 Aufgabe 1: Römische Zahlen Wer kennt das Problem nicht: Sie stehen vor einer Inschrift,
3. rekursive Definition einer Folge
3. rekursive Definition einer Folge In vielen Fällen ist eine explizite Formel für das n-te Glied nicht bekannt, es ist hingegen möglich, aus den gegebenen Gliedern das nächste Glied zu berechnen, d.h.
Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15
Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen
Monte-Carlo Simulation
Monte-Carlo Simulation Sehr häufig hängen wichtige Ergebnisse von unbekannten Werten wesentlich ab, für die man allerhöchstens statistische Daten hat oder für die man ein Modell der Wahrscheinlichkeitsrechnung
Regula Falsi Die folgende Abbildung beschreibt das Näherungsverfahren regula falsi zur Berechnung von Nullstellen:
BspNr: J0010 Themenbereich Näherungsverfahren zur Nullstellenberechnung (Regula falsi) Ziele Probleme, die bei der näherungsweisen Nullstellenberechnung auftreten können, erkennen. Analoge Aufgabenstellungen
Klausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
JAVA für Nichtinformatiker - Probeklausur -
JAVA für Nichtinformatiker - Probeklausur - Die folgenden Aufgaben sollten in 150 Minuten bearbeitet werden. Aufgabe 1: Erläutere kurz die Bedeutung der folgenden Java-Schlüsselwörter und gib Sie jeweils
GI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
JAVA - Rekursion
Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Allgemeines Fakultät Fibonacci Türme von Hanoi Übungen Informatik 1 Folie 2 Ein Objekt
188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
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
Das Verfahren von Heron
Das Verfahren von Heron Hans Bäckel Ausarbeitung zum Vortrag im Proseminar Analysis (Wintersemester 008/09, Leitung PD Dr. Gudrun Thäter) Zusammenfassung: Das Verfahren von Heron ist ein iteratives Verfahren
Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.
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: ( / 25 Pkt.) Gegeben ist das folgende
Übersicht. Berechnung der Potenz für zwei ganze Zahlen Klausuraufgabe SS 2010! Berechnung der Cosinus-Funktion Klausuraufgabe WS 2010/2011!
Algorithmen und Datenstrukturen Wintersemester 2012/13 8. Vorlesung Algorithmen in Java Jan-Henrik Haunert Lehrstuhl für Informatik I Übersicht Berechnung der Potenz für zwei ganze Zahlen Klausuraufgabe
Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
Access 2010 Programmierung Schleifen
Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze
Einführung in die Informatik 2
Einführung in die Informatik 2 Suchen in Datenmengen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 [email protected] Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
FB Informatik. Fehler. Testplan
Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout
FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz
FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:
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
Mathematische Grundlagen der Ökonomie Übungsblatt 8
Mathematische Grundlagen der Ökonomie Übungsblatt 8 Abgabe Donnerstag 7. Dezember, 0:5 in H 5+7+8 = 20 Punkte Mit Lösungshinweisen zu einigen Aufgaben 29. Das Bisektionsverfahren sucht eine Nullstelle
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,
Bitte beachten Sie: Es gibt mehr als einen Lösungsweg. Ihre Lösung kann auch richtig sein, wenn sie nicht mit der hier gezeigten Lösung übereinstimmt.
Lösungen zu Übungsblatt 5 Bitte beachten Sie: Es gibt mehr als einen Lösungsweg. Ihre Lösung kann auch richtig sein, wenn sie nicht mit der hier gezeigten Lösung übereinstimmt. Übungsblatt 5 1) Erstellen
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das
Einführung in die Informatik I Kapitel II.3: Sortieren
1 Einführung in die Informatik I Kapitel II.3: Sortieren Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät
Vorab : Von dem indischen Mathematiker D. R. Kaprekar stammt folgender Zusammenhang :
Seite 1 Algorithmen zur Erzeugung von Kaprekar- Konstanten Autor : Dipl.- Ing. Josef Meiler ; Datum : März 015 Vorab : Von dem indischen Mathematiker D. R. Kaprekar stammt folgender Zusammenhang : a) man
Diskrete Strukturen. Arbeitsblatt 1: Zahlen (zu Übungsblatt 1)
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Prof. Dr. Ernst W. Mayr Dr. Werner Meixner Sommersemester 2011 Arbeitsblatt 1 16. August 2011 Diskrete Strukturen
Java-Programmierung mit NetBeans
Java-Programmierung mit NetBeans Steuerstrukturen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Steuerstrukturen Steuerstrukturen Verzweigungen Alternativen abweisende nichtabweisende
Tutoren Jan Ebbe Tatjana Frank Cedric Geissmann Sascha Scherrer Alexander Stiemer
UNIVERSITÄT BASEL Dozent Prof. Dr. Thomas Vetter Departement Informatik Bernoullistrasse 16 CH 4056 Basel Assistenten Bernhard Egger Andreas Forster Tutoren Jan Ebbe Tatjana Frank Cedric Geissmann Sascha
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4
Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4 Inhalt dieser Einheit Merkmale und Syntax der verschiedenen Kontrollstrukturen: if else switch while do while for break, continue EXKURS: Rekursion 2 Kontrollstrukturen
Praktische Informatik I Der Imperative Kern Rekursive Funktionen
Praktische Informatik I Der Imperative Kern Rekursive Funktionen Prof. Dr. Stefan Edelkamp Institut für Künstliche Intelligenz Technologie-Zentrum für Informatik und Informationstechnik (TZI) Am Fallturm
Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6
Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise
6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
Tutoraufgabe 1 (2 3 4 Bäume):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Übungsblatt (Abgabe.0.0) F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus
M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
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
