Tracks
/
JavaScript
JavaScript
/
Übungen
/
Logbuch des Kapitäns
Logbuch des Kapitäns

Logbuch des Kapitäns

Lernübung

Einführung

Viele Programme brauchen (pseudo-)zufällige Werte, um Ereignisse aus der realen Welt zu simulieren.

Häufige, bekannte Beispiele sind:

  • Ein Münzwurf: ein zufälliger Wert aus ('H', 'T').
  • Der Wurf eines Würfels: eine zufällige Ganzzahl von 1 bis 6.
  • Das Mischen eines Kartendecks: eine zufällige Reihenfolge einer Kartenliste.
  • Das Erzeugen von Bäumen und Sträuchern in einer 3D-Grafiksimulation.

Wirklich zufällige Werte mit einem Computer zu erzeugen, ist eine erstaunlich schwierige technische Herausforderung. Deshalb gibt es auch „pseudozufällige“ Generatoren.

Caution

Die Funktion Math.random() sollte NICHT für Sicherheits- und Kryptografieanwendungen verwendet werden! Schließe die Lernübung(en) zu diesem Konzept ab, um mehr zu erfahren

Zufallszahlen erzeugen

In JavaScript kannst du pseudozufällige Zahlen mit der Funktion Math.random() erzeugen. Sie gibt eine pseudozufällige Gleitkommazahl zwischen 0 (einschließlich) und 1 (ausschließlich) zurück.

Anleitung

Mary ist ein großer Fan der Fernsehserie Star Trek: The Next Generation. Sie spielt oft Pen-and-Paper-Rollenspiele, in denen sie und ihre Freunde in die Rollen der Crew des Raumschiffs Enterprise schlüpfen. Marys Charakter ist Captain Picard, was bedeutet, dass sie das Logbuch des Captains führen muss. Sie liebt den kreativen Teil des Spiels, mag es aber nicht, spontan zufällige Daten zu erzeugen.

Hilf Mary, indem du Zufallsgeneratoren für Daten erstellst, die typischerweise im Logbuch des Captains auftauchen.

1. Erzeuge eine zufällige Registrierungsnummer eines Raumschiffs

Die Enterprise (Registrierungsnummer NCC-1701) ist nicht das einzige Raumschiff, das herumfliegt! Wenn sie auf ein anderes Raumschiff trifft, muss Mary die Registrierungsnummer dieses Raumschiffs ins Logbuch eintragen.

Registrierungsnummern beginnen mit dem Präfix „NCC-“ und verwenden dann eine Zahl von 1000 bis 9999 (jeweils einschließlich).

Implementiere die Funktion randomShipRegistryNumber(), die eine zufällige Registrierungsnummer eines Raumschiffs zurückgibt.

randomShipRegistryNumber();
// => "NCC-1947"

2. Erzeuge eine zufällige Sternzeit

Was nützt ein Logbuch, wenn darin keine Sternzeiten stehen?

Eine Sternzeit ist eine Gleitkommazahl. Die Abenteuer des Raumschiffs Enterprise aus der ersten Staffel von The Next Generation finden zwischen den Sternzeiten 41000.0 und 42000.0 statt. Die „4“ steht für das 24. Jahrhundert, die „1“ für die erste Staffel.

Implementiere die Funktion randomStardate, die eine Gleitkommazahl zwischen 41000.0 (einschließlich) und 42000.0 (ausschließlich) zurückgibt.

randomStardate();
// => 41458.15721310934

3. Erzeuge einen zufälligen Planeten

Das Raumschiff Enterprise begegnet auf seinen Reisen vielen Planeten. Planeten im Star-Trek-Universum werden anhand ihrer Eigenschaften in Kategorien eingeteilt. Die Erde zum Beispiel ist ein Planet der Klasse M. Alle möglichen Planetenklassen sind: D, H, J, K, L, M, N, R, T und Y.

Implementiere die Funktion randomPlanetClass(). Sie soll zufällig eine der Planetenklassen zurückgeben.

randomPlanetClass();
// => "K"
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
JavaScript Exercism

Bereit, mit Logbuch des Kapitäns zu starten?

Melde dich bei Exercism an, um JavaScript mit 37 Konzepte159 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.