Zum Inhalt springen

Informatik 6: Informatischer Funktionsbegriff: Unterschied zwischen den Versionen

Aus Informatik.wiki
Migration aus statischer Informatik.wiki-Version in klassisches MediaWiki
 
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
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


Zuordnung, Schema
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.


=== 17.4.5 Eine Funktion aus Wiederholungen ableiten ===
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.


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.
=== Kurz zusammengefasst ===


Ziel, Fokus
{| class="wikitable"
! Begriff
! Kern
|-
| Definition
| Funktion wird beschrieben
|-
| Aufruf
| Funktion wird ausgeführt
|-
| Parameter
| Werte werden übergeben
|-
| Rückgabe
| Ergebnis wird geliefert
|}


Wiederholung, Nutzen
<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>


Material, Beispiele
== 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]


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


Ablauf, Schritte
== Übungen ==


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.
Die Aufgaben setzen die Inhalte praktisch um. Bei jeder Aufgabe ist der konkrete Arbeitsauftrag ausdrücklich gekennzeichnet.


Sicherung, Reflexion
=== Funktionen im Alltag entdecken ===


Auslagern, Vereinfachung
'''Ziel/Fokus:''' Begriff, Alltag


=== 17.4.6 Funktionen in Blockprogrammen erkennen ===
'''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.


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.
'''Material/Beispiele:''' Smartphone, App, Taschenrechner, Kamera, Smartwatch


Ziel, Fokus
'''Sicherung/Reflexion:''' Sammlung, Zuordnung


Blocksprache, Erkennen
=== Gute und schlechte Funktionsnamen vergleichen ===


Material, Werkzeuge
'''Ziel/Fokus:''' Namen, Verständlichkeit


Scratch, MakeCode, Open Roberta
'''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.


Ablauf, Schritte
'''Material/Beispiele:''' mach1, pruefe_passwort, neu2, addiere_zahlen, starte_spiel


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.
'''Sicherung/Reflexion:''' Vergleich, Merksatz


Sicherung, Reflexion
=== Definition und Aufruf unterscheiden ===


Block, Wirkung
'''Ziel/Fokus:''' Definition, Aufruf


=== 17.4.7 Eigene einfache Funktionen entwerfen ===
'''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.


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.
'''Material/Beispiele:''' Blocksprache, Pseudocode, Funktionskarten


Ziel, Fokus
'''Sicherung/Reflexion:''' Unterschied, Anwendung


Entwurf, Eigenleistung Material, Aufgaben Spiel, Begruessung, Rechnen, Zeichnen
=== Eingabe, Verarbeitung und Ausgabe zuordnen ===


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


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.
'''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
'''Sicherung/Reflexion:''' Zuordnung, Schema


Name, Aufbau
=== Eine Funktion aus Wiederholungen ableiten ===


=== 17.4.8 Fehlerhafte Funktionen prüfen und verbessern ===
'''Ziel/Fokus:''' Wiederholung, Nutzen


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.
'''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.


Ziel, Fokus
'''Material/Beispiele:''' Begruessung, Ton, Bewegung, Ausgabe


Fehler, Korrektur
'''Sicherung/Reflexion:''' Auslagern, Vereinfachung


Material, Beispiele
=== Funktionen in Blockprogrammen erkennen ===


unklarer Name, falscher Aufruf, fehlende Eingabe, falsche Ausgabe
'''Ziel/Fokus:''' Blocksprache, Erkennen


Ablauf, Schritte
'''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.


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:''' Scratch, MakeCode, Open Roberta


Sicherung, Reflexion
'''Sicherung/Reflexion:''' Block, Wirkung


Fehlerarten, Verbesserung
=== Eigene einfache Funktionen entwerfen ===


=== 17.4.9 Funktionen für andere erklären ===
'''Ziel/Fokus:''' Entwurf, Eigenleistung Material, Aufgaben Spiel, Begruessung, Rechnen, Zeichnen


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.
'''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.


Ziel, Fokus
'''Sicherung/Reflexion:''' Name, Aufbau


Erklaeren, Fachsprache
=== Fehlerhafte Funktionen prüfen und verbessern ===


Material, Formate
'''Ziel/Fokus:''' Fehler, Korrektur


Plakat, Karteikarte, Erklaerblatt, Mini-Poster
'''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.


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


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.
'''Sicherung/Reflexion:''' Fehlerarten, Verbesserung


Sicherung, Reflexion
=== Funktionen für andere erklären ===


Rueckmeldung, Ueberarbeitung
'''Ziel/Fokus:''' Erklaeren, Fachsprache


=== 17.4.10 Kurzabfragen und Transfersituationen ===
'''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.


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.
'''Material/Beispiele:''' Plakat, Karteikarte, Erklaerblatt, Mini-Poster


Ziel, Fokus
'''Sicherung/Reflexion:''' Rueckmeldung, Ueberarbeitung


Abruf, Transfer
=== Kurzabfragen und Transfersituationen ===


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


Quiz, Exit-Ticket, Karten, Whiteboard
'''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.


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


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.
'''Sicherung/Reflexion:''' Lernstand, Festigung


Sicherung, Reflexion
== Kompetenzcheck ==


Lernstand, Festigung
Überprüfe am Ende selbst, ob du die zentralen Kompetenzen dieses Kapitels sicher anwenden kannst:


Grundlage: Informatik – Lehrband 6. Klasse, Final V1.3 (2026).
{| 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]]

Aktuelle Version vom 15. September 2026, 10:47 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

[Bearbeiten]

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

[Bearbeiten]

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

Lerninhalte

[Bearbeiten]

Kompaktüberblick

[Bearbeiten]
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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]
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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]
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.

[Bearbeiten]

Passende LearningSnacks

Übungen

[Bearbeiten]

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

Funktionen im Alltag entdecken

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

Überprüfe am Ende selbst, ob du die zentralen Kompetenzen dieses Kapitels sicher anwenden kannst:

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. ☐ ☐