Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1415:j_b

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1415:j_b [2014/11/04 18:34]
mr.lazy 1. Erstellen der Seite:
ws1415:j_b [2021/04/28 10:47] (aktuell)
stefanborn Seitename wurde von ws1415:jonas_blochwitz auf ws1415:j_b geändert
Zeile 1: Zeile 1:
-====== ​Jonas Blochwitz ​====== +====== ​Beitrag eines Teilnehmers von Mathesis (J.) ====== 
-Funktionen sind toll!+ 
 +Das [[rekursivekunst|hier]] ist eine echt tolle Seite über **Rekursive Kunst**. Du weißt nicht, was das ist? Dann schau doch mal rein! 
 + 
 +===Funktionen sind toll!===
 <code python> <code python>
 #Das hier ist ein Beispiel fuer eine Funktion, die rekursiv die Fakultaet einer Zahl berechnet. #Das hier ist ein Beispiel fuer eine Funktion, die rekursiv die Fakultaet einer Zahl berechnet.
Zeile 10: Zeile 13:
 </​code>​ </​code>​
 Um nun zu zeigen, warum Funktionen so nützlich sind, wollen wir das folgende Programm betrachten, welches den Binomialkoeffizienten $\binom nk$ berechnet. Um nun zu zeigen, warum Funktionen so nützlich sind, wollen wir das folgende Programm betrachten, welches den Binomialkoeffizienten $\binom nk$ berechnet.
-Der Binomialkoeffizient von n über k ist definiert als:  +Dabei gilt Folgendes:  
-$$ +$$\binom nk = \frac{n!}{k! \cdot (n-k)!}$$ 
-\binom nk = \frac{n!}{k! \cdot (n-k)!} +Wir müssen also gleich drei mal die Fakultät berechnen((Natürlich könnte man hier n! mit (n-k)! kürzen und sich so eine Forschleife sparen.)). Also gut, legen wir los. Zuerst einmal ohne die Nutzung irgendwelcher Funktionen:
-$$ +
-Wir müssen also gleich drei mal die Fakultät berechnen. Also gut, legen wir los. Zuerst einmal ohne die Nutzung irgendwelcher Funktionen:+
 <code python> <code python>
 input = raw_input('​Bitte n und k eingeben:'​) input = raw_input('​Bitte n und k eingeben:'​)
Zeile 50: Zeile 51:
 fakultaetszaehler += 1 fakultaetszaehler += 1
 </​code>​ </​code>​
-beim ersten Beispiel 3mal einfügen, beim '​ordentlichen'​ Beispiel jedoch nur einmal. Stellen wir uns nun vor, wir wollen etwas kompliziertere Operationen mit dem Fakultätszähler((Hier ermpfiehlt es sich fast schon, eine eigene Funktion dafür zu definieren und diese dann jedes Mal aufzurufen)) durchführen,​ wenn wir eine Fakultät berechnen. Dies könnte sehr schnell zu einem sehr unübersichtlichen Code führen:+beim ersten Beispiel 3mal einfügen, beim '​ordentlichen'​ Beispiel jedoch nur einmal((Das funktioniert natürlich nicht so einfach, wir haben ja die Variable nirgendwo angelegt. Wir nehmen der Einfachkeit halber aber einfach mal an, dass das hier nur ein Ausschnitt aus einem größerem Programm ist, in dem das alles geregelt ist und vielleicht sogar in eine Datei geschrieben wird.)). Stellen wir uns nun vor, wir wollen etwas kompliziertere Operationen mit dem Fakultätszähler((Hier ermpfiehlt es sich fast schon, eine eigene Funktion dafür zu definieren und diese dann jedes Mal aufzurufen)) durchführen,​ wenn wir eine Fakultät berechnen. Dies könnte sehr schnell zu einem sehr unübersichtlichen Code führen:
 <code python> <code python>
 def fakultaet(x):​ def fakultaet(x):​
Zeile 59: Zeile 60:
  #noch  #noch
  #ein  #ein
 + #paar
  #​komplizierte  #​komplizierte
  #​Rechnungen  #​Rechnungen
Zeile 86: Zeile 88:
  #noch  #noch
  #ein  #ein
 + #paar
  #​komplizierte  #​komplizierte
  #​Rechnungen  #​Rechnungen
Zeile 96: Zeile 99:
  #noch  #noch
  #ein  #ein
 + #paar
  #​komplizierte  #​komplizierte
  #​Rechnungen  #​Rechnungen
Zeile 106: Zeile 110:
  #noch  #noch
  #ein  #ein
 + #paar
  #​komplizierte  #​komplizierte
  #​Rechnungen  #​Rechnungen
Zeile 117: Zeile 122:
   * Der Code ist leichter zu warten und zu verbessern   * Der Code ist leichter zu warten und zu verbessern
   * Der Code ist wesentlich kürzer   * Der Code ist wesentlich kürzer
----+ 
 +---
 Das war es erst einmal zu Funktionen, aber vielleicht kommt hier ja nochwas dazu!  Das war es erst einmal zu Funktionen, aber vielleicht kommt hier ja nochwas dazu! 
ws1415/j_b.1415122464.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)