SFZ Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Grundlagen.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

OStR Dipl. Ing. Carsten Kraft
Hochschule Fulda – FB ET Sommersemester 2010
Sortieren I - Bubblesort -
Hochschule Fulda – FB ET Sommersemester 2010
Zusammenfassung der Vorwoche
der Universität Oldenburg
Java: Dynamische Datentypen
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
ARRAY oder FELD oder VEKTOR
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
DVG Ablaufsteuerung
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
Einführung in die Programmierung Datensammlung
Verzweigung.
Struktogramme IF-ELSE FOR – Schleife
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Grundkonzepte Java - Klassendefinition
Rekursive Funktionen (Fakultät)
Java programmieren mit JavaKara
Informatik 1 Übung 2.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Präsentation C Tutorium von Daniel J. Nowak Folie 1 C Tutorium.
Einführung in die Programmiersprache C 4
Wiederholte Programmausführung
Informatik 1 Letzte Übung.
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Grundkonzepte des Programmierens (mit ActionScript)
Purga - Scriptengine Ein Einblick.
Algorithmen und Datenstrukturen Übungsmodul 8
BMEVIEEA100 Grundlagen der Programmierung
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
Programmiervorkurs WS 2014/15 Methoden
SFZ FN Sj. 13/14 Python Grundlagen InfK12 Sj 13/14 GZG FN W.Seyboldt.
SFZ FN Sj. 13/14 Python 1 Grundlagen Inf K1/2 Sj 13/14
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
SFZ FN Sj. 13/14 Python 2 Turtle Inf K1/2 Sj 13/14 GZG FN W.Seyboldt.
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Sammlungsklassen Array.
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen 1 SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Lehrstuhl für Informatik 3 – Prof. Dr.-Ing. M. Nagl RWTH Aachen Grundgebiete der Informatik 2 Lösungsvorschlag zur Probeklausur Prof. Dr.-Ing. M. Nagl.
Aufgaben zu Rückgabewerten
Felder in Java.
 Präsentation transkript:

SFZ Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Grundlagen

SFZ Sj 13/14 GZG FN W.Seyboldt 2 Start von EcPy / Doku Doku im Internet: w2.gzg-fn.de/sfz – Download von EcPy – Python für SFZ – Die Unterlagen vom letzten Jahr In P:\Freigabe\Sey\SFZ stehen ebenfalls die Unterlagen. Kopiere sie bei Bedarf auf Deinen Stick. Die wichtigsten Grundlagen zu Pyth stehen in aa_PythonInfos_Grundlagen.doc Kopiere bei Bedarf EcPy von P:\Freigabe\Informatik nach H: und auf Deinen Stick (oder von der HP)

SFZ Sj 13/14 GZG FN W.Seyboldt 3 Grundlegende Elemente In Python müssen Variable nicht deklariert werden – im Gegensatz zu den meisten Programmier-sprachen. Sie werden beim ersten Zuweisen angelegt. Aber bei Variablen das Zuweisen nicht vergessen: Im Speicherplatz der linken Seite einer „Gleichung“ wird das abgespeichert, was mit der rechten Seite berechnet wird. Man unterscheidet zwischen Strings, Int (beliebig große Zahlen und float-Variablen (endliche Genauigkeit – sonst Decimals int(2.33)# liefert 2 float(3)# liefert 3.0 str(53)#liefert die Zahl 53 als Zeichenkette

SFZ Sj 13/14 GZG FN W.Seyboldt 4 Listen Listen sind eine sehr flexible Variante, viele Variable zu verketten (Array) L = [1,7,“sieben“,[9,4]] fo=[a,b]; i=2 while i<bis: i+=1 if i%2==1: c=a+b ; else: c=float(b)/a fo.append(c) ; a,b=b,c L = [x * 3 for x in range(4)] L1 = L[3:-1] #Von 3 bis vors letzte El.

SFZ Sj 13/14 GZG FN W.Seyboldt 5 Schleifen – sum=0 for i in range(1,27): sum+=i*i – # Liste in umgekehrter Richtung abarbeiten. for i in reversed(range(1,4)): # oder reversed(list), print i – # Auf Nr und Element gleichzeitig zugreifen for nr,el in enumerate(liste): print i,j – sum=0 i=1 while sum<1000: sum+=i*i i+=1 – while b!=0: r=a%b a,b=b,r – break # beendet die Schleife – continue # beendet >nächste Schleife

SFZ Sj 13/14 GZG FN W.Seyboldt 6 Bedingungen – if i>30: s=i*i elif i>20: s=i*i*i else: s=i*i*i*i – if a>b: # sorge dafür, dass a<b ist. a,b=b,a – if betrag(a-x*x)<genauigkeit: return x

SFZ Sj 13/14 GZG FN W.Seyboldt 7 Funktionen def f(x): return 3*x*x+3*x-2 def note(punkte): if punkte > 23: return 15 if punkte > 19: return 13 … def fakultaet(n): if n==1: return 1 return n*fakultaet(n-1) def fakultaet(n): erg=1 for i in range(2,n): erg*=i return erg*n

SFZ Sj 13/14 GZG FN W.Seyboldt 8 Element am Beginn einer Liste Die Methode li.append(el) fügt in einer Liste li das neue Element hinten bei der Liste dazu. Programmiere eine Methode vorne(el, liste), die ein Element an der ersten Stelle der Liste einfügt. def vorne(el, liste): if len(liste)==0: return [el] li=[0 for i in range(len(liste)+1)] for i in range(len(liste)): li[i+1]=liste[i] li[0]=el return li

SFZ Sj 13/14 GZG FN W.Seyboldt 9 Geschachtelte Schleifen Berechne alle pythagoräischen Zahlen, d.h. alle Zahlentripel (a,b,c) mit a 2 +b 2 =c 2 def pythagoraeischeZahlen(n): pyZahlen=[] for a in range(1,n): for b in range(a,n): c_square = a**2 + b**2 c = int(sqrt(c_square)) if ((c_square - c**2) == 0): pyZahlen.append([a, b, c]) return pyZahlen

SFZ Sj 13/14 GZG FN W.Seyboldt 10 Nullstellenverfahren Ist f stetig (d.h. f hat keine Sprungstellen, dies ist normalerweise in der Schule erfüllt) und f(a)*f(b)<0, dann gibt es im Intervall [a,b] mindestens eine Nullstelle. Intervallschachtelung: Wähle iterativ die Intervallhälfte, für die das Produkt der Funktionswerte an den Grenzen kleiner Null ist. Newtonverfahren: Ersetze die Funktion durch eine lineare Funktion, die die Steigung der Funktion f im Punkt a hat, der nahe der Nullstelle ist.

SFZ Sj 13/14 GZG FN W.Seyboldt 11 Intervallschachtelung while abs(b-a)>eps: m=(a+b)/2 iterationenAnz+=1 if f(m)==0: # Nullstelle gefunden break elif f(a)*f(m)<0: b=m else: a=m if iterationenAnz>200: # Abbruch iterationenAnz=-2 ; break return m,iterationenAnz

SFZ Sj 13/14 GZG FN W.Seyboldt 12 Newtonverfahren while abs(a-aAlt)>eps: an=a-f(a)/fs(f,a) # die neue Näherung aAlt=a a=an iterationen+=1 if iterationen>50: # Abbruch iterationen=0 break