Methodenparameter, Rückgabewerte und erste Algorithmen

Anonymous
1,091 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Mensch oder Computer?

Wann immer wir ein Programm schreiben, ist es wichtig zu berücksichtigen, wer oder was dieses Programm verwenden wird: ein Mensch oder der Computer.

Die Vorlage zum Schaltjahr war auf die Bedienung von Menschen zugeschnitten:

  • Die Eingabe der Jahreszahl erfolgte über die Tastatur nach Starten des Programms.
  • Zur Kontrolle wurde die Jahreszahl auch wieder ausgegeben.
  • Außerdem erfolgt die Rückmeldung des Programms in Textform ("Schaltjahr!" oder "Kein Schaltjahr!").

Das Ziel der heutigen Stunde soll sein, ein Programm zu schreiben, das eine Liste von Jahreszahlen erhält und mit einer Liste an Wahrheitswerten (Boolean) antwortet. Ist die i-te Zahl ein Schaltjahr, so soll der i-te Eintrag der Ergebnisliste True sein.

Aber eins nach dem anderen!

Methoden Informationen mitgeben

Betrachten wir die von Python zur Verfügung gestellte Funktion print(). Diese können wir verwenden, um Textausgaben zu machen. Damit der Computer weiß, was ausgegeben werden soll, muss die entsprechende Zeichenkette an die Methode übergeben werden, dafür schreiben wir sie in die Klammern hinter print:

print("test")
print("Hallo!")
print("Baum.")

Wir erhalten also unterschiedliche Ergebnisse beim Aufruf derselben Funktion - abhängig davon, was in den Klammern steht.

Wir nennen "das was in den Klammern steht" Methodenparameter, Funktionsparameter oder einfach nur Parameter.

Mithilfe von Parametern kann einer Funktion eine Information (oder auch mehrere Informationen) mitgegeben werden. Eine Funktion kann beliebig viele, mit Komma getrennte Parameter haben. Eine Funktion zum Bilden der Summe zweier Zahlen könnte so aussehen:

Welche Aussagen zu Parametern sind wahr?

Aufgabe: Subtraktion implementieren

Definiere in der nachfolgenden Code-Box eine Funktion subtrahiere(), die zwei Parameter erhält und die Differenz der beiden Parameter mit print() ausgibt. Bitte gib nur das Ergebnis ohne weiteren Text aus! Aufrufbeispiel:

subtrahiere(1, 2)
# gibt -1 aus
Subtrahieren

Anwendung aufs Schaltjahr

Nun wollen wir unser Schaltjahrbeispiel so umbauen, dass die Methode JahreszahlPruefen() einen Parameter erhält, in dem das zu prüfende Jahr steht. Mögliche Aufrufe sollen so aussehen:

JahreszahlPruefen(1998)
# gibt "Kein Schaltjahr!" aus
JahreszahlPruefen(2000)
# gibt "Schaltjahr!" aus
Jahreszahl als Parameter mitgeben

Kontrollfragen zu Parametern

Welche der folgenden Funktionen verwenden Parameter (sinnvoll)?
def funktionA(parameter):
    funktion2(parameter)
def funktionB():
    funktion2(parameter)
def funktionC(parameter):
    funktion2(baum)
def funktionD(parameter1, parameter2):
    funktionD(parameter1, parameter1 + parameter2)
Wir benötigen Parameter ...
Was stimmt bei Parametern und Funktionen:
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content