diff --git a/01_grundlagen/uebungen/u33_newsletter.html b/01_grundlagen/uebungen/u33_newsletter.html new file mode 100644 index 0000000..22706ff --- /dev/null +++ b/01_grundlagen/uebungen/u33_newsletter.html @@ -0,0 +1,113 @@ + + + + + + Übung 33: Hello, dear ${recipient} + + + +
+
+
+

Übung 33: Hello, dear ${recipient}

+
    +
  1. +

    + Stell dir vor, du arbeitest für ein Unternehmen, das Veranstaltungen organisiert. Du sollst für diesen + Auftraggeber Einladungen verschicken: +

    + + +
    +Dear Heribert,
    +
    +Thank you for your registration.
    +
    +Event Details:
    +- Event: Tech Conference
    +- Date: July 24
    +- Venue: Main Hall, Conference Center
    +
    +We look forward to seeing you at the event!
    +
    +Best regards,
    +The Event Team
    +                
    +
    +

    + Programmiere eine Funktion, die eine Einladung, simuliert durch eine Konsolenausgabe, für die Teilnehmer + generiert. Dabei soll statt Heribert ein beliebiger Name verwendbar sein. +

    + +

    Folgende Aufrufe erfolgen später aus der Datenbank:

    + +
    +showInvitationFor('Heribert');
    +showInvitationFor('Goldy');
    +showInvitationFor('Ladislaus');
    +                
    +
    +
  2. +
  3. +

    + Da unser Auftraggeber verschiedene Veranstaltungen zu verschiedenen Zeitpunkten organisiert, sollen im + nächsten Schritt zwei weitere Parameter angegeben werden, in dem die Art der Veranstaltung, sowie ein + Datum, jeweils als Text, übergeben wird. +

    +

    + Einen zweiten Parameter kannst du bei der Funktionsdefinition innerhalb der Klammern durch Komma + getrennt angeben. +

    + +
    +let showInvitationFor = (recipient, event, date) => {
    +  // ...
    +}
    +                
    +
    +

    + Es sind auch weitere Parameter möglich, aber hier benötigst du nur drei. Innerhalb des Rumpfes kannst du + die neuen Parameter wie gewohnt wie eine Variable verwenden. +

    +

    Folgende Aufrufe erfolgen später aus der Datenbank:

    + +
    +showInvitationFor('Heribert', 'Tech Conference', 'July 24');
    +showInvitationFor('Goldy', 'Art Workshop', 'August 15');
    +showInvitationFor('Ladislaus', 'Music Festival', 'September 10');
    +                
    +
    +
  4. +
  5. +

    + Dein Auftraggeber bietet auch einen VIP-Status für Teilnehmer an. Fall ein Teilnehmer diesen Status + gebucht hat, soll der einleitende Text der Einladung entsprechend angepasst werden: +

    +

    Standard-Version

    +

    Thank you for your registration.

    +

    VIP-Version

    +

    You have registered as a VIP! Enjoy exclusive benefits and access to VIP areas.

    +

    Folgende Aufrufe erfolgen später aus der Datenbank:

    + +
    +showInvitationFor('Heribert', 'Tech Conference', 'July 24', true);
    +showInvitationFor('Goldy', 'Art Workshop', 'August 15', false);
    +showInvitationFor('Ladislaus', 'Music Festival', 'September 10', true);
    +                
    +
    +
  6. +
+
+
+
+ + + diff --git a/01_grundlagen/uebungen/u34-tranformed-ladislaus.html b/01_grundlagen/uebungen/u34-tranformed-ladislaus.html new file mode 100644 index 0000000..a62d669 --- /dev/null +++ b/01_grundlagen/uebungen/u34-tranformed-ladislaus.html @@ -0,0 +1,80 @@ + + + + + + Übung 34: Der transformierte Ladislaus, Teil 3 + + + +
+
+
+

Übung 34: Der transformierte Ladislaus, Teil 3

+

+ Schreiben Sie eine Funktion transformName, die Vor- und Nachname als Parameter entgegennimmt + und einen String der Form +

+

+ <Nachname>, <Anfangsbuchstabe des Vornamens>. +

+
+

Formular:

+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + + + +
+
+
+
+

Transformierter Name:

+
+
+
+ + + diff --git a/01_grundlagen/uebungen/u35_reichweite-verbrauch.html b/01_grundlagen/uebungen/u35_reichweite-verbrauch.html new file mode 100644 index 0000000..0276577 --- /dev/null +++ b/01_grundlagen/uebungen/u35_reichweite-verbrauch.html @@ -0,0 +1,90 @@ + + + + + + Übung 35: Reichweite & Verbrauch, Teil 3 + + + +
+
+
+

Übung 35: Reichweite & Verbrauch, Teil 3

+

+ Überarbeiten Sie Reichweite & Verbrauch, Teil 2 (Übung 18). Erstellen Sie passende Funktionen, die die + Benutzereingaben zurückgeben. +

+
+
+ +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ +
+
+ + + +
+
+
+ +
+
+
+
+
+ + + diff --git a/01_grundlagen/uebungen/u36_kekse-array.html b/01_grundlagen/uebungen/u36_kekse-array.html new file mode 100644 index 0000000..5fa42e2 --- /dev/null +++ b/01_grundlagen/uebungen/u36_kekse-array.html @@ -0,0 +1,88 @@ + + + + + + Übung 36: Kekse backen mit Arrays + + + +
+
+
+

Übung 36: Kekse backen mit Arrays

+ + +

+ Du möchtest ein digitales Rezeptbuch schreiben. Die Zutaten für das jeweilige Rezept stellst du in einem + Array zur Verfügung. +

+ +
    +
  1. + Lege für das erste Rezept — Haferflocken-Kekse — ein Array mit den folgenden Zutaten an: + + +
    +1/4 cup vegetable oil
    +1 separated egg
    +1/2 cup sugar
    +1 tsp baking powder
    +                
    +
    +
  2. + +
  3. Da in der Liste das Mehl fehlt, musst du 1 EL Mehl (1 tsp flour) noch nachträglich ergänzen.
  4. + +
  5. + Beim Durchlesen der Liste fällt auf, dass die wohl wichtigste Zutat ebenfalls fehlt. Füge noch 100 g + Haferflocken (1 cup rolled oats) an die erste Position in die Zutatenliste ein. +
  6. +
  7. + Für Kekse ist es eigentlich besser, Butter statt Öl zu verwenden. Tausche das Öl in der Liste + dementsprechend gegen 75 g Butter (1/3 cup butter) aus. +
  8. + +
  9. + Wandle das Array nun in einen String um und speichere diesen in einer Variablen. Dabei sollen die Zutaten + als Liste ausgegeben werden. +
  10. + +
  11. + Und damit die Rezeptspielerei nicht total sinnlos war, bekommst du natürlich noch die Anleitung von uns + dazu. Speichere auch diese in einer Variable und gib das komplette Rezept in der Konsole aus. +
  12. +
+ +

Anleitung:

+
+ Melt the butter in a pan, add the rolled oats and mix everything well. Remove the mixture from heat and let + it cool. Add the sugar to the egg white and beat until stiff. Mix in the yolk, baking powder and flour. Now + mix in the cooled oat mixture. Shape small mounds of batter onto a baking sheet. These mounds should not be + too large, since the batter will spread out a little as it is baked. Bake for 15 minutes at 350 °F in a + pre-heated oven. +
+
+
+
+
+ + + diff --git a/01_grundlagen/uebungen/u37-bus-stations.html b/01_grundlagen/uebungen/u37-bus-stations.html new file mode 100644 index 0000000..85a9bae --- /dev/null +++ b/01_grundlagen/uebungen/u37-bus-stations.html @@ -0,0 +1,81 @@ + + + + + + Übung 37: Die Kurzstreckenfahrt + + + +
+
+
+

Übung 37: Die Kurzstreckenfahrt

+

+ Nach dem Backen möchtest du ein bisschen Zug fahren. Du selbst befindest dich in New York in der Nähe der + Haltestelle Astoria-Ditmars Blvd. Deine Freunde, die dich und deine Kekse schon freudig erwarten, wohnen bei + der Haltestelle Queensboro Plaza. Da du aber nur ein Kurzstrecken-Ticket lösen möchtest, musst du den Rest + der Strecke laufen. Deswegen benötigst du die Haltestellen-Liste (siehe Grafik) nur bis zur Haltestelle + Broadway. +

+

Hinweis: Für diese Übung bietet es sich an, mit `slice` und `indexOf` zu arbeiten.

+ + + +
    +
  1. + Erstelle ein Array mit den Haltestellen der Linie W: + + +
    +'use strict';
    +
    +const LINE_W = [
    +  'Astoria-Ditmars Blvd',
    +  'Astoria Blvd',
    +  '30 Av',
    +  'Broadway',
    +  '36 Av',
    +  '39 Av',
    +  'Queensboro Plaza',
    +];
    +                
    +
    +
  2. + +
  3. Finde die Position der gewünschten Zielhaltestelle Broadway heraus.
  4. + +
  5. Entferne alle Haltestellen nach Broadway aus dem Array.
  6. + +
  7. + Schreibe eine Funktion, die dir nach Übergabe einer beliebigen Zielhaltestelle ein Array mit allen + Haltestellen ab Astoria-Ditmars Blvd bis zur Zielhaltestelle zurückgibt. +
  8. + +
  9. Erweitere die Funktion, sodass du auch die Starthaltestelle übergeben kannst.
  10. +
+
+
+
+
+ + + diff --git a/01_grundlagen/uebungen/u38_alte-listen.html b/01_grundlagen/uebungen/u38_alte-listen.html new file mode 100644 index 0000000..5df0f93 --- /dev/null +++ b/01_grundlagen/uebungen/u38_alte-listen.html @@ -0,0 +1,34 @@ + + + + + + Übung 38: Alte Listen + + + +
+
+
+

Übung 38: Alte Listen

+ +

+ NerdWorld stellt dir eine neue Aufgabe: Die Mitarbeiter haben Produkte früher in Excel-Listen verwaltet. Zu + Migrationszwecken haben die Mitarbeiter sie nun als CSV-Dateien (comma separated values) exportiert. Damit + sind dann alle Elemente in einer Liste durch Kommas getrennt. +

+

+ Schreibe eine Funktion handleCsv, die einen übergebenen CSV-String in ein Array splittet und alphabetisch + sortiert. Logge das fertig verarbeitete Array als Liste (pro Produkt eine Zeile) in die Konsole. +

+
+
+
+ + + diff --git a/01_grundlagen/uebungen/uebungen-33-38.zip b/01_grundlagen/uebungen/uebungen-33-38.zip new file mode 100644 index 0000000..3d98d9c Binary files /dev/null and b/01_grundlagen/uebungen/uebungen-33-38.zip differ diff --git a/01_grundlagen/unterricht/tag08/15_ar-sort.html b/01_grundlagen/unterricht/tag08/15_ar-sort.html index c97e1c9..419a526 100644 --- a/01_grundlagen/unterricht/tag08/15_ar-sort.html +++ b/01_grundlagen/unterricht/tag08/15_ar-sort.html @@ -3,7 +3,7 @@ - Array - ar.sort()) + Array - ar.sort() @@ -38,8 +38,20 @@ 'Stefan', ]; + const numbers = [1, 28, 44, 3, 8, 38]; + // Array - Methode ar.sort() // IN-PLACE-MUTATION + + const namesCopy = [...names]; + + const namesSorted = namesCopy.sort(); + + console.log(namesSorted); // => ['Benjamin', 'Christian', 'Florian', 'Stefan'] + console.log(namesCopy); // => ['Benjamin', 'Christian', 'Florian', 'Stefan'] + + // Lexikographische Sortierung + console.log(numbers.sort()); // => [1, 28, 3, 38, 44, 8] diff --git a/01_grundlagen/unterricht/tag08/16_ar-index-of-last-index-of.html b/01_grundlagen/unterricht/tag08/16_ar-index-of-last-index-of.html new file mode 100644 index 0000000..f32bdb9 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/16_ar-index-of-last-index-of.html @@ -0,0 +1,53 @@ + + + + + + Array - ar.indexOf() - ar.lastIndexOf() + + + +
+
+

Array - ar.indexOf() - ar.lastIndexOf()

+

+ + ar.indexOf() + + - Die Methode indexOf() gibt den Index zurück, an dem ein bestimmtes Element im Array zum + ersten Mal auftritt oder -1 wenn es nicht vorhanden ist. +

+
+
+
+ + + diff --git a/01_grundlagen/unterricht/tag08/17_ar-join.html b/01_grundlagen/unterricht/tag08/17_ar-join.html new file mode 100644 index 0000000..b3face9 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/17_ar-join.html @@ -0,0 +1,51 @@ + + + + + + Array - ar.join() + + + +
+
+

Array - ar.join()

+

+ + ar.join() + + - Die join() Methode von Array Instanzen erstellt und gibt einen neuen String zurück, indem alle + Elemente in diesem Array verkettet werden, getrennt durch Kommas oder einem angegebenen Trennzeichen-String. + Wenn das Array nur ein Element hat, wird dieses Element ohne Verwendung des Trennzeichens zurückgegeben. +

+
+
+
+ + +