diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file01.txt b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file01.txt new file mode 100644 index 0000000..e6c377d --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file01.txt @@ -0,0 +1 @@ +Ich bin file 01 \ No newline at end of file diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file02.txt b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file02.txt new file mode 100644 index 0000000..68d1965 --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file02.txt @@ -0,0 +1 @@ +Ich bin file 02 \ No newline at end of file diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file03.txt b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file03.txt new file mode 100644 index 0000000..47225cc --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file03.txt @@ -0,0 +1 @@ +Ich bin file 03 \ No newline at end of file diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file04.txt b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file04.txt new file mode 100644 index 0000000..e33d153 --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file04.txt @@ -0,0 +1 @@ +Ich bin file 04 \ No newline at end of file diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file05.txt b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file05.txt new file mode 100644 index 0000000..ad9f9c3 --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file05.txt @@ -0,0 +1 @@ +Ich bin file 05 \ No newline at end of file diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file06.txt b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file06.txt new file mode 100644 index 0000000..e1d09b7 --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/data/file06.txt @@ -0,0 +1 @@ +Ich bin file 06 \ No newline at end of file diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/index.js b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/index.js new file mode 100644 index 0000000..b0a0365 --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/index.js @@ -0,0 +1,12 @@ +// const getFileBy = (path, encoding = 'utf-8') => { + +// }; + +/* + +Übung 12: Sechs Dateien einlesen +Erstelle die Dateien file_1.txt … file_6.txt und lies sie, wie soeben beschrieben, mit getFileContent(…) aus Codebeispiel 124 ein. + +Was passiert, wenn eine Datei fehlt? Überprüfe die Fehlerbehandlung. Erweitere die Fehlermeldung so, dass ausgegeben wird, welche Dateien nicht gelesen werden konnten! + +*/ diff --git a/02_advanced/uebungen/u12_mehrere-dateien-auslesen/package.json b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/package.json new file mode 100644 index 0000000..5a98782 --- /dev/null +++ b/02_advanced/uebungen/u12_mehrere-dateien-auslesen/package.json @@ -0,0 +1,13 @@ +{ + "name": "u12_mehrere-dateien-auslesen", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "module" +} diff --git a/02_advanced/uebungen/u13_dns-lookup/index.js b/02_advanced/uebungen/u13_dns-lookup/index.js new file mode 100644 index 0000000..76bb75d --- /dev/null +++ b/02_advanced/uebungen/u13_dns-lookup/index.js @@ -0,0 +1,77 @@ +// TODO: imports + +const IP_V = 4; // we use IP protocol version 4 +const URL = 'google.de'; + +// TODO: your modifications + +// 1. +// const getIpBy = () => {}; + +// 2. +// Promises Unterobjekt von Node +// const getPromisesIpBy = () => {}; + +// 3. +// Promisify Helferfunktion +// const getPromisifyIpBy = + +// 4. +// Async await +// const getAsyncIpBy = + +// Test Cases: +// ============================= +getIpBy(URL, IP_V) + .then((data) => { + console.log(data); + }) + .catch((err) => { + console.log(color.red(err)); + }); + +getPromisesIpBy(URL) + .then((data) => { + console.log(data); + }) + .catch((err) => { + console.log(color.red(err)); + }); + +getPromisifyIpBy(URL, IP_V) + .then((data) => { + console.log(data); + }) + .catch((err) => { + console.log(color.red(err)); + }); + +getAsyncIpBy(URL, IP_V) + .then((data) => { + console.log(data); + }) + .catch((err) => { + console.log(color.red(err)); + }); + +/* Übung 13: Das Telefonbuch des Internets + +Vielleicht hast du einmal die Webseite www.nodejs.com besucht? Dann hat dein Computer die so genannte IP-Adresse des Servers www.nodejs.com herausgefunden. + +Ähnlich wie ein Telefonbuch ordnet das Domain Name System (DNS) jedem Server (Host) eine eindeutige IP-Adresse zu, unter der er über das Internet erreichbar ist. + +Die Node.js-API bietet eine Funktion, um Namen im DNS nachzuschlagen: dns.lookup(…). + +Die Übung besteht nun darin, obiges Beispiel so umzuschreiben, dass der Aufruf von dns.lookup(…) in eine Wrapper-Funkion verpackt wird. + +Es sollen drei verschiedene Lösungen erstellt werden: + +1. Ausführliche Variante mit eigenem Promise-Objekt als Ummantelung + +2. Kurze Variante mit Promises-Unterobjekt (dns.promises) + +3. Promisify-Variante mit util.promisify(…) + +4. Async await Variante + +*/ diff --git a/02_advanced/uebungen/u13_dns-lookup/package.json b/02_advanced/uebungen/u13_dns-lookup/package.json new file mode 100644 index 0000000..5a5d84a --- /dev/null +++ b/02_advanced/uebungen/u13_dns-lookup/package.json @@ -0,0 +1,16 @@ +{ + "name": "u13_dns-lookup", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "module", + "dependencies": { + "chalk": "^6.0.0" + } +} diff --git a/02_advanced/uebungen/u14_avg-scores/index.html b/02_advanced/uebungen/u14_avg-scores/index.html new file mode 100644 index 0000000..db9e9c2 --- /dev/null +++ b/02_advanced/uebungen/u14_avg-scores/index.html @@ -0,0 +1,49 @@ + + + + + + Übung 14: Durchschnittsnoten berechnen + + + +
+
+
+

Übung 14: Durchschnittsnoten berechnen

+

+ Gegeben ist eine Tabelle (gradesTable) mit Noten verschiedener Schüler in unterschiedlichen Fächern. Deine + Aufgabe ist es, zwei Funktionen zu schreiben, um die Daten auszuwerten. +

+
    +
  1. + Durchschnitt pro Schüler (calculateAvgGrades): Schreibe eine Funktion, die die + Durchschnittsnote jedes Schülers (zeilenweise) berechnet. Das Ergebnis soll ein Array mit den + Durchschnittswerten der Schüler (Anna, Ben, Clara, David) sein. +
  2. +
  3. + Durchschnitt pro Fach (calculateAvgSubjects): Schreibe eine Funktion, die die + Durchschnittsnote jedes Fachs (spaltenweise) berechnet. Das Ergebnis soll ein Array mit den + Durchschnittswerten der Fächer (Mathematics, English, Biology, History) sein. +
  4. +
+

+ Hinweis: Die erste Zeile der Tabelle enthält Überschriften, und die erste Spalte enthält + Namen. Diese müssen bei der Berechnung ignoriert werden. Runde alle Ergebnisse auf zwei Dezimalstellen. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/u15_shopping-list/index.html b/02_advanced/uebungen/u15_shopping-list/index.html new file mode 100644 index 0000000..9888d2f --- /dev/null +++ b/02_advanced/uebungen/u15_shopping-list/index.html @@ -0,0 +1,38 @@ + + + + + + Übung 15: Einkaufsliste bearbeiten + + + +
+
+
+

Übung 15: Einkaufsliste bearbeiten

+

+ Erstelle eine Einkaufsliste als zweidimensionales Array mit Kategorien und Artikeln. Führe folgende + Änderungen durch: +

+ +
    +
  1. Entferne das zweite Element aus jeder Kategorie.
  2. +
  3. Füge jeweils ein neues Element hinzu.
  4. +
+
+
+
+ + + diff --git a/02_advanced/uebungen/u16_geoquiz/index.html b/02_advanced/uebungen/u16_geoquiz/index.html new file mode 100644 index 0000000..0f72453 --- /dev/null +++ b/02_advanced/uebungen/u16_geoquiz/index.html @@ -0,0 +1,42 @@ + + + + + + Übung 16: Geoquiz + + + +
+
+
+

Übung 16: Geoquiz

+

+ Eine Schule gibt die Entwicklung eines Geoquiz in Auftrag, bei dem Schüler die Hauptstädte verschiedener + Staaten nennen müssen. Deine Aufgabe besteht in der Entwicklung der Lösungsfunktion + getCapitalOf, die eine Hauptstadt zum übergebenen Staat (country) zurückliefert. +

+ +
    +
  1. Entferne das zweite Element aus jeder Kategorie.
  2. +
  3. Füge jeweils ein neues Element hinzu.
  4. +
+
+
+
+ + + diff --git a/02_advanced/uebungen/u17_inventory-modification/index.html b/02_advanced/uebungen/u17_inventory-modification/index.html new file mode 100644 index 0000000..b1db331 --- /dev/null +++ b/02_advanced/uebungen/u17_inventory-modification/index.html @@ -0,0 +1,69 @@ + + + + + + Übung 17: Lagerbestand erweitern + + + +
+
+
+

Übung 17: Lagerbestand erweitern

+

+ Füge eine neue Kategorie «Books» zu dem bestehenden dreidimensionalen Lagerbestandssystem + hinzu und trage zwei neue Produkte mit deren Lagerorten und Mengen ein. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/u18_3d-array-selection/index.html b/02_advanced/uebungen/u18_3d-array-selection/index.html new file mode 100644 index 0000000..a655911 --- /dev/null +++ b/02_advanced/uebungen/u18_3d-array-selection/index.html @@ -0,0 +1,66 @@ + + + + + + Übung 18: 3D Array Zugriff + + + +
+
+
+

Übung 18: 3D Array Zugriff

+

+ Greife auf das zweite Produkt in der «Clothing»-Kategorie zu und ändere die Menge von + «Jeans» von 30 auf 25. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/u19_brightness-increase/index.html b/02_advanced/uebungen/u19_brightness-increase/index.html new file mode 100644 index 0000000..0160b3f --- /dev/null +++ b/02_advanced/uebungen/u19_brightness-increase/index.html @@ -0,0 +1,64 @@ + + + + + + Übung 19: Bildbearbeitung – Helligkeit erhöhen + + + +
+
+
+

Übung 19: Bildbearbeitung – Helligkeit erhöhen

+

+ Schreibe eine Funktion increaseBrightness, die die Helligkeit aller Pixel in einem 3D Bildarray + um einen bestimmten Wert erhöht. Stelle sicher, dass die RGB-Werte nicht über 255 hinausgehen. +

+

+ Die Funktion nimmt ein dreidimensionales Array image und einen Wert value als + Parameter. Ziel ist es, die Helligkeit jedes Pixels im Bild zu erhöhen, indem jeder RGB-Wert um + value erhöht wird. Stelle dabe sicher, dass kein RGB-Wert den maximalen Wert von + 255 überschreitet. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/uebungen-1-10.zip b/02_advanced/uebungen/uebungen-01-10.zip similarity index 100% rename from 02_advanced/uebungen/uebungen-1-10.zip rename to 02_advanced/uebungen/uebungen-01-10.zip diff --git a/02_advanced/uebungen/u11_pyramide-break.zip b/02_advanced/uebungen/uebungen-11_pyramide-break.zip similarity index 100% rename from 02_advanced/uebungen/u11_pyramide-break.zip rename to 02_advanced/uebungen/uebungen-11_pyramide-break.zip diff --git a/02_advanced/uebungen/uebungen-12-19.zip b/02_advanced/uebungen/uebungen-12-19.zip new file mode 100644 index 0000000..1a732b1 Binary files /dev/null and b/02_advanced/uebungen/uebungen-12-19.zip differ diff --git a/02_advanced/unterricht/tag14/06_chess-move/index.html b/02_advanced/unterricht/tag14/06_chess-move/index.html index 0db0f90..d2b346d 100644 --- a/02_advanced/unterricht/tag14/06_chess-move/index.html +++ b/02_advanced/unterricht/tag14/06_chess-move/index.html @@ -5,17 +5,31 @@ Chess Vorlage +

Chess Vorlage

+
diff --git a/02_advanced/unterricht/tag14/07_chess-moves/index.html b/02_advanced/unterricht/tag14/07_chess-moves/index.html new file mode 100644 index 0000000..33b6309 --- /dev/null +++ b/02_advanced/unterricht/tag14/07_chess-moves/index.html @@ -0,0 +1,113 @@ + + + + + + Chess Vorlage + + + + +
+
+

Chess Vorlage

+
+
+
+ + + diff --git a/02_advanced/unterricht/tag14/08_get-moves-history-ar/index.html b/02_advanced/unterricht/tag14/08_get-moves-history-ar/index.html new file mode 100644 index 0000000..7c2e2ea --- /dev/null +++ b/02_advanced/unterricht/tag14/08_get-moves-history-ar/index.html @@ -0,0 +1,29 @@ + + + + + + History Values in einem Array definieren + + + +
+
+

History Values in einem Array definieren

+

Alle vergangenen Schachzüge in einer Array Position vorliegen

+
+
+ + + diff --git a/02_advanced/unterricht/tag14/09_chess-final/index.html b/02_advanced/unterricht/tag14/09_chess-final/index.html new file mode 100644 index 0000000..3499ce1 --- /dev/null +++ b/02_advanced/unterricht/tag14/09_chess-final/index.html @@ -0,0 +1,137 @@ + + + + + + Chess Vorlage + + + + +
+
+

Chess Vorlage

+
+
+
+ + +