Zum Inhalt springen

Informatik 6: Informatischer Funktionsbegriff: Unterschied zwischen den Versionen

Aus Informatik.wiki
Kleine Zwischenüberschriften vereinheitlicht
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
← [[Informatik 6. Klasse|Informatik 6. Klasse]]
← [[Informatik 6. Klasse|Zurück zur 6. Klasse]]


Ein tragfähiges Verständnis des informatischen Funktionsbegriffs entsteht besonders dann, wenn Lernende Funktionen als klar benannte, wiederverwendbare und zielgerichtete Teilabläufe erkennen, die Eingaben verarbeiten, Ergebnisse liefern und größere Programme übersichtlicher strukturieren. Lernziele Die Schülerinnen und Schüler können:
<div style="border:1px solid #a2a9b1; background:#f8f9fa; padding:1em; margin:0 0 1.5em 0;">
'''Worum geht es?''' 
Du lernst Funktionen als klar abgegrenzte, wiederverwendbare Teilprogramme mit Eingaben, Verarbeitung und Ergebnissen kennen und setzt sie zur Strukturierung von Programmen ein.
</div>


== 17.1 Lernziele ==
== Lernziele ==
 
Nach diesem Kapitel kannst du:


* den informatischen Funktionsbegriff in eigenen Worten erklären.
* den informatischen Funktionsbegriff in eigenen Worten erklären.
Zeile 18: Zeile 23:
* den Nutzen von Funktionen für Übersicht, Ordnung und Wiederverwendung beschreiben.
* den Nutzen von Funktionen für Übersicht, Ordnung und Wiederverwendung beschreiben.


== 17.2 Lerninhalte ==
=== Anschluss an die 5. Klasse ===


Der informatische Funktionsbegriff wird besonders verständlich, wenn Teilaufgaben aus Programmen, Gerätefunktionen aus dem Alltag und einfache Darstellungen von Eingabe, Verarbeitung und Ausgabe gemeinsam betrachtet werden, weil sich daran Zweck, Aufbau und Nutzen von Funktionen anschaulich zeigen.
Variablen, Kontrollstrukturen und Algorithmen sind bekannt. Funktionen helfen dir nun, größere Programme in überschaubare und wiederverwendbare Teile zu gliedern.


=== Grundidee einer informatischen Funktion ===
== Lerninhalte ==


Eine informatische Funktion hilft dabei, größere Probleme in kleinere, klar benannte und wiederverwendbare Einheiten zu zerlegen, damit Programme verständlicher, strukturierter und leichter veränderbar werden. Eine Funktion ist in der Informatik ein klar abgegrenzter Teil eines Programms, der eine bestimmte Aufgabe übernimmt. Sie kann etwa Zahlen addieren, ein Licht einschalten, einen Text prüfen, eine Figur bewegen oder auf einen Tastendruck reagieren. Statt denselben Ablauf
=== Kompaktüberblick ===


immer wieder neu zu schreiben, wird die Aufgabe in einer Funktion zusammengefasst und bei Bedarf erneut aufgerufen. Das macht Programme kürzer, übersichtlicher und besser wartbar. Beispiele, begruessen(), rechne_summe(), pruefe_passwort(), zeige_meldung().
{| class="wikitable"
! Funktionsbestandteil
! Bedeutung
! Beispiel
|-
| Name
| beschreibt die Aufgabe
| berechnePreis
|-
| Parameter
| Eingabewerte
| preis, menge
|-
| Verarbeitung
| Anweisungen innerhalb der Funktion
| preis * menge
|-
| Rückgabewert
| Ergebnis der Funktion
| gesamtpreis
|-
| Aufruf
| Funktion wird verwendet
| berechnePreis(5,3)
|}


=== Funktion als Eingabe, Verarbeitung, Ausgabe ===
<div style="border-left:4px solid #36c; background:#f8f9fa; padding:.8em 1em; margin:1em 0;">
'''Merke:''' Funktionen zerlegen Programme in verständliche, wiederverwendbare Teilaufgaben.
</div>


Die Grundidee einer Funktion lässt sich besonders gut über Eingabe, Verarbeitung und Ausgabe verstehen, weil damit sichtbar wird, dass eine Funktion Informationen aufnimmt, etwas damit macht und anschließend ein Ergebnis oder eine Wirkung erzeugt. Viele Funktionen folgen vereinfacht dem Muster Eingabe, Verarbeitung, Ausgabe. Eine Funktion erhält Daten oder Auslöser, verarbeitet diese nach festen Regeln und liefert danach ein Ergebnis zurück oder führt eine Wirkung aus. Beispiel: Eine Funktion bekommt zwei Zahlen, addiert sie und gibt die Summe aus. Ein anderes Beispiel: Eine Funktion erhält einen Text, prüft seine Länge und gibt „zu kurz“ oder „passt“ zurück. Auch in Geräten ist dieses Muster sichtbar: Ein Tastendruck wird erkannt, verarbeitet und löst eine Reaktion aus. Beispiele, Taschenrechner, Passwortprüfung, Tastenreaktion, Temperaturanzeige.
=== Grundidee einer informatischen Funktion ===


=== Funktionsdefinition und Funktionsaufruf ===
Eine informatische Funktion hilft dabei, größere Probleme in kleinere, klar benannte und wiederverwendbare Einheiten zu zerlegen, damit Programme verständlicher, strukturierter und leichter veränderbar werden.


Der Unterschied zwischen dem Festlegen einer Funktion und ihrem späteren Verwenden ist zentral, weil erst dadurch klar wird, dass Funktionen einmal beschrieben und danach mehrfach an verschiedenen Stellen eingesetzt werden können. Bei der Funktionsdefinition wird festgelegt, was eine Funktion tun soll. Beim Funktionsaufruf wird diese Funktion tatsächlich ausgeführt. In den didaktischen Unterlagen wird genau dieser Unterschied am Beispiel von Funktionen in Python und JavaScript hervorgehoben: Zuerst wird eine Funktion definiert, später wird sie von einer anderen Stelle aus aufgerufen. Lernende sollen erkennen, dass beim Definieren eine gewisse Wahlfreiheit besteht, während der Aufruf an den festgelegten Namen gebunden ist. Beispiele, Funktion festlegen, Funktion starten, Ereignis reagiert, Taste drückt Aktion aus.
Eine Funktion ist in der Informatik ein klar abgegrenzter Teil eines Programms, der eine bestimmte Aufgabe übernimmt. Sie kann etwa Zahlen addieren, ein Licht einschalten, einen Text prüfen, eine Figur bewegen oder auf einen Tastendruck reagieren. Statt denselben Ablauf immer wieder neu zu schreiben, wird die Aufgabe in einer Funktion zusammengefasst und bei Bedarf erneut aufgerufen. Das macht Programme kürzer, übersichtlicher und besser wartbar.


=== Namen und Verständlichkeit von Funktionen ===
Beispiele, begruessen(), rechne_summe(), pruefe_passwort(), zeige_meldung().


Gute Funktionsnamen sind ein wichtiger Teil informatischen Denkens, weil sie nicht nur technische Ordnung schaffen, sondern auch anderen Menschen sofort zeigen, welche Aufgabe eine Funktion übernimmt. Ein Funktionsname sollte möglichst klar, passend, eindeutig sein. Namen wie rechne_punkte(), spiele_ton(), oeffne_datei() oder setze_startwert() sind aussagekräftiger als unklare Bezeichnungen wie mach1() oder funktionneu(). In den didaktischen Materialien wird betont, dass die Vergabe desselben Namens für unterschiedliche Funktionen aus didaktischer Sicht ungünstig ist, weil dadurch das Verständnis erschwert wird. Gute Namen helfen deshalb bei Lesbarkeit, Erklärung und Fehlersuche. Beispiele, addiere(), zeichne_kreis(), sende_nachricht(), pruefe_eingabe().
=== Funktion als Eingabe, Verarbeitung, Ausgabe ===


=== Funktionen mit Eingaben und Ergebnissen ===
Die Grundidee einer Funktion lässt sich besonders gut über Eingabe, Verarbeitung und Ausgabe verstehen, weil damit sichtbar wird, dass eine Funktion Informationen aufnimmt, etwas damit macht und anschließend ein Ergebnis oder eine Wirkung erzeugt.


Viele Funktionen werden besonders anschaulich, wenn sie nicht immer dasselbe tun, sondern mit übergebenen Werten arbeiten und aus diesen Werten ein neues Ergebnis erzeugen. Eine Funktion kann Parameter oder Eingabewerte erhalten. Diese Werte beeinflussen, was genau berechnet oder ausgeführt wird. Beispiel: Eine Funktion addiere(a,b) arbeitet je nach Zahlenpaar mit anderen Werten. Eine Funktion male_quadrat(farbe) kann dieselbe Grundaufgabe ausführen, aber mit unterschiedlichen Farben. Eine Funktion begruesse(name) gibt je nach Name einen anderen Text aus. So wird sichtbar, dass Funktionen allgemeine Werkzeuge sein können, die auf wechselnde Eingaben reagieren. Beispiele, Zahlen addieren, Namen einsetzen, Farben wechseln, Bewegungen variieren.
Viele Funktionen folgen vereinfacht dem Muster Eingabe, Verarbeitung, Ausgabe. Eine Funktion erhält Daten oder Auslöser, verarbeitet diese nach festen Regeln und liefert danach ein Ergebnis zurück oder führt eine Wirkung aus. Beispiel: Eine Funktion bekommt zwei Zahlen, addiert sie und gibt die Summe aus. Ein anderes Beispiel: Eine Funktion erhält einen Text, prüft seine Länge und gibt „zu kurz“ oder „passt“ zurück. Auch in Geräten ist dieses Muster sichtbar: Ein Tastendruck wird erkannt, verarbeitet und löst eine Reaktion aus. Beispiele, Taschenrechner, Passwortprüfung, Tastenreaktion, Temperaturanzeige.


=== Funktionen ohne Rückgabewert und mit Wirkung ===
=== Funktionsdefinition und Funktionsaufruf ===


Nicht jede Funktion muss ein sichtbares Ergebnis als Zahl oder Text zurückgeben, denn manche Funktionen bewirken vor allem eine Aktion im System oder an einem Gerät. Manche Funktionen berechnen Werte, andere lösen Handlungen aus. Eine Funktion kann ein Licht einschalten, einen Ton abspielen, eine Figur bewegen oder eine Anzeige aktualisieren. In Alltagsgegenständen erfüllen eingebettete Computersysteme ebenfalls bestimmte Funktionen, etwa Navigation, Temperaturregelung oder Erinnerung an Medikamenteneinnahmen. Solche Beispiele helfen zu verstehen, dass eine Funktion nicht nur „rechnet“, sondern allgemein eine klar beschriebene Aufgabe übernimmt. Beispiele, Ton abspielen, Anzeige ändern, Licht schalten, Nachricht senden.
Der Unterschied zwischen dem Festlegen einer Funktion und ihrem späteren Verwenden ist zentral, weil erst dadurch klar wird, dass Funktionen einmal beschrieben und danach mehrfach an verschiedenen Stellen eingesetzt werden können.


=== Funktionen und Wiederverwendung ===
Bei der Funktionsdefinition wird festgelegt, was eine Funktion tun soll. Beim Funktionsaufruf wird diese Funktion tatsächlich ausgeführt. In den didaktischen Unterlagen wird genau dieser Unterschied am Beispiel von Funktionen in Python und JavaScript hervorgehoben: Zuerst wird eine Funktion definiert, später wird sie von einer anderen Stelle aus aufgerufen. Lernende sollen erkennen, dass beim Definieren eine gewisse Wahlfreiheit besteht, während der Aufruf an den festgelegten Namen gebunden ist. Beispiele, Funktion festlegen, Funktion starten, Ereignis reagiert, Taste drückt Aktion aus.


Der besondere Nutzen von Funktionen zeigt sich dann, wenn dieselbe Teilaufgabe mehrfach gebraucht wird und nicht jedes Mal neu geschrieben oder erklärt werden muss. Wiederverwendung bedeutet, dass eine einmal definierte Funktion an mehreren Stellen im Programm erneut eingesetzt werden kann. Das spart Arbeit, vermeidet doppelte Schreibarbeit und erleichtert Änderungen. Muss zum Beispiel die Begrüßung geändert werden, genügt oft eine Anpassung in der Funktion statt an vielen Stellen im Programm. Dasselbe gilt für wiederkehrende Prüfungen, Berechnungen oder Ausgaben. Beispiele, Begrüßung mehrfach nutzen, Spielfigur wiederholt bewegen, Punkte immer gleich berechnen, Meldungen zentral steuern.
=== Namen und Verständlichkeit von Funktionen ===


=== Funktionen in blockbasierten und textnahen Darstellungen ===
Gute Funktionsnamen sind ein wichtiger Teil informatischen Denkens, weil sie nicht nur technische Ordnung schaffen, sondern auch anderen Menschen sofort zeigen, welche Aufgabe eine Funktion übernimmt.


Der Funktionsbegriff sollte nicht an eine einzige Programmiersprache gebunden werden, weil dieselbe Grundidee in Blocksprachen, textnahen Notationen und Ereignissystemen unterschiedlich dargestellt, aber ähnlich verstanden werden kann. In blockbasierten Umgebungen erscheinen Funktionen oft als eigene Blöcke oder benannte Abläufe. In textnahen Sprachen werden sie durch definierende Schreibweisen und spätere
Ein Funktionsname sollte möglichst klar, passend, eindeutig sein. Namen wie rechne_punkte(), spiele_ton(), oeffne_datei() oder setze_startwert() sind aussagekräftiger als unklare Bezeichnungen wie mach1() oder funktionneu(). In den didaktischen Materialien wird betont, dass die Vergabe desselben Namens für unterschiedliche Funktionen aus didaktischer Sicht ungünstig ist, weil dadurch das Verständnis erschwert wird. Gute Namen helfen deshalb bei Lesbarkeit, Erklärung und Fehlersuche. Beispiele, addiere(), zeichne_kreis(), sende_nachricht(), pruefe_eingabe().


Aufrufe sichtbar. Die didaktischen Materialien zum hybriden Arbeiten mit Block-, Python- und JavaScript-Ansichten zeigen, dass Lernende gerade durch den Vergleich der Darstellungen erkennen können, wo eine Funktion definiert und wo sie aufgerufen wird. Dadurch wird der Funktionsbegriff sprachübergreifend verständlich. Beispiele, Scratch-Blöcke, MakeCode, Python-Funktion, JavaScript-Aufruf.
=== Funktionen mit Eingaben und Ergebnissen ===


=== Funktionen im Alltag und in digitalen Geräten ===
Viele Funktionen werden besonders anschaulich, wenn sie nicht immer dasselbe tun, sondern mit übergebenen Werten arbeiten und aus diesen Werten ein neues Ergebnis erzeugen.


Alltagsnahe Beispiele fördern das Verständnis besonders stark, weil sie zeigen, dass „Funktion“ nicht nur ein Programmierwort ist, sondern auch bei Geräten und digitalen Systemen als gezielte Teilaufgabe verstanden werden kann. Ein Smartphone nutzt Funktionen für Kamera, Navigation, Nachrichtensenden oder Entsperren. Eine Smartwatch misst Schritte und Herzfrequenz. Ein intelligenter Medikamentendispenser erinnert an Zeitpunkte und gibt Medikamente nach Plan aus. Solche Beispiele aus den DGB- Unterlagen zeigen, dass Computersysteme in Alltagsgegenständen bestimmte Funktionen erfüllen. Für den informatischen Unterricht ist daran wichtig: Auch in Programmen werden Teilaufgaben als klar beschriebene Funktionen gedacht und umgesetzt. Beispiele, messen, anzeigen, erinnern, navigieren, steuern.
Eine Funktion kann Parameter oder Eingabewerte erhalten. Diese Werte beeinflussen, was genau berechnet oder ausgeführt wird. Beispiel: Eine Funktion addiere(a,b) arbeitet je nach Zahlenpaar mit anderen Werten. Eine Funktion male_quadrat(farbe) kann dieselbe Grundaufgabe ausführen, aber mit unterschiedlichen Farben. Eine Funktion begruesse(name) gibt je nach Name einen anderen Text aus. So wird sichtbar, dass Funktionen allgemeine Werkzeuge sein können, die auf wechselnde Eingaben reagieren. Beispiele, Zahlen addieren, Namen einsetzen, Farben wechseln, Bewegungen variieren.


=== Abgrenzung zu mathematischen Funktionen ===
=== Orientierung auf einen Blick ===


Ein klares Begriffsverständnis entsteht besser, wenn zwischen mathematischer und informatischer Verwendung unterschieden wird, ohne den Zusammenhang völlig zu trennen. In der Mathematik beschreibt eine Funktion meist die Zuordnung von einem Wert zu einem anderen Wert. In der Informatik kann eine Funktion ebenfalls Eingaben in Ergebnisse überführen, sie kann aber zusätzlich Aktionen auslösen, Geräte steuern, Texte ausgeben oder Ereignisse verarbeiten. Die mathematische Sicht hilft beim Verstehen von Eingabe und Ergebnis, die informatische Sicht erweitert dies um Ablauf, Wiederverwendung und technische Wirkung. Beispiele, f(x)=2x, Zahl verdoppeln, Text prüfen, Figur bewegen, Ton starten.
{| class="wikitable"
! Ohne Funktion
! Mit Funktion
|-
| Code wird wiederholt
| Code wird einmal definiert
|-
| Änderungen an vielen Stellen
| Änderung an einer Stelle
|-
| lange Abläufe
| übersichtliche Teilaufgaben
|}


=== Warum der Funktionsbegriff informatisch wichtig ist ===
=== Funktionen ohne Rückgabewert und mit Wirkung ===


Programme werden verständlicher und besser planbar, wenn wiederkehrende oder klar abgrenzbare Teilaufgaben als Funktionen organisiert werden und nicht als lange, unübersichtliche Gesamtabläufe. Der Funktionsbegriff unterstützt Struktur, Übersicht, Arbeitsteilung, Wiederverwendung, Fehlersuche. Wer ein größeres Programm in kleinere Funktionen gliedert, kann einzelne Teile besser testen und erklären. Auch Teamarbeit wird einfacher, wenn verschiedene Personen an unterschiedlichen Funktionen arbeiten. So verbindet der Funktionsbegriff technisches Denken mit Klarheit der Darstellung. Beispiele, Spielprogramm gliedern, Eingabe trennen, Auswertung trennen, Ausgabe trennen, Fehler gezielt suchen.
Nicht jede Funktion muss ein sichtbares Ergebnis als Zahl oder Text zurückgeben, denn manche Funktionen bewirken vor allem eine Aktion im System oder an einem Gerät.


== 17.4 Aufgaben für den Unterricht ==
Manche Funktionen berechnen Werte, andere lösen Handlungen aus. Eine Funktion kann ein Licht einschalten, einen Ton abspielen, eine Figur bewegen oder eine Anzeige aktualisieren. In Alltagsgegenständen erfüllen eingebettete Computersysteme ebenfalls bestimmte Funktionen, etwa Navigation, Temperaturregelung oder Erinnerung an Medikamenteneinnahmen. Solche Beispiele helfen zu verstehen, dass eine Funktion nicht nur „rechnet“, sondern allgemein eine klar beschriebene Aufgabe übernimmt. Beispiele, Ton abspielen, Anzeige ändern, Licht schalten, Nachricht senden.


=== 17.4.1 Funktionen im Alltag entdecken ===
=== Funktionen und Wiederverwendung ===


Der Zugang über bekannte Geräte und Alltagssituationen erleichtert das Verständnis, weil die Schülerinnen und Schüler erkennen, dass Funktionen nicht nur in Programmiersprachen vorkommen, sondern auch in digitalen Werkzeugen als klar abgrenzbare Aufgaben sichtbar werden.
Der besondere Nutzen von Funktionen zeigt sich dann, wenn dieselbe Teilaufgabe mehrfach gebraucht wird und nicht jedes Mal neu geschrieben oder erklärt werden muss.


'''Ziel, Fokus'''
Wiederverwendung bedeutet, dass eine einmal definierte Funktion an mehreren Stellen im Programm erneut eingesetzt werden kann. Das spart Arbeit, vermeidet doppelte Schreibarbeit und erleichtert Änderungen. Muss zum Beispiel die Begrüßung geändert werden, genügt oft eine Anpassung in der Funktion statt an vielen Stellen im Programm. Dasselbe gilt für wiederkehrende Prüfungen, Berechnungen oder Ausgaben. Beispiele, Begrüßung mehrfach nutzen, Spielfigur wiederholt bewegen, Punkte immer gleich berechnen, Meldungen zentral steuern.


'''Begriff, Alltag'''
=== Funktionen in blockbasierten und textnahen Darstellungen ===


'''Material, Beispiele'''
Der Funktionsbegriff sollte nicht an eine einzige Programmiersprache gebunden werden, weil dieselbe Grundidee in Blocksprachen, textnahen Notationen und Ereignissystemen unterschiedlich dargestellt, aber ähnlich verstanden werden kann.


Smartphone, App, Taschenrechner, Kamera, Smartwatch
In blockbasierten Umgebungen erscheinen Funktionen oft als eigene Blöcke oder benannte Abläufe. In textnahen Sprachen werden sie durch definierende Schreibweisen und spätere Aufrufe sichtbar. Die didaktischen Materialien zum hybriden Arbeiten mit Block-, Python- und JavaScript-Ansichten zeigen, dass Lernende gerade durch den Vergleich der Darstellungen erkennen können, wo eine Funktion definiert und wo sie aufgerufen wird. Dadurch wird der Funktionsbegriff sprachübergreifend verständlich. Beispiele, Scratch-Blöcke, MakeCode, Python-Funktion, JavaScript-Aufruf.


'''Ablauf, Schritte'''
=== Funktionen im Alltag und in digitalen Geräten ===


Die Lernenden sammeln in Partnerarbeit Funktionen von Alltagsgeräten, etwa fotografieren, navigieren, rechnen, erinnern oder Musik abspielen. Danach ordnen sie jeder Funktion eine mögliche Eingabe, eine Verarbeitung und eine Ausgabe oder Wirkung zu. Anschließend formulieren sie in einem Satz, warum diese Teilaufgabe als Funktion beschrieben werden kann.
Alltagsnahe Beispiele fördern das Verständnis besonders stark, weil sie zeigen, dass „Funktion“ nicht nur ein Programmierwort ist, sondern auch bei Geräten und digitalen Systemen als gezielte Teilaufgabe verstanden werden kann.


'''Sicherung, Reflexion'''
Ein Smartphone nutzt Funktionen für Kamera, Navigation, Nachrichtensenden oder Entsperren.


Sammlung, Zuordnung
Eine Smartwatch misst Schritte und Herzfrequenz. Ein intelligenter Medikamentendispenser erinnert an Zeitpunkte und gibt Medikamente nach Plan aus. Solche Beispiele aus den DGB-Unterlagen zeigen, dass Computersysteme in Alltagsgegenständen bestimmte Funktionen erfüllen. Für den informatischen Unterricht ist daran wichtig: Auch in Programmen werden Teilaufgaben als klar beschriebene Funktionen gedacht und umgesetzt. Beispiele, messen, anzeigen, erinnern, navigieren, steuern.


=== 17.4.2 Gute und schlechte Funktionsnamen vergleichen ===
=== Abgrenzung zu mathematischen Funktionen ===


Begriffliche Präzision wächst besonders gut, wenn passende und unpassende Funktionsnamen gegenübergestellt werden, weil dadurch sichtbar wird, dass ein Name nicht nur irgendein Etikett, sondern ein wichtiger Hinweis auf Aufgabe und Zweck der Funktion ist.
Ein klares Begriffsverständnis entsteht besser, wenn zwischen mathematischer und informatischer Verwendung unterschieden wird, ohne den Zusammenhang völlig zu trennen.


'''Ziel, Fokus'''
In der Mathematik beschreibt eine Funktion meist die Zuordnung von einem Wert zu einem anderen Wert. In der Informatik kann eine Funktion ebenfalls Eingaben in Ergebnisse überführen, sie kann aber zusätzlich Aktionen auslösen, Geräte steuern, Texte ausgeben oder Ereignisse verarbeiten. Die mathematische Sicht hilft beim Verstehen von Eingabe und Ergebnis, die informatische Sicht erweitert dies um Ablauf, Wiederverwendung und technische Wirkung. Beispiele, f(x)=2x, Zahl verdoppeln, Text prüfen, Figur bewegen, Ton starten.


Namen, Verständlichkeit Material, Karten mach1, pruefe_passwort, neu2, addiere_zahlen, starte_spiel
=== Warum der Funktionsbegriff informatisch wichtig ist ===
 
'''Ablauf, Schritte'''
 
Die Klasse erhält Karten mit unterschiedlich guten Funktionsnamen. Die Lernenden markieren, welche Namen verständlich und welche unklar sind. Danach verbessern sie unpassende Beispiele und begründen ihre Wahl. Anschließend ordnen sie ausgewählten Namen eine wahrscheinliche Aufgabe zu und prüfen, ob Name und vermutete Funktion zusammenpassen.
 
'''Sicherung, Reflexion'''
 
Vergleich, Merksatz
 
=== 17.4.3 Definition und Aufruf unterscheiden ===
 
Der Unterschied zwischen dem Festlegen und dem späteren Verwenden einer Funktion wird besonders verständlich, wenn beide Schritte getrennt betrachtet und an kleinen Beispielen sprachlich sowie in einer einfachen Notation nachvollzogen werden.
 
'''Ziel, Fokus'''
 
Definition, Aufruf
 
'''Material, Beispiele'''
 
Blocksprache, Pseudocode, Funktionskarten
 
'''Ablauf, Schritte'''
 
Die Lernenden erhalten kleine Beispiele wie begruesse(), male_kreis() oder spiele_ton(). Zuerst markieren sie, wo eine Funktion definiert wird und wo sie nur aufgerufen wird. Danach formulieren sie selbst eine kurze Definition in Alltagssprache und schreiben an zwei anderen Stellen auf, wann diese Funktion aufgerufen werden soll. Abschließend vergleichen sie ihre Zuordnungen.
 
'''Sicherung, Reflexion'''
 
Unterschied, Anwendung
 
=== 17.4.4 Eingabe, Verarbeitung und Ausgabe zuordnen ===
 
Ein tragfähiges Funktionsverständnis entsteht besonders dann, wenn eine Funktion als Ablauf mit Eingabe, Verarbeitung und Ausgabe beschrieben wird, weil dadurch ihr innerer Aufbau klarer und weniger abstrakt wahrgenommen wird.
 
'''Ziel, Fokus'''
 
EVA, Funktion Material, Vorlagen Name, Zahl, Text, Ergebnis, Wirkung
 
'''Ablauf, Schritte'''
 
Die Gruppen bearbeiten Beispiele wie „zwei Zahlen addieren“, „Passwort prüfen“, „Namen begrüßen“ oder „Farbe wechseln“. Zu jeder Funktion notieren sie die Eingabe, beschreiben die Verarbeitung und benennen die Ausgabe oder Wirkung. Danach übertragen sie ein Beispiel in eine kleine Darstellung mit drei Feldern oder Pfeilen.


'''Sicherung, Reflexion'''
Programme werden verständlicher und besser planbar, wenn wiederkehrende oder klar abgrenzbare Teilaufgaben als Funktionen organisiert werden und nicht als lange, unübersichtliche Gesamtabläufe.


Zuordnung, Schema
Der Funktionsbegriff unterstützt Struktur, Übersicht, Arbeitsteilung, Wiederverwendung, Fehlersuche. Wer ein größeres Programm in kleinere Funktionen gliedert, kann einzelne Teile besser testen und erklären. Auch Teamarbeit wird einfacher, wenn verschiedene Personen an unterschiedlichen Funktionen arbeiten. So verbindet der Funktionsbegriff technisches Denken mit Klarheit der Darstellung. Beispiele, Spielprogramm gliedern, Eingabe trennen, Auswertung trennen, Ausgabe trennen, Fehler gezielt suchen.


=== 17.4.5 Eine Funktion aus Wiederholungen ableiten ===
=== Kurz zusammengefasst ===


Der Nutzen von Funktionen wird besonders einsichtig, wenn wiederkehrende Programmschritte zuerst mehrfach sichtbar werden und anschließend in eine gemeinsame Funktion ausgelagert werden, um Redundanz zu vermeiden und Programme übersichtlicher zu machen.
{| class="wikitable"
! Begriff
! Kern
|-
| Definition
| Funktion wird beschrieben
|-
| Aufruf
| Funktion wird ausgeführt
|-
| Parameter
| Werte werden übergeben
|-
| Rückgabe
| Ergebnis wird geliefert
|}


'''Ziel, Fokus'''
<div style="border-left:4px solid #fc3; background:#fff9e6; padding:.8em 1em; margin:1em 0;">
'''Merke:''' Die wichtigsten Zusammenhänge solltest du nicht nur wiedergeben, sondern an einem neuen Beispiel erklären und anwenden können.
</div>


Wiederholung, Nutzen
== Weiterführende Links ==
* [https://docs.python.org/3/tutorial/controlflow.html#defining-functions Python Functions]
* [https://www.w3schools.com/python/python_functions.asp W3Schools Python Functions]


'''Material, Beispiele'''
'''Passende LearningSnacks'''
* [https://www.learningsnacks.de/share/25642 Python 3 - Funktionen]
* [https://www.learningsnacks.de/share/26370 Weißt Du, was eine Funktion ist?]


Begruessung, Ton, Bewegung, Ausgabe
== Übungen ==


'''Ablauf, Schritte'''
Die Aufgaben setzen die Inhalte praktisch um. Bei jeder Aufgabe ist der konkrete Arbeitsauftrag ausdrücklich gekennzeichnet.


Die Lernenden erhalten einen kurzen Ablauf mit mehreren gleichen oder sehr ähnlichen Handlungen, etwa dreimal dieselbe Begrüßung oder wiederholtes Bewegen einer Figur. Zunächst markieren sie die Wiederholungen. Danach formulieren sie eine passende Funktion, die diese Teilaufgabe übernimmt, und ersetzen die Wiederholungen durch einen oder mehrere Funktionsaufrufe. Anschließend erklären sie den Vorteil.
=== Funktionen im Alltag entdecken ===


'''Sicherung, Reflexion'''
'''Ziel/Fokus:''' Begriff, Alltag


Auslagern, Vereinfachung
'''Arbeitsauftrag:''' Die Lernenden sammeln in Partnerarbeit Funktionen von Alltagsgeräten, etwa fotografieren, navigieren, rechnen, erinnern oder Musik abspielen. Danach ordnen sie jeder Funktion eine mögliche Eingabe, eine Verarbeitung und eine Ausgabe oder Wirkung zu. Anschließend formulieren sie in einem Satz, warum diese Teilaufgabe als Funktion beschrieben werden kann.


=== 17.4.6 Funktionen in Blockprogrammen erkennen ===
'''Material/Beispiele:''' Smartphone, App, Taschenrechner, Kamera, Smartwatch


Besonders hohe Lerneffektstärke entsteht, wenn Funktionen in einer blockbasierten Umgebung nicht nur benutzt, sondern als eigene Bausteine erkannt und in ihrem Zusammenhang mit dem restlichen Programm beschrieben werden.
'''Sicherung/Reflexion:''' Sammlung, Zuordnung


'''Ziel, Fokus'''
=== Gute und schlechte Funktionsnamen vergleichen ===


Blocksprache, Erkennen
'''Ziel/Fokus:''' Namen, Verständlichkeit


'''Material, Werkzeuge'''
'''Arbeitsauftrag:''' Die Klasse erhält Karten mit unterschiedlich guten Funktionsnamen. Die Lernenden markieren, welche Namen verständlich und welche unklar sind. Danach verbessern sie unpassende Beispiele und begründen ihre Wahl. Anschließend ordnen sie ausgewählten Namen eine wahrscheinliche Aufgabe zu und prüfen, ob Name und vermutete Funktion zusammenpassen.


Scratch, MakeCode, Open Roberta
'''Material/Beispiele:''' mach1, pruefe_passwort, neu2, addiere_zahlen, starte_spiel


'''Ablauf, Schritte'''
'''Sicherung/Reflexion:''' Vergleich, Merksatz


Die Lernenden öffnen ein vorbereitetes Blockprogramm mit benannten Funktionen oder eigenen Blöcken. Sie markieren die Stellen, an denen Funktionen definiert und an denen sie aufgerufen werden. Danach erklären sie in Partnerarbeit, welche Teilaufgabe jeder Block übernimmt und warum diese Aufgabe nicht jedes Mal neu gebaut werden muss. Optional verändern sie einen Funktionsblock und beobachten die Wirkung.
=== Definition und Aufruf unterscheiden ===


'''Sicherung, Reflexion'''
'''Ziel/Fokus:''' Definition, Aufruf


Block, Wirkung
'''Arbeitsauftrag:''' Die Lernenden erhalten kleine Beispiele wie begruesse(), male_kreis() oder spiele_ton(). Zuerst markieren sie, wo eine Funktion definiert wird und wo sie nur aufgerufen wird. Danach formulieren sie selbst eine kurze Definition in Alltagssprache und schreiben an zwei anderen Stellen auf, wann diese Funktion aufgerufen werden soll. Abschließend vergleichen sie ihre Zuordnungen.


=== 17.4.7 Eigene einfache Funktionen entwerfen ===
'''Material/Beispiele:''' Blocksprache, Pseudocode, Funktionskarten


Tieferes Verständnis entsteht besonders dann, wenn Schülerinnen und Schüler selbst kleine Funktionen planen und formulieren, weil sie dabei entscheiden müssen, welche Aufgabe abgegrenzt, wie sie benannt und mit welchen Eingaben oder Ergebnissen sie versehen wird.
'''Sicherung/Reflexion:''' Unterschied, Anwendung


'''Ziel, Fokus'''
=== Eingabe, Verarbeitung und Ausgabe zuordnen ===


Entwurf, Eigenleistung Material, Aufgaben Spiel, Begruessung, Rechnen, Zeichnen
'''Ziel/Fokus:''' EVA, Funktion Material, Vorlagen Name, Zahl, Text, Ergebnis, Wirkung


'''Ablauf, Schritte'''
'''Arbeitsauftrag:''' Die Gruppen bearbeiten Beispiele wie „zwei Zahlen addieren“, „Passwort prüfen“, „Namen begrüßen“ oder „Farbe wechseln“. Zu jeder Funktion notieren sie die Eingabe, beschreiben die Verarbeitung und benennen die Ausgabe oder Wirkung. Danach übertragen sie ein Beispiel in eine kleine Darstellung mit drei Feldern oder Pfeilen.


Jede Gruppe wählt eine kleine Aufgabe, etwa eine Begrüßung ausgeben, eine Figur springen lassen, zwei Zahlen addieren oder ein Symbol zeichnen. Danach legt sie einen passenden Funktionsnamen fest, beschreibt Eingabe und Ausgabe und formuliert die Funktion in einer einfachen Schrittliste oder Blockstruktur. Anschließend stellt die Gruppe ihre Funktion kurz vor.
'''Sicherung/Reflexion:''' Zuordnung, Schema


'''Sicherung, Reflexion'''
=== Eine Funktion aus Wiederholungen ableiten ===


Name, Aufbau
'''Ziel/Fokus:''' Wiederholung, Nutzen


=== 17.4.8 Fehlerhafte Funktionen prüfen und verbessern ===
'''Arbeitsauftrag:''' Die Lernenden erhalten einen kurzen Ablauf mit mehreren gleichen oder sehr ähnlichen Handlungen, etwa dreimal dieselbe Begrüßung oder wiederholtes Bewegen einer Figur. Zunächst markieren sie die Wiederholungen. Danach formulieren sie eine passende Funktion, die diese Teilaufgabe übernimmt, und ersetzen die Wiederholungen durch einen oder mehrere Funktionsaufrufe. Anschließend erklären sie den Vorteil.


Der informatische Funktionsbegriff wird besonders tragfähig, wenn fehlerhafte oder missverständliche Funktionen analysiert werden, weil die Lernenden dadurch Kriterien für gute Struktur, passende Benennung und sinnvolle Übergabe von Werten bewusst anwenden.
'''Material/Beispiele:''' Begruessung, Ton, Bewegung, Ausgabe


'''Ziel, Fokus'''
'''Sicherung/Reflexion:''' Auslagern, Vereinfachung


Fehler, Korrektur
=== Funktionen in Blockprogrammen erkennen ===


'''Material, Beispiele'''
'''Ziel/Fokus:''' Blocksprache, Erkennen


unklarer Name, falscher Aufruf, fehlende Eingabe, falsche Ausgabe
'''Arbeitsauftrag:''' Die Lernenden öffnen ein vorbereitetes Blockprogramm mit benannten Funktionen oder eigenen Blöcken. Sie markieren die Stellen, an denen Funktionen definiert und an denen sie aufgerufen werden. Danach erklären sie in Partnerarbeit, welche Teilaufgabe jeder Block übernimmt und warum diese Aufgabe nicht jedes Mal neu gebaut werden muss. Optional verändern sie einen Funktionsblock und beobachten die Wirkung.


'''Ablauf, Schritte'''
'''Material/Beispiele:''' Scratch, MakeCode, Open Roberta


Die Lehrkraft stellt kurze problematische Beispiele bereit, etwa eine Funktion ohne verständlichen Namen, einen Aufruf mit fehlendem Wert oder eine Funktion, deren Ausgabe nicht zum Namen passt. Die Lernenden markieren die Fehler, beschreiben die Folgen und schreiben eine verbesserte Fassung. Danach prüfen sie gemeinsam, ob Name, Aufgabe und Ergebnis nun stimmig sind.
'''Sicherung/Reflexion:''' Block, Wirkung


'''Sicherung, Reflexion'''
=== Eigene einfache Funktionen entwerfen ===


Fehlerarten, Verbesserung
'''Ziel/Fokus:''' Entwurf, Eigenleistung Material, Aufgaben Spiel, Begruessung, Rechnen, Zeichnen


=== 17.4.9 Funktionen für andere erklären ===
'''Arbeitsauftrag:''' Jede Gruppe wählt eine kleine Aufgabe, etwa eine Begrüßung ausgeben, eine Figur springen lassen, zwei Zahlen addieren oder ein Symbol zeichnen. Danach legt sie einen passenden Funktionsnamen fest, beschreibt Eingabe und Ausgabe und formuliert die Funktion in einer einfachen Schrittliste oder Blockstruktur. Anschließend stellt die Gruppe ihre Funktion kurz vor.


Besonders nachhaltiges Lernen zeigt sich dann, wenn eine Funktion so erklärt werden muss, dass andere sie ohne Vorwissen verstehen, weil dabei Begriffe geordnet, Beispiele gewählt und Zusammenhänge sprachlich klar ausgedrückt werden müssen.
'''Sicherung/Reflexion:''' Name, Aufbau


'''Ziel, Fokus'''
=== Fehlerhafte Funktionen prüfen und verbessern ===


Erklaeren, Fachsprache
'''Ziel/Fokus:''' Fehler, Korrektur


'''Material, Formate'''
'''Arbeitsauftrag:''' Die Lehrkraft stellt kurze problematische Beispiele bereit, etwa eine Funktion ohne verständlichen Namen, einen Aufruf mit fehlendem Wert oder eine Funktion, deren Ausgabe nicht zum Namen passt. Die Lernenden markieren die Fehler, beschreiben die Folgen und schreiben eine verbesserte Fassung. Danach prüfen sie gemeinsam, ob Name, Aufgabe und Ergebnis nun stimmig sind.


Plakat, Karteikarte, Erklaerblatt, Mini-Poster
'''Material/Beispiele:''' unklarer Name, falscher Aufruf, fehlende Eingabe, falsche Ausgabe


'''Ablauf, Schritte'''
'''Sicherung/Reflexion:''' Fehlerarten, Verbesserung


Die Lernenden erstellen in Gruppen ein kurzes Erklärprodukt zu einer einfachen Funktion, etwa begruesse(name), addiere(a,b) oder pruefe_passwort(text). Darin sollen Funktionsname, Aufgabe, Eingabe, Verarbeitung und Ergebnis kurz und verständlich beschrieben werden. Eine andere Gruppe liest oder betrachtet das Produkt und meldet zurück, ob die Erklärung klar genug ist.
=== Funktionen für andere erklären ===


'''Sicherung, Reflexion'''
'''Ziel/Fokus:''' Erklaeren, Fachsprache


Rueckmeldung, Ueberarbeitung
'''Arbeitsauftrag:''' Die Lernenden erstellen in Gruppen ein kurzes Erklärprodukt zu einer einfachen Funktion, etwa begruesse(name), addiere(a,b) oder pruefe_passwort(text). Darin sollen Funktionsname, Aufgabe, Eingabe, Verarbeitung und Ergebnis kurz und verständlich beschrieben werden. Eine andere Gruppe liest oder betrachtet das Produkt und meldet zurück, ob die Erklärung klar genug ist.


=== 17.4.10 Kurzabfragen und Transfersituationen ===
'''Material/Beispiele:''' Plakat, Karteikarte, Erklaerblatt, Mini-Poster


Langfristiges Behalten wird besonders zuverlässig gestärkt, wenn zentrale Unterscheidungen wie Funktionsname, Definition, Aufruf, Eingabe und Ausgabe regelmäßig aktiv abgerufen und auf neue kleine Beispiele übertragen werden.
'''Sicherung/Reflexion:''' Rueckmeldung, Ueberarbeitung


'''Ziel, Fokus'''
=== Kurzabfragen und Transfersituationen ===


'''Abruf, Transfer'''
'''Ziel/Fokus:''' Abruf, Transfer


'''Material, Formate'''
'''Arbeitsauftrag:''' Zum Stundenende beantworten die Lernenden kurze Fragen wie „Was ist eine Funktion?“, „Was unterscheidet Definition und Aufruf?“, „Warum sind gute Namen wichtig?“ oder „Nenne eine Eingabe und eine Ausgabe einer Funktion“. In einer zweiten Runde formulieren sie selbst ein kleines Funktionsbeispiel mit Name und Aufgabe oder ordnen einem Namen eine passende Teilaufgabe zu.


Quiz, Exit-Ticket, Karten, Whiteboard
'''Material/Beispiele:''' Quiz, Exit-Ticket, Karten, Whiteboard


'''Ablauf, Schritte'''
'''Sicherung/Reflexion:''' Lernstand, Festigung


Zum Stundenende beantworten die Lernenden kurze Fragen wie „Was ist eine Funktion?“, „Was unterscheidet Definition und Aufruf?“, „Warum sind gute Namen wichtig?“ oder „Nenne eine Eingabe und eine Ausgabe einer Funktion“. In einer zweiten Runde formulieren sie selbst ein kleines Funktionsbeispiel mit Name und Aufgabe oder ordnen einem Namen eine passende Teilaufgabe zu.
== Kompetenzcheck ==


'''Sicherung, Reflexion'''
Überprüfe am Ende selbst:


Lernstand, Festigung
{| class="wikitable"
! Ich kann …
! Ja
! Noch üben
|-
| den informatischen Funktionsbegriff in eigenen Worten erklären.
| ☐
| ☐
|-
| zwischen Alltagssprache, mathematischer Funktion und informatischer Funktion unterscheiden.
| ☐
| ☐
|-
| beschreiben, dass Funktionen Teilaufgaben in Programmen übernehmen.
| ☐
| ☐
|-
| erklären, dass Funktionen aufgerufen werden können.
| ☐
| ☐
|-
| einfache Eingaben, Ausgaben und Ergebnisse einer Funktion benennen.
| ☐
| ☐
|-
| den Zusammenhang von Funktion, Verarbeitung und Ergebnis erklären.
| ☐
| ☐
|-
| erkennen, dass Funktionen Wiederholungen im Programm vermeiden können.
| ☐
| ☐
|-
| einfache Funktionen an Beispielen aus Alltag und Programmierung erläutern.
| ☐
| ☐
|-
| funktionsnamen verständlich und passend formulieren.
| ☐
| ☐
|-
| zwischen Funktionsdefinition und Funktionsaufruf unterscheiden.
| ☐
| ☐
|-
| einfache Funktionen in Ablaufdarstellungen, Blocksprachen oder textnahen Darstellungen erkennen.
| ☐
| ☐
|-
| den Nutzen von Funktionen für Übersicht, Ordnung und Wiederverwendung beschreiben.
| ☐
| ☐
|}


[[Kategorie:Informatik 6. Klasse]]
[[Kategorie:Informatik]]

Version vom 15. September 2026, 09:48 Uhr

← Zurück zur 6. Klasse

Worum geht es? Du lernst Funktionen als klar abgegrenzte, wiederverwendbare Teilprogramme mit Eingaben, Verarbeitung und Ergebnissen kennen und setzt sie zur Strukturierung von Programmen ein.

Lernziele

Nach diesem Kapitel kannst du:

  • den informatischen Funktionsbegriff in eigenen Worten erklären.
  • zwischen Alltagssprache, mathematischer Funktion und informatischer Funktion unterscheiden.
  • beschreiben, dass Funktionen Teilaufgaben in Programmen übernehmen.
  • erklären, dass Funktionen aufgerufen werden können.
  • einfache Eingaben, Ausgaben und Ergebnisse einer Funktion benennen.
  • den Zusammenhang von Funktion, Verarbeitung und Ergebnis erklären.
  • erkennen, dass Funktionen Wiederholungen im Programm vermeiden können.
  • einfache Funktionen an Beispielen aus Alltag und Programmierung erläutern.
  • Funktionsnamen verständlich und passend formulieren.
  • zwischen Funktionsdefinition und Funktionsaufruf unterscheiden.
  • einfache Funktionen in Ablaufdarstellungen, Blocksprachen oder textnahen Darstellungen erkennen.
  • den Nutzen von Funktionen für Übersicht, Ordnung und Wiederverwendung beschreiben.

Anschluss an die 5. Klasse

Variablen, Kontrollstrukturen und Algorithmen sind bekannt. Funktionen helfen dir nun, größere Programme in überschaubare und wiederverwendbare Teile zu gliedern.

Lerninhalte

Kompaktüberblick

Funktionsbestandteil Bedeutung Beispiel
Name beschreibt die Aufgabe berechnePreis
Parameter Eingabewerte preis, menge
Verarbeitung Anweisungen innerhalb der Funktion preis * menge
Rückgabewert Ergebnis der Funktion gesamtpreis
Aufruf Funktion wird verwendet berechnePreis(5,3)

Merke: Funktionen zerlegen Programme in verständliche, wiederverwendbare Teilaufgaben.

Grundidee einer informatischen Funktion

Eine informatische Funktion hilft dabei, größere Probleme in kleinere, klar benannte und wiederverwendbare Einheiten zu zerlegen, damit Programme verständlicher, strukturierter und leichter veränderbar werden.

Eine Funktion ist in der Informatik ein klar abgegrenzter Teil eines Programms, der eine bestimmte Aufgabe übernimmt. Sie kann etwa Zahlen addieren, ein Licht einschalten, einen Text prüfen, eine Figur bewegen oder auf einen Tastendruck reagieren. Statt denselben Ablauf immer wieder neu zu schreiben, wird die Aufgabe in einer Funktion zusammengefasst und bei Bedarf erneut aufgerufen. Das macht Programme kürzer, übersichtlicher und besser wartbar.

Beispiele, begruessen(), rechne_summe(), pruefe_passwort(), zeige_meldung().

Funktion als Eingabe, Verarbeitung, Ausgabe

Die Grundidee einer Funktion lässt sich besonders gut über Eingabe, Verarbeitung und Ausgabe verstehen, weil damit sichtbar wird, dass eine Funktion Informationen aufnimmt, etwas damit macht und anschließend ein Ergebnis oder eine Wirkung erzeugt.

Viele Funktionen folgen vereinfacht dem Muster Eingabe, Verarbeitung, Ausgabe. Eine Funktion erhält Daten oder Auslöser, verarbeitet diese nach festen Regeln und liefert danach ein Ergebnis zurück oder führt eine Wirkung aus. Beispiel: Eine Funktion bekommt zwei Zahlen, addiert sie und gibt die Summe aus. Ein anderes Beispiel: Eine Funktion erhält einen Text, prüft seine Länge und gibt „zu kurz“ oder „passt“ zurück. Auch in Geräten ist dieses Muster sichtbar: Ein Tastendruck wird erkannt, verarbeitet und löst eine Reaktion aus. Beispiele, Taschenrechner, Passwortprüfung, Tastenreaktion, Temperaturanzeige.

Funktionsdefinition und Funktionsaufruf

Der Unterschied zwischen dem Festlegen einer Funktion und ihrem späteren Verwenden ist zentral, weil erst dadurch klar wird, dass Funktionen einmal beschrieben und danach mehrfach an verschiedenen Stellen eingesetzt werden können.

Bei der Funktionsdefinition wird festgelegt, was eine Funktion tun soll. Beim Funktionsaufruf wird diese Funktion tatsächlich ausgeführt. In den didaktischen Unterlagen wird genau dieser Unterschied am Beispiel von Funktionen in Python und JavaScript hervorgehoben: Zuerst wird eine Funktion definiert, später wird sie von einer anderen Stelle aus aufgerufen. Lernende sollen erkennen, dass beim Definieren eine gewisse Wahlfreiheit besteht, während der Aufruf an den festgelegten Namen gebunden ist. Beispiele, Funktion festlegen, Funktion starten, Ereignis reagiert, Taste drückt Aktion aus.

Namen und Verständlichkeit von Funktionen

Gute Funktionsnamen sind ein wichtiger Teil informatischen Denkens, weil sie nicht nur technische Ordnung schaffen, sondern auch anderen Menschen sofort zeigen, welche Aufgabe eine Funktion übernimmt.

Ein Funktionsname sollte möglichst klar, passend, eindeutig sein. Namen wie rechne_punkte(), spiele_ton(), oeffne_datei() oder setze_startwert() sind aussagekräftiger als unklare Bezeichnungen wie mach1() oder funktionneu(). In den didaktischen Materialien wird betont, dass die Vergabe desselben Namens für unterschiedliche Funktionen aus didaktischer Sicht ungünstig ist, weil dadurch das Verständnis erschwert wird. Gute Namen helfen deshalb bei Lesbarkeit, Erklärung und Fehlersuche. Beispiele, addiere(), zeichne_kreis(), sende_nachricht(), pruefe_eingabe().

Funktionen mit Eingaben und Ergebnissen

Viele Funktionen werden besonders anschaulich, wenn sie nicht immer dasselbe tun, sondern mit übergebenen Werten arbeiten und aus diesen Werten ein neues Ergebnis erzeugen.

Eine Funktion kann Parameter oder Eingabewerte erhalten. Diese Werte beeinflussen, was genau berechnet oder ausgeführt wird. Beispiel: Eine Funktion addiere(a,b) arbeitet je nach Zahlenpaar mit anderen Werten. Eine Funktion male_quadrat(farbe) kann dieselbe Grundaufgabe ausführen, aber mit unterschiedlichen Farben. Eine Funktion begruesse(name) gibt je nach Name einen anderen Text aus. So wird sichtbar, dass Funktionen allgemeine Werkzeuge sein können, die auf wechselnde Eingaben reagieren. Beispiele, Zahlen addieren, Namen einsetzen, Farben wechseln, Bewegungen variieren.

Orientierung auf einen Blick

Ohne Funktion Mit Funktion
Code wird wiederholt Code wird einmal definiert
Änderungen an vielen Stellen Änderung an einer Stelle
lange Abläufe übersichtliche Teilaufgaben

Funktionen ohne Rückgabewert und mit Wirkung

Nicht jede Funktion muss ein sichtbares Ergebnis als Zahl oder Text zurückgeben, denn manche Funktionen bewirken vor allem eine Aktion im System oder an einem Gerät.

Manche Funktionen berechnen Werte, andere lösen Handlungen aus. Eine Funktion kann ein Licht einschalten, einen Ton abspielen, eine Figur bewegen oder eine Anzeige aktualisieren. In Alltagsgegenständen erfüllen eingebettete Computersysteme ebenfalls bestimmte Funktionen, etwa Navigation, Temperaturregelung oder Erinnerung an Medikamenteneinnahmen. Solche Beispiele helfen zu verstehen, dass eine Funktion nicht nur „rechnet“, sondern allgemein eine klar beschriebene Aufgabe übernimmt. Beispiele, Ton abspielen, Anzeige ändern, Licht schalten, Nachricht senden.

Funktionen und Wiederverwendung

Der besondere Nutzen von Funktionen zeigt sich dann, wenn dieselbe Teilaufgabe mehrfach gebraucht wird und nicht jedes Mal neu geschrieben oder erklärt werden muss.

Wiederverwendung bedeutet, dass eine einmal definierte Funktion an mehreren Stellen im Programm erneut eingesetzt werden kann. Das spart Arbeit, vermeidet doppelte Schreibarbeit und erleichtert Änderungen. Muss zum Beispiel die Begrüßung geändert werden, genügt oft eine Anpassung in der Funktion statt an vielen Stellen im Programm. Dasselbe gilt für wiederkehrende Prüfungen, Berechnungen oder Ausgaben. Beispiele, Begrüßung mehrfach nutzen, Spielfigur wiederholt bewegen, Punkte immer gleich berechnen, Meldungen zentral steuern.

Funktionen in blockbasierten und textnahen Darstellungen

Der Funktionsbegriff sollte nicht an eine einzige Programmiersprache gebunden werden, weil dieselbe Grundidee in Blocksprachen, textnahen Notationen und Ereignissystemen unterschiedlich dargestellt, aber ähnlich verstanden werden kann.

In blockbasierten Umgebungen erscheinen Funktionen oft als eigene Blöcke oder benannte Abläufe. In textnahen Sprachen werden sie durch definierende Schreibweisen und spätere Aufrufe sichtbar. Die didaktischen Materialien zum hybriden Arbeiten mit Block-, Python- und JavaScript-Ansichten zeigen, dass Lernende gerade durch den Vergleich der Darstellungen erkennen können, wo eine Funktion definiert und wo sie aufgerufen wird. Dadurch wird der Funktionsbegriff sprachübergreifend verständlich. Beispiele, Scratch-Blöcke, MakeCode, Python-Funktion, JavaScript-Aufruf.

Funktionen im Alltag und in digitalen Geräten

Alltagsnahe Beispiele fördern das Verständnis besonders stark, weil sie zeigen, dass „Funktion“ nicht nur ein Programmierwort ist, sondern auch bei Geräten und digitalen Systemen als gezielte Teilaufgabe verstanden werden kann.

Ein Smartphone nutzt Funktionen für Kamera, Navigation, Nachrichtensenden oder Entsperren.

Eine Smartwatch misst Schritte und Herzfrequenz. Ein intelligenter Medikamentendispenser erinnert an Zeitpunkte und gibt Medikamente nach Plan aus. Solche Beispiele aus den DGB-Unterlagen zeigen, dass Computersysteme in Alltagsgegenständen bestimmte Funktionen erfüllen. Für den informatischen Unterricht ist daran wichtig: Auch in Programmen werden Teilaufgaben als klar beschriebene Funktionen gedacht und umgesetzt. Beispiele, messen, anzeigen, erinnern, navigieren, steuern.

Abgrenzung zu mathematischen Funktionen

Ein klares Begriffsverständnis entsteht besser, wenn zwischen mathematischer und informatischer Verwendung unterschieden wird, ohne den Zusammenhang völlig zu trennen.

In der Mathematik beschreibt eine Funktion meist die Zuordnung von einem Wert zu einem anderen Wert. In der Informatik kann eine Funktion ebenfalls Eingaben in Ergebnisse überführen, sie kann aber zusätzlich Aktionen auslösen, Geräte steuern, Texte ausgeben oder Ereignisse verarbeiten. Die mathematische Sicht hilft beim Verstehen von Eingabe und Ergebnis, die informatische Sicht erweitert dies um Ablauf, Wiederverwendung und technische Wirkung. Beispiele, f(x)=2x, Zahl verdoppeln, Text prüfen, Figur bewegen, Ton starten.

Warum der Funktionsbegriff informatisch wichtig ist

Programme werden verständlicher und besser planbar, wenn wiederkehrende oder klar abgrenzbare Teilaufgaben als Funktionen organisiert werden und nicht als lange, unübersichtliche Gesamtabläufe.

Der Funktionsbegriff unterstützt Struktur, Übersicht, Arbeitsteilung, Wiederverwendung, Fehlersuche. Wer ein größeres Programm in kleinere Funktionen gliedert, kann einzelne Teile besser testen und erklären. Auch Teamarbeit wird einfacher, wenn verschiedene Personen an unterschiedlichen Funktionen arbeiten. So verbindet der Funktionsbegriff technisches Denken mit Klarheit der Darstellung. Beispiele, Spielprogramm gliedern, Eingabe trennen, Auswertung trennen, Ausgabe trennen, Fehler gezielt suchen.

Kurz zusammengefasst

Begriff Kern
Definition Funktion wird beschrieben
Aufruf Funktion wird ausgeführt
Parameter Werte werden übergeben
Rückgabe Ergebnis wird geliefert

Merke: Die wichtigsten Zusammenhänge solltest du nicht nur wiedergeben, sondern an einem neuen Beispiel erklären und anwenden können.

Passende LearningSnacks

Übungen

Die Aufgaben setzen die Inhalte praktisch um. Bei jeder Aufgabe ist der konkrete Arbeitsauftrag ausdrücklich gekennzeichnet.

Funktionen im Alltag entdecken

Ziel/Fokus: Begriff, Alltag

Arbeitsauftrag: Die Lernenden sammeln in Partnerarbeit Funktionen von Alltagsgeräten, etwa fotografieren, navigieren, rechnen, erinnern oder Musik abspielen. Danach ordnen sie jeder Funktion eine mögliche Eingabe, eine Verarbeitung und eine Ausgabe oder Wirkung zu. Anschließend formulieren sie in einem Satz, warum diese Teilaufgabe als Funktion beschrieben werden kann.

Material/Beispiele: Smartphone, App, Taschenrechner, Kamera, Smartwatch

Sicherung/Reflexion: Sammlung, Zuordnung

Gute und schlechte Funktionsnamen vergleichen

Ziel/Fokus: Namen, Verständlichkeit

Arbeitsauftrag: Die Klasse erhält Karten mit unterschiedlich guten Funktionsnamen. Die Lernenden markieren, welche Namen verständlich und welche unklar sind. Danach verbessern sie unpassende Beispiele und begründen ihre Wahl. Anschließend ordnen sie ausgewählten Namen eine wahrscheinliche Aufgabe zu und prüfen, ob Name und vermutete Funktion zusammenpassen.

Material/Beispiele: mach1, pruefe_passwort, neu2, addiere_zahlen, starte_spiel

Sicherung/Reflexion: Vergleich, Merksatz

Definition und Aufruf unterscheiden

Ziel/Fokus: Definition, Aufruf

Arbeitsauftrag: Die Lernenden erhalten kleine Beispiele wie begruesse(), male_kreis() oder spiele_ton(). Zuerst markieren sie, wo eine Funktion definiert wird und wo sie nur aufgerufen wird. Danach formulieren sie selbst eine kurze Definition in Alltagssprache und schreiben an zwei anderen Stellen auf, wann diese Funktion aufgerufen werden soll. Abschließend vergleichen sie ihre Zuordnungen.

Material/Beispiele: Blocksprache, Pseudocode, Funktionskarten

Sicherung/Reflexion: Unterschied, Anwendung

Eingabe, Verarbeitung und Ausgabe zuordnen

Ziel/Fokus: EVA, Funktion Material, Vorlagen Name, Zahl, Text, Ergebnis, Wirkung

Arbeitsauftrag: Die Gruppen bearbeiten Beispiele wie „zwei Zahlen addieren“, „Passwort prüfen“, „Namen begrüßen“ oder „Farbe wechseln“. Zu jeder Funktion notieren sie die Eingabe, beschreiben die Verarbeitung und benennen die Ausgabe oder Wirkung. Danach übertragen sie ein Beispiel in eine kleine Darstellung mit drei Feldern oder Pfeilen.

Sicherung/Reflexion: Zuordnung, Schema

Eine Funktion aus Wiederholungen ableiten

Ziel/Fokus: Wiederholung, Nutzen

Arbeitsauftrag: Die Lernenden erhalten einen kurzen Ablauf mit mehreren gleichen oder sehr ähnlichen Handlungen, etwa dreimal dieselbe Begrüßung oder wiederholtes Bewegen einer Figur. Zunächst markieren sie die Wiederholungen. Danach formulieren sie eine passende Funktion, die diese Teilaufgabe übernimmt, und ersetzen die Wiederholungen durch einen oder mehrere Funktionsaufrufe. Anschließend erklären sie den Vorteil.

Material/Beispiele: Begruessung, Ton, Bewegung, Ausgabe

Sicherung/Reflexion: Auslagern, Vereinfachung

Funktionen in Blockprogrammen erkennen

Ziel/Fokus: Blocksprache, Erkennen

Arbeitsauftrag: Die Lernenden öffnen ein vorbereitetes Blockprogramm mit benannten Funktionen oder eigenen Blöcken. Sie markieren die Stellen, an denen Funktionen definiert und an denen sie aufgerufen werden. Danach erklären sie in Partnerarbeit, welche Teilaufgabe jeder Block übernimmt und warum diese Aufgabe nicht jedes Mal neu gebaut werden muss. Optional verändern sie einen Funktionsblock und beobachten die Wirkung.

Material/Beispiele: Scratch, MakeCode, Open Roberta

Sicherung/Reflexion: Block, Wirkung

Eigene einfache Funktionen entwerfen

Ziel/Fokus: Entwurf, Eigenleistung Material, Aufgaben Spiel, Begruessung, Rechnen, Zeichnen

Arbeitsauftrag: Jede Gruppe wählt eine kleine Aufgabe, etwa eine Begrüßung ausgeben, eine Figur springen lassen, zwei Zahlen addieren oder ein Symbol zeichnen. Danach legt sie einen passenden Funktionsnamen fest, beschreibt Eingabe und Ausgabe und formuliert die Funktion in einer einfachen Schrittliste oder Blockstruktur. Anschließend stellt die Gruppe ihre Funktion kurz vor.

Sicherung/Reflexion: Name, Aufbau

Fehlerhafte Funktionen prüfen und verbessern

Ziel/Fokus: Fehler, Korrektur

Arbeitsauftrag: Die Lehrkraft stellt kurze problematische Beispiele bereit, etwa eine Funktion ohne verständlichen Namen, einen Aufruf mit fehlendem Wert oder eine Funktion, deren Ausgabe nicht zum Namen passt. Die Lernenden markieren die Fehler, beschreiben die Folgen und schreiben eine verbesserte Fassung. Danach prüfen sie gemeinsam, ob Name, Aufgabe und Ergebnis nun stimmig sind.

Material/Beispiele: unklarer Name, falscher Aufruf, fehlende Eingabe, falsche Ausgabe

Sicherung/Reflexion: Fehlerarten, Verbesserung

Funktionen für andere erklären

Ziel/Fokus: Erklaeren, Fachsprache

Arbeitsauftrag: Die Lernenden erstellen in Gruppen ein kurzes Erklärprodukt zu einer einfachen Funktion, etwa begruesse(name), addiere(a,b) oder pruefe_passwort(text). Darin sollen Funktionsname, Aufgabe, Eingabe, Verarbeitung und Ergebnis kurz und verständlich beschrieben werden. Eine andere Gruppe liest oder betrachtet das Produkt und meldet zurück, ob die Erklärung klar genug ist.

Material/Beispiele: Plakat, Karteikarte, Erklaerblatt, Mini-Poster

Sicherung/Reflexion: Rueckmeldung, Ueberarbeitung

Kurzabfragen und Transfersituationen

Ziel/Fokus: Abruf, Transfer

Arbeitsauftrag: Zum Stundenende beantworten die Lernenden kurze Fragen wie „Was ist eine Funktion?“, „Was unterscheidet Definition und Aufruf?“, „Warum sind gute Namen wichtig?“ oder „Nenne eine Eingabe und eine Ausgabe einer Funktion“. In einer zweiten Runde formulieren sie selbst ein kleines Funktionsbeispiel mit Name und Aufgabe oder ordnen einem Namen eine passende Teilaufgabe zu.

Material/Beispiele: Quiz, Exit-Ticket, Karten, Whiteboard

Sicherung/Reflexion: Lernstand, Festigung

Kompetenzcheck

Überprüfe am Ende selbst:

Ich kann … Ja Noch üben
den informatischen Funktionsbegriff in eigenen Worten erklären. ☐ ☐
zwischen Alltagssprache, mathematischer Funktion und informatischer Funktion unterscheiden. ☐ ☐
beschreiben, dass Funktionen Teilaufgaben in Programmen übernehmen. ☐ ☐
erklären, dass Funktionen aufgerufen werden können. ☐ ☐
einfache Eingaben, Ausgaben und Ergebnisse einer Funktion benennen. ☐ ☐
den Zusammenhang von Funktion, Verarbeitung und Ergebnis erklären. ☐ ☐
erkennen, dass Funktionen Wiederholungen im Programm vermeiden können. ☐ ☐
einfache Funktionen an Beispielen aus Alltag und Programmierung erläutern. ☐ ☐
funktionsnamen verständlich und passend formulieren. ☐ ☐
zwischen Funktionsdefinition und Funktionsaufruf unterscheiden. ☐ ☐
einfache Funktionen in Ablaufdarstellungen, Blocksprachen oder textnahen Darstellungen erkennen. ☐ ☐
den Nutzen von Funktionen für Übersicht, Ordnung und Wiederverwendung beschreiben. ☐ ☐