diff --git a/07_js-debug/uebungen/u01_bibverwaltung/index.html b/07_js-debug/uebungen/u01_bibverwaltung/index.html new file mode 100644 index 0000000..5ca7b90 --- /dev/null +++ b/07_js-debug/uebungen/u01_bibverwaltung/index.html @@ -0,0 +1,70 @@ + + + + + + Exercise: Nested If-Statements + + +

Exercise: Nested If-Statements

+ + + + diff --git a/07_js-debug/uebungen/u02_extraction/index.html b/07_js-debug/uebungen/u02_extraction/index.html new file mode 100644 index 0000000..5ca7b90 --- /dev/null +++ b/07_js-debug/uebungen/u02_extraction/index.html @@ -0,0 +1,70 @@ + + + + + + Exercise: Nested If-Statements + + +

Exercise: Nested If-Statements

+ + + + diff --git a/07_js-debug/uebungen/u03_dry/index.html b/07_js-debug/uebungen/u03_dry/index.html new file mode 100644 index 0000000..8c49d10 --- /dev/null +++ b/07_js-debug/uebungen/u03_dry/index.html @@ -0,0 +1,49 @@ + + + + + + Exercise: Don't Repeat Yourself (DRY) + + +

Exercise: Don't Repeat Yourself (DRY)

+ + + + diff --git a/07_js-debug/uebungen/u04_dry-benutzerzugang/index.html b/07_js-debug/uebungen/u04_dry-benutzerzugang/index.html new file mode 100644 index 0000000..147d1a1 --- /dev/null +++ b/07_js-debug/uebungen/u04_dry-benutzerzugang/index.html @@ -0,0 +1,246 @@ + + + + + + Advanced If-Else Statements (Enhanced Nesting) + + +

Advanced If-Else Statements (Enhanced Nesting)

+ + + + diff --git a/07_js-debug/uebungen/u05_error-format-date/index.html b/07_js-debug/uebungen/u05_error-format-date/index.html new file mode 100644 index 0000000..6b5b78a --- /dev/null +++ b/07_js-debug/uebungen/u05_error-format-date/index.html @@ -0,0 +1,27 @@ + + + + + + Übung 05: FormatDate Fehler + + + +
+
+

Übung 05: FormatDate Fehler

+
+
+ + + diff --git a/07_js-debug/uebungen/u06_error-benutzer/index.html b/07_js-debug/uebungen/u06_error-benutzer/index.html new file mode 100644 index 0000000..9261022 --- /dev/null +++ b/07_js-debug/uebungen/u06_error-benutzer/index.html @@ -0,0 +1,51 @@ + + + + + + Übung 6: Benutzer erstellen + + + +
+
+

Übung 6: Benutzer erstellen

+
+
+ + + diff --git a/07_js-debug/uebungen/u07_check-temperature/index.html b/07_js-debug/uebungen/u07_check-temperature/index.html new file mode 100644 index 0000000..6e37278 --- /dev/null +++ b/07_js-debug/uebungen/u07_check-temperature/index.html @@ -0,0 +1,37 @@ + + + + + + Übung 7: checkTemperature Fehler + + + +
+
+

Übung 7: checkTemperature Fehler

+

Versuche, den Code auszuführen, den Fehler zu identifizieren und ihn zu beheben.

+
+
+ + + diff --git a/07_js-debug/uebungen/u08_benutzer-anzeigen/index.html b/07_js-debug/uebungen/u08_benutzer-anzeigen/index.html new file mode 100644 index 0000000..ab63182 --- /dev/null +++ b/07_js-debug/uebungen/u08_benutzer-anzeigen/index.html @@ -0,0 +1,57 @@ + + + + + + Übung 8: Benutzer anzeigen + + + +
+
+

Übung 8: Benutzer anzeigen

+

+ Der folgende Code enthält mehrere Referenzfehler, die über verschiedene Teile des Codes verteilt sind. Deine + Aufgabe ist es, alle Referenzfehler zu identifizieren und zu beheben, um sicherzustellen, dass der Code + korrekt läuft. +

+
+
+ + + diff --git a/07_js-debug/uebungen/u09_parse-user-data/index.html b/07_js-debug/uebungen/u09_parse-user-data/index.html new file mode 100644 index 0000000..0d4a6b4 --- /dev/null +++ b/07_js-debug/uebungen/u09_parse-user-data/index.html @@ -0,0 +1,32 @@ + + + + + + Übung 9: parseUserData Fehler + + + +
+
+

Übung 9: parseUserData Fehler

+

Die Kommentare zeigen das erwartete Ergebnis.

+
+
+ + + diff --git a/07_js-debug/uebungen/u10_einkaufspreis/index.js b/07_js-debug/uebungen/u10_einkaufspreis/index.js new file mode 100644 index 0000000..d140439 --- /dev/null +++ b/07_js-debug/uebungen/u10_einkaufspreis/index.js @@ -0,0 +1,40 @@ +function calculateTotalPrice(items) { + let total = 0; + items.forEach((item) => { + total += item.price; + }); + return total.toFixed(2); +} + +const shoppingCart = [ + { name: 'Laptop', price: 999.99 }, + { name: 'Smartphone', price: '599.99' }, + { name: 'Headphones', cost: 199.99 }, +]; + +const totalPrice = calculateTotalPrice(shoppingCart); +console.log('Total Price:', totalPrice); + +function displayUserProfile(user) { + console.log(`Name: ${user.name}`); + console.log(`Age: ${user.age}`); + console.log(`Email: ${user.email.toLowerCase()}`); +} + +const userProfile = { + name: 'Sarah', + age: 'twenty-five', + email: 'SARAH@EXAMPLE.COM', +}; + +displayUserProfile(userProfile); + +function getFirstItemName(items) { + return items[0].name.toUpperCase(); +} + +console.log('First Item:', getFirstItemName(shoppingCart)); // => LAPTOP + +const numberList = '1,2,3,4,5'; +const sum = numberList.reduce((acc, num) => acc + Number(num), 0); +console.log('Sum:', sum); // => 15 diff --git a/07_js-debug/uebungen/u11_calculate-avg-error/index.js b/07_js-debug/uebungen/u11_calculate-avg-error/index.js new file mode 100644 index 0000000..5f360da --- /dev/null +++ b/07_js-debug/uebungen/u11_calculate-avg-error/index.js @@ -0,0 +1,8 @@ +function calculateAverage(numbers) { + const total = numbers.reduce((sum, num) => sum + num, 10); + const average = total / numbers; + return average; +} + +console.log(calculateAverage([10, 20, 30])); // => 20 +console.log(calculateAverage([5, 15, 25, 35])); // => 20 diff --git a/07_js-debug/uebungen/u11_calculate-avg-error/solution.js b/07_js-debug/uebungen/u11_calculate-avg-error/solution.js new file mode 100644 index 0000000..e69de29 diff --git a/07_js-debug/uebungen/u12_find-maximum-error/index.js b/07_js-debug/uebungen/u12_find-maximum-error/index.js new file mode 100644 index 0000000..16d8a6f --- /dev/null +++ b/07_js-debug/uebungen/u12_find-maximum-error/index.js @@ -0,0 +1,14 @@ +// logical error +function findMaximum(a, b, c) { + if (a > b && a > c) { + return a; + } else if (b > a && b > c) { + return b; + } else { + return c; + } +} + +console.log(findMaximum(1, 2, 3)); // => 3 +console.log(findMaximum(102, 59, 18)); // => 102 +console.log(findMaximum(532, 532, 345)); // => 532 diff --git a/07_js-debug/uebungen/u12_find-maximum-error/solution.js b/07_js-debug/uebungen/u12_find-maximum-error/solution.js new file mode 100644 index 0000000..e69de29 diff --git a/07_js-debug/uebungen/u13_temp-converter/assets/js/main.js b/07_js-debug/uebungen/u13_temp-converter/assets/js/main.js new file mode 100644 index 0000000..a9e0d8d --- /dev/null +++ b/07_js-debug/uebungen/u13_temp-converter/assets/js/main.js @@ -0,0 +1,17 @@ +'use strict'; + +(() => { + // === DOM & VARS ======= + const DOM = {}; + + // === INIT ============= + const init = () => {}; + + // === EVENTHANDLER ===== + + // === XHR/FETCH ======== + + // === FUNCTIONS ======== + + init(); +})(); diff --git a/07_js-debug/uebungen/u13_temp-converter/assets/js/preset.js b/07_js-debug/uebungen/u13_temp-converter/assets/js/preset.js new file mode 100644 index 0000000..c5ee928 --- /dev/null +++ b/07_js-debug/uebungen/u13_temp-converter/assets/js/preset.js @@ -0,0 +1,45 @@ +'use strict'; + +(() => { + // ===== DOM ===== + const DOM = { + temperatureForm: document.querySelector('#temperatureForm'), + celsiusInput: document.querySelector('#celsius'), + result: document.querySelector('#result'), + }; + + // ===== INIT ===== + const init = () => { + DOM.temperatureForm.addEventListener('submit', handleFormSubmit); + }; + + // ===== EVENT HANDLERS ===== + function handleFormSubmit(e) { + const celsius = DOM.celsiusInput.value; + + if (!isNaN(celsius)) { + alert('Please enter a valid number'); + return; + } + + const fahrenheit = convertToFahrenheit(celsius); + + displayResult(fahrenheit); + + DOM.temperatureForm.reset(); + } + + // ===== FUNCTIONS ===== + function convertToFahrenheit(celsius) { + if (typeof celsius === 'string') return 0; + + return (celsius * 9) / 5 + 32; + } + + function displayResult(result) { + DOM.result.textContent = result.toFixed(2); + } + + // ===== CALL INIT ===== + init(); +})(); diff --git a/07_js-debug/uebungen/u13_temp-converter/index.html b/07_js-debug/uebungen/u13_temp-converter/index.html new file mode 100644 index 0000000..dd8ec54 --- /dev/null +++ b/07_js-debug/uebungen/u13_temp-converter/index.html @@ -0,0 +1,32 @@ + + + + + + Temperature Converter + + + + +
+

Temperature Converter

+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
Result: °F
+
+ + diff --git a/07_js-debug/uebungen/uebungen-01-13-debug.zip b/07_js-debug/uebungen/uebungen-01-13-debug.zip new file mode 100644 index 0000000..df3e7d7 Binary files /dev/null and b/07_js-debug/uebungen/uebungen-01-13-debug.zip differ diff --git a/07_js-debug/unterricht/tag41/06_demo-form-bug.zip b/07_js-debug/unterricht/tag41/06_demo-form-bug.zip deleted file mode 100644 index 842c64b..0000000 Binary files a/07_js-debug/unterricht/tag41/06_demo-form-bug.zip and /dev/null differ