Du schreibst kleine Funktionen direkt hier auf der Seite: Sie bekommen Zahlen oder Texte und geben ein Ergebnis zurück. Ohne Terminal und ohne Dateien, mit einem Knopf, der deinen Code ausführt und prüft.
Eine Funktion bekommt Werte, rechnet damit und gibt ein Ergebnis zurück. Diese hier bekommt eine Zahl und gibt ihr Dreifaches zurück:
def triple(n) 3 * n end puts triple(14)
In Ruby ist das Ergebnis der Wert der letzten Zeile; return 3 * n schreibt
es ausdrücklich hin. puts ruft die Funktion zum Ausprobieren auf und schreibt
ihr Ergebnis, 42, ins Terminal.
def triple(n): return 3 * n print(triple(14))
return gibt das Ergebnis zurück. print ruft die Funktion zum Ausprobieren
auf und schreibt ihr Ergebnis, 42, ins Terminal.
function triple(n) { return 3 * n; } console.log(triple(14));
return gibt das Ergebnis zurück. console.log ruft die Funktion zum
Ausprobieren auf und schreibt ihr Ergebnis, 42, in die Ausgabe. Namen aus
mehreren Wörtern schreibt man in JavaScript zusammen, jedes weitere Wort groß:
rectangleArea.
In jeder Karte unten schreibst du eine solche Funktion. Ausführen startet deinen Code einmal und zeigt, was er ausgibt; dann ruft es deine Funktion mit verschiedenen Werten auf und vergleicht, was herauskommt. Neben dem Titel steht, wie schwer eine Kata ist: Einstieg, Übung oder Knobelei. Du darfst springen.
Schreib eine Funktion add(a, b), die die Summe der beiden Zahlen zurückgibt: add(2, 3) ergibt 5.
Schreib eine Funktion add(a, b), die die Summe der beiden Zahlen zurückgibt: add(2, 3) ergibt 5.
Schreib eine Funktion add(a, b), die die Summe der beiden Zahlen zurückgibt: add(2, 3) ergibt 5.
Schreib eine Funktion double(n), die das Doppelte einer Zahl zurückgibt: double(21) ergibt 42.
Schreib eine Funktion double(n), die das Doppelte einer Zahl zurückgibt: double(21) ergibt 42.
Schreib eine Funktion double(n), die das Doppelte einer Zahl zurückgibt: double(21) ergibt 42.
Schreib eine Funktion greet(name), die eine Begrüßung zurückgibt: greet('Ada') ergibt 'Hallo, Ada!'.
Zwei Texte hängst du mit + aneinander. Oder du setzt den Namen mit "Hallo, #{name}!" mitten in den Text.
Schreib eine Funktion greet(name), die eine Begrüßung zurückgibt: greet('Ada') ergibt 'Hallo, Ada!'.
Zwei Texte hängst du mit + aneinander. Oder du setzt den Namen mit f'Hallo, {name}!' mitten in den Text.
Schreib eine Funktion greet(name), die eine Begrüßung zurückgibt: greet('Ada') ergibt 'Hallo, Ada!'.
Zwei Texte hängst du mit + aneinander. Oder du setzt den Namen mit `Hallo, ${name}!` mitten in den Text: zwischen Backticks.
Schreib eine Funktion rectangle_area(width, height), die die Fläche eines Rechtecks zurückgibt: rectangle_area(3, 4) ergibt 12.
Schreib eine Funktion rectangle_area(width, height), die die Fläche eines Rechtecks zurückgibt: rectangle_area(3, 4) ergibt 12.
Schreib eine Funktion rectangleArea(width, height), die die Fläche eines Rechtecks zurückgibt: rectangleArea(3, 4) ergibt 12.
Jetzt rechnen die Funktionen ein wenig mehr. Achte darauf, was zuerst gerechnet wird, und darauf, ob eine ganze Zahl oder eine Kommazahl herauskommt.
In den USA misst man die Temperatur in Grad Fahrenheit. Man rechnet um, indem man die Grad Celsius mit 1,8 multipliziert und 32 addiert. Schreib eine Funktion fahrenheit(celsius): fahrenheit(100) ergibt 212, fahrenheit(37.5) ergibt 99.5.
Rechne fahrenheit(10) von Hand: 10 mal 1,8 ist 18, dazu 32 macht 50.
Ein Komma schreibst du in Ruby als Punkt: 1.8.
In den USA misst man die Temperatur in Grad Fahrenheit. Man rechnet um, indem man die Grad Celsius mit 1,8 multipliziert und 32 addiert. Schreib eine Funktion fahrenheit(celsius): fahrenheit(100) ergibt 212, fahrenheit(37.5) ergibt 99.5.
Rechne fahrenheit(10) von Hand: 10 mal 1,8 ist 18, dazu 32 macht 50.
Ein Komma schreibst du in Python als Punkt: 1.8.
In den USA misst man die Temperatur in Grad Fahrenheit. Man rechnet um, indem man die Grad Celsius mit 1,8 multipliziert und 32 addiert. Schreib eine Funktion fahrenheit(celsius): fahrenheit(100) ergibt 212, fahrenheit(37.5) ergibt 99.5.
Rechne fahrenheit(10) von Hand: 10 mal 1,8 ist 18, dazu 32 macht 50.
Ein Komma schreibst du in JavaScript als Punkt: 1.8.
Ein Video ist 125 Sekunden lang. Ein Player zeigt das als 2:05: zwei Minuten und fünf Sekunden. Schreib eine Funktion clock(seconds), die diesen Text zurückgibt; die Sekunden immer mit zwei Ziffern.
Wie viele ganze Minuten stecken in 125 Sekunden, und wie viele Sekunden bleiben übrig?
/ mit zwei ganzen Zahlen gibt die ganzen Minuten, % den Rest.
Zwei Ziffern bekommst du mit format('%02d', zahl), oder mit zahl.to_s.rjust(2, '0').
Ein Video ist 125 Sekunden lang. Ein Player zeigt das als 2:05: zwei Minuten und fünf Sekunden. Schreib eine Funktion clock(seconds), die diesen Text zurückgibt; die Sekunden immer mit zwei Ziffern.
Wie viele ganze Minuten stecken in 125 Sekunden, und wie viele Sekunden bleiben übrig?
// gibt die ganzen Minuten, % den Rest.
Zwei Ziffern bekommst du mit f'{zahl:02d}'.
Ein Video ist 125 Sekunden lang. Ein Player zeigt das als 2:05: zwei Minuten und fünf Sekunden. Schreib eine Funktion clock(seconds), die diesen Text zurückgibt; die Sekunden immer mit zwei Ziffern.
Wie viele ganze Minuten stecken in 125 Sekunden, und wie viele Sekunden bleiben übrig?
Math.floor(seconds / 60) gibt die ganzen Minuten, % den Rest.
Zwei Ziffern bekommst du mit String(zahl).padStart(2, '0').
Schreib eine Funktion average(a, b, c), die den Durchschnitt dreier Zahlen zurückgibt: average(1, 2, 3) ergibt 2, average(1, 2, 4) ergibt etwa 2.333.
Der Durchschnitt ist die Summe geteilt durch die Anzahl.
Achte darauf, was zuerst gerechnet wird, und darauf, was / mit ganzen Zahlen macht.
Schreib eine Funktion average(a, b, c), die den Durchschnitt dreier Zahlen zurückgibt: average(1, 2, 3) ergibt 2, average(1, 2, 4) ergibt etwa 2.333.
Der Durchschnitt ist die Summe geteilt durch die Anzahl.
Achte darauf, was zuerst gerechnet wird.
Schreib eine Funktion average(a, b, c), die den Durchschnitt dreier Zahlen zurückgibt: average(1, 2, 3) ergibt 2, average(1, 2, 4) ergibt etwa 2.333.
Der Durchschnitt ist die Summe geteilt durch die Anzahl.
Achte darauf, was zuerst gerechnet wird.
Im Schulkiosk kostet ein Brötchen unit_price Euro. Wer mehrere kauft, bekommt discount Prozent Rabatt auf alles. Schreib eine Funktion price(count, unit_price, discount): price(3, 2.5, 10) ergibt 6.75, denn 3 Brötchen kosten 7,50 Euro, und 10 Prozent davon sind 75 Cent.
Rechne das Beispiel Schritt für Schritt: erst der Preis ohne Rabatt, dann der Rabatt in Euro, dann der Unterschied.
Der Rabatt in Euro ist Preis mal discount durch 100. Denk an die Division in Ruby.
Im Schulkiosk kostet ein Brötchen unit_price Euro. Wer mehrere kauft, bekommt discount Prozent Rabatt auf alles. Schreib eine Funktion price(count, unit_price, discount): price(3, 2.5, 10) ergibt 6.75, denn 3 Brötchen kosten 7,50 Euro, und 10 Prozent davon sind 75 Cent.
Rechne das Beispiel Schritt für Schritt: erst der Preis ohne Rabatt, dann der Rabatt in Euro, dann der Unterschied.
Der Rabatt in Euro ist Preis mal discount durch 100.
Im Schulkiosk kostet ein Brötchen unitPrice Euro. Wer mehrere kauft, bekommt discount Prozent Rabatt auf alles. Schreib eine Funktion price(count, unitPrice, discount): price(3, 2.5, 10) ergibt 6.75, denn 3 Brötchen kosten 7,50 Euro, und 10 Prozent davon sind 75 Cent.
Rechne das Beispiel Schritt für Schritt: erst der Preis ohne Rabatt, dann der Rabatt in Euro, dann der Unterschied.
Der Rabatt in Euro ist Preis mal discount durch 100.
Hier brauchst du einen Plan, bevor du schreibst. Rechne ein Beispiel von Hand, und schreib dir auf, welche Schritte du dabei gemacht hast.
Es ist 23:50 Uhr. Wie spät ist es 25 Minuten später? Schreib eine Funktion clock_after(hour, minute, minutes), die die Uhrzeit nach minutes Minuten als Text mit zwei Ziffern für Stunden und Minuten zurückgibt: clock_after(23, 50, 25) ergibt '00:15'.
Zähl alles in Minuten seit Mitternacht: 23:50 Uhr sind 23 · 60 + 50 = 1430 Minuten.
Ein Tag hat 1440 Minuten. Was liefert % 1440, wenn die Summe darüber liegt?
Aus den Minuten seit Mitternacht werden mit / 60 und % 60 wieder Stunden und Minuten; format('%02d:%02d', …) schreibt sie mit zwei Ziffern.
Es ist 23:50 Uhr. Wie spät ist es 25 Minuten später? Schreib eine Funktion clock_after(hour, minute, minutes), die die Uhrzeit nach minutes Minuten als Text mit zwei Ziffern für Stunden und Minuten zurückgibt: clock_after(23, 50, 25) ergibt '00:15'.
Zähl alles in Minuten seit Mitternacht: 23:50 Uhr sind 23 · 60 + 50 = 1430 Minuten.
Ein Tag hat 1440 Minuten. Was liefert % 1440, wenn die Summe darüber liegt?
Aus den Minuten seit Mitternacht werden mit // 60 und % 60 wieder Stunden und Minuten; f'{zahl:02d}' schreibt sie mit zwei Ziffern.
Es ist 23:50 Uhr. Wie spät ist es 25 Minuten später? Schreib eine Funktion clockAfter(hour, minute, minutes), die die Uhrzeit nach minutes Minuten als Text mit zwei Ziffern für Stunden und Minuten zurückgibt: clockAfter(23, 50, 25) ergibt '00:15'.
Zähl alles in Minuten seit Mitternacht: 23:50 Uhr sind 23 · 60 + 50 = 1430 Minuten.
Ein Tag hat 1440 Minuten. Was liefert % 1440, wenn die Summe darüber liegt?
Aus den Minuten seit Mitternacht werden mit Math.floor(… / 60) und % 60 wieder Stunden und Minuten; String(zahl).padStart(2, '0') schreibt sie mit zwei Ziffern.
Schreib eine Funktion last_digit(n), die die letzte Ziffer einer ganzen Zahl zurückgibt, auch bei negativen Zahlen: last_digit(1234) ergibt 4, last_digit(-57) ergibt 7. Ohne die Zahl in einen Text zu verwandeln.
Was bleibt übrig, wenn du 1234 durch 10 teilst?
Bei negativen Zahlen hilft der Betrag: n.abs.
Schreib eine Funktion last_digit(n), die die letzte Ziffer einer ganzen Zahl zurückgibt, auch bei negativen Zahlen: last_digit(1234) ergibt 4, last_digit(-57) ergibt 7. Ohne die Zahl in einen Text zu verwandeln.
Was bleibt übrig, wenn du 1234 durch 10 teilst?
Bei negativen Zahlen hilft der Betrag: abs(n).
Schreib eine Funktion lastDigit(n), die die letzte Ziffer einer ganzen Zahl zurückgibt, auch bei negativen Zahlen: lastDigit(1234) ergibt 4, lastDigit(-57) ergibt 7. Ohne die Zahl in einen Text zu verwandeln.
Was bleibt übrig, wenn du 1234 durch 10 teilst?
Bei negativen Zahlen hilft der Betrag: Math.abs(n).
Ein Extra für Schnelle: Die Seite ist ohne dieses Kapitel vollständig.
Für alle, die schon fertig sind: zwei Katas, die nicht mitzählen.
Schreib eine Funktion reverse_digits(n), die die Ziffern einer höchstens dreistelligen Zahl umdreht: reverse_digits(123) ergibt 321, reverse_digits(45) ergibt 54. Nur mit Rechnen, ohne Texte und ohne Schleife.
Die Einer bekommst du mit % 10. Wie bekommst du die Zehner und die Hunderter?
Bei zweistelligen Zahlen sind die Hunderter 0. Schreib die Zahl erst so, als hätte sie immer drei Ziffern, und lass dann die Nullen weg, die vorne stehen würden.
Schreib eine Funktion reverse_digits(n), die die Ziffern einer höchstens dreistelligen Zahl umdreht: reverse_digits(123) ergibt 321, reverse_digits(45) ergibt 54. Nur mit Rechnen, ohne Texte und ohne Schleife.
Die Einer bekommst du mit % 10. Wie bekommst du die Zehner und die Hunderter?
Bei zweistelligen Zahlen sind die Hunderter 0. Schreib die Zahl erst so, als hätte sie immer drei Ziffern, und lass dann die Nullen weg, die vorne stehen würden.
Schreib eine Funktion reverseDigits(n), die die Ziffern einer höchstens dreistelligen Zahl umdreht: reverseDigits(123) ergibt 321, reverseDigits(45) ergibt 54. Nur mit Rechnen, ohne Texte und ohne Schleife.
Die Einer bekommst du mit % 10. Wie bekommst du die Zehner und die Hunderter?
Bei zweistelligen Zahlen sind die Hunderter 0. Schreib die Zahl erst so, als hätte sie immer drei Ziffern, und lass dann die Nullen weg, die vorne stehen würden.
Ein Film dauert 7385 Sekunden. Schreib eine Funktion duration(seconds), die daraus '2:03:05' macht: Stunden, dann Minuten und Sekunden mit je zwei Ziffern.
Wie viele ganze Stunden stecken in 7385 Sekunden? Was bleibt danach übrig?
Ein Film dauert 7385 Sekunden. Schreib eine Funktion duration(seconds), die daraus '2:03:05' macht: Stunden, dann Minuten und Sekunden mit je zwei Ziffern.
Wie viele ganze Stunden stecken in 7385 Sekunden? Was bleibt danach übrig?
Ein Film dauert 7385 Sekunden. Schreib eine Funktion duration(seconds), die daraus '2:03:05' macht: Stunden, dann Minuten und Sekunden mit je zwei Ziffern.
Wie viele ganze Stunden stecken in 7385 Sekunden? Was bleibt danach übrig?
Weiter geht es mit Entscheidungen: Funktionen, die je nach Wert etwas anderes tun.