Variable und Parameter


Parameter

Erklärvideo Programmierung mit Python - Verwenden von Parametern

Nachdem wir in unserem Beispiel für die Modularisierung drei gleich große Bäume gezeichnet haben, wollen wir nun verschieden große Bäume zeichnen. Schließlich sind in einem Wald auch nicht alle Bäume gleich groß. Dafür wollen wir dem Modul Baum die entsprechenden Werte für die Breite und die Höhe des Stamms sowie den Radius für die Krone übergeben. Dieses Problem lösen wir durch Parameter.

Parameter sind nur innerhalb einer Funktion gültig. Sie werden genutzt, um Daten vom Hauptprogramm an eine Funktion zu übergeben. Beim Aufruf erhält der Parameter einen Wert und dieser kann im Innern der Funktion verwendet werden.

Schauen wir uns dazu folgendes Beispiel an:

def baum(x,y,r):
...
...
baum(20,80,50)
...

Zunächst wird das Modul Baum mit den Werten x (Breite des Stamms), y (Höhe des Stamms) und r (Radius der Krone) definiert. Diese Werte nennt man formale Parameter. Beim Aufruf des Moduls werden diese formalen Werte durch konkrete Werte, hier die Zahlen (20,80,50), ersetzt. Diese nennt man aktuelle Parameter. Zu beachten ist, dass die Anzahl der Parameter, ihr Datentyp (siehe weiter unten) und ihre Reihenfolge bei der Definition und beim Aufruf übereinstimmen müssen.

Übung 1: Zeichnen von drei Bäumen mit unterschiedlicher Größe

Unsere Erkenntnisse wollen wir nun zum Zeichnen eines kleinen Waldes mit drei Bäumen von unterschiedlicher Größe nutzen. Ausgehen wollen wir dabei von unserem Programm zum modularen Zeichnen von drei Bäumen. Gemäß unserer obigen Überlegungen müssen wir es nur noch anpassen. Die Bäume sollen folgende Maße haben: Baum1(20,80,50), Baum2(15,70,40) und Baum3(20,80,55).

Theoretischer Exkurs: Datentypen

In der Übung 1 wurde die Problematik der Datentypen bereits kurz angesprochen. Dabei ist diese Problematik nicht neu. Bereits bei der Beschäftigung mit der Tabellenkalkulation in Klasse 7 und bei Datenbanken in Klasse 9 haben wir festgestellt, dass Daten in Form von Zahlen (mit oder ohne Komma), einzelnen Zeichen (wie z.B. "€") oder auch Zeichenketten auftreten können. Diese Problematik spielt nun auch bei der Programmierung wieder eine große Rolle, da Computerprogramme Daten der verschiedensten Typen verarbeiten müssen.

Übung 2

Beschäftigen Sie sich selbstständig mit der Thematik Datentypen. Arbeiten Sie dazu das folgende Material durch und lösen Sie auch die dort gestellten Aufgaben: Datentypen_Aufg.pdf

Theoretischer Exkurs: Variable

Bisher konnten wir nur geometrische Figuren mit vorgegebenen Seitenlängen, Strichstärken etc. zeichnen. Oftmals möchte man aber dem Nutzer die Gelegenheit ermöglichen, diese Werte selbst einzugeben. Dann müssen diese Eingaben zunächst abgespeichert werden. Dazu benötigt man Variable. Informieren Sie sich zunächst selbstständig über das Variablenkonzept in der Programmierung auf folgender Webseite: https://programmierkonzepte.ch.

Das Variablenkonzept erlaubt es, Werte in Variablen abzuspeichern, die während der Abarbeitung des Programms gelesen und auch verändert werden können. Jede Variable ist gekennzeichnet durch einen Namen und einen Wert. Mit einem Gleichheitszeichen wird die Variable definiert und ihr ein Wert zugewiesen. Beispiel: laenge = 5.

Übung 3: Arbeit mit der Kommandozeile von Thonny

Berechnen Sie mit Hilfe der Kommandozeile von Thonny Ihren Body Mass Index (BMI). Verwenden Sie für die Eingabe die Variablen gewicht und groesse sowie für die Ausgabe die Variable bmi. Hinweise zur Berechnung des Body Mass Index (BMI) finden Sie hier: https://www.bmi-online.info/

Erklärvideo Programmierung mit Python - Verwenden von Variablen
Übung 4: Baum mit Nutzereingabe

Wir wollen unser Programm zum Zeichnen eines Baumes weiter modifizieren. In der Übung 1 war es uns immerhin möglich verschieden große Bäume zu zeichnen. Allerdings mussten wir die Zahlenwerte fest im Programm verankern. Oftmals möchte man dem Nutzer aber die Gelegenheit geben, die Werte selbst in einem Nutzerdialog eingeben zu können. Dazu müssen die eingegebenen Werte nach der Eingabe in Variablen gespeichert werden. Schauen Sie sich dazu die folgende Abbildung an:

Ändern Sie das Programm Baeume_mit_Parameter.py so ab, dass der Nutzer die Daten für den zu zeichnenden Baum selbst eingeben kann. Der Befehl input sorgt dafür, dass der Nutzer die Möglichkeit für eine Eingabe bekommt. Mit dem Hochkomma ('text') kann ein Text als Zeichenkette (Datentyp String) auf dem Bildschirm ausgegeben werden. Die Anweisung int(breite) sorgt dann dafür, dass der gespeicherte Inhalt der Variablen breite vom Datentyp string in den Datentyp integer umgewandelt wird.

Übung 5: Berechnen von Potenz und Quadratwurzel

Natürlich kann man mit Python nicht nur mit der Turtle geometrische Figuren oder Muster zeichnen lassen. Man kann ebenso klassische Berechnungen nach dem EVA-Prinzip ausführen lassen. In dieser Übung soll der Computer zu einer vorgegebenen Zahl z die n-te Potenz und die Quadratwurzel der Zahl berechnen. Den Exponenten n der Potenz und die Zahl z soll der Nutzer selbst eingeben können.

Hinweis: Damit man mathematische Berechnungen durchführen kann, muss das Modul math importiert werden:
import math # Mathematikmodul importieren.
Wer sich näher mit den Möglichkeiten des Mathematikmoduls von Python beschäftigen möchte, findet z.B. auf dieser Webseite weiterführende Hinweise: https://www.grund-wissen.de/informatik/python/scipy/mathematik-mit-standard-modulen.html

Nach dem Import des Mathematikmoduls kann auf die enthaltenen Funktionen wie etwa Potenzieren und Radizieren (Ziehen der Wurzel) zurückgegriffen werden. Dabei ist z die einzugebende Zahl und n der Exponent.
potenz = math.pow(z,n) # Potenzfunktion aus dem Mathematikmodul aufrufen
wurzel = math.sqrt(z) # Quadratwurzel aus dem Mathematikmodul aufrufen

Bei der Ausgabe der berechneten Werte müssen die Zahlen wieder in eine Zeichenkette umgewandelt werden. Darum kümmert sich Python selbstständig. Zur besseren Lesbarkeit werden die Zahlen in einen Satz eingebettet. Dazu müssen mehrere Zeichenketten zu einer neuen Zeichenkette verknüpft werden. Der Fachbegriff hierfür lautet Konkatenation:
print('Die Quadratwurzel von ',z,' ist ',wurzel)
Der Befehl print sorgt dafür, dass die anschließend angegebene Zeichenkette auf dem Bildschirm ausgegeben ("ausgedruckt") wird.

Orientieren Sie sich bei der Lösung der Aufgabe an dem vorgegebenen Struktogramm.

weitere Aufgaben zum Üben

Übung 6: Berechnen der Fläche eines Rechtecks

Erstellen Sie ein Programm, das nach der Eingabe von Länge und Breite eines Rechtecks in cm seinen Flächeninhalt in cm2 berechnet. Die Eingabe der Seitenlänge soll mit dem Datentyp float erfolgen. Beachten Sie, dass in dem Programm die Dezimalzahlen mit einem Punkt statt Komma eingegeben werden müssen. Hierbei handelt es sich um die englische Schreibweise von Dezimalzahlen.

Übung 7: Berechnen des Volumens eines Würfels

Erstellen Sie ein Programm, das nach der Eingabe der Länge eines Würfels in cm sein Volumen in cm3 berechnet. Die Eingabe der Seitenlänge soll mit dem Datentyp float erfolgen. Verwenden Sie zur Berechnung des Volumens die entsprechende Funktion aus dem Paket math, das sie am Anfang des Programms wieder importieren müssen.

Übung 8: Zeichnen eines Rechtecks mit Nutzereingabe (Parameter)

Erstellen Sie ein Programm, das nach der Eingabe von Länge und Breite eines Rechtecks durch den Nutzer das entsprechende Rechteck mit der Turtlegrafik zeichnet. Definieren Sie dazu ein Modul Rechteck, dem Sie die Nutzereingaben als Parameter übergeben. Es soll möglich sein, Dezimalzahlen zur Eingabe zu verwenden. Nutzen Sie dementsprechend den Datentyp float.


zuletzt geändert am:
Eine Seite von Mirko Hans