Programmierung 1 (Wintersemester 2015/16) Lösungsblatt: Aufgaben für die Übungsgruppen: 8 (Kapitel 9)

Größe: px
Ab Seite anzeigen:

Download "Programmierung 1 (Wintersemester 2015/16) Lösungsblatt: Aufgaben für die Übungsgruppen: 8 (Kapitel 9)"

Transkript

1 Fachrichtung 6. Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung Programmierung (Wintersemester 5/6) Lösungsblatt: Aufgaben für die Übungsgruppen: 8 (Kapitel 9) Hinweis: Dieses Übungsblatt enthält von den Tutoren für die Übungsgruppe erstellte Aufgaben. Die Aufgaben und die damit abgedeckten Themenbereiche sind für die Klausur weder relevant noch irrelevant. Grundlagen Teil Aufgabe 8. (Wohlgeformtheit) Notieren Sie zunächst die vier Wohlgeformtheitsbedingungen. Finden Sie dann für jede der Bedingungen eine Prozedur, die nur gegen diese verstößt. Ist dies möglich? Lösung 8.: Im Folgenden ist zu jeder Wohlgeformtheitsbedingung eine Prozedur angegeben, die nur gegen diese verstößt. (a) Rekursive Anwendungen der Prozedur erfolgen nur auf Elemente des Argumentbereichs der Prozedur. p n = if true then 4 else p (n ) Funktionen werden nur auf Elemente ihres Definitionsbereichs angewendet. p n = if true then 4 else p (, ) + 3 Es werden nur Ergebnisse im Ergebnisbereich der Prozedur geliefert. p n = Die definierenden Gleichungen sind disjunkt und erschöpfend. p = 5 Aufgabe 8. Sei die folgende mathematische Prozedur gegeben: ggt : N + N + N + ggt(x, x) = x ggt(x, y) = ggt(x y, y) ggt(x, y) = ggt(x, y x) x > y x < y (a) Bleiben die Wohlgeformtheitsbedingungen für die definierenden Gleichungen gültig, wenn man den Ergebnisbereich zu Z verändert? den Argumentbereich zu N N verändert? den Argumentbereich zu N N und den Ergebnisbereich zu Z verändert? Geben Sie die Anwendungsgleichung für ggt(4, 6) an. Geben Sie die Rekursionsfolge für ggt(3, 4) an.

2 Lösung 8.: (a) Ja Nein, da für ggt(, ) ausgegeben werden müsste, der Ergebnisbereich N + allerdings nicht die enthält. Ja ggt(4, 6) = ggt(8, 6) (3, 4) (6, 4) (6, 8) (6, ) (6, 6) Aufgabe 8.3 p(n) = n = p(n) = 3 p(n ) n > (a) Bestimmen Sie die Ergebnisfunktionen der beiden Prozeduren. Bestimmen Sie die Rekursionsfunktion. Zeichnen Sie die Rekursionsbäume für p(5) und q(4). Geben Sie die Rekursionsrelation für p und q an. Lösung 8.3: (a) Ergebnisfunktion für p: λn N.3 n Ergebnisfunktion für q: λn N. q : N N q(n) = n = q(n) = q(n ) + q(n ) n > Rekursionsfunktion für p : λn N. if n = then else n Rekursionsfunktion für q : λn N. if n = then else n, n Da p linearrekursiv ist, zeichnen wir den Rekursionsbaum als Rekursionsfolge: (5) (4) (3) () () () Da q baumrekursiv ist, bekommen wir hier einen Baum: Die Rekursionsrelation für p und q ist gleich: {(n, n ) n N n > } Aufgabe 8.4 (Erweitern einer Prozedur) Geben Sie eine Prozedur euclid : Z Z Z an, die euclid aus Kapitel 9. erweitert und deren definierenden Gleichungen ohne Konditionale formuliert sind. Lösung 8.4: euclid : Z Z Z euclid (x, ) = x euclid (x, y) = euclid (y, x mod y) für y Hinweis: Nach dem Erweitern muss die so entstandene Prozedur für alle möglichen Eingaben der Ursprungsprozedur das gleiche Ergebnis wie diese bringen. Das heißt aber auch, dass die Ausgabe für Eingaben, die nicht von der Ursprungsprozedur genommen werden, beliebig sein kann. euclid kann daher, sobald eines der beiden

3 Argumente negativ ist, beliebige Ergebnisse zurückgeben, solange bei positiven Argumente das gleiche wie bei euclid zurückgegeben wird. Aufgabe 8.5 (Terminierungsfunktionen) Geben Sie (wenn vorhanden) Terminierungsfunktionen für folgende Prozeduren an: (a) a : N N a(n) = n < a(n) = a(n 3) a(n ) n b : Z N b(n) = 7 n b(n) = b(n ) b(n ) Lösung 8.5: (a) λn N.n n < n λn Z.if n < then else n + λn N.if n > 5 then else 6 n λ(m, n) N N.m + n c : N N c(n) = 3 n > 5 c(n) = c(n + ) n 5 d : N N N d(m, n) = d(m, n) m > 4 d(m, n) = d(m, n ) m 4 n > d(m, n) = m n m m 4 n Aufgabe 8.6 (Ergebnisfunktionen) Geben Sie die Ergebnisfunktionen folgender Prozeduren an: (a) a : N N a(z) = z = a(z) = z a(z ) z > b : N N N b(e, i) = e i = b(e, i) = e b(e, i ) i > c : Z N c(a) = c(a a) a < c(a) = a = c(a) = a + c(a a) a > d : Z N d(t) = d( t + ) t < d(t) = t = d(t) = t + d(t ) t > Lösung 8.6: (a) λn N. λ(a, b) N N.a b+ λn Z. n + λw Z.if w then w (w ) else ( w + ) ( w) (Hinweis: Gauß-Summe verschieben) Aufgabe 8.7 Geben Sie für: (a) eine natürliche Terminierungsfunktion an. eine strukturelle Terminierungsfunktion an. Lösung 8.7: (a) λxs L(X). xs λxs L(X).xs dou : L(X) N dou(nil) = dou(x :: xr) = dou(xr) 3

4 Aufgabe 8.8 (a) Schreiben Sie eine mathematische Prozedur drei : N N, die für ein Argument n die Zahl 3 n+ berechnet. Geben Sie eine Terminierungsfunktion für drei an. Schreiben Sie eine mathematische Prozedur vier : N\{} N, die mithilfe von iter : N X (X X) X für ein Argument n > die Zahl 4 n berechnet. Schreiben Sie eine mathematische Prozedur rev : L(X) L(X), die eine Liste xs reversiert. Geben Sie eine Terminierungsfunktion für rev an. Lösung 8.8: drei(n) = 3 n = (a) drei(n) = 3 drei(n ) n > Terminierungsfunktion: λn N.n vier(n) = iter(n,, λk N.4 k) rev(nil) = nil rev(x :: xr) = rev(xr)@[x] Terminierungsfunktion: λxs L(X).xs Korrektheitssatz Aufgabe 8.9 (Sehr wichtig!) Erklären Sie ausführlich, was Sie beim Korrektheitssatz zeigen! Inwiefern ist der Korrektheitssatz vergleichbar zum folgenden Beispiel? Beispiel: Ein Gleichungssystem x = ist gegeben. Um zu zeigen, dass eine Lösung für die Gleichung ist, setzt man für x in der Gleichung ein. Aufgabe 8. (Fakultät) Beweisen Sie, dass die Prozedur die Funktion fac = λn N.n! berechnet. fak : N N fak(n) = für n = fak(n) = n fak(n ) für n > Lösung 8.: Zunächst zeigen wir, dass die Prozedur fak terminiert. Dazu geben wir eine natürliche Terminierungsfunktion an: λn N.n. Also ist Dom fac Dom fak. Nun bleibt zu zeigen, dass fac die definierenden Gleichungen von fak erfüllt. Dafür machen wir eine Fallunterscheidung:. Fall: n = : =! Definition von! = f ac() Definition fac. Fall: n > : n fac(n ) fac in definierende Gleichungen von fak eingesetz) = n (n )! Definition von fac = n! Definition von! = fac(n) Definition von fac 4

5 Aufgabe 8. (Quadratzahlen) Zeigen Sie, dass die Prozedur die Funktion λn N. (n + ) berechnet. p n = if n < then else p(n ) + n + Lösung 8.: Sei f = λn N. (n + ). Die natürliche Terminierungsfunktion λn N. n zeigt, dass Dom p = N und somit Dom f Dom p. Laut Satz 9. wird f dann von p berechnet, falls f die definierenden Gleichungen von p für alle n N erfüllt. Für den Fall n = ist dies klar, da ( + ) =. Sei also n >. Dann gilt if n < then else f(n ) + n + = f(n ) + n + (Konditional auswerten) = ((n ) + ) + n + (Definition von f) = n + n + (vereinfachen) = (n + ) (Binomische Formel) = f n (Definition von f) Aufgabe 8. (Multiplikation mit Addition) Konstruieren Sie eine terminierende Prozedur p : Z N Z, die die Funktion f = λ(x, n) Z N. x n durch wiederholte Addition berechnet. (a) Zeigen Sie die Terminierung der Prozedur p mit einer natürlichen Terminierungsfunktion. Beweisen Sie mit dem Korrektheitssatz die Korrektheit Ihrer Prozedur. Lösung 8.: p : Z N Z p(x, n) = für n = p(x, n) = x + f(x, n ) für n > (a) λ(x, n) Z N. n Beweis mit dem Korrektheitssatz. Wir zeigen zuerst, dass Dom f Dom p gilt. Das folgt daraus, dass p für alle (x, n) Z N terminiert wegen Aufgabenteil (a). Nun zeigen wir, dass f die definierenden Gleichungen von p für alle (x, n) Z N erfüllt. Wir unterscheiden zwei Fälle:.Fall: n = if n = then else x + f(x, n ) = (Definition Konditional) = x = f(x, ) (Definition f) = f(x, n).fall: n > if n = then else x + f(x, n ) = x + f(x, n ) (Definition Konditional) = x + x (n ) (Definition f) = x ( + (n )) = x n = f(x, n) (Definition f) Aufgabe 8.3 (Korrektheitssatz) Geben Sie zu folgenden Prozeduren die Ergebnisfunktion an und beweisen Sie ihre Korrektheit. 5

6 (a) a : N N a n = für n = a n = a(n ) + a(n ) für n > b : Z Z Z b(n, m) = für m = b(n, m) = n b(n, m ) für m c : N Z c = c n = c (n ) für n > d : N N d = d = d n = + d(n ) für n > Lösung 8.3: (a) Ergebnisfunktion: f = λn N.4 n Beweis mit dem Korrektheitssatz. Wir zeigen zuerst, dass Dom f Dom a gilt. Dafür zeigen wir mithilfe einer natürlichen Terminierungsfunktion, dass a für alle n N terminiert: λn N.n Somit gilt Dom f = N = Dom a Nun bleibt noch zu zeigen, dass f die definierenden Gleichungen von a erfüllt.. Fall: n = = 4 Mathe = f f in die definierenden Gleichung von a eingesetzt. Fall: n > f(n ) + f(n ) = 4 n + 4 n Definition von f = ( 4 n ) Mathe = 4 4 n Mathe = 4 n Mathe = f n Definition f Ergebnisfunktion: g = λ(n, m) Z N.n m Beweis mit dem Korrektheitssatz. Wir zeigen zuerst, dass Dom g Dom b gilt. Dafür zeigen wir mithilfe einer natürlichen Terminierungsfunktion, dass b (n, m) Z N terminiert: λ(n, m) Z N.m Somit gilt Dom g = N = Dom b Nun bleibt noch zu zeigen, dass f die definierenden Gleichungen von b erfüllt.. Fall: n = = n Mathe = g (n, ) Definition von g. Fall: n > n g (n, m ) = n n m Definition von g = n m Mathe = g (n, m) Definition von g Ergebnisfunktion: h = λn N. n Beweis mit dem Korrektheitssatz. Wir zeigen zuerst, dass Dom h Dom c gilt. Dafür zeigen wir mithilfe einer natürlichen Terminierungsfunktion, dass c n N terminiert: λn N.n Somit gilt Dom g = N = Dom c Nun bleibt noch zu zeigen, dass f die definierenden Gleichungen von c erfüllt.. Fall: n = = Mathe = n da n = = h Definition von h. Fall: n > 6

7 h(n ) = (n ) Definition von h = n + Mathe = n Mathe = h n Definition von h Ergebnisfunktion: λn N. n Korrektheit:. Fall: n = f = Definition f = Mathe, Definition. Fall: n = f = Definition f = Mathe, Definition 3. Fall: n > f n = n Definition f = + n Mathe = + n Mathe, Definition = + n Mathe = + f (n ) Aufgabe 8.4 (Äquivalenzbeweis: Genau hingeschaut) Betrachten Sie die beiden folgenden mathematischen Prozeduren: p : N Z Z p (, y) = y p (x, y) = p (x, y + ) für x > q : N Z Z q (, y) = y y q (x, y) = q (x, y + ) q (x, y + ) für x > Beweisen Sie, dass die beiden Prozeduren semantisch äquivalent sind. Geben Sie dabei genau an, wie Sie argumentieren und welche Sätze Sie benutzen! Lösung 8.4: Wir geben eine Funktion f an: f (, y) = y f N Z Z f (x, y) = f (x, y + ) für x > Dom f = Dom p, da der Definitionsbereich der Funktion f dem Argumentbereich der Prozedur p entspricht und die Prozedur p für alle ihre Argumente terminiert, wie die natürliche Terminierungsfunktion λ (x, y) N Z. x beweist. Nun zeigen wir zuerst, dass q die Funktion f berechnet. Dazu nutzen wir den Korrektheitssatz: (a) Dom f = Dom q, da Definitionsbereich von f und Argumentbereich von p übereinstimmen und q für alle Argumente terminiert (λ (x, y) N Z. x). f erfüllt die definierenden Gleichungen von q: Für x = : Für x > : f (, y) = y Definition f = y y Arithmetik f (x, y) = f (x, y + ) Definition f, x > = f (x, y + ) f (x, y + ) Arithmetik 7

8 Da q die Funktion f berechnet, und Dom f = Dom q, folgt mit Proposition 9.5, dass f die Ergebnisfunktion von q ist. Damit haben p und q die gleiche Ergebnisfunktion. Da auch ihr Argumentbereich gleich ist, sind sie laut Definition semantisch äquivalent. Grundlagen Teil Aufgabe 8.5 Wozu nutzen wir Terminierungsfunktionen? Sammeln Sie häufig vorkommende Terminierungsfunktionen! Lösung 8.5: Häufig kommen folgende Terminierungsfunktionen vor: λn N.n λn N.n + λn N.if n < then n else λ(m, n) N Z.m λ(m, n) Z Z. m n λxs L(X). xs λxs L(X).xs Aufgabe 8.6 Finden Sie prägnante Erklärungen für die folgenden Unterschiede: (a) Ausführungsprotokoll vs. Anwendungsgleichung Anwendungsgleichung vs. definierende Gleichung verkürztes Ausführungsprotokoll vs. Anwendungsgleichung Argumentbereich vs. Definitionsbereich (e) Rekursionsfunktion vs. Terminierungsfunktion Aufgabe 8.7 (Rekursionsbaum) Zeichnen Sie den Rekursionsbaum für das Argument (7, 5): f : N N N f(a, b) = a f(a, b) = f(a b, b) + f(b, a b) f(a, b) = f(a, b a) a = b a > b a < b Lösung 8.7: (7, 5) (, 5) (5, ) (, 3) (3, ) (, 3) (9, 3) (3, 9) (3, 9) (9, 3) (3, 9) (6, 3) (3, 6) (3, 6) (3, 6) (6, 3) (3, 6) (3, 6) 8

9 Aufgabe 8.8 (Terminierungsfunktionen) Geben Sie (wenn vorhanden) Terminierungsfunktionen für folgende Prozeduren an: (a) a : Z Z a(n) = + a(n div ) n mod = a(n) = a(n + ) n b : Z Z Z b(m, n) = n m b(m, n) = b(m +, n + ) m > n m n c N N N c(m, n) = c(m, n) m > c(m, n) = 9 m Lösung 8.8: (a) a terminiert nicht. λ(m, n) Z Z Z.if m > n then else n m + c ist eine Funktion, keine Prozedur. λ(m, n) Z Z Z. m n (e) λxs L(X).xs (e) d : Z Z N d(m, n) = d(m, n) d(m, n) = d(n, m + ) d(m, n) = 3 e : L(X) N e(nil) = 4 e(x :: xr) = e(xr) + m > n m < n m = n Aufgabe 8.9 (Rekursionsrelationen und Rekursionsfunktionen) Geben Sie die Rekursionsrelation und die Rekursionsfunktion folgender Prozeduren an: (a) a : Z Z a(n) = a(n ) b : Z N b(n) = b(n mod ) n < b(n) = n n c : Z N c(n) = c(n + ) + c(n div ) n 5 c(n) = n n < 5 (e) d : N Z d(n) = d(n ) d(n ) + d(n ) n mod = d(n) = 3 n d(n) n mod e : Z N Z e(z, n) = e(z, n) + e(z, n ) z < e(z, n) = e(n, z) z Lösung 8.9: Rekursionsrelation Rekursionsfunktion (a) {(a, a ) a Z} λn N. n {(a, a mod ) a Z a < } λn Z.if n < then n mod else {(a, a + ) a Z a 5} λn Z.if n 5 then n +, n div else {(a, a div ) a Z a 5} {(a, a ) a N a mod = } λn N.if n mod = then n, n, n else n {(a, a) a N a mod } (e) {((a, b), (a, b)) a Z b N a < } λ(z, n) Z N.if z < then (z, n), (z, n ) else (n, z) {((a, b), (a, b )) a Z b N a < } {((a, b), (b, a)) a Z b N a } Aufgabe 8. (Definitionsbereiche) Geben Sie den Definitionsbereich folgender Prozeduren an: 9

10 (a) a : Z Z a(z) = z a(z) = a(z ) z < z b : N Z b(n) = 3 n = b(n) = b(n) n = b(n) = b(n ) + b(n ) n > n 8 b(n) = b(n ) n > 8 c : Z Z c(z) = z c(z) = c(z + ) z < z d : Z N d(x) = x x < d(x) = d(x + 5) d(x 5) x x d(x) = d( x) x > Lösung 8.: (a) Z N\{, 3, 5, 7} {x x Z x < } Z\{x x x } Aufgabe 8. Warum ist die mathematische Prozedur zulässig, obwohl die SML-Prozedur aha : N R N aha(n, r) = if n < r then n else fun aha ( n: int, r: real ) = if n < r then n else falsch getypt ist? Lösung 8.: Mathematische Prozeduren sind unabhängig von den Eigenarten spezieller Programmiersprachen. Wichtig ist nur, dass Funktionen (wie z.b. <) nur auf Argumente ihres Definitionsbereichs angewendet werden (Wohlgefomrtheitsbedingung). Der Definitionsbereich von < ist R. Da N eine Teilmenge von R ist, ist es kein Problem, eine natürliche Zahl mit einer reelen zu vergleichen. In SML geht dies jedoch nicht, da int und real verschiedene Typen sind und der Operator < nur entweder auf real oder auf int definiert ist.

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK WS 11/12 Einführung in die Informatik II Übungsblatt 2 Univ.-Prof. Dr. Andrey Rybalchenko, M.Sc. Ruslán Ledesma Garza 8.11.2011 Dieses Blatt behandelt

Mehr

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell): Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel

Mehr

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Prof. Dr. Volker Schulz Universität Trier / FB IV / Abt. Mathematik 8. November 2010 http://www.mathematik.uni-trier.de/ schulz/elan-ws1011.html

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Spezifikation der zulässigen Parameter. Bemerkungen: Bemerkungen: (2) Design by Contract:

Spezifikation der zulässigen Parameter. Bemerkungen: Bemerkungen: (2) Design by Contract: Spezifikation der zulässigen Parameter Bemerkungen: Bei jeder (partiellen) Funktion muss man sich überlegen und dokumentieren, welche aktuellen Parameter bei einer Anwendung zulässig sein sollen. Der Anwender

Mehr

Zweite Möglichkeit: Ausgabe direkt auf dem Bildschirm durchführen:

Zweite Möglichkeit: Ausgabe direkt auf dem Bildschirm durchführen: Ein- und Ausgabe Zweite Möglichkeit: Ausgabe direkt auf dem Bildschirm durchführen: fun p r i n t T r e e printa t = c a s e t o f Leaf a => ( p r i n t Leaf ; printa a ) Node ( l, a, r ) => ( p r i n

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Grundprinzipien der funktionalen Programmierung

Grundprinzipien der funktionalen Programmierung Grundprinzipien der funktionalen Programmierung Funktionen haben keine Seiteneffekte Eine Funktion berechnet einen Ausgabewert der nur von den Eingabewerten abhängt: 12 inputs + output 46 34 2 Nicht nur

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 11 (Kapitel 12)

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 11 (Kapitel 12) Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 11 (Kapitel 12) Hinweis: Dieses Übungsblatt enthält

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

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

MINT-Circle-Schülerakademie

MINT-Circle-Schülerakademie 1 Einführung MINT-Circle-Schülerakademie Kurze Einführung, was Maple ist, wozu es dienen kann, wo es verwendet wird. Zur Einführung die folgenden Aufgaben bearbeiten lassen. Aufgabe 1. Gib unter Maple

Mehr

SWP Prüfungsvorbereitung

SWP Prüfungsvorbereitung 20. Juni 2011 1 Grammatiken 2 LL(1) 3 EXP 4 Datentypen 5 LP Grammatiken Angabe Erstellen Sie First- und Follow-Mengen aller Non-Terminale der folgenden Grammatik. S a S S B y B A C A A b b A x A ɛ C c

Mehr

Zum Einsatz von Operatoren im Informatikunterricht

Zum Einsatz von Operatoren im Informatikunterricht Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Professur für Didaktik der Informatik/Mathematik Claudia Strödter E-Mail: claudia.stroedter@uni-jena.de Zum Einsatz von Operatoren

Mehr

ARBEITSBLATT ZU FORMALEN SPRACHEN

ARBEITSBLATT ZU FORMALEN SPRACHEN ARBEITSBLATT ZU FORMALEN SPRACHEN Aufgabe 1: Gegeben ist die folgende Formale Sprache L(G) mit G = (T, N, P, S). Die Produktionen lauten ZUWEISUNG ::= name zuweisungsoperator AUSDRUCK semikolon AUSDRUCK

Mehr

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Grundlagen der Programm- und Systementwicklung Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Technische Universität München Institut für Informatik Software &

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

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Tutoraufgabe 1 (Datenstrukturen in Haskell):

Tutoraufgabe 1 (Datenstrukturen in Haskell): Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium)

Mehr

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. 3 1384788374932954500363985493554603584759389 mod 28374618732464817362847326847331872341234 Wieso kann ein

Mehr

Kurs 1575, Musterlösung zur Winter Klausur 2003/04

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,

Mehr

K2 MATHEMATIK KLAUSUR. Aufgabe PT WTA WTGS Darst. Gesamtpunktzahl Punkte (max) 28 15 15 2 60 Punkte Notenpunkte

K2 MATHEMATIK KLAUSUR. Aufgabe PT WTA WTGS Darst. Gesamtpunktzahl Punkte (max) 28 15 15 2 60 Punkte Notenpunkte K2 MATHEMATIK KLAUSUR 26.2.24 Aufgabe PT WTA WTGS Darst. Gesamtpunktzahl Punkte (max 28 5 5 2 6 Punkte Notenpunkte PT 2 3 4 5 6 7 8 9 P. (max 2 2 2 4 5 3 3 4 3 Punkte WT Ana A.a b A.c Summe P. (max 7 5

Mehr

Funktionale Programmierung

Funktionale Programmierung Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 2 Teil II Typen mit Werten und Ausdruck, sogar listenweise 3 Haskell Programme Programm Module ein

Mehr

Kongruenzrechnung. 2 Kongruenzrechnung 7 2.1 Rechnenregeln Addition und Multiplikation... 7 2.2 Rechenregeln bzgl. verschiedener Moduln...

Kongruenzrechnung. 2 Kongruenzrechnung 7 2.1 Rechnenregeln Addition und Multiplikation... 7 2.2 Rechenregeln bzgl. verschiedener Moduln... Kongruenzrechnung Inhaltsverzeichnis 1 Einführung und Definitionen 2 1.1 Einige Beispiele aus dem Alltag..................... 2 1.2 Kongruenzrechnung im Alltag und Rechenproben........... 3 1.3 Kongruenzen

Mehr

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Aufgabe 35: Thema: Singulärwertzerlegung und assoziierte Unterräume Sei A eine m n Matrix mit Rang r und A = UDV T ihre Singulärwertzerlegung.

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Übungsaufgaben zum Kapitel 1 1. Aufgabe In einer EXCEL Tabelle stehen folgende Zahlen: Definiere einen CommandButton, der diese

Mehr

e d m m = D d (E e (m)) D d E e m f c = f(m) m m m 1 f(m 1 ) = c m m 1 m c = f(m) c m c m b b 0, 1 b r f(b, r) f f(b, r) := y b r 2 n, n = pq ggt (p, q) = 1 p q y n f K f(x + y) = f(x) + f(y) f(x y) =

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

1. Probeklausur zu Programmierung 1 (WS 07/08)

1. Probeklausur zu Programmierung 1 (WS 07/08) Fachschaft Informatikstudiengänge Fachrichtung 6.2 Informatik Das Team der Bremser 1. Probeklausur zu Programmierung 1 (WS 07/08) http://fsinfo.cs.uni-sb.de Name Matrikelnummer Bitte öffnen Sie das Klausurheft

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

6 3 1 7 5 9 2 4 8 Geben Sie dazu jedes Mal, wenn sie die Zeile 15 passieren, die aktuelle Feldbelegung an. Der Anfang wurde bereits gemacht.

6 3 1 7 5 9 2 4 8 Geben Sie dazu jedes Mal, wenn sie die Zeile 15 passieren, die aktuelle Feldbelegung an. Der Anfang wurde bereits gemacht. Aufgabe 2: ALI von der Hochsprache zur Maschinenebene a) Schreiben Sie ein Pascal- sowie das zugehörige RePascal-PROGRAM Quadratsumme, welches nach Eingabe einer natürlichen Zahl n die Summe der ersten

Mehr

Kapitel 4. Aussagenlogik. 4.1 Boolesche Algebren

Kapitel 4. Aussagenlogik. 4.1 Boolesche Algebren Kapitel 4 Aussagenlogik Aussagenlogik war das erste logische System, das als mathematische Logik formuliert werden konnte (George Boole, Laws of Thought, 1854). Aussagenlogik ist die einfachste Logik und

Mehr

Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen

Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen Was bisher geschah Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen Syntax: Signatur Semantik: Axiome (FOL-Formeln, meist

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

Einführung in die C++ Programmierung für Ingenieure

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 15. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Mathematik-Klausur vom 08.07.2011 und Finanzmathematik-Klausur vom 14.07.2011

Mathematik-Klausur vom 08.07.2011 und Finanzmathematik-Klausur vom 14.07.2011 Mathematik-Klausur vom 08.07.20 und Finanzmathematik-Klausur vom 4.07.20 Studiengang BWL DPO 200: Aufgaben 2,,4 Dauer der Klausur: 60 Min Studiengang B&FI DPO 200: Aufgaben 2,,4 Dauer der Klausur: 60 Min

Mehr

Übungsblatt 2. Abgabe: Freitag, 7. November 2014, 18:00 Uhr

Übungsblatt 2. Abgabe: Freitag, 7. November 2014, 18:00 Uhr Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2014/2015 Universität Freiburg Institut für Informatik Übungsblatt 2

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

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 12: Termersetzungssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A ist eine

Mehr

Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler

Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler Wintersemester 3/4 (.3.4). (a) Für z = + i und z = 3 4i berechne man z z und z z. Die Ergebnisse sind in kartesischer Form anzugeben.

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

Mehr

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

4. Übungsblatt Matrikelnr.: 6423043

4. Übungsblatt Matrikelnr.: 6423043 Lineare Algebra I 1. Name: Bleeck, Christian 4. Übungsblatt Matrikelnr.: 6423043 Abgabe: 15.11.06 12 Uhr (Kasten D1 320) Übungsgruppe: 03 Patrick Schützdeller 2. Name: Niemann, Philipp Matrikelnr.: 6388613

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

Lösungvorschlag zum Übungsblatt 6: Software-Entwicklung I (WS 2007/08)

Lösungvorschlag zum Übungsblatt 6: Software-Entwicklung I (WS 2007/08) Prof. Dr. A. Poetzsch-Heffter Dipl.-Inform. J. O. Blech Dipl.-Inform. M. J. Gawkowski Dipl.-Inform. N. Rauch TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungvorschlag zum Übungsblatt

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Wintersemester 2009/10, Prof. Dr. Udo Hahn, Erik Fäßler Übungsblatt 3 vom 19.11.2009 Abgabe bis 26.11.2009, 14:30 Uhr; per

Mehr

Zahlentheorie. Daniel Scholz im Winter 2006 / 2007. Überarbeitete Version vom 7. September 2007.

Zahlentheorie. Daniel Scholz im Winter 2006 / 2007. Überarbeitete Version vom 7. September 2007. Zahlentheorie Daniel Scholz im Winter 2006 / 2007 Überarbeitete Version vom 7. September 2007. Inhaltsverzeichnis 1 Einleitung und Grundlagen 4 1.1 Einleitung............................. 4 1.2 Zahlensysteme..........................

Mehr

Programmierung in Python

Programmierung in Python Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

! Sprachkonstrukte für den funktionalen Programmierstil in Java! ! Programmiertechniken:! ! Terminierung und partielle Korrektheit!

! Sprachkonstrukte für den funktionalen Programmierstil in Java! ! Programmiertechniken:! ! Terminierung und partielle Korrektheit! Überblick über dieses Kapitel Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2012/2013 Kapitel 5: Funktionaler Programmierstil und Rekursion Sprachkonstrukte

Mehr

Optimale Steuerung. Sequentielle Quadratische Programmierung. Kevin Sieg. 14. Juli 2010. Fachbereich für Mathematik und Statistik Universität Konstanz

Optimale Steuerung. Sequentielle Quadratische Programmierung. Kevin Sieg. 14. Juli 2010. Fachbereich für Mathematik und Statistik Universität Konstanz Optimale Steuerung Kevin Sieg Fachbereich für Mathematik und Statistik Universität Konstanz 14. Juli 2010 1 / 29 Aufgabenstellung 1 Aufgabenstellung Aufgabenstellung 2 Die zusammengesetzte Trapezregel

Mehr

Aufgabe 1 (Excel) Anwendungssoftware 1 / 11 Semesterschlussprüfung 21.06.2004

Aufgabe 1 (Excel) Anwendungssoftware 1 / 11 Semesterschlussprüfung 21.06.2004 Anwendungssoftware 1 / 11 Dauer der Prüfung: 90 Minuten. Es sind alle fünf Aufgaben mit allen Teilaufgaben zu lösen. Versuchen Sie, Ihre Lösungen soweit wie möglich direkt auf diese Aufgabenblätter zu

Mehr

Numerische Verfahren und Grundlagen der Analysis

Numerische Verfahren und Grundlagen der Analysis Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)

Mehr

Methodische Grundlagen des Software Engineering - Übung 9

Methodische Grundlagen des Software Engineering - Übung 9 Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen

Mehr

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf))

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf)) Formale Methoden der Informatik WS / Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof.Dr.Dr.F.J.Radermacher H. Ünver T. Rehfeld J. Dollinger 8. Aufgabenblatt Besprechung in den Tutorien vom..

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Fakultät Wirtschaftswissenschaft

Fakultät Wirtschaftswissenschaft Fakultät Wirtschaftswissenschaft Matrikelnr. Name Vorname KLAUSUR: Entwurf und Implementierung von Informationssystemen (32561) TERMIN: 11.09.2013, 14.00 16.00 Uhr PRÜFER: Univ.-Prof. Dr. Stefan Strecker

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Kurs 1612 Konzepte imperativer Programmierung Kurs 1613 Einführung in die imperative Programmierung

Kurs 1612 Konzepte imperativer Programmierung Kurs 1613 Einführung in die imperative Programmierung Aufgaben Aufgabe 1 Schreiben Sie eine PASCAL-Prozedur transponierematrix, die als Parameter eine quadratische Matrix von integer-werten erhält und diese Matrix transponiert, also die Zeilen und Spalten

Mehr

Quadratische Gleichungen

Quadratische Gleichungen Quadratische Gleichungen Aufgabe: Versuche eine Lösung zu den folgenden Zahlenrätseln zu finden:.) Verdoppelt man das Quadrat einer Zahl und addiert, so erhält man 00..) Addiert man zum Quadrat einer Zahl

Mehr

Elementare Zahlentheorie (Version 1)

Elementare Zahlentheorie (Version 1) Elementare Zahlentheorie (Version (Winter Semester, 2005-6 Zur Notation N ist die Menge der natürlichen Zahlen:, 2, 3, 4, 5,... und so weiter. Z ist die Menge aller ganzen Zahlen:..., 4, 3, 2,, 0,, 2,

Mehr

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse

Mehr

Beispiele: (Funktionen auf Listen) (3) Bemerkungen: Die Datenstrukturen der Paare (2) Die Datenstrukturen der Paare

Beispiele: (Funktionen auf Listen) (3) Bemerkungen: Die Datenstrukturen der Paare (2) Die Datenstrukturen der Paare Beispiele: (Funktionen auf Listen) (3) Bemerkungen: 5. Zusammenhängen der Elemente einer Liste von Listen: concat :: [[a]] -> [a] concat xl = if null xl then [] else append (head xl) ( concat (tail xl))

Mehr

Rekursive Auswertungsprozesse in Haskell

Rekursive Auswertungsprozesse in Haskell Rekursive Auswertungsprozesse in Haskell Auswertungsprozess, der durch eine rekursive Funktion bewirkt wird Beispiel: Auswertung der rekursiven Fakultätsfunktion 0! := 1 n! := n (n 1)! fakultaet x = if

Mehr

Dr. Jürgen Roth. Fachbereich 6: Abteilung Didaktik der Mathematik. Elemente der Algebra. Dr. Jürgen Roth 3.1

Dr. Jürgen Roth. Fachbereich 6: Abteilung Didaktik der Mathematik. Elemente der Algebra. Dr. Jürgen Roth 3.1 .1 Dr. Jürgen Roth Fachbereich 6: Abteilung Didaktik der Mathematik Elemente der Algebra . Inhaltsverzeichnis Elemente der Algebra & Argumentationsgrundlagen, Gleichungen und Gleichungssysteme Quadratische

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Ergänzungen zur Analysis I

Ergänzungen zur Analysis I 537. Ergänzungsstunde Logik, Mengen Ergänzungen zur Analysis I Die Behauptungen in Satz 0.2 über die Verknüpfung von Mengen werden auf die entsprechenden Regelnfür die Verknüpfung von Aussagen zurückgeführt.

Mehr

Programmierung 1 (Wintersemester 2012/13) Weihnachtsübungsblatt

Programmierung 1 (Wintersemester 2012/13) Weihnachtsübungsblatt Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2012/13) Weihnachtsübungsblatt Hinweis: Dieses Zusatzübungsblatt wird

Mehr

Mathematik-Dossier. Die lineare Funktion

Mathematik-Dossier. Die lineare Funktion Name: Mathematik-Dossier Die lineare Funktion Inhalt: Lineare Funktion Lösen von Gleichungssystemen und schneiden von Geraden Verwendung: Dieses Dossier dient der Repetition und Festigung innerhalb der

Mehr

Wirtschaftsmathematik-Klausur vom 04.02.2015 und Finanzmathematik-Klausur vom 27.01.2015

Wirtschaftsmathematik-Klausur vom 04.02.2015 und Finanzmathematik-Klausur vom 27.01.2015 Wirtschaftsmathematik-Klausur vom 04.0.015 und Finanzmathematik-Klausur vom 7.01.015 Bearbeitungszeit: W-Mathe 60 Minuten und F-Mathe 45 Min Aufgabe 1 a) Für die Absatzmenge x in ME) und den Verkaufspreis

Mehr

Programmierung Eine Einführung in die Informatik mit Standard ML Musterlösungen für ausgewählte Aufgaben. 1 Schnellkurs. Gert Smolka.

Programmierung Eine Einführung in die Informatik mit Standard ML Musterlösungen für ausgewählte Aufgaben. 1 Schnellkurs. Gert Smolka. Programmierung Eine Einführung in die Informatik mit Standard ML Musterlösungen für ausgewählte Aufgaben Gert Smolka Vorbemerkungen a) Ich danke den Assistenten der Vorlesungen in Saarbrücken für ihre

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Klausur für Studiengänge INF und IST

Klausur für Studiengänge INF und IST Familienname: Matrikelnummer: Studiengang: (bitte ankreuzen) INF IST MED Vorname: Email-Adresse: Immatrikulationsjahr: Klausur für Studiengänge INF und IST sowie Leistungsschein für Studiengang Medieninformatik

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

Taylorentwicklung der k ten Dimension

Taylorentwicklung der k ten Dimension Taylorentwicklung der k ten Dimension 1.) Taylorentwicklung... 2 1.1.) Vorgehenesweise... 2 1.2.) Beispiel: f ((x, y)) = e x2 +y 2 8x 2 4y 4... 3 2.) Realisierung des Algorithmus im CAS Sage Math... 5

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Technische Universität München Zentrum Mathematik PD Dr. hristian Karpfinger http://www.ma.tum.de/mathematik/g8vorkurs 5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Aufgabe 5.1: In einer Implementierung

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

Mehr

TI II. Sommersemester 2009 Prof. Dr. Mesut Güneş 7. Aufgabenblatt mit Lösungen

TI II. Sommersemester 2009 Prof. Dr. Mesut Güneş 7. Aufgabenblatt mit Lösungen 7. Aufgabenblatt mit Lösungen Problem 1: IEEE-Gleitkommazahlen (2+2+4=8) a) Welchen Bereich der positiven Zahlen kann man mit normalisierten Gleitkommazahlen im IEEE-754-Format mit 64 Bit darstellen? b)

Mehr

Einführung in die Numerische Mathematik

Einführung in die Numerische Mathematik Einführung in die Numerische Mathematik Steffen Börm Stand 7. Februar 2016 Alle Rechte beim Autor. Inhaltsverzeichnis 1 Einleitung 5 2 Kondition, Maschinenzahlen und Stabilität 7 2.1 Kondition....................................

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

Aufgabenkomplex: Programmieren in C (Teil 1 von 2) (Ein-/Ausgabe, Ausdrücke, Steueranweisungen)

Aufgabenkomplex: Programmieren in C (Teil 1 von 2) (Ein-/Ausgabe, Ausdrücke, Steueranweisungen) Aufgabenkomplex: Programmieren in C (Teil 1 von 2) (Ein-/Ausgabe, Ausdrücke, Steueranweisungen) Hinweise: - Alle mit * gekennzeichneten Aufgaben sind zum zusätzlichen Üben gedacht. - Die Studentinnen und

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Kapitel 5: Applikative Programmierung

Kapitel 5: Applikative Programmierung Kapitel 5: Applikative Programmierung In der applikativen Programmierung wird ein Programm als eine mathematische Funktion von Eingabe-in Ausgabewerte betrachtet. Das Ausführen eines Programms besteht

Mehr

Eingangstest Mathematik Musterlösungen

Eingangstest Mathematik Musterlösungen Fakultät für Technik Eingangstest Mathematik Musterlösungen 00 Fakultät für Technik DHBW Mannheim . Arithmetik.. (4 Punkte) Vereinfachen Sie folgende Ausdrücke durch Ausklammern, Ausmultiplizieren und

Mehr