Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:modul:m319:learningunits:lu09:aufgaben:einfachefunktionen [2025/06/23 07:45] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1de:modul:m319:learningunits:lu09:aufgaben:einfachefunktionen [2025/06/23 07:45] (aktuell) – ↷ Seite von modul:m319:learningunits:lu09:aufgaben:einfachefunktionen nach de:modul:m319:learningunits:lu09:aufgaben:einfachefunktionen verschoben msuter
Zeile 1: Zeile 1:
 +====== LU09.A01 - Einfache Funktionen definieren ======
  
 +<WRAP center round todo 60%>
 +Lösen Sie die zwei Aufträge um sich mit dem Syntax von Funktionen bekannt zu machen.
 +</WRAP>
 +
 +
 +===== Auftrag 1: Vier verschiedene Varianten | File main.py =====
 +
 +<WRAP center round tip 60%>
 +Lösen Sie die Aufgabe im File ''main.py'' und testen Sie den Code mit den Testfällen in ''main_test.py''
 +</WRAP>
 +
 +
 +Funktionsblöcke können Sie auf vier verschiedenen Varianten definieren.
 +
 +^          ^ Parameter ^ Return ^
 +^Funktion 1| Nein     | Nein   |
 +^Funktion 2| Nein     | Ja     |
 +^Funktion 3| Ja       | Nein   |
 +^Funktion 3| Ja       | Ja     |
 +
 +Ergänzen Sie den Code um die Funktion 2,3 und 4.
 +
 +<code python>
 +def function1():
 +    """
 +    Function without params or return
 +    :return: None
 +    """
 +    print('Function 1 is called')
 +
 +def four_functions():
 +    """
 +    Main function
 +    :return: None
 +    """
 +    function1()
 +    received_from_2 = function2()
 +    function3('passed Argument to print in function3')
 +    received_from_4 = function4('passed Argument to print in function4')
 +
 +if __name__ == '__main__':
 +    four_functions()
 +</code>
 +
 +
 +===== Auftrag 2: Einfacher Rechner | File calculator.py=====
 +
 +<WRAP center round tip 60%>
 +Lösen Sie die Aufgabe im File ''calculator.py'' und testen Sie den Code mit den Testfällen in ''calculator_test.py''
 +</WRAP>
 +
 +
 +Programmieren Sie einfache Taschenrechner-Funktionen (''add'', ''substract'', ''multiply'', ''divide'', ''power'', ''root'') und rufen Sie diese aus der Main-Funktion auf und drucken Sie die Resultate.
 +
 +<code python>
 +def add(TODO):
 +    #TODO
 +
 +def main():
 +    total = add(5,5.5)
 +    print(total)
 +
 +if __name__ == '__main__':
 +    main()
 +</code>
 +
 +<WRAP center round important 60%>
 +  * Division durch 0 soll den Text: ''Division by zero'' zurückgeben.
 +  * Sollte versucht werden die Nullte Wurzel zu ziehen, so sollte ''Root by zero'' zurückgeben.
 +</WRAP>
 +
 +<WRAP center round info 60%>
 +=== Berechnung der Quadratwurzel und n-ten Wurzel ===
 +
 +Die Berechnung der **Quadratwurzel** und der **n-ten Wurzel** kann in der Mathematik durch die Verwendung von Potenzen vereinfacht verstanden werden. 
 +
 +== Quadratwurzel ==
 +
 +Die Quadratwurzel einer Zahl ''x'' ist die Zahl, die, wenn sie mit sich selbst multipliziert wird, ''x'' ergibt. In mathematischer Schreibweise wird die Quadratwurzel von ''x'' als √x dargestellt. 
 +
 +Interessanterweise ist die Quadratwurzel mathematisch äquivalent zum Erheben von ''x'' in die Potenz 1/2, d.h.,
 +
 +  √x = x^(1/2)
 +  
 +== n-te Wurzel ==
 +
 +Dieses Konzept lässt sich auch auf die **n-te Wurzel** erweitern. Die n-te Wurzel von ''x'' ist die Zahl, die, wenn sie ''n''-mal mit sich selbst multipliziert wird, ''x'' ergibt. In mathematischer Schreibweise wird dies als x^(1/n) dargestellt. 
 +
 +Zum Beispiel:
 +
 +  * Die dritte Wurzel von ''x'' (auch Kubikwurzel genannt) ist x^(1/3).
 +  * Die vierte Wurzel von ''x'' ist x^(1/4).
 +
 +und so weiter. 
 +
 +Diese Darstellung als Potenz ist besonders nützlich, da sie die Anwendung der allgemeinen Regeln der Potenzrechnung ermöglicht, was bei komplexeren mathematischen Berechnungen hilfreich sein kann.
 +</WRAP>
 +
 +
 +----
 +<details>
 +<summary>//=> GitHub Repo für externe Besucher//</summary>
 +GitHub Repository https://github.com/templates-python/m319-lu09-a01-first-functions
 +
 +//Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden//
 +
 +</details>
 +{{tag>M319-LU09}}
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Marcel Suter, Kevin Maurizi