Algorithmen und Programmieren II Einführung in Python (Teil 3)
|
|
|
- Nicole Voss
- vor 9 Jahren
- Abrufe
Transkript
1 Einführung in Python (Teil 3) Algorithmen und Programmieren II Einführung in Python (Teil 3) SS 2012 Prof. Dr. Margarita Esponda ALP II: Margarita Esponda, 3. Vorlesung,
2 Einführung in Python (Teil 3) Weiter mit imperativen Grundkonzepten - Funktionen, Prozeduren und Subroutinen - Parameter-Übergabe - Gültigkeitsbereich von Variablen - Lebenszeit von Variablen ALP II: Margarita Esponda, 3. Vorlesung,
3 Funktionen in Python Funktionen Funktionen sind das wichtigste Konzept in der Welt der höheren Programmiersprachen. Eingabe Funktion Ausgabe Funktionen sind ein grundlegendes Hilfsmittel, um Probleme in kleinere Teilaufgaben zerlegen zu können. Sie ermöglichen damit eine bessere Strukturierung eines Programms sowie die Wiederverwertbarkeit des Programmcodes. Gut strukturierte Programme bestehen typischerweise aus vielen kleinen, nicht aus wenigen großen Funktionen. ALP II: Margarita Esponda, 3. Vorlesung,
4 Funktionen in Python Funktionen in Python Eine Funktionsdefinition startet mit dem def-schlüsselwort Funktionsname Argumente def pi_leibniz ( k ): sum = 0 for n in range( 0, k ): sum = sum +((-1)**n)/(2.0*n+1) return sum*4 Das Einrücken entscheidet, was zur Funktion gehört bzw. wann die Funktionsdefinition zu Ende ist. Die return-anweisung gibt das Ergebnis der Funktion zurück ALP II: Margarita Esponda, 3. Vorlesung,
5 Funktionen in Python etwas genauer: Python-Funktionen def Funktionsname ( Arg 1, Arg 2,... ) : Anweisung 1 Anweisung 2... Anweisung n Eine Anweisung der Form: return Ergebniswert befindet sich an beliebiger Stelle und beliebig oft in dem Funktionsrumpf; sie beendet die Ausführung der Funktion mit der Rückgabe eines Ergebniswertes. ALP II: Margarita Esponda, 3. Vorlesung,
6 Funktionen in Python Funktionsdokumentation Funktionen können einen Dokumentationstext beinhalten, der als Blockkommentar in der ersten Zeile der Funktion geschrieben werden muss. Beispiel: def fact (n) : """ Berechnet die Fakultätsfunktion der Zahl n """ if n==0: return 1 else: return n*fact(n-1) >>> print( fact(5) ) 120 >>> help (fact) Help on function fact in module main : fact(n) Berechnet die Fakultätsfunktion der Zahl n ALP II: Margarita Esponda, 3. Vorlesung,
7 Funktionen in Python Funktionsargumente können sehr flexibel angegeben werden. """ Argumente von Funktionen """ def fun( a=1, b=3, c=7 ): print ('a=', a, 'b=', b, 'c=', c) fun( 30, 70 ) fun(20, c=100) fun(c=50, a=100) fun(20) fun(c=30) fun() Ausgabe: >>> a= 30 b= 70 c= 7 a= 20 b= 3 c= 100 a= 100 b= 3 c= 50 a= 20 b= 3 c= 7 a= 1 b= 3 c= 30 a= 1 b= 3 c= 7 Die Reihenfolge der Argumente kann verändert werden. Nur die Argumente, die benötigt werden, können angegeben werden. ALP II: Margarita Esponda, 3. Vorlesung,
8 Funktionen in Python Funktionen Funktionen verdienen ihre Namen, wenn: diese keine Seiteneffekte beinhalten die Eingabe nur durch die Argumente erfolgt die Ausgabe nur mit Hilfe von return-anweisungen stattfindet und zwischendurch keinerlei Ein-/Ausgabe verwendet wird. ALP II: Margarita Esponda, 3. Vorlesung,
9 Funktionen in Python Funktionen Funktionen sollen möglichst nur lokale Variablen benutzen. Gut definierte Funktionen können innerhalb von Ausdrücken angewendet werden. Sonst sollen sie Subroutinen, Prozeduren oder Methoden heißen. ALP II: Margarita Esponda, 3. Vorlesung,
10 Einführung in Python Funktionen in C Ausgabe Eingabe Typ des Rückgabewertes Datentyp der Argumente Typ Funktionsname ( Typ 1 Arg 1, Typ 2 Arg 2,... ) { Anweisung 1 Anweisung 2... Anweisung n } ALP II: Margarita Esponda, 3. Vorlesung,
11 Parameter von Funktionen Formale und aktuelle Parameter Die formalen Parameter einer Funktionsdefinition sind Platzhalter. Beim Aufruf der Funktion werden die formalen Parameter durch reale Variablen ersetzt, die den gleichen Typ wie die formalen Parameter haben müssen. ALP II: Margarita Esponda, 3. Vorlesung,
12 Parameterübergabe Funktionen in Python Funktionen def quadrat( zahl ): return zahl*zahl def teiler( a, b ): return a%b == 0 keine saubere Funktion Anwendung innerhalb eines Ausdrucks def test_funktionen(): a = int( input('a=')) b = int( input('b=')) print( teiler(quadrat(a), quadrat(b)) ) ALP II: Margarita Esponda, 3. Vorlesung,
13 Funktionen Funktionen Der Funktionsbegriff wird innerhalb vieler Programmiersprachen sehr unpräzise verwendet. In C, Python und vielen Programmiersprachen spricht man von Funktionen, obwohl sie oft keine Funktionen im mathematischen Sinn sind. In einigen Programmiersprachen unterscheidet man zwischen Funktionen und Prozeduren (Subroutines) wie z.b. VB (VBA) In Python muss weder der Datentyp des Rückgabewertes noch der Datentyp der Argumente deklariert werden. ALP II: Margarita Esponda, 3. Vorlesung,
14 Geltungsbereich und Lebenszeit von Variablen Geltungsbereich und Lebenszeit von Variablen Der Geltungsbereich einer Variablen ist der Bereich innerhalb des Programms, in dem diese sichtbar ist. Lebenszeit ist die Zeit, die eine Variable im Speicher existiert. ALP II: Margarita Esponda, 3. Vorlesung,
15 Geltungsbereich und Lebenszeit von Variablen Geltungsbereich von Variablen in Python def foo(x,y): print(x,y) def foo2(a,b): print(a,b,x,y) Ausgabe: >>> >>> x = 100 y = 200 foo(1,2) foo2(1,2) ALP II: Margarita Esponda, 3. Vorlesung,
16 Geltungsbereich und Lebenszeit von Variablen Geltungsbereich und Variablen in Python Beispiel: x = 100 z = 7 def fun( a=1, b=3, c=7 ): x = 6 print ('a= ', a, 'b= ', b, 'c= ', c) while ( x>3 ): y = 4 print( y, x ) print( z ) x = x - 1 print ( y, x ) Modulare Variablen Lokale Variablen innerhalb der Funktionsdefinition print( x ) fun() print( y ) ALP II: Margarita Esponda, 3. Vorlesung,
17 Geltungsbereich und Lebenszeit von Variablen Geltungsbereich von Variablen in Python Beispiel: x = 100 z = 7 def fun( a=1, b=3, c=7 ): x = 6 print('a=', a, 'b=', b, 'c=', c) while ( x>3 ): y = 4 print( y, x ) print( z ) x = x - 1 print ( y, x ) print( x ) fun() print( y ) # Laufzeitfehler Ausgabe: >>> 100 a=1 b=3 c= Traceback (most recent call last): File "example.py", line 16, in <module> print(y) NameError: name 'y' is not defined ALP II: Margarita Esponda, 3. Vorlesung,
18 Geltungsbereich und Lebenszeit von Variablen Geltungsbereich von Variablen in Python global-spezifizierer def foo3(): global x global y x = 0 y = 0 x = 100 y = 200 print (x, y) foo3() print (x, y) Ausgabe: >>> >>> ALP II: Margarita Esponda, 3. Vorlesung,
19 Geltungsbereich und Lebenszeit von Variablen Beispiel: def func(x, y): global g g = 3 v = 6 x, y = y, x print(g, v, x, y) global-spezifizierer Mit dem global-spezifizierer werden Bezeichner dem globalen Namensraum zugeordnet. guter Programmierstil? sinnvolle Anwendung? g, v, x, y = 10, 20, 30, 40 func(0,1) print(g, v, x, y) func(x, y) print(g, v, x, y) Ausgabe: >>> ALP II: Margarita Esponda, 3. Vorlesung,
20 Geltungsbereich und Lebenszeit von Variablen Gültigkeitsbereich von Variablen in Python Lokaler Variablennamen sind innerhalb einer Methode oder Funktion definiert. Modularer Die Variablen sind innerhalb eines Moduls (Skriptdatei). Eingebauter Geltungsbereich Innerhalb der Python-Interpreter vordefinierte Namen, die immer gültig sind. ALP II: Margarita Esponda, 3. Vorlesung,
21 Verschachtelte Funktionen Verschachtelte Funktionen Funktionen können innerhalb anderer Funktionen definiert werden. def percent (a, b, c): def pc(x): return (x*100.0) / (a+b+c) return (pc(a), pc(b), pc(c)) print (percent (2,4,4)) print (percent (1,1,1)) >>> (20.0, 40.0, 40.0) ( , , ) >>> ALP II: Margarita Esponda, 3. Vorlesung,
22 Parameter-Übergabe Parameter-Übergabe in Funktionen call-by-value Ausdrücke werden zuerst ausgewertet und dann nur der Ergebniswert an die Funktionen übergeben. Einzelne Variablen werden kopiert und nur eine Kopie als Parameter weitergegeben. Der Inhalt der originalen Variablen des Aufrufers bleibt unverändert. ALP II: Margarita Esponda, 3. Vorlesung,
23 Parameter-Übergabe Parameter-Übergabe in Python call-by-value Beim Aufruf eine Funktion wird in Python nur eine Kopie der Referenzen der jeweiligen Parameter-Objekte übergeben. Innerhalb der Funktionen werden die Objekte mittels ihrer Referenzen für die Berechnungen verwendet. Zuweisungen auf nicht veränderbare Variablen verursachen das Erzeugen von neuen Objekten. Zuweisungen auf veränderbare Variablen haben Auswirkung auf die originalen Variablen des aufrufenden Programmteils. ALP II: Margarita Esponda, 3. Vorlesung,
24 Typsystem in Python Typsystem von Python Python ist eine objektorientierte Programmiersprache im weiten Sinn. In Python wird alles durch Objekte repräsentiert. Jedes Objekt besitzt eine Identität. Die Identität eines Objekts kann mit der Standardfunktion id() abgefragt werden. ALP II: Margarita Esponda, 3. Vorlesung,
25 Typsystem in Python Wert- vs. Referenz-Semantik Wert-Semantik Ein Ausdruck wird ausgewertet und das Ergebnis direkt in eine Variablen-Adresse gespeichert. Referenz-Semantik Ein Ausdruck wird zu einem Objekt ausgewertet, dessen Speicheradresse in einer Variablen-Adresse gespeichert wird. Python ALP II: Margarita Esponda, 3. Vorlesung,
26 Typsystem in Python Dynamisches Typsystem von Python nur die halbe Wahrheit! Virtuelle Maschine y = 1 x = 2 a = 10.5 sum = y+a mult = a*x a x y sum mult Speicher ALP II: Margarita Esponda, 3. Vorlesung,
27 Typsystem in Python Python Virtual Machine prog.py def combo(): return 4*5-10/5 Skriptdatei prog.pyc 0 LOAD_CONST 1 (4) 3 LOAD_CONST 2 (5) 6 BINARY_MULT 7 LOAD_CONST 3 (10) 10 LOAD_CONST 2 (5) 13 BINARY_DIVIDE 14 BINARY_SUB 15 RETURN_VALUE Bytecode PVM Python Virtual Machine Cpython Standard aus PVM Jython Übersetzung auf Java-Bytecode JVM IronPython für Microsoft.Net Framework CLR ALP II: Margarita Esponda, 3. Vorlesung,
28 Typsystem in Python Programm in Ausführung (Prozess) Ausführungsstapel Parameter von Funktionen, return-adressen und lokale Variablen werden hier gespeichert. Virtuelle Maschine Prozessabbild Stapel Daten, die während der Programmausführung dynamisch erzeugt werden, werden hier verlagert. Statische Datenstrukturen, die am Anfang der Programmausführung erzeugt werden. Heap Daten Programm ALP II: Margarita Esponda, 3. Vorlesung,
29 Typsystem in Python Dynamisches Typsystem von Python Python arbeitet nur mit Referenzen y = 1 x = 2 a = 10.5 y x a Heap 1 sum = y+a mult = a*x sum mult Ausführungsstapel ALP II: Margarita Esponda, 3. Vorlesung,
30 Typsystem in Python Python arbeitet nur mit Referenzen Änderbare (mutable) Listen Dictionary Unveränderbar (unmutable) Integer Boolean Complex Float String Tupel ALP II: Margarita Esponda, 3. Vorlesung,
31 Typsystem in Python Dynamisches Typsystem von Python Python arbeitet nur mit Referenzen x = 1 y = 1 z = x print (id(x)) Ausführungsstapel x Heap 1 print (id(y)) print (id(z)) x = 3 print (id(x)) print (id(y)) >>> print (id(z)) ALP II: Margarita Esponda, 3. Vorlesung,
32 Typsystem in Python Dynamisches Typsystem von Python Python arbeitet nur mit Referenzen x = 1 y = 1 z = x print (id(x)) Ausführungsstapel x y Heap 1 print (id(y)) print (id(z)) x = 3 print (id(x)) print (id(y)) >>> print (id(z)) ALP II: Margarita Esponda, 3. Vorlesung,
33 Typsystem in Python Dynamisches Typsystem von Python Python arbeitet nur mit Referenzen x = 1 y = 1 z = x print (id(x)) print (id(y)) Ausführungsstapel x y z Heap 1 print (id(z)) x = 3 print (id(x)) print (id(y)) >>> print (id(z)) ALP II: Margarita Esponda, 3. Vorlesung,
34 Typsystem in Python Dynamisches Typsystem von Python Python arbeitet nur mit Referenzen x = 1 y = 1 z = x print (id(x)) print (id(y)) Ausführungsstapel x y z Heap 1 print (id(z)) x = 3 print (id(x)) print (id(y)) print (id(z)) >>> ALP II: Margarita Esponda, 3. Vorlesung,
35 Typsystem in Python Dynamisches Typsystem von Python Python arbeitet nur mit Referenzen x = 1 y = 1 z = x print (id(x)) print (id(y)) print (id(z)) x = 3 print (id(x)) print (id(y)) print (id(z)) Ausführungsstapel x >>> y z Heap ALP II: Margarita Esponda, 3. Vorlesung,
36 Typsystem in Python Änderbare und unveränderbare Objekte x = 1 y = 2 m = [[x,y],[x,y]] print (m) x = 7 y = 10 print (m) m = [[x,y]*2] print (m) r = [2,3,4,5,6] print(r) print(id(r)) [[1, 2], [1, 2]] [[1, 2], [1, 2]] [[7, 10, 7, 10]] [2, 3, 4, 5, 6] r.append(10) print(r) print(id(r)) [2, 3, 4, 5, 6, 10] ALP II: Margarita Esponda, 3. Vorlesung,
37 Variablen in imperative Programmiersprachen Variablen Imperative Programmiersprachen Variablen sind Speicherbehälter Eigenschaften Typ Namen Wert Adresse Im Programm sichtbar In vielen imperativen Programmiersprachen (Assembler) noch sichtbar und direkt manipulierbar In modernen Programmiersprachen nicht mehr. ALP II: Margarita Esponda, 3. Vorlesung,
38 Zeiger- und Referenz-Datentypen Zeiger- und Referenz-Datentypen Zeigervariablen und Referenzvariablen in imperativen Programmiersprachen stellen Variablen, die Speicheradressen beinhalten, dar. Zeiger- und Referenz-Variablen haben die Macht der Indirekten Adressierung. Mit Hilfe von Zeiger- und Referenz-Datentypen können dynamische Datenstrukturen erzeugt werden. Dynamische Datenstrukturen, die erst zur Laufzeit entstehen, befinden sich in dem heap-bereich eines Prozesses (Programm in Ausführung). ALP II: Margarita Esponda, 3. Vorlesung,
39 Zeiger- und Referenz-Datentypen Zeigervariablen Ähnlich wie bei der GOTO-Anweisung sind Zeigervariablen ein sehr diskutierter Datentyp in der Welt der imperativen Programmiersprachen. Zeiger als expliziter Datentyp kommt vor allem in maschinennahen Programmiersprachen wie z. B. Assembler, C oder C++ vor. Zeiger dürfen hier auf beliebigen Speicherpositionen stehen und können mit Hilfe von arithmetischen Operationen manipuliert werden. In Java und Python sind Referenz-Variablen intern vorhanden, aber für den Programmierer nicht explizit sichtbar. In C++ und C# gibt es die Möglichkeit explizit mit Zeigern zu arbeiten oder nur implizit, wie in Java, mit Referenzen arbeiten. ALP II: Margarita Esponda, 3. Vorlesung,
40 Parameter-Übergabe Parameter-Übergabe mit unveränderbaren Datentypen def changedouble( d = 1.3 ): d = 2 print( d ) print( id (d) ) Ausgabe? a = 2.5 changedouble( a ) print( a ) print( id ( a ) ) ALP II: Margarita Esponda, 3. Vorlesung,
41 Parameter-Übergabe Parameter-Übergabe mit unveränderbaren Datentypen def changedouble( d=1.3 ): # d = 2 print( d ) print( id(d) ) Ausgabe? a = 2.5 changedouble( a ) print( a ) print( id(a) ) ALP II: Margarita Esponda, 3. Vorlesung,
42 Parameter-Übergabe Parameter-Übergabe mit veränderbaren Datentypen def changelist ( list=[1, 2, 3, 4] ): list[0] = 100 print( list ) print( id(list) ) a = [5, 7, 8] changelist(a) print(a) print( id(a) ) Ausgabe? [100, 7, 8] [100, 7, 8] ALP II: Margarita Esponda, 3. Vorlesung,
43 weitere Anweisungen del-anweisung Die Bindung eines Variablennamens zu einem Objekt wird aufgehoben. Das Objekt bleibt noch im Speicher, bis keine Variable mehr auf dieses Objekt zeigt, und wird dann vom Garbage Collector beseitigt. Beispiel: a = 100 del a print (a) Laufzeitfehler! ALP II: Margarita Esponda, 3. Vorlesung,
44 weitere Anweisungen is-anweisung Der Ausdruck a is b liefert genau dann den Wahrheitswert True, wenn a und b identisch sind. Beispiel: >>> a = [100, 200, 300] >>> b = a >>> a is b True >>> a = [100, 200, 300] >>> b = [100, 200, 300] >>> a is b False ALP II: Margarita Esponda, 3. Vorlesung,
45 weitere Anweisungen Beispiel: pass-anweisung Die pass-anweisung bewirkt nichts. Sie wird als Platzhalter bei Verzweigungen aus rein syntaktischen Gründen benötigt, um Einrückungsfehler während der Entwicklungsphase zu vermeiden. from-anweisung x = int (input("x=")) if x>0: pass else: print( "x is negativ" ) Beispiel: from math import sin, con print(sin(0)) ALP II: Margarita Esponda, 3. Vorlesung,
46 weitere Anweisungen exec-anweisung Die exec-anweisung wird verwendet, um Python-Anweisungen auszuführen, die in einem String oder in einer Datei gespeichert sind. Python-Skripte können zur Laufzeit erzeugt werden und mittels der exec-anweisung ausgeführt werden. Beispiel: >>> exec( 'print("hello")' ) Hello >>> exec( 'print(2*3**2)' ) 18 ALP II: Margarita Esponda, 3. Vorlesung,
47 weitere Anweisungen Verwendung von "Dictionaries" In Python gibt es keine switch-case-anweisung wie in C und in Java, aber diese Anweisungen können mit Hilfe von Dictionaries simuliert werden. def zero(): print( "You typed zero. " ) def sqr(): print( "n is a perfect square " ) def even(): print( "n is an even number " ) def prime(): print( "n is a prime number " ) options = {0 : zero, 1 : sqr, 4 : sqr, 9 : sqr, 2 : even, 3 : prime, 5 : prime, 7 : prime, } options[4]() ALP II: Margarita Esponda, 3. Vorlesung,
48 weitere Anweisungen break-anweisung Die break-anweisung wird verwendet, um die Ausführung einer Schleife vorzeitig zu beenden. while True: s = input( 'Text eingeben: ' ) if s == 'end': break print ('Die Laenge des Texts ist', len(s)) print ('Tchüss.') ALP II: Margarita Esponda, 3. Vorlesung,
49 weitere Anweisungen continue-anweisung Die continue-anweisung wird verwendet, um die restlichen Anweisungen der aktuellen Schleife zu überspringen und direkt mit dem nächsten Schleifen-Durchlauf fortzufahren. while True: s = input('text eingeben: ') if s == 'kein print': continue print ('Die Laenge des Texts ist', len(s)) ALP II: Margarita Esponda, 3. Vorlesung,
50 weitere Anweisungen Neue Anweisungen in Python Wort from global is pass kurze Erläuterung Teil einer import-anweisung Verlegung einer Variablen in den globalen Namensraum test auf Identität Platzhalter, führt nichts aus exec Ausführung von Programmcode ALP II: Margarita Esponda, 3. Vorlesung,
51 Reservierte Wörter in Python Reservierte Wörter in Python help> keywords and else import raise assert except in return break exec is try class finally lambda while continue for not yield def from or del global pass elif if print ALP II: Margarita Esponda, 3. Vorlesung,
52 Effiziente Lösung von Problemen Problem Algorithmus Programm in einer höheren Programmiersprache Wesentlicher Teil der Lösung eines Problems. Sehr kreative Phase Programmierung oder Codierung des Algorithmus in einer bestimmten Programmiersprache. Einfache Phase. ALP II: Margarita Esponda, 3. Vorlesung,
Algorithmen und Programmieren II Einführung in Python
Algorithmen und Programmieren II Einführung in Python SS 2010 Prof. Dr. Margarita Esponda Prof. Dr. Margarita Esponda 1 Variablen Funktionale Programmiersprachen Imperative Programmiersprachen Eine Variable
Algorithmik und Programmieren
Institut für Informatik Forschungsgruppe Datenbanken und Informationssysteme (DBIS) Universität Innsbruck Algorithmik und Programmieren Martin Pichl Datenbanken und Informationssysteme (DBIS) dbis.uibk.ac.at
Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke
Informatik I: Einführung in die Programmierung 3. Werte,, n und Albert-Ludwigs-Universität Freiburg Peter Thiemann 30. Oktober 2018 1 30. Oktober 2018 P. Thiemann Info I 3 / 39 Bits Der Computer repräsentiert
Algorithmen und Programmieren II Einführung in Python (Teil 2)
Einführung in Python Algorithmen und Programmieren II Einführung in Python (Teil 2) SS 2012 Prof. Dr. Margarita Esponda ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 1 Variablen in Python Variablen
WS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut
Mathematisches Institut [email protected] 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php
Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester Dipl.-Ing. (FH) Volker Schepper
Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester 2017 Dipl.-Ing. (FH) Volker Schepper 1 Kommentar Kommentare sollen/müssen unbedingt verwendet werden. Sinnvolle Kommentare verwenden.
WS2017/ Oktober 2017
Einführung in die Programmierung Ronja Düffel WS2017/18 09. Oktober 2017 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
Funktionen in Python
Funktionen in Python Prof. Dr. Rüdiger Weis Beuth Hochschule für Technik Berlin 1 / 31 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente
Informatik I. 4. Funktionen: Aufrufe und Definitionen. 25. Oktober Albert-Ludwigs-Universität Freiburg. Informatik I.
4. Funktionen: Aufrufe und en Aufrufe Albert-Ludwigs-Universität Freiburg 25. Oktober 2013 1 / 23 Aufrufe Funktionsaufrufe 2 / 23 Funktionsaufrufe Innerhalb von Programmiersprachen ist eine Funktion ein
EWS, WS 2016/17 Pfahler I-1
Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler Funktionen EWS, WS 2016/17 Pfahler I-1 Funktionen Funktion: Rechenvorschrift mit einem Namen und ggf. formalen Parametern,
FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
Einführung in die Programmiertechnik
Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher
Programming 101. Carl Herrmann IPMB & DKFZ
Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
6. Funktionen, Parameterübergabe
6. Funktionen, Parameterübergabe GPS-6-1 Themen dieses Kapitels: Begriffe zu Funktionen und Aufrufen Parameterübergabearten call-by-value, call-by-reference, call-by-value-and-result in verschiedenen Sprachen
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
1 Funktionsaufrufe. Informatik I: Einführung in die Programmierung 4. Funktionen: Aufrufe und Definitionen. Standardfunktionen: Typen-Konversion
1 Funktionsaufrufe Informatik I: Einführung in die Programmierung 4. : und en Albert-Ludwigs-Universität Freiburg Bernhard Nebel 24./28. Oktober 2014 24./28. Oktober 2014 B. Nebel Info I 3 / 31 Funktionsaufrufe
Algorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
Repetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
Programmierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz
Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
Umsetzung einer Klassenkarte in einer Programmiersprache
Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,
Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
Programmierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017
Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java
1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH
1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch
1 def Anweisung. 2 Argumentübergabe. 3 Lokale Variablen. 4 Default Argumente. 5 Aufruf mit Schlüsselwort. 6 Variable Argumente. Funktionen in Python
1 def Anweisung Sommersemester 2007 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente def Anweisung Beispiel: TuNix def def funktionsname([])
Einführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
Funktionen in Python
October 19, 2006 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente def Anweisung def def funktionsname([]) : [ Dokumentationsstring
Einführung in Python (2)
Kapitel 8: Einführung in Python (2) Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Definition von Funktionen Definition einfacher Funktionen lokale und globale Variablen
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen
Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen
Erste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: [email protected] Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
Vorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
Programmiersprachen: Klassifizierung und Methoden. Programmier-Paradigmen. Grundlagen der Programmierung 2 (1.C) - 1 -
Programmiersprachen: Klassifizierung und Methoden Programmier-Paradigmen Grundlagen der Programmierung 2 (1.C) - 1 - Programmiersprachen: Begriffe Syntax Beschreibung der Programme als Texte let xyz =
Programmierkurs Python I
Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while
string: Beispiele: Test, test, `Seitentitel: ${document.title}`
JS Crashkurs Einige JavaScript spezifische Dinge zusammengefasst. Datentypen Javascript kennt folgende primitiven Datentypen: undefined number: Beispiele: 1 1.0.0 1. 0x1 1e0 boolean: true oder false string:
Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Übungszettel 2a - Python
Vorsemesterkurs Informatik Übungsaufgaben Übungszettel 2a - Python Aufgabe 1: Python starten Teilaufgaben (a)-(c) beziehen sich auf das Arbeiten unter den Systemen, die auf den RBI-Rechnern installiert
Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
6. Unterprogramme 6-1
6. Unterprogramme 6.1 Prozeduren und Funktionen 6.2 Deklaration und Aufruf 6.3 Call-by-Value / Call-by-Reference 6.4 Standardfunktionen in C 6.5 Gültigkeitsbereich von Namen 6.6 Rekursion 6. Unterprogramme
C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
Prozeduren vs. Funktionen
Prozeduren vs. Funktionen Mit der Formalisierung wird auch der Unterschied zwischen Prozeduren und Funktionen noch einmal klar. Der Aufruf beider Varianten bewirkt zunächst das Gleiche: die Eingabevariablen
Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs
Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Scriptcharakter 2. Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren 3.
C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
Java I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung
Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung
2. Unterprogramme und Methoden
2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf
6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
Fragenkatalog ESOP WS 16/17
Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind
Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
WS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts
Die Definition eines Typen kann rekursiv sein, d.h. Typ-Konstruktoren dürfen Elemente des zu definierenden Typ erhalten.
4.5.5 Rekursive Typen Die Definition eines Typen kann rekursiv sein, d.h. Typ-Konstruktoren dürfen Elemente des zu definierenden Typ erhalten. datatype IntList = Nil Cons o f ( i n t IntList ) ; Damit
Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
5. Übung - Kanalkodierung/Programmierung
5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode
Informatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2017 1 und der Typ bool Typ bool Typ bool Vergleichsoperationen
12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1]
Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -108 Kapitel 5: Arrays Einführung Ein Array ist eine Reihung gleichartiger Objekte. a: a[0] a[1] a[2] a[3] a[n 1] Bezeichner a steht
Kapitel 15: Von dynamischen zu statischen Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1
Kapitel 15: Von dynamischen zu statischen Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen
Methoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Programmierung in Python
Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P
4.Grundsätzliche Programmentwicklungsmethoden
4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden
Java: Eine kurze Einführung an Beispielen
Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse
Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März
Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
Vorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
