TypeScript
Aufgabe 1: Typannotationen für Variablen
Datei: 1-vars.ts
Ergänze den folgenden Programmcode um passende Typannotationen:
Aufgabe 2: Typannotationen für Funktionen
Datei: 2-funcs.ts
Ergänze die folgenden Funktionen um Typannotationen, sowohl für die Parameter- und Rückgabetypen als auch für Variablen/Konstanten innerhalb der Funktion:
Aufgabe 3: Temperaturen umrechnen
Datei: 3-tempconv.ts
Schreibe eine Funktion namens convertTemperature, welche zwei Parameter erwartet:
temperatureals ZahlfromUnitals String
Die Temperatur kann entweder als Fahrenheit oder Celsius angegeben werden. Beim Aufruf wird die Ausgangstemperatur angegeben:
fromUnit == "C": CelsiusfromUnit == "F": Fahrenheit
Die angegebene Temperatur soll in die jeweils andere Einheit umgerechnet werden, d.h. von Celsius nach Fahrenheit und umgekehrt. Verwende hierzu diese Formeln:
$$ F = C \times \frac{9}{5} + 32 $$ $$ C = (F -32) \times \frac{5}{9} $$Schreibe dazu ein Programm, welches die Angaben vom Benutzer mittels prompt einliest:
Das berechnete Ergebnis soll dann ausgegeben werden, z.B. folgendermassen:
Aufgabe 4: Zinsrechner
Datei: 4-interests.ts
Programmiere einen Zinsrechner, der die folgenden Werte vom Benutzer via prompt entgegennimmt:
- das Ausgangskapital $K$
- der jährliche Zinssatz in % $p$
- die Laufzeit in Jahren $t$
Die Zinsen sollen dabei jeweils auf das Kapitel gutgeschrieben werden, sodass es exponentiell steigt. Die Jahreszinsen $Z$ kannst du nach der folgenden Formel berechnen:
$$ Z = K \times (1 + \frac{p}{100}) $$Nachtrag: Diese Formel berechnet das neue Kapital nach der Zinsgutschrift. Die Differenz zwischen dem neuen und dem alten Kapital ergibt dann den effektiven Zins.
Für die Eingabe $K=1000$, $p=5$ und $t=5$ soll die Ausgabe folgendermassen aussehen:
Achte darauf, dass die Zahlen auf zwei Nachkommastellen genau ausgegeben, aber immer ohne Rundung weiterverrechnet werden!
Aufgabe 5: Zahlenarray
Datei: 5-numarray.ts
Schreibe ein Programm, dass mittels prompt vom Benutzer in einer Schleife Zahlen entgegennimmt, bis er einen Wert eingibt, der sich nicht in eine Zahl konvertieren lässt (Number.isNaN(x) gibt dann true zurück).
Speichere diese Zahlen in einem Array ab. Berechne dann die Summe und das arithmetische Mittel (auf zwei Nachkommastellen gerundet) dieser Zahlen und gib diese Informationen aus.
Unterteile dein Programm in die folgenden Funktionen, welche du mit Typannotationen versiehst:
promptNumber: liest eine Zahl vom Benutzer eincalculateSum: summiert ein ArraycalculateMean: berechnet das arithmetische Mittel eines Arrays
Die Bedienung des fertigen Programms könnte folgendermassen aussehen:
Aufgabe 6: Exponentialrechnung mit Reiskörnern
Datei: 6-exprice.ts
Eine Legende besagt, dass ein König den Erfinder des Schachspiels damit belohnen wollte, dass er ihm auf das erste Feld des Schachbretts ein Korn Reis gelegt habe, und diese Menge für jedes der 64 Felder verdoppeln wollte.
Schreibe ein Programm, welches die Anzahl der Reiskörner pro Feld berechnet. Dieses soll folgende Ausgabe haben:
Berechne auch, wie viele Kilogramm Reis das sind, wenn ein Reiskorn $\frac{1}{64}g$ wiegt.
Findest du eine Formel, mit welcher sich der Wert total direkt abhängig von der Nummer des Feldes berechnen lässt?