diff --git a/02_advanced/uebungen/#u01_transform-name/index.html b/02_advanced/uebungen/#u01_transform-name/index.html new file mode 100644 index 0000000..0432416 --- /dev/null +++ b/02_advanced/uebungen/#u01_transform-name/index.html @@ -0,0 +1,35 @@ + + + + + + Übung 1: Vorname vor Nachname oder Nachname vor Vorname? + + + +
+
+
+

Übung 1: Vorname vor Nachname oder Nachname vor Vorname?

+

+ Wenn dich der Name der Übung beim Lesen genauso verwirrt wie uns beim Schreiben, dann liegt das daran, dass + die Reihenfolge von Vor- und Nachnamen nicht immer eindeutig ist. Manchmal heißt es + Max Mustermann und manchmal auch Mustermann, Max. Damit Benutzer der + Funktion logTransformedName (aus der Übung Der transformierte Ladislaus, Teil 2 der letzten Class) nicht + auch so verwirrt sind, stelle sie besser auf named parameters um. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/#u02_distance/index.html b/02_advanced/uebungen/#u02_distance/index.html new file mode 100644 index 0000000..6d8656b --- /dev/null +++ b/02_advanced/uebungen/#u02_distance/index.html @@ -0,0 +1,29 @@ + + + + + + Übung 2: Ist es noch weit? Sind wir schon da? + + + +
+
+
+

Übung 2: Ist es noch weit? Sind wir schon da?

+

Die Formel zur Berechnung von Entfernungen lautet:

+ +
Math.sqrt((yDestination - yOrigin) ** 2 + (xDestination - xOrigin) ** 2);
+
+

Schreibe eine Funktion distance, die du z. B. folgendermaßen aufrufen kannst:

+ +
distance({ x: 1, y: 1 }, { x: 5, y: 1 }); // => 4
+
+
+
+
+ + + diff --git a/02_advanced/uebungen/#u03_profile-card/index.html b/02_advanced/uebungen/#u03_profile-card/index.html new file mode 100644 index 0000000..ba9dae7 --- /dev/null +++ b/02_advanced/uebungen/#u03_profile-card/index.html @@ -0,0 +1,27 @@ + + + + + + Übung 3: Profilcard mit destructuring + + + +
+
+
+

Übung 3: Profilcard mit destructuring

+

+ Erstelle eine Funktion namens createProfileCard, die die Informationen einer Person + entgegennimmt und daraus eine Bootstrap Card im HTML-Format generiert. Nutze dabei die generatePersonData + Funktion, um die Personendaten zu formatieren. Die Funktion soll so angepasst werden, dass sie Destructuring + für die übergebenen Parameter verwendet. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/#u07_string-rekursiv/index.html b/02_advanced/uebungen/#u07_string-rekursiv/index.html new file mode 100644 index 0000000..18d2ac1 --- /dev/null +++ b/02_advanced/uebungen/#u07_string-rekursiv/index.html @@ -0,0 +1,30 @@ + + + + + + Übung 7: Rekursive Umkehrung eines Strings + + + +
+
+
+

Übung 7: Rekursive Umkehrung eines Strings

+

Schreibe eine rekursive Funktion in JavaScript, die einen gegebenen String umkehrt.

+
+
+
+ + + diff --git a/02_advanced/uebungen/#u09_level-rekursiv/index.html b/02_advanced/uebungen/#u09_level-rekursiv/index.html new file mode 100644 index 0000000..24650b8 --- /dev/null +++ b/02_advanced/uebungen/#u09_level-rekursiv/index.html @@ -0,0 +1,34 @@ + + + + + + Übung 9: Tiefste Ebene eines verschachtelten Arrays finden + + + +
+
+
+

Übung 9 (advanced): Tiefste Ebene eines verschachtelten Arrays finden

+

+ Schreibe eine rekursive Funktion in JavaScript, die die tiefste Ebene eines verschachtelten Arrays bestimmt. + Die Funktion soll die maximale Verschachtelungstiefe des Arrays zurückgeben. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/u04_countdown-btn/index.html b/02_advanced/uebungen/u04_countdown-btn/index.html new file mode 100644 index 0000000..73331f0 --- /dev/null +++ b/02_advanced/uebungen/u04_countdown-btn/index.html @@ -0,0 +1,77 @@ + + + + + + Übung 4: Button Countdown mit Settings + + + +
+
+
+

Übung 4: Button Countdown mit Settings

+

+ Entwickle einen funktionalen Button, der nach einem Klick einen Countdown in der Schaltfläche anzeigt und + nach Ablauf des Countdowns automatisch wieder aktiviert wird. +

+

Szenario

+

+ Du arbeitest als Frontend-Entwickler für ein Unternehmen, das Online-Formulare für Messeaufträge anbietet. + Um sicherzustellen, dass Benutzer die Formulare nicht versehentlich oder mehrfach absenden, soll ein Button + implementiert werden, der nach dem Absenden für eine bestimmte Zeit (z.B. 5 Sekunden) deaktiviert wird. + Während dieser Zeit soll ein Countdown in der Schaltfläche angezeigt werden, der die verbleibende Zeit bis + zur Reaktivierung des Buttons anzeigt. +

+

Aufgaben

+ +
    +
  1. + HTML-Struktur: Erstelle einen einfachen HTML-Button mit einer Klasse (z.B. button-send). +
  2. +
  3. + JavaScript-Funktionalität: +
      +
    • Implementiere einen Event-Listener für den Klick auf den Button.
    • + +
    • Erstelle eine Countdown-Funktion, die beim Klicken auf den Button gestartet wird.
    • + +
    • + Während des Countdowns soll der Button deaktiviert und der aktuelle Countdown-Wert in der Schaltfläche + angezeigt werden. +
    • + +
    • + Nach Ablauf des Countdowns soll der Button wieder aktiviert und der ursprüngliche Text in der + Schaltfläche wiederhergestellt werden. +
    • +
    +
  4. +
  5. + Countdown-Anzeige: Der Countdown soll in der Schaltfläche des Buttons angezeigt werden. + Das Format der Anzeige (z.B. "5...", "4...", "3...") kannst du selbst wählen. +
  6. +
  7. + Deaktivierung: Stelle sicher, dass der Button während des Countdowns deaktiviert ist, um + Mehrfachklicks zu verhindern. +
  8. +
  9. + Reaktivierung: Sobald der Countdown abgelaufen ist, soll der Button automatisch wieder + aktiviert werden. +
  10. +
  11. + Countdown-Wert konfigurierbar machen: Ermögliche es, den Countdown-Wert (z.B. 5 Sekunden) + über ein Settings-Objekt einzustellen. aktiviert werden. +
  12. +
+

Viel Erfolg bei der Umsetzung!

+
+ + +
+
+ + + diff --git a/02_advanced/uebungen/u05_sum-rekursiv/index.html b/02_advanced/uebungen/u05_sum-rekursiv/index.html new file mode 100644 index 0000000..be95ad0 --- /dev/null +++ b/02_advanced/uebungen/u05_sum-rekursiv/index.html @@ -0,0 +1,39 @@ + + + + + + Übung 5: Summe einer Zahlenreihe rekursiv berechnen + + + +
+
+
+

Übung 5: Summe einer Zahlenreihe rekursiv berechnen

+

+ Schreibe eine rekursive Funktion in JavaScript, die die Summe aller Zahlen von n bis + 1 berechnet. +

+

Hinweise

+ +
    +
  • Definiere einen Basisfall, der die Rekursion beendet.
  • +
  • Der rekursive Fall sollte das Problem in ein kleineres Teilproblem zerlegen.
  • +
+

Viel Erfolg bei der Umsetzung!

+
+
+
+ + + diff --git a/02_advanced/uebungen/u06_binomialkoeffizienten/index.html b/02_advanced/uebungen/u06_binomialkoeffizienten/index.html new file mode 100644 index 0000000..b5ce674 --- /dev/null +++ b/02_advanced/uebungen/u06_binomialkoeffizienten/index.html @@ -0,0 +1,49 @@ + + + + + + Optionale Übung 6: Berechnung von Kombinationen mit Rekursion + + + +
+
+
+

Optionale Übung 6: Berechnung von Kombinationen mit Rekursion

+

+ Implementiere eine rekursive Funktion in JavaScript, die die Anzahl der Kombinationen berechnet, in denen + man k Elemente aus einer Menge von n Elementen auswählen kann (also den + Binomialkoeffizienten). +

+

Hinweise

+ +
    +
  • + Die Formel für Kombinationen lautet:
    +
  • +
  • + Definiere geeignete Basisfälle, zum Beispiel wenn k gleich 0 oder + n ist. +
  • +
+
+
+
+ + + diff --git a/02_advanced/uebungen/u08_max-rekursiv/index.html b/02_advanced/uebungen/u08_max-rekursiv/index.html new file mode 100644 index 0000000..17473c8 --- /dev/null +++ b/02_advanced/uebungen/u08_max-rekursiv/index.html @@ -0,0 +1,32 @@ + + + + + + Übung 8: Rekursive Suche des Maximums in einem Array + + + +
+
+
+

Übung 8: Rekursive Suche des Maximums in einem Array

+

+ Schreibe eine rekursive Funktion in JavaScript, die das größte Element in einem Array von Zahlen findet. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/u10_sum-array-rekursiv/index.html b/02_advanced/uebungen/u10_sum-array-rekursiv/index.html new file mode 100644 index 0000000..8ff642e --- /dev/null +++ b/02_advanced/uebungen/u10_sum-array-rekursiv/index.html @@ -0,0 +1,34 @@ + + + + + + Übung 10: Summe aller Zahlen in einem verschachtelten Array + + + +
+
+
+

Übung 10: Summe aller Zahlen in einem verschachtelten Array

+

+ Schreibe eine rekursive Funktion in JavaScript, die die Summe aller Zahlen in einem verschachtelten Array + berechnet. Das Array kann beliebig tief verschachtelt sein und enthält nur Zahlen oder weitere Arrays. +

+
+
+
+ + + diff --git a/02_advanced/uebungen/uebungen_1-10.zip b/02_advanced/uebungen/uebungen_1-10.zip new file mode 100644 index 0000000..a5f1b13 Binary files /dev/null and b/02_advanced/uebungen/uebungen_1-10.zip differ