At My Fingertips
Rapid Playground
In dieser Aktivität werden die wichtigsten Funktionen und Konzepte, die du in den zwei bisher erlernten Curricula kennengelernt hast, dargestellt. Es wird jeweils nochmal kurz erläutert, wie die Beispielgrafiken verknüpft werden und welches Konzept dahinter steckt.
Diese Aktivität wird die Lehrperson mit dir besprechen oder bevor du beginnen konntest, mit dir gemeinsam lösen.
(ueberlagere)
Erstelle eine Funktion ring
, die einen Durchmesser und zwei Farben entgegennimmt. Gib in der Funktionsdefinition auch die Datentypen der Parameter und der Funktion an.
Über den Aufruf dieser Funktion kannst du beispielsweise einen Fingerring oder auch eine Pizza kreieren.
Hinweis: Speichere die ring
-Funktion in der Toolbox ab.
,
(ueber, drehe)
Für diese Aufgabe verwendest du die ring
-Funktion. Setze einem fingerring
einen Diamanten auf.
Ein wichtiges Konzept der Programmierung ist, dass man Codeduplikationen vermeidet. Das bedeutet, dass Codeteile, die einmal geschrieben sind, wiederverwendet werden. Soeben konntest du die Funktion Ring
wiederverwenden. Gleiches gilt für die nächste Aufgabe.
(neben)
Verwende erneut die Funktion ring
, um eine sonnenbrille
(erstmal ohne die Bügel) zu implementieren.
(fixiere, kombiniere)
oder
Im ersten Curriculum hast du dieses Konzept kennengelernt. Es ist ein Grundprinzip: Zerlege ein Problem in Teilprobleme, löse jedes einzeln und füge die Teillösungen zu einer Gesamtlösung zusammen.
Hier verwenden wir das Konzept vor allem, um Grafiken in ihre primitiven Grafiken zu zerlegen und dann wieder zu kombinieren (engl. compose).
(rgb_farbe)
Hast du den viertelkreis
und den halbkreis
in deiner Toolbox? Die entsprechenden Funktionen sind jetzt hilfreich.
Wähle neue Farben.
Mittlerweile hast du sehr oft und wahrscheinlich mehrheitlich unbewusst abstrahiert. Beim Erstellen von Funktionen hast du dir überlegt, welche Gemeinsamkeit alle deine entstehenden Grafiken haben sollen und welche Parameter hingegen veränderbar sein sollen. Du hast Muster erkannt. Die Parametrisierung von Funktionen ist eine Form von Abstraktion eines Problems.
Die Abstraktion hilft, die Komplexität zu reduzieren und Probleme in überschaubare Teile aufzuteilen. Dies führt wiederum zu effizienteren Lösungen. Allgemein ermöglicht Abstraktion das Erkennen von Zusammenhängen, von Mustern und das Entwickeln von effektiven Lösungsstrategien. Dieser grundlegende Mechanismus der Abstraktion unterstützt dich im Alltag, im Verstehen deiner Umwelt und der Interaktion mit derselben. (Quelle: "Abstraktion", Wikipedia, September 2024)
Löse die Aktivität Isoceles Trapezoid. Klicke auf das rote "Isoceles Trapezoid", es führt dich direkt zur Aktivität.
!!Speichere die Funktion gleichschenkligesTrapez
in deiner Toolbox.!!
Bei diesem Vorgehen sollen Grafiken aus einer Grundform "ausgeschnitten" werden, anstatt aus Grundformen (primitiven Grafiken) zusammengesetzt.
Das Bild zeigt die abgeschnittenen Teile (oder auch das "Schnittmuster") in schwarz. Wie du siehst, ist die erwünschte Grafik eine kravatte
.
Generiere nun das Schnittmuster in weiss, das du anschliessend auf ein farbiges Rechteck legen kannst.
In dieser Aktivität hast du alle bisher erlernten Konzepte und Funktionen nochmal genutzt. Die von dir stets (vlt. unbewusst) angewandte Abstraktion konntest du hier theoretisch begreifen.
Problemzerlegung: engl.problem decomposition
Ich kann Probleme in Teilprobleme zerlegen und die Teillösungen zur Gesamtlösung zusammensetzen.
Abstraktion:
Ich definiere Funktionen, um Programme zu strukturieren und Code zu abstrahieren. Funktionen erhöhen die Übersicht, Wartbarkeit (Anpassungen müssen nur einmalig gemacht werden) und Wiederverwendung.
Mustererkennung: engl. pattern recognition
Ich suche nach Gemeinsamkeiten und Unterschieden, die mein Code (v.a.Funktionen) enthalten wird. Dies führt zur Parametrisierung: Differenzen werden in Parametern festgelegt und Gemeinsamkeiten als Bestandteile des Funktionskörpers.
This activity has been created by Bernhard and is licensed under CC BY-SA 4.0.
It is derived from this activity.
Durchblick
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)