<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=DCV_2024_03%2FUebungen_Osterferien</id>
	<title>DCV 2024 03/Uebungen Osterferien - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=DCV_2024_03%2FUebungen_Osterferien"/>
	<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_03/Uebungen_Osterferien&amp;action=history"/>
	<updated>2026-04-14T22:30:58Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CCWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_03/Uebungen_Osterferien&amp;diff=3250&amp;oldid=prev</id>
		<title>Drlue am 21. März 2024 um 06:50 Uhr</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_03/Uebungen_Osterferien&amp;diff=3250&amp;oldid=prev"/>
		<updated>2024-03-21T06:50:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 21. März 2024, 06:50 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Zeile 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[DCV_2024_03/Selbstkontrolle_Strukturierte_Programmierung|Selbstkontrolle]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[DCV_2024_03/Selbstkontrolle_Strukturierte_Programmierung|Selbstkontrolle]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Die Punkte &lt;/del&gt;Datenströme &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;und Kalender sind &lt;/del&gt;&#039;&#039;&#039;optional&#039;&#039;&#039;, da dieser noch nicht behandelt wurde. Man kann es natürlich trotzdem erledigen!&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Der Punkt &lt;/ins&gt;Datenströme &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ist &lt;/ins&gt;&#039;&#039;&#039;optional&#039;&#039;&#039;, da dieser noch nicht behandelt wurde. Man kann es natürlich trotzdem erledigen!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Hackerrank ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Hackerrank ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key maturawiki:diff:1.41:old-3243:rev-3250:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_03/Uebungen_Osterferien&amp;diff=3243&amp;oldid=prev</id>
		<title>Drlue: Die Seite wurde neu angelegt: „ &#039;&#039;&#039;Wir wünschen euch schöne Ferien. Genießt die freie Zeit und nützt diese auch zum programmieren üben!&#039;&#039;&#039;  {{TOC limit|4}}  === Aufgabe: Selbstkontrolle === &#039;&#039;&#039;Die Selbstkontrolle, diese solltet ihr bearbeiten und ist eine gute Wiederholung&#039;&#039;&#039;  Selbstkontrolle   Die Punkte Datenströme und Kalender sind &#039;&#039;&#039;optional&#039;&#039;&#039;, da dieser noch nicht behandelt wurde. Man kann es natürlich trotzdem…“</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_03/Uebungen_Osterferien&amp;diff=3243&amp;oldid=prev"/>
		<updated>2024-03-21T06:43:39Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „ &amp;#039;&amp;#039;&amp;#039;Wir wünschen euch schöne Ferien. Genießt die freie Zeit und nützt diese auch zum programmieren üben!&amp;#039;&amp;#039;&amp;#039;  {{TOC limit|4}}  === Aufgabe: Selbstkontrolle === &amp;#039;&amp;#039;&amp;#039;Die Selbstkontrolle, diese solltet ihr bearbeiten und ist eine gute Wiederholung&amp;#039;&amp;#039;&amp;#039;  &lt;a href=&quot;/index.php/DCV_2024_03/Selbstkontrolle_Strukturierte_Programmierung&quot; title=&quot;DCV 2024 03/Selbstkontrolle Strukturierte Programmierung&quot;&gt;Selbstkontrolle&lt;/a&gt;   Die Punkte Datenströme und Kalender sind &amp;#039;&amp;#039;&amp;#039;optional&amp;#039;&amp;#039;&amp;#039;, da dieser noch nicht behandelt wurde. Man kann es natürlich trotzdem…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &amp;#039;&amp;#039;&amp;#039;Wir wünschen euch schöne Ferien. Genießt die freie Zeit und nützt diese auch zum programmieren üben!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{{TOC limit|4}}&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Selbstkontrolle ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die Selbstkontrolle, diese solltet ihr bearbeiten und ist eine gute Wiederholung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[DCV_2024_03/Selbstkontrolle_Strukturierte_Programmierung|Selbstkontrolle]]&lt;br /&gt;
&lt;br /&gt;
 Die Punkte Datenströme und Kalender sind &amp;#039;&amp;#039;&amp;#039;optional&amp;#039;&amp;#039;&amp;#039;, da dieser noch nicht behandelt wurde. Man kann es natürlich trotzdem erledigen!&lt;br /&gt;
&lt;br /&gt;
=== Hackerrank ===&lt;br /&gt;
Probiert es doch mal aus, macht spaß: https://hackerrank.com&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: GameOfLife ===&lt;br /&gt;
[[DCV_2023_03/Strukturierte_Programmierung_Uebungen/Arrays#Aufgabe:_Conways_Game_of_life|Conways Game of life]]&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: TicTacToe KI ===&lt;br /&gt;
Erweitere [[DCV_2023_03/Strukturierte_Programmierung_Uebungen/Arrays#Aufgabe:_TicTacToe|TicTacToe]], dass gegen den Computer gespielt werden kann. Siehe [https://www.geeksforgeeks.org/minimax-algorithm-in-game-theory-set-3-tic-tac-toe-ai-finding-optimal-move/ MiniMax Algorithmus].&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Türme von Hanoi ===&lt;br /&gt;
Finde eine programmatische Lösung für die [https://de.wikipedia.org/wiki/T%C3%BCrme_von_Hanoi Türme von Hanoi].&lt;br /&gt;
&lt;br /&gt;
Als Datenstruktur wird ein 2-Dimensionales Array benötigt:&lt;br /&gt;
{{JML|code=&lt;br /&gt;
int[][] hanoi = new int[3][Anzahl Scheiben]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Jede Scheibe wird durch eine Zahl reprästentiert, die dessen Größe beschreibt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Folgende Methoden werden benötigt&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Spielfeld ausgeben&lt;br /&gt;
* Spielfeld initialisieren&lt;br /&gt;
* hanoiMove(int from, int to, int using, int count)&lt;br /&gt;
  * count == 1 // direct move&lt;br /&gt;
  * ansonstens 3 Schritte&lt;br /&gt;
      * hanoiMove(from, using, to, count - 1)&lt;br /&gt;
      * hanoiMove(from, to, using, 1) // Wirkliche Bewegung &lt;br /&gt;
      * hanoiMove(using, to, from, count - 1)&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Tip:&amp;#039;&amp;#039;&amp;#039; [https://de.wikipedia.org/wiki/Fibonacci-Folge Fibonacci]&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Blackjack ===&lt;br /&gt;
&lt;br /&gt;
Regeln: http://www.hitorstand.net/strategy.php (Wir machen ohne Split)&lt;br /&gt;
&lt;br /&gt;
{{JML|code=&lt;br /&gt;
int[] deck = new int[52]; (initialisiert von 0, 1, 2 bis 51.)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Methoden:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Mischen mit swap&lt;br /&gt;
* getColor() auf Basis value / 13&lt;br /&gt;
* getFigure() auf Basis value % 13&lt;br /&gt;
* getValue()&lt;br /&gt;
* getValueHand() // zB: Summe von 3 Karten&lt;br /&gt;
&lt;br /&gt;
Strategie für die Bank: Zieht bis &amp;lt; 17&lt;br /&gt;
&lt;br /&gt;
Achte auf eine schöne Ausgabe!&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Hashsumme/Prüfsumme ===&lt;br /&gt;
Erstelle ein Programm welches die Prüfsumme einer gegebenen Datei berechnet und ausgibt. Hierbei kann auch gerne &amp;#039;&amp;#039;&amp;#039;resources/txt/simpeText.txt&amp;#039;&amp;#039;&amp;#039; verwendet werden. Nähere Informationen zur Hashsumme finden sich [https://de.wikipedia.org/wiki/Hashfunktion hier].&lt;br /&gt;
Lies die Datei mithilfe eines {{JSL|FileInputStream}}:&lt;br /&gt;
{{JML|code=&lt;br /&gt;
InputStream in = [YourClass].class.getClassLoader().getResourceAsStream(&amp;quot;txt/simpleText.txt&amp;quot;);&lt;br /&gt;
byte[] buffer = new byte[1024];&lt;br /&gt;
int read = 0;&lt;br /&gt;
while((read = in.read(buffer)) &amp;gt; 0) {&lt;br /&gt;
    //Digest aktualisieren           &lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
Erstelle einen {{JSL|MessageDigest}} für &amp;#039;&amp;#039;&amp;#039;MD5&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;SHA256&amp;#039;&amp;#039;&amp;#039; und befülle diesen mit dem {{JSL|byte[] buffer}}. Instanzen von {{JSL|MessageDigest}} erhältst du mittels {{JSL|MessageDigest.getInstance([algorithm])}}.&lt;br /&gt;
Um die Prüfsumme des {{JSL|MessageDigest}} lerbar zu machen verwende:&lt;br /&gt;
{{JML|code=&lt;br /&gt;
private static String toString(MessageDigest digest) {&lt;br /&gt;
    return new BigInteger(1,digest.digest()).toString(16);&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{BML|code=&lt;br /&gt;
#Prüfsummen für resources/txt/simpleText.txt&lt;br /&gt;
md5: a82e2148461ca6b10c48ddb920a40f15&lt;br /&gt;
sha256: 4711958a43201ac481b37ab2f50a1fd366cc14f5996ad7e02bc01b2f9ea0d12&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Online MD5 Hash generator&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Hier kann die &amp;#039;&amp;#039;&amp;#039;Hashsumme&amp;#039;&amp;#039;&amp;#039; für einen gegebenen Text berechnet werden: [http://www.md5.cz/ MD5 Generator]&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe: Cäsar-Verschlüsselung ===&lt;br /&gt;
Bei der Cäsar-Verschlüsselung werden die Buchstaben um eine fixe Anzahl Stellen&lt;br /&gt;
verschoben (z.B. 2) a wird zu c, f wird zu h, z wird zu b usw.&lt;br /&gt;
Implementiere eine Methode {{JSL|encrypt(String)}} welche einen {{JSL|String}} zurückgibt und und eine Methode&lt;br /&gt;
{{JSL|decrypt(String)}} welche einen {{JSL|String}}.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Entschlüsselt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{{BML|code=&lt;br /&gt;
Dies ist ein Beispieltext der mit einem Klick verschlüsselt werden kann. Hier kann auch&lt;br /&gt;
ein eigenen Text herein geschrieben, oder ein Geheimcode zum Entschlüsseln herein&lt;br /&gt;
kopiert werden.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Verschlüsselt (um 3 verschoben)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{{BML|code=&lt;br /&gt;
Glhv lvw hlq EhlvslhowhAw ghu plw hlqhp Nolfn yhuvfkoüvvhow zhughq ndqq. Klhu&lt;br /&gt;
ndqq dxfk hlq hljhqhq WhAw khuhlq jhvfkulhehq, rghu hlq Jhkhlpfrgh Cxp&lt;br /&gt;
Hqwvfkoüvvhoq khuhlq nrslhuw zhughq.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Drlue</name></author>
	</entry>
</feed>