<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.190.116.34</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.190.116.34"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/84.190.116.34"/>
	<updated>2026-10-30T06:05:37Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10190</id>
		<title>Informatik 3/Gedächtnisprotokoll Klausur SS07</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10190"/>
		<updated>2007-07-26T19:16:30Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1: Multiple Choice ==&lt;br /&gt;
&lt;br /&gt;
Kreuzen Sie jeweils wahr bzw. falsch an:&lt;br /&gt;
* ..&lt;br /&gt;
* Traversierung mit Breitensuche erzeugt einen aufspannenden Baum.&lt;br /&gt;
* Die Höhe eines binären Suchbaumes ist immer um 1 größer, als das Maximum der Höhen seiner Teilbäume.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Backtrackingalgorithmus finden der dieses löst.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Greedy-algorithmus finden der dieses löst.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: HashTables ==&lt;br /&gt;
&lt;br /&gt;
Hashtabelle der Größe 4.&lt;br /&gt;
*Hashfunktion: h(k) = k mod 4&lt;br /&gt;
*Kollisonsauflösung&amp;quot;double hashing&amp;quot; a(k) = k+2&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vier Werte mit Schlüsseln einfügen und Kollisionen zählen.&lt;br /&gt;
(A,5) (B,11) (C,9) (D,14)&lt;br /&gt;
A -&amp;gt; 1&lt;br /&gt;
B -&amp;gt; 3&lt;br /&gt;
C -&amp;gt; 1, 3, 1 , 3 .. (kann nicht eingefügt werden)&lt;br /&gt;
D -&amp;gt; 2&lt;br /&gt;
0 blieb leer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ist die Anzahl der Kollisionen bei double hashing abhängig von der Reihenfolge in der die Elemente eingefügt werden? Begründung, ggf. Beispiel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3: Suchbäume ==&lt;br /&gt;
&#039;&#039;&#039;AVL-Bäume&#039;&#039;&#039;&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Löschen aus AVL-Baum&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rot/Schwarz-Bäume&#039;&#039;&#039;&lt;br /&gt;
*Einfügen in RS-Baum&lt;br /&gt;
*Java-Programm schreiben für Höhenberechnung eines Rot-Schwarz-Baumes: int getBlackHeight(Node root)&lt;br /&gt;
** Rot-Schwarz-Baum als gültig vorausgesetzt.&lt;br /&gt;
** Vorgegebene Implementation:&lt;br /&gt;
*** boolean isRed(Node node);&lt;br /&gt;
*** boolean isBlack(Node node);&lt;br /&gt;
*** class Node{ int color; Node left; Node right; }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B-Baum&#039;&#039;&#039;&lt;br /&gt;
* Element in B-Baum einfügen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4: Graphen ==&lt;br /&gt;
a) Baue eine Adjazenzmatrix zu folgendem Graphen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4a.png]]&lt;br /&gt;
&lt;br /&gt;
b) Dijkstra auf folgendem Graph ausführen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4b.png]]&lt;br /&gt;
&lt;br /&gt;
c) Definiere (formal oder als Text) den Begriff &amp;quot;aufspannender Baum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
d) Führe union(D,F) auf folgender, als Wald realisierter disjunkter Menge aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4d.png]]&lt;br /&gt;
&lt;br /&gt;
e) Erstelle den Restflussgraphen zu folgendem Flussgraphen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4e.png]]&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5: Übungsorganisation ==&lt;br /&gt;
Es herrscht grosser Andrang bei der Sprechstunde. Keiner der wartenden Studierenden erinnert sich an die genaue Ankunftsreihenfolge. Einige erinnern sich jedoch noch an die Leute die bereits warteten. Es soll eine ungefähre Ankunftsreihenfolge bestimmt werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Name      || wartete bereits&lt;br /&gt;
|-&lt;br /&gt;
| Annett    || Daniel, Edeltraut&lt;br /&gt;
|-&lt;br /&gt;
| Bert      || Anett, Daniel, Claudia&lt;br /&gt;
|-&lt;br /&gt;
| Claudia   || -&lt;br /&gt;
|-&lt;br /&gt;
| Daniel    || Claudia&lt;br /&gt;
|-&lt;br /&gt;
| Edeltraut || Claudia&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a) Erstelle einen Graph aus den Erinnerungen der wartenden Studierenden.&lt;br /&gt;
&lt;br /&gt;
b) Nun soll die ungefähre Reihenfolge der Studierenden berechnet werden.&lt;br /&gt;
&lt;br /&gt;
Algorithmus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ablauf:&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6: Dynamisches Programmieren ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-6.png]]&lt;br /&gt;
&amp;lt;!-- Das Bild wurde gerendert mit freundlicher, allerdings unwissender, Unterstützung der deutschen Wikipedia.&lt;br /&gt;
Hier der TeX-Quellcode des obenstehenden Bildes:&lt;br /&gt;
&amp;lt;math&amp;gt;g(m, n) = \left\lbrace\begin{matrix} 42 &amp;amp; m = 0 \or n=0 \\ g(m-1, n-1) + g(m, n-1) &amp;amp; m &amp;gt; 0 \and n &amp;gt; 0 \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a) Geben Sie eine nicht-rekursive Java-Methode an, die g(m,n) für m, n e N \ {0} berechnet. Die Methode soll dafür polynomielle Laufzeit benötigen&lt;br /&gt;
&lt;br /&gt;
b) Kleinste worst-case-Laufzeitklasse angeben:&lt;br /&gt;
&lt;br /&gt;
O( .... )&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 7: Geld wechseln ==&lt;br /&gt;
Gegeben ist ein Betrag, welcher durch möglichst wenige Geldstücke der Grössen { 200, 100, 50, 20, 10, 5, 2, 1 } dargestellt werden werden soll.&lt;br /&gt;
&lt;br /&gt;
a) Geben Sie eine günstige Kodierung für die Geldstücke an&lt;br /&gt;
&lt;br /&gt;
b) Geben Sie eine Zielfunktion und eine Optimierungsrichtung (max/min) an.&lt;br /&gt;
&lt;br /&gt;
c) Geben Sie ein Greedy-Verfahren zur Lösung des Optimierungsproblems an (als Pseudocode oder verbal).&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10189</id>
		<title>Informatik 3/Gedächtnisprotokoll Klausur SS07</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10189"/>
		<updated>2007-07-26T19:12:10Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1: Multiple Choice ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;br /&gt;
* Traversierung mit Breitensuche erzeugt einen aufspannenden Baum.&lt;br /&gt;
* Die Höhe eines binären Suchbaumes ist immer um 1 größer, als das Maximum der Höhen seiner Teilbäume.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Backtrackingalgorithmus finden der dieses löst.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Greedy-algorithmus finden der dieses löst.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: HashTables ==&lt;br /&gt;
&lt;br /&gt;
Hashtabelle der Größe 4.&lt;br /&gt;
*Hashfunktion: h(k) = k mod 4&lt;br /&gt;
*Kollisonsauflösung&amp;quot;double hashing&amp;quot; a(k) = k+2&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vier Werte mit Schlüsseln einfügen und Kollisionen zählen.&lt;br /&gt;
(A,5) (B,11) (C,9) (D,14)&lt;br /&gt;
A -&amp;gt; 1&lt;br /&gt;
B -&amp;gt; 3&lt;br /&gt;
C -&amp;gt; 1, 3, 1 , 3 .. (kann nicht eingefügt werden)&lt;br /&gt;
D -&amp;gt; 2&lt;br /&gt;
0 blieb leer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ist die Anzahl der Kollisionen bei double hashing abhängig von der Reihenfolge in der die Elemente eingefügt werden? Begründung, ggf. Beispiel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3: Bäume ==&lt;br /&gt;
&#039;&#039;&#039;AVL-Bäume&#039;&#039;&#039;&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Löschen aus AVL-Baum&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rot/Schwaz-Bäume&#039;&#039;&#039;&lt;br /&gt;
*Einfügen in RS-Baum&lt;br /&gt;
*Java-Programm schreiben für Höhenberechnung eines Rot-Schwarz-Baumes getBlackHeight(Node root)&lt;br /&gt;
** Rot-Schwarz-Baum als gültig vorausgesetzt.&lt;br /&gt;
** Vorgegebene Implementation:&lt;br /&gt;
*** isRed(Node node);&lt;br /&gt;
*** isBlack(Node node);&lt;br /&gt;
*** class Node{ int color; Node left; Node right; }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B-Baum&#039;&#039;&#039;&lt;br /&gt;
* Element in B-Baum einfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4: Graphen ==&lt;br /&gt;
a) Baue eine Adjazenzmatrix zu folgendem Graphen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4a.png]]&lt;br /&gt;
&lt;br /&gt;
b) Dijkstra auf folgendem Graph ausführen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4b.png]]&lt;br /&gt;
&lt;br /&gt;
c) Definiere (formal oder als Text) den Begriff &amp;quot;aufspannender Baum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
d) Führe union(D,F) auf folgender, als Wald realisierter disjunkter Menge aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4d.png]]&lt;br /&gt;
&lt;br /&gt;
e) Erstelle den Restflussgraphen zu folgendem Flussgraphen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4e.png]]&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5: Übungsorganisation ==&lt;br /&gt;
Es herrscht grosser Andrang bei der Sprechstunde. Keiner der wartenden Studierenden erinnert sich an die genaue Ankunftsreihenfolge. Einige erinnern sich jedoch noch an die Leute die bereits warteten. Es soll eine ungefähre Ankunftsreihenfolge bestimmt werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Name      || wartete bereits&lt;br /&gt;
|-&lt;br /&gt;
| Annett    || Daniel, Edeltraut&lt;br /&gt;
|-&lt;br /&gt;
| Bert      || Anett, Daniel, Claudia&lt;br /&gt;
|-&lt;br /&gt;
| Claudia   || -&lt;br /&gt;
|-&lt;br /&gt;
| Daniel    || Claudia&lt;br /&gt;
|-&lt;br /&gt;
| Edeltraut || Claudia&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a) Erstelle einen Graph aus den Erinnerungen der wartenden Studierenden.&lt;br /&gt;
&lt;br /&gt;
b) Nun soll die ungefähre Reihenfolge der Studierenden berechnet werden.&lt;br /&gt;
&lt;br /&gt;
Algorithmus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ablauf:&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6: Dynamisches Programmieren ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;g(m, n) = \left\lbrace\begin{matrix} 42 &amp;amp; m = 0 \or n=0 \\ g(m-1, n-1) + g(m, n-1) &amp;amp; m &amp;gt; 0 \and n &amp;gt; 0 \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sobald ich rausfinde wie hier tex geht sieht das da oben auch toll aus :)&lt;br /&gt;
&lt;br /&gt;
a) Geben Sie eine nicht-rekursive Java-Methode an, die g(m,n) für m, n e N \ {0} berechnet. Die Methode soll dafür polynomielle Laufzeit benötigen&lt;br /&gt;
&lt;br /&gt;
b) Kleinste worst-case-Laufzeitklasse angeben:&lt;br /&gt;
&lt;br /&gt;
O( .... )&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 7: Geld wechseln ==&lt;br /&gt;
Gegeben ist ein Betrag, welcher durch möglichst wenige Geldstücke der Grössen { 200, 100, 50, 20, 10, 5, 2, 1 } dargestellt werden werden soll.&lt;br /&gt;
&lt;br /&gt;
a) Geben Sie eine günstige Kodierung für die Geldstücke an&lt;br /&gt;
&lt;br /&gt;
b) Geben Sie eine Zielfunktion und eine Optimierungsrichtung (max/min) an.&lt;br /&gt;
&lt;br /&gt;
c) Geben Sie ein Greedy-Verfahren zur Lösung des Optimierungsproblems an (als Pseudocode oder verbal).&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Integrierte_Veranstaltung&amp;diff=10227</id>
		<title>Integrierte Veranstaltung</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Integrierte_Veranstaltung&amp;diff=10227"/>
		<updated>2007-07-26T18:58:48Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vorlesung und Tutorium nicht ganz so strickt getrennt, Themengebiete werden schon direkt im Vorlesungsteil genauer besprochen (gelegentlich Gruppenarbeit u.ä.), oft als 4-Stunden-Block mit Pause zu finden.&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10179</id>
		<title>Informatik 3/Gedächtnisprotokoll Klausur SS07</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10179"/>
		<updated>2007-07-26T15:10:28Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: /* 1. Aufgabe: Multiple Choice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Aufgabe: Multiple Choice ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;br /&gt;
* Traversierung mit Breitensuche erzeugt einen aufspannenden Baum.&lt;br /&gt;
* Die Höhe eines binären Suchbaumes ist immer um 1 größer, als das Maximum der Höhen seiner Teilbäume.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Backtrackingalgorithmus finden der dieses löst.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Greedy-algorithmus finden der dieses löst.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HashTables ==&lt;br /&gt;
&lt;br /&gt;
Hashtabelle der Größe 4.&lt;br /&gt;
*Hashfunktion: h(k) = k mod 4&lt;br /&gt;
*Kollisonsauflösung&amp;quot;double hashing&amp;quot; a(k) = k+2&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vier Werte mit Schlüsseln einfügen und Kollisionen zählen.&lt;br /&gt;
(A,5) (B,11) (C,9) (D,14)&lt;br /&gt;
A -&amp;gt; 1&lt;br /&gt;
B -&amp;gt; 3&lt;br /&gt;
C -&amp;gt; 1, 3, 1 , 3 .. (kann nicht eingefügt werden)&lt;br /&gt;
D -&amp;gt; 2&lt;br /&gt;
0 blieb leer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ist die Anzahl der Kollisionen bei double hashing abhängig von der Reihenfolge in der die Elemente eingefügt werden? Begründung, ggf. Beispiel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AVL-Bäume ==&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Löschen aus AVL-Baum&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rot-Schwaz-Bäume ==&lt;br /&gt;
*Einfügen in RS-Baum&lt;br /&gt;
*Java-Programm schreiben für Höhenberechnung eines Rot-Schwarz-Baumes getBlackHeight(Node root)&lt;br /&gt;
** Rot-Schwarz-Baum als gültig vorausgesetzt.&lt;br /&gt;
** Vorgegebene Implementation:&lt;br /&gt;
*** isRed(Node node);&lt;br /&gt;
*** isBlack(Node node);&lt;br /&gt;
*** class Node{ int color; Node left; Node right; }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== B-Baum == &lt;br /&gt;
* Element in B-Baum einfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4: Graphen ==&lt;br /&gt;
a) Baue eine Adjazenzmatrix zu folgendem Graphen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4a.png]]&lt;br /&gt;
&lt;br /&gt;
b) Dijkstra auf folgendem Graph ausführen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Info3-ss2007-4b.png]]&lt;br /&gt;
&lt;br /&gt;
c) Definiere (formal oder als Text) den Begriff &amp;quot;aufspannender Baum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
d) Führe union(D,F) auf folgender, als Wald realisierter disjunkter Menge aus:&lt;br /&gt;
(Graph folgt)&lt;br /&gt;
&lt;br /&gt;
e) Erstelle den Restflussgraphen zu folgendem Flussgraphen:&lt;br /&gt;
(Graph folgt)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5: Übungsorganisation ==&lt;br /&gt;
Hab ich, trag ich gleich ein [[Benutzer:TomyLobo|TomyLobo]]&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6: Dynamisches Programmieren ==&lt;br /&gt;
Hab ich, trag ich gleich ein [[Benutzer:TomyLobo|TomyLobo]]&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 7: Geld wechseln ==&lt;br /&gt;
Hab ich, trag ich gleich ein [[Benutzer:TomyLobo|TomyLobo]]&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10170</id>
		<title>Informatik 3/Gedächtnisprotokoll Klausur SS07</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3/Ged%C3%A4chtnisprotokoll_Klausur_SS07&amp;diff=10170"/>
		<updated>2007-07-26T14:10:55Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Aufgabe: Multiple Choice ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;br /&gt;
* ..&lt;br /&gt;
* Die Höhe eines binären Suchbaumes ist immer um 1 größer, als das Maximum der Höhen seiner Teilbäume.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Backtrackingalgorithmus finden der dieses löst.&lt;br /&gt;
* Für jedes endliche Optimierungsproblem kann man einen Greedy-algorithmus finden der dieses löst.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HashTables ==&lt;br /&gt;
&lt;br /&gt;
Hashtabelle der Größe 4.&lt;br /&gt;
*Hashfunktion: h(k) = k mod 4&lt;br /&gt;
*Kollisonsauflösung&amp;quot;double hashing&amp;quot; a(k) = k+2&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vier Werte mit Schlüsseln einfügen und Kollisionen zählen.&lt;br /&gt;
(A,5) (B,11) (C,9) (D,14)&lt;br /&gt;
A -&amp;gt; 1&lt;br /&gt;
B -&amp;gt; 3&lt;br /&gt;
C -&amp;gt; 1, 3, 1 , 3 .. (kann nicht eingefügt werden)&lt;br /&gt;
D -&amp;gt; 2&lt;br /&gt;
0 blieb leer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ist die Anzahl der Kollisionen bei double hashing abhängig von der Reihenfolge in der die Elemente eingefügt werden? Begründung, ggf. Beispiel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AVL-Bäume ==&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Einfügen in AVL-Baum&lt;br /&gt;
*Löschen aus AVL-Baum&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rot-Schwaz-Bäume ==&lt;br /&gt;
*Einfügen in RS-Baum&lt;br /&gt;
*Java-Programm schreiben für Höhenberechnung eines Rot-Schwarz-Baumes getBlackHeight(Node root)&lt;br /&gt;
** Rot-Schwarz-Baum als gültig vorausgesetzt.&lt;br /&gt;
** Vorgegebene Implementation:&lt;br /&gt;
*** isRed(Node node);&lt;br /&gt;
*** isBlack(Node node);&lt;br /&gt;
*** class Node{ int color; Node left; Node right; }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== B-Baum == &lt;br /&gt;
* Element in B-Baum einfügen.&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3_(StuPO90)&amp;diff=4375</id>
		<title>Informatik 3 (StuPO90)</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_3_(StuPO90)&amp;diff=4375"/>
		<updated>2007-07-26T13:51:14Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Klausuren&amp;lt;/h2&amp;gt;&lt;br /&gt;
SS 2007&lt;br /&gt;
* [[Informatik 3/Gedächtnisprotokoll Klausur SS07|Gedächtnisprotokoll Klausur]]&lt;br /&gt;
&lt;br /&gt;
SS 2006&lt;br /&gt;
* [[Informatik 3/Gedächtnisprotokoll Klausur SS06|Gedächtnisprotokoll Klausur]]&lt;br /&gt;
* [[Informatik B (StuPO90)/Mündliche Prüfung SoSe 2006|Gedächtnisprotokoll Mündliche Prüfung]]&lt;br /&gt;
&lt;br /&gt;
SS 2005&lt;br /&gt;
* [[Informatik 3/Gedächtnisprotokoll Klausur SS05|Gedächtnisprotokoll]]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_3/ss05_bsp_klausur.pdf Probeklausur]&lt;br /&gt;
&lt;br /&gt;
WS 2004/2005&lt;br /&gt;
* [[Informatik 3/Gedächtnisprotokoll Klausur WS0405|Gedächtnisprotokoll]]&lt;br /&gt;
&lt;br /&gt;
WS 2003/2004&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_3/ws0304.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
SS 2003&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_3/ss03.pdf Probeklausur]&lt;br /&gt;
&lt;br /&gt;
WS 2002/2003&lt;br /&gt;
* [http://docs.freitagsrunde.org/klausuren/Informatik_3/ws02-03%20Probeklausur.pdf Probeklausur]&lt;br /&gt;
&lt;br /&gt;
SS 2000&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_3/ss00.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
WS 1999/2000&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_3/ws99-00.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
WS 1997/1998&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_3/ws97-98.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
SS 1997&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_3/ss97.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungB|[[MPGI 2 (Bachelor)]] und [[TechGI 3 (Bachelor)]]}}&lt;br /&gt;
&lt;br /&gt;
Informatik 3 ist der dritte Teil der [[Informatik (Vorlesung)|Informatik-Vorlesungen]] im [[Grundstudium Informatik]].&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
Algorithmen und Datenstrukturen in Java und/oder Pseudocode.&lt;br /&gt;
&lt;br /&gt;
* Hashverfahren&lt;br /&gt;
* Skip-Listen&lt;br /&gt;
* Binäre Suchbäume&lt;br /&gt;
* Rekonfigurierende Suchbäume&lt;br /&gt;
* B-Bäume&lt;br /&gt;
* Graphen: Begriffe und Datenstrukturen&lt;br /&gt;
** Breiten-/Tiefensuche&lt;br /&gt;
** Minimale Spannbäume&lt;br /&gt;
** Kürzeste Wege&lt;br /&gt;
* Algorithmen für Optimierungsprobleme&lt;br /&gt;
** Dynamisches Programmieren&lt;br /&gt;
** Greedy-Algorithmen&lt;br /&gt;
** Branch and Bound&lt;br /&gt;
** Heuristische Suche&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
&lt;br /&gt;
Die Themen AVL-, Rot-Schwarz Baum kommen immer wieder in Info 3 Klausuren vor. Dabei ist es nicht getan, wenn man die Rotationen bißchen geübt hat, man muss auch spezialfälle üben und sozusagen blind anwenden können. Dabei ist es hilfreich, wenn man Testweise ein Applet zur visuellen Unterstützung einsetzt.&lt;br /&gt;
&lt;br /&gt;
AVL-Baum: http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm&lt;br /&gt;
&lt;br /&gt;
B-Baum:   http://www.fh-augsburg.de/~mweiss/applets/bTree.shower2.html&lt;br /&gt;
&lt;br /&gt;
RB-Baum:  http://fbim.fh-regensburg.de/~saj39122/gikasch/start.html&lt;br /&gt;
&lt;br /&gt;
Graphen:  http://links.math.rpi.edu/applets/appindex/graphtheory.html&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* http://kbs.cs.tu-berlin.de/teaching/ws2006/info3/&lt;br /&gt;
* [http://user.cs.tu-berlin.de/~xantippe/Glossar/glossar.html Glossar für Informatik 3]&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
:(Nicht unterschriebene Kommentare werden gelöscht!)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Lehrveranstaltungen]]&lt;br /&gt;
Deckt viele INFO3-Themen ab: http://www.grundstudium.info/algorithmen/ --Kazim Karadag 1:12, 9. Apr 2006 (CEST)&lt;br /&gt;
[[Kategorie:Fakultäts-ABC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10157</id>
		<title>Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10157"/>
		<updated>2007-07-26T13:44:00Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: /* Aufgabe 4: Monitore (12 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1: Kurze Fragen (10 Punkte) ==&lt;br /&gt;
* Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung?&lt;br /&gt;
** blockierend / nicht blockieren vs. Nachricht geht evtl. verloren&lt;br /&gt;
&lt;br /&gt;
* Vorteile von leichtgewichtigen Prozessen&lt;br /&gt;
** schnellerer Prozesswechsel, da gemeinsamer Adressraum&lt;br /&gt;
** einfache Implementierung&lt;br /&gt;
** eigener Scheduler ?&lt;br /&gt;
&lt;br /&gt;
* Erkläre die zwei Stufen von Interruptbehandlung. Grund der Zweistufigkeit?&lt;br /&gt;
** Stufe 1: nicht unterbrechbar, nur nötigste Behandlung (speichern).&lt;br /&gt;
** Stufe 2: abschließende Behandlung des interrupts... &lt;br /&gt;
** Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: Assembler (15 Punkte) ==&lt;br /&gt;
Programmieren sie in Assembler die Funktion _binom(int *a, int *b)&lt;br /&gt;
&lt;br /&gt;
*Berechne a²+2ab+b² (!) und speichere das ergebnis in *b und gib 0 bei geglückter Operation zurück.&lt;br /&gt;
*Falls a&amp;lt;0 oder a&amp;gt;32767 oder b&amp;gt;32767 oder b&amp;lt;-32768 gib sofort -1 zurück.&lt;br /&gt;
*Bei der addition der werte a², b² und 2ab kann es zum Überlauf kommen.&lt;br /&gt;
**Falls das passiert gib ebenfalls -1 zurück.(Rückgaben erfolgen wie üblich im Register D0)&lt;br /&gt;
*Schreibe desweiteren eine Subroutine, die das Quadrat einer Zahl berechnet (geht in 2 Zeilen).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3: Semaphoren (10 Punkte) ==&lt;br /&gt;
Elefanten und Mäuse gehen auf ein Schiff.&lt;br /&gt;
Dabei sollen immer möglichst doppelt so viele Möuse wie Elefanten auf dem Schiff sein.&lt;br /&gt;
Nur eine Differenz von 1 ist erlaubt..&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4: Monitore (12 Punkte) ==&lt;br /&gt;
In einem Schwimmbad gibt es ein Schwimmbecken.&lt;br /&gt;
Es gibt Turmspringer, Schwimmer und den Bademeister.&lt;br /&gt;
Synchronisiere mit den Folgenden Regeln über Monitore:&lt;br /&gt;
*Turmspringer und Schwimmer dürfen das Schwimmbecken nicht gleichzeitig benutzen.&lt;br /&gt;
*Wenn kein Bademeister anwesend ist, darf kein Schwimmer ins Becken.&lt;br /&gt;
*Turmspringer dürfen auch ins Becken springen, wenn Schwimmer warten, weil kein Bademeister da ist.&lt;br /&gt;
*Wenn ein Bademeister anwesend ist, haben die Schwimmer vor den Turmspringern Vorrang.&lt;br /&gt;
*Der Bademeister darf erst Feierabend machen (weggehen), wenn kein Schwimmer mehr im Becken ist&lt;br /&gt;
*Der Bademeister darf insbesondere auch dann gehen, wenn noch Schwimmer am Beckenrand warten (voraussgesetzt, es befindet sich kein Schwimmer im Becken).&lt;br /&gt;
*Es kann davon ausgegangen werden, dass es maximal einen Bademeister gibt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Irgendwie komme ich nicht auf 50 Punkte :&amp;gt;&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10156</id>
		<title>Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10156"/>
		<updated>2007-07-26T13:41:47Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: /* Aufgabe 4: Monitore (12 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1: Kurze Fragen (10 Punkte) ==&lt;br /&gt;
* Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung?&lt;br /&gt;
** blockierend / nicht blockieren vs. Nachricht geht evtl. verloren&lt;br /&gt;
&lt;br /&gt;
* Vorteile von leichtgewichtigen Prozessen&lt;br /&gt;
** schnellerer Prozesswechsel, da gemeinsamer Adressraum&lt;br /&gt;
** einfache Implementierung&lt;br /&gt;
** eigener Scheduler ?&lt;br /&gt;
&lt;br /&gt;
* Erkläre die zwei Stufen von Interruptbehandlung. Grund der Zweistufigkeit?&lt;br /&gt;
** Stufe 1: nicht unterbrechbar, nur nötigste Behandlung (speichern).&lt;br /&gt;
** Stufe 2: abschließende Behandlung des interrupts... &lt;br /&gt;
** Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: Assembler (15 Punkte) ==&lt;br /&gt;
Programmieren sie in Assembler die Funktion _binom(int *a, int *b)&lt;br /&gt;
&lt;br /&gt;
*Berechne a²+2ab+b² (!) und speichere das ergebnis in *b und gib 0 bei geglückter Operation zurück.&lt;br /&gt;
*Falls a&amp;lt;0 oder a&amp;gt;32767 oder b&amp;gt;32767 oder b&amp;lt;-32768 gib sofort -1 zurück.&lt;br /&gt;
*Bei der addition der werte a², b² und 2ab kann es zum Überlauf kommen.&lt;br /&gt;
**Falls das passiert gib ebenfalls -1 zurück.(Rückgaben erfolgen wie üblich im Register D0)&lt;br /&gt;
*Schreibe desweiteren eine Subroutine, die das Quadrat einer Zahl berechnet (geht in 2 Zeilen).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3: Semaphoren (10 Punkte) ==&lt;br /&gt;
Elefanten und Mäuse gehen auf ein Schiff.&lt;br /&gt;
Dabei sollen immer möglichst doppelt so viele Möuse wie Elefanten auf dem Schiff sein.&lt;br /&gt;
Nur eine Differenz von 1 ist erlaubt..&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4: Monitore (12 Punkte) ==&lt;br /&gt;
In einem Schwimmbad gibt es ein Schwimmbecken.&lt;br /&gt;
Es gibt Turmspringer, Schwimmer und den Bademeister.&lt;br /&gt;
Synchronisiere mit den Folgenden Regeln über Monitore:&lt;br /&gt;
*Turmspringer und Schwimmer dürfen das Schwimmbecken nicht gleichzeitig benutzen.&lt;br /&gt;
*Wenn kein Bademeister anwesend ist, darf kein Schwimmer ins Becken.&lt;br /&gt;
*Turmspringer dürfen auch ins Becken springen, wenn Schwimmer warten, weil kein Bademeister da ist.&lt;br /&gt;
*Wenn ein Bademeister anwesend ist, haben die Schwimmer vor den Turmspringern Vorrang.&lt;br /&gt;
*Der Bademeister darf erst Feierabend machen (weggehen), wenn kein Schwimmer mehr im Becken ist&lt;br /&gt;
*Der Bademeister darf insbesondere auch dann gehen, wenn noch Schwimmer am Beckenrand warten (voraussgesetzt, es befindet sich kein Schwimmer im Becken).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Irgendwie komme ich nicht auf 50 Punkte :&amp;gt;&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10155</id>
		<title>Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10155"/>
		<updated>2007-07-26T13:41:33Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: /* Aufgabe 3: Semaphoren (10 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1: Kurze Fragen (10 Punkte) ==&lt;br /&gt;
* Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung?&lt;br /&gt;
** blockierend / nicht blockieren vs. Nachricht geht evtl. verloren&lt;br /&gt;
&lt;br /&gt;
* Vorteile von leichtgewichtigen Prozessen&lt;br /&gt;
** schnellerer Prozesswechsel, da gemeinsamer Adressraum&lt;br /&gt;
** einfache Implementierung&lt;br /&gt;
** eigener Scheduler ?&lt;br /&gt;
&lt;br /&gt;
* Erkläre die zwei Stufen von Interruptbehandlung. Grund der Zweistufigkeit?&lt;br /&gt;
** Stufe 1: nicht unterbrechbar, nur nötigste Behandlung (speichern).&lt;br /&gt;
** Stufe 2: abschließende Behandlung des interrupts... &lt;br /&gt;
** Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: Assembler (15 Punkte) ==&lt;br /&gt;
Programmieren sie in Assembler die Funktion _binom(int *a, int *b)&lt;br /&gt;
&lt;br /&gt;
*Berechne a²+2ab+b² (!) und speichere das ergebnis in *b und gib 0 bei geglückter Operation zurück.&lt;br /&gt;
*Falls a&amp;lt;0 oder a&amp;gt;32767 oder b&amp;gt;32767 oder b&amp;lt;-32768 gib sofort -1 zurück.&lt;br /&gt;
*Bei der addition der werte a², b² und 2ab kann es zum Überlauf kommen.&lt;br /&gt;
**Falls das passiert gib ebenfalls -1 zurück.(Rückgaben erfolgen wie üblich im Register D0)&lt;br /&gt;
*Schreibe desweiteren eine Subroutine, die das Quadrat einer Zahl berechnet (geht in 2 Zeilen).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3: Semaphoren (10 Punkte) ==&lt;br /&gt;
Elefanten und Mäuse gehen auf ein Schiff.&lt;br /&gt;
Dabei sollen immer möglichst doppelt so viele Möuse wie Elefanten auf dem Schiff sein.&lt;br /&gt;
Nur eine Differenz von 1 ist erlaubt..&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 4: Monitore (12 Punkte) =&lt;br /&gt;
In einem Schwimmbad gibt es ein Schwimmbecken.&lt;br /&gt;
Es gibt Turmspringer, Schwimmer und den Bademeister.&lt;br /&gt;
Synchronisiere mit den Folgenden Regeln über Monitore:&lt;br /&gt;
*Turmspringer und Schwimmer dürfen das Schwimmbecken nicht gleichzeitig benutzen.&lt;br /&gt;
*Wenn kein Bademeister anwesend ist, darf kein Schwimmer ins Becken.&lt;br /&gt;
*Turmspringer dürfen auch ins Becken springen, wenn Schwimmer warten, weil kein Bademeister da ist.&lt;br /&gt;
*Wenn ein Bademeister anwesend ist, haben die Schwimmer vor den Turmspringern Vorrang.&lt;br /&gt;
*Der Bademeister darf erst Feierabend machen (weggehen), wenn kein Schwimmer mehr im Becken ist&lt;br /&gt;
*Der Bademeister darf insbesondere auch dann gehen, wenn noch Schwimmer am Beckenrand warten (voraussgesetzt, es befindet sich kein Schwimmer im Becken).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Irgendwie komme ich nicht auf 50 Punkte :&amp;gt;&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10154</id>
		<title>Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10154"/>
		<updated>2007-07-26T13:33:46Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1: Kurze Fragen (10 Punkte) ==&lt;br /&gt;
* Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung?&lt;br /&gt;
** blockierend / nicht blockieren vs. Nachricht geht evtl. verloren&lt;br /&gt;
&lt;br /&gt;
* Vorteile von leichtgewichtigen Prozessen&lt;br /&gt;
** schnellerer Prozesswechsel, da gemeinsamer Adressraum&lt;br /&gt;
** einfache Implementierung&lt;br /&gt;
** eigener Scheduler ?&lt;br /&gt;
&lt;br /&gt;
* Erkläre die zwei Stufen von Interruptbehandlung. Grund der Zweistufigkeit?&lt;br /&gt;
** Stufe 1: nicht unterbrechbar, nur nötigste Behandlung (speichern).&lt;br /&gt;
** Stufe 2: abschließende Behandlung des interrupts... &lt;br /&gt;
** Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: Assembler (15 Punkte) ==&lt;br /&gt;
Programmieren sie in Assembler die Funktion _binom(int *a, int *b)&lt;br /&gt;
&lt;br /&gt;
*Berechne a²+2ab+b² (!) und speichere das ergebnis in *b und gib 0 bei geglückter Operation zurück.&lt;br /&gt;
*Falls a&amp;lt;0 oder a&amp;gt;32767 oder b&amp;gt;32767 oder b&amp;lt;-32768 gib sofort -1 zurück.&lt;br /&gt;
*Bei der addition der werte a², b² und 2ab kann es zum Überlauf kommen.&lt;br /&gt;
**Falls das passiert gib ebenfalls -1 zurück.(Rückgaben erfolgen wie üblich im Register D0)&lt;br /&gt;
*Schreibe desweiteren eine Subroutine, die das Quadrat einer Zahl berechnet (geht in 2 Zeilen).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 3: Semaphoren (10 Punkte) =&lt;br /&gt;
Elefanten und Mäuse gehen auf ein Schiff.&lt;br /&gt;
Dabei sollen immer möglichst doppelt so viele Möuse wie Elefanten auf dem Schiff sein.&lt;br /&gt;
Nur eine Differenz von 1 ist erlaubt..&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 4: Monitore (12 Punkte) =&lt;br /&gt;
In einem Schwimmbad gibt es ein Schwimmbecken.&lt;br /&gt;
Es gibt Turmspringer, Schwimmer und den Bademeister.&lt;br /&gt;
Synchronisiere mit den Folgenden Regeln über Monitore:&lt;br /&gt;
*Turmspringer und Schwimmer dürfen das Schwimmbecken nicht gleichzeitig benutzen.&lt;br /&gt;
*Wenn kein Bademeister anwesend ist, darf kein Schwimmer ins Becken.&lt;br /&gt;
*Turmspringer dürfen auch ins Becken springen, wenn Schwimmer warten, weil kein Bademeister da ist.&lt;br /&gt;
*Wenn ein Bademeister anwesend ist, haben die Schwimmer vor den Turmspringern Vorrang.&lt;br /&gt;
*Der Bademeister darf erst Feierabend machen (weggehen), wenn kein Schwimmer mehr im Becken ist&lt;br /&gt;
*Der Bademeister darf insbesondere auch dann gehen, wenn noch Schwimmer am Beckenrand warten (voraussgesetzt, es befindet sich kein Schwimmer im Becken).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Irgendwie komme ich nicht auf 50 Punkte :&amp;gt;&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10153</id>
		<title>Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)/Ged%C3%A4chtnisprotokoll_Klausur_SoSe_2007&amp;diff=10153"/>
		<updated>2007-07-26T13:12:15Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kurze Fragen ==&lt;br /&gt;
* Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung?&lt;br /&gt;
** blockierend / nicht blockieren vs. Nachricht geht evtl. verloren&lt;br /&gt;
&lt;br /&gt;
* Vorteile von leichtgewichtigen Prozessen&lt;br /&gt;
** schnellerer Prozesswechsel, da gemeinsamer Adressraum&lt;br /&gt;
** einfache Implementierung&lt;br /&gt;
** eigener Scheduler ?&lt;br /&gt;
&lt;br /&gt;
* Erkläre die zwei Stufen von Interruptbehandlung. Grund der Zweistufigkeit?&lt;br /&gt;
** Stufe 1: nicht unterbrechbar, nur nötigste Behandlung (speichern).&lt;br /&gt;
** Stufe 2: abschließende Behandlung des interrupts... &lt;br /&gt;
** Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)&amp;diff=4354</id>
		<title>Informatik 4 (StuPO90)</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Informatik_4_(StuPO90)&amp;diff=4354"/>
		<updated>2007-07-26T13:06:04Z</updated>

		<summary type="html">&lt;p&gt;84.190.116.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Klausuren&amp;lt;/h3&amp;gt;&lt;br /&gt;
SS 2007&lt;br /&gt;
* [[Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007|Gedächtnisprotokoll]]&lt;br /&gt;
&lt;br /&gt;
SS 2006&lt;br /&gt;
* [[Informatik 4 (StuPO90)/Stichpunkte zur Klausur SoSe 2006|vor-Klausur-Infos]]&lt;br /&gt;
* [[Informatik B (StuPO90)/Mündliche Prüfung SoSe 2006|Gedächtnisprotokoll Mündliche Prüfung]]&lt;br /&gt;
&lt;br /&gt;
SS 2005&lt;br /&gt;
* [[Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2005|Gedächtnisprotokoll]]&lt;br /&gt;
* [[Informatik 4 (StuPO90)/Stichpunkte zur Klausur SoSe 2005|vor-Klausur-Infos]]&lt;br /&gt;
&lt;br /&gt;
WS 2002/2003&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_4/Klausurfragen03.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
WS 2001/2002&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_4/ws0102.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
WS 2000/2001&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_4/ws0001.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
SS 2000&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Informatik_4/ss00.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungB|[[MPGI 2 (Bachelor)]] und [[TechGI 3 (Bachelor)]]}}&lt;br /&gt;
&lt;br /&gt;
Informatik 4 ist der vierte Teil der [[Informatik (Vorlesung)|Informatik-Vorlesungen]] im [[Grundstudium Informatik]].&lt;br /&gt;
&lt;br /&gt;
= Inhalt =&lt;br /&gt;
* Hardwarenahe Programmierung mit Assembler&lt;br /&gt;
* Parallele Programmierung in Java&lt;br /&gt;
* ...&lt;br /&gt;
* Assembler &lt;br /&gt;
* Einf. Betriebssysteme&lt;br /&gt;
* Nebenläufigkeit und Synchronisation&lt;br /&gt;
* Prozeßbeschreibung&lt;br /&gt;
* Prozeßverwaltung&lt;br /&gt;
* Leichtgewichtige Prozesse&lt;br /&gt;
* Betriebssystem-Kern&lt;br /&gt;
* Schloßvariablen &lt;br /&gt;
* Semaphore&lt;br /&gt;
* Monitore&lt;br /&gt;
* Nachrichten&lt;br /&gt;
* Kommunikationskanäle&lt;br /&gt;
* Prozedurfernaufrufe&lt;br /&gt;
* Ein- und Ausgabe&lt;br /&gt;
* Speicherverwaltung&lt;br /&gt;
* Betriebsmittelvergabe&lt;br /&gt;
&lt;br /&gt;
= Tipps =&lt;br /&gt;
Man muss am Anfang Assembler für die 68000er Plattform von Motorola schreiben. Das geht hier an der Uni nur im Raum EN 268 für den man den jeweiligen Semester-Tür-Code braucht.&lt;br /&gt;
Einfacher und vielleicht auch Lehrreicher ist es den Assemblercode in einem Emulator auszuführen, da man dort z.B. auch genau in die Register hineinschauen kann. Einen solchen Simulator gibts hier:&lt;br /&gt;
&lt;br /&gt;
Motorola 68K Simulator sind mir zwei bekannt: [http://www.informatik.fh-mannheim.de/~ihme/rurd_2005ss/M68k-Programmierung.html BSVC] ([http://ds2.etech.fh-hamburg.de/snd/bsvc.html auch hier]) der theoretisch auch unter Unix läuft und [http://www.monroeccc.edu/ckelly/EASy68K.htm Easy68k] der leider nur unter Windows läuft, dafür aber schöne Dokumentation zu dem 68k Assembler enthält.&lt;br /&gt;
&lt;br /&gt;
BSVC kompiliert auf neueren System evtl. nicht problemlos. [http://user.cs.tu-berlin.de/~felixf/bsvc/README Hier] steht wie es mit Hilfe eines Patches geht, der die Änderungen von [http://www.mdlug.de/bibo/knowhow/prog/howto-bsvc.shtml] und noch etwas mehr in den Quellcode integriert.&lt;br /&gt;
&lt;br /&gt;
Die Assembler Referenz gibt der Lehrbereich nur in gedruckter Form heraus - die [http://www.informatik.fh-mannheim.de/~ihme/Software/BSVC/68k_manual.pdf gibt es anderswo aber auch als PDF].&lt;br /&gt;
&lt;br /&gt;
Zum Thema Semaphoren gibt es [[{{PAGENAME}}/Semaphoren|hier im Wiki eine eigene alternative Erklärung]], die viele Info 4 Teilnehmer einfacher verständlich finden.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
* [http://pdv.cs.tu-berlin.de/Info4-SS2007/ Informatik 4 (SS07)]&lt;br /&gt;
* [http://pdv.cs.tu-berlin.de/ Fachgebiet Prozessdatenverarbeitung]&lt;br /&gt;
* [http://pdv.cs.tu-berlin.de/Info4-SS2007/folien/ Folien SS2007 (Passwort-geschützt, Passwort in der Lehrveranstaltung oder per Nachfrage erhältlich)]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Lehrveranstaltungen]]&lt;br /&gt;
[[Kategorie:Fakultäts-ABC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>84.190.116.34</name></author>
	</entry>
</feed>