Funktion: Unterschied zwischen den Versionen
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 55: | Zeile 55: | ||
Das ist der sogenannte '''Rückgabewert''' der Funktion. | Das ist der sogenannte '''Rückgabewert''' der Funktion. | ||
Wenn Knopf A gedrückt wird, dann wird die '''Funktion''' mit den Zahlen 1 und 3 '''aufgerufen'''.<br \> | Wenn Knopf A gedrückt wird, dann wird die '''Funktion''' '''''addieren''''' mit den '''Zahlen 1 und 3''' '''aufgerufen''' und das Ergebnis angezeigt.<br \> | ||
Das | Das Speichern der Summe in der Variable "summe" ist nicht zwingend notwendig. | ||
<pre id="fkt03"> | <pre id="fkt03"> | ||
Zeile 71: | Zeile 71: | ||
Zum Programm: https://makecode.microbit.org/_5iaXybUar23K | Zum Programm: https://makecode.microbit.org/_5iaXybUar23K | ||
==Beispielprogramm - | ==Beispielprogramm - Zahlen addieren (ohne Übergabeparameter und Rückgabewert)== | ||
Es gibt auch die Möglichkeit, die Funktion ohne Übergabeparamete und Rückgabewert zu erstellen. | |||
Dafür werden dann aber Variablen benötigt. | |||
<pre id="fkt04"> | |||
function addieren () { | |||
summe = zahl1 + zahl2 | |||
} | |||
input.onButtonPressed(Button.A, function () { | |||
addieren() | |||
basic.showNumber(summe) | |||
}) | |||
let summe = 0 | |||
let zahl2 = 0 | |||
let zahl1 = 0 | |||
zahl1 = 1 | |||
zahl2 = 3 | |||
summe = 0 | |||
</pre> | |||
Zum Programm: https://makecode.microbit.org/_7U1295Vug8pW | |||
==Beispielprogramm - Intro/Outro== | |||
Das folgende Programm zeigt, wie du einzelne Befehle des Programms in eine Funktion "auslagern" kannst: | |||
<pre id="fkt05"> | |||
function intro () { | |||
basic.showString("Hi") | |||
} | |||
function outro () { | |||
basic.showString("Bye") | |||
} | |||
intro() | |||
basic.showIcon(IconNames.Happy) | |||
basic.pause(200) | |||
basic.clearScreen() | |||
outro() | |||
</pre> | |||
Zum Programm: https://makecode.microbit.org/_7HtAvV9wPeHt | |||
==Beispielprogramm - Horizontale Linie zeichnen== | |||
Die Funktion '''''zeichneLinie''''' erzeugt eine horizontale Linie.<br \> | |||
In der zweiten Version des Programmes (Fortgeschritten), kann die y-Position der horizontalen Linie gewählt werden. | |||
<pre id="fkt07"> | |||
function zeichneLinie () { | |||
x_wert = 0 | |||
y_wert = 2 | |||
for (let index = 0; index < 5; index++) { | |||
led.plot(x_wert, y_wert) | |||
basic.pause(100) | |||
x_wert += 1 | |||
} | |||
} | |||
let y_wert = 0 | |||
let x_wert = 0 | |||
zeichneLinie() | |||
</pre> | |||
Zum Programm: https://makecode.microbit.org/_9w5Ea4hRYX7r | |||
Zum Programm (Fortgeschritten): https://makecode.microbit.org/_Y29PgAUasdMw | |||
<htmlet>makecode_embed</htmlet> | <htmlet>makecode_embed</htmlet> |
Aktuelle Version vom 1. Mai 2022, 21:44 Uhr
Was ist das?
Wird eine bestimmte Abfolge von Befehlen an mehreren Stellen im Programm benötigt, dann ist es sinnvoll, diese Befehle als Funktion zusammenzufassen.
Eine solche Funktion hat dann einen eigenen Namen und sie kann an den benötigten Stelle im Programm aufgerufen werden.
Bei objektorientierten Programmiersprachen sind Funktionen auch unter dem Namen Methoden bekannt.
Durch die Verwendung von Funktionen wird der Code übersichtlicher.
Zudem können bestimmte Aufgabenstellungen mithilfe von Funktionen einfacher umgesetzt werden.
Befehle
Um eine Funktion im Microsoft MakeCode-Editor zu erstellen, musst du auf die Kategorie Fortgeschritten > Funktionen wechseln:
Beispielprogramm - Zahlen addieren
Das folgende Programm berechnet die Summe von 2 Zahlen. Es wird dafür eine Funktion mit dem Namen addieren erstellt.
Mit Klick auf "Erstelle eine Funktion..." öffnet sich das folgende Menü:
In diesem Schritt werden die sogenannten Parameter oder Übergabeparameter für die Funktion festgelegt.
Es gibt auch Funktionen, die keine Übergabeparameter benötigen.
Du kannst dir das so vorstellen:
Der Funktion werden bestimmte Daten übergeben (daher: Übergabeparameter).
Diese Daten benötigt die Funktion, um eine bestimmte Aufgabe zu erledigen.
Zurück zum Beispiel:
Der Funktion addieren werden 2 Zahlen übergeben.
Die Funktion berechnet dann die Summe dieser Zahlen.
Die Übergabeparameter können auch passend umbenannt werden:
Die Funktion wurde nun erstellt:
function addieren (zahl1: number, zahl2: number) { }
Im nächsten Schritt wird nun die Summe der beiden Zahlen gebildet:
Die Funktion gibt das Ergebnis (in diesem Fall: die Summe) zurück.
Das ist der sogenannte Rückgabewert der Funktion.
Wenn Knopf A gedrückt wird, dann wird die Funktion addieren mit den Zahlen 1 und 3 aufgerufen und das Ergebnis angezeigt.
Das Speichern der Summe in der Variable "summe" ist nicht zwingend notwendig.
let summe = 0 function addieren (zahl1: number, zahl2: number) { summe = zahl1 + zahl2 return summe } input.onButtonPressed(Button.A, function () { basic.showNumber(addieren(1, 3)) })
Zum Programm: https://makecode.microbit.org/_5iaXybUar23K
Beispielprogramm - Zahlen addieren (ohne Übergabeparameter und Rückgabewert)
Es gibt auch die Möglichkeit, die Funktion ohne Übergabeparamete und Rückgabewert zu erstellen. Dafür werden dann aber Variablen benötigt.
function addieren () { summe = zahl1 + zahl2 } input.onButtonPressed(Button.A, function () { addieren() basic.showNumber(summe) }) let summe = 0 let zahl2 = 0 let zahl1 = 0 zahl1 = 1 zahl2 = 3 summe = 0
Zum Programm: https://makecode.microbit.org/_7U1295Vug8pW
Beispielprogramm - Intro/Outro
Das folgende Programm zeigt, wie du einzelne Befehle des Programms in eine Funktion "auslagern" kannst:
function intro () { basic.showString("Hi") } function outro () { basic.showString("Bye") } intro() basic.showIcon(IconNames.Happy) basic.pause(200) basic.clearScreen() outro()
Zum Programm: https://makecode.microbit.org/_7HtAvV9wPeHt
Beispielprogramm - Horizontale Linie zeichnen
Die Funktion zeichneLinie erzeugt eine horizontale Linie.
In der zweiten Version des Programmes (Fortgeschritten), kann die y-Position der horizontalen Linie gewählt werden.
function zeichneLinie () { x_wert = 0 y_wert = 2 for (let index = 0; index < 5; index++) { led.plot(x_wert, y_wert) basic.pause(100) x_wert += 1 } } let y_wert = 0 let x_wert = 0 zeichneLinie()
Zum Programm: https://makecode.microbit.org/_9w5Ea4hRYX7r
Zum Programm (Fortgeschritten): https://makecode.microbit.org/_Y29PgAUasdMw