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

Slides:



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

OStR Dipl. Ing. Carsten Kraft
Hochschule Fulda – FB ET Sommersemester 2010
Hochschule Fulda – FB ET Sommersemester 2010
Zusammenfassung der Vorwoche
der Universität Oldenburg
Java: Dynamische Datentypen
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Indirekte Adressierung
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 Kapitel 9 Claudio Moraga; 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
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.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
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
Thema: Fibonacci-Zahlen
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 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Purga - Scriptengine Ein Einblick.
Algorithmen und Datenstrukturen Übungsmodul 8
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
BMEVIEEA100 Grundlagen der Programmierung
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
SFZ Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Grundlagen.
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.
Astronomie NWT 9 GZG FN Grundlagen Astronomie, Kl. 9, Einführung
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
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.
 Präsentation transkript:

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

Start von EcPy / Doku Doku im Internet: w2.gzg-fn.de/info Download von EcPy (steht auch in P:\Freigabe\Informatik) Python Lösungen – die Programme in den Moduln *_loes, im Internet src.zip, am GZG in P:\Freigabe\sey\inf\src zum direkten Kopieren in Ecpy In P:\Freigabe\Sey\Inf stehen ebenfalls die Unterlagen. Die wichtigsten Grundlagen zu Python stehen in aa_PythonInfos_Grundlagen.doc GZG FN W.Seyboldt InfK12 Sj 13/14

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 GZG FN W.Seyboldt InfK12 Sj 13/14

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. GZG FN W.Seyboldt InfK12 Sj 13/14

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 GZG FN W.Seyboldt InfK12 Sj 13/14

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 GZG FN W.Seyboldt InfK12 Sj 13/14

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 GZG FN W.Seyboldt InfK12 Sj 13/14

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 GZG FN W.Seyboldt InfK12 Sj 13/14

Geschachtelte Schleifen Berechne alle pythagoräischen Zahlen, d.h. alle Zahlentripel (a,b,c) mit a2+b2=c2 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 GZG FN W.Seyboldt InfK12 Sj 13/14

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. GZG FN W.Seyboldt InfK12 Sj 13/14

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 GZG FN W.Seyboldt InfK12 Sj 13/14

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 GZG FN W.Seyboldt InfK12 Sj 13/14