Funktion: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Maria.grandl (Diskussion | Beiträge)
Maria.grandl (Diskussion | Beiträge)
Zeile 93: Zeile 93:


Zum Programm: https://makecode.microbit.org/_7U1295Vug8pW
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>


<htmlet>makecode_embed</htmlet>
<htmlet>makecode_embed</htmlet>

Version vom 1. Mai 2022, 21:00 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:

Funktion erstellen

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ü:

Datentyp Übergabeparameter festlegen

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:

Übergabeparameter umbenennen

Die Funktion wurde nun erstellt:

function addieren (zahl1: number, zahl2: number) {
	
}


Im nächsten Schritt wird nun die Summe der beiden Zahlen gebildet:

Parameter verwenden


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:

<pre id="fkt05" function intro () {

   basic.showString("Hi")

} function outro () {

   basic.showString("Bye")

} intro() basic.showIcon(IconNames.Happy) basic.pause(200) basic.clearScreen() outro()