Einführung in numerische Simulation mit Python

Größe: px
Ab Seite anzeigen:

Download "Einführung in numerische Simulation mit Python"

Transkript

1 Einführung in numerische Simulation mit Python Alexander Schlemmer, Jan Schumann-Bischoff, Tariq Baig Max-Planck-Institut für Dynamik und Selbstorganisation, Biomedizinische Physik Nichtlineare Dynamik Praktikum

2 Inhaltsverzeichnis 1 Einleitung 2 3

3 Python Universelle Skriptsprache, meistens interpretiert Fokus auf gute Lesbarkeit von Sourcecode Open Source (Python Software Foundation License) Existiert seit 1991 Wird gepflegt und weiter entwickelt von der Python Software Foundation Aktuell zwei (z.t. inkompatible) Hauptversionen: Python 2.7 und Python 3.4

4 Python: Merkmale Große Anzahl an (frei) verfügbaren Bibliotheken Im wissenschaftlichen Bereich: numpy, scipy, matplotlib Dynamische Typisierung Objektorientierung Reduzierte, übersichtliche Syntax, wenige Schlüsselwörter Leicht zu lernen Als interpretierte Sprache eher langsam Höhere Geschwindigkeit durch Vektorisierung von numerischen Operationen Schlechte Unterstützung von Threads (Multithreading)

5 Python ausführen Python-Interpreter ausführen: python # Python 2 ( a uf den m e i s t e n Rechnern ) python3 Skript / Programm ausführen: python s k r i p t. py Äußerst praktische interaktive Shell: i p y t h o n Interaktives (Web-)Notebook: i p y t h o n notebook

6 Einfache Beispiele Erstes Beispiel >>> print("hello World!") Hello World! >>> # Das ist ein Kommentar >>> a = 42 # Variablendeklaration >>> print(a * abs(-0.1))

7 Variablendeklaration >>> v = 1 >>> type(v) <type int > >>> st = "str" >>> type(st) <type str > >>> y = j >>> type(y) <type complex > >>> tr = True >>> type(tr) <type bool > >>> x = >>> type(x) <type float > Mehr zu Typen unter:

8 Mathematische Operationen (1) >>> # Einfache Ausdrücke: >>> 42 * / (17 + 4) + a 260 >>> # Division: >>> 43.0 / >>> 43 / 3 # Unterschied zw. Python 2 und 3! 14 >>> 43 // 3 # Ganzzahl-Division 14 >>> 43 % 3 # Modulo 1

9 Weitere Operatoren >>> # Potenzieren: >>> # Komplexe Zahlen: >>> 8**3 >>> c = 2 + 3j 512 >>> c.real >>> 9**(-2) >>> c.imag >>> # Vergleichen: 3.0 >>> 4 < 3 >>> c.conjugate() False (2-3j) >>> "str" == "str" >>> abs(c) True >>> 68 >= 17*4 True >>> (not True == True) or (4 > 3 and 8!= 99) True

10 Mathematische Standardfunktionen >>> from math import sqrt, exp >>> from math import pi,sin,acos >>> sqrt(2) >>> exp(a*-7) e-128 >>> sin(0.5*pi) 1.0 >>> acos(1) 0.0 >>> import cmath >>> cmath.exp(-1/2*pi*1j) ( e-16j) >>> cmath.log(32, 2) (5+0j) >>> cmath.log(-2).imag

11 Listen >>> liste = [1, 3, 4, 5] >>> liste[0] >>> liste.append(7) 1 >>> liste.extend([2, 3]) >>> liste[6:8] >>> liste.reverse() [7, str ] >>> liste >>> liste[-4] [3, 2, 7, 5, 4, 3, 1] 5 >>> liste.sort() >>> liste[-3:] >>> liste [7, str, [1, 3]] [1, 2, 3, 3, 4, 5, 7] >>> liste[-1][1] * 72 >>> liste.append("str") 216 >>> liste.append([1, 3]) >>> liste [1, 2, 3, 3, 4, 5, 7, str, [1, 3]]

12 Bedingungen if-elif-else-block >>> if a < 7:... b = print(a*7)... elif a > 7:... print(a/7)... else:... print(a)... 6

13 Schleifen (1) for-loop über Liste >>> for l in liste[0:2]:... print(l) for-loop über Range >>> for l in range(-2,2):... if l % 2 == 0:... print(l)

14 Schleifen (2) while-loop >>> i = 0 >>> while(i < 7):... i += 2 # i = i >>> print(i) 8 Mehr zu Control-Flow:

15 Funktionen Funktionen definieren >>> def f(x, y):... print("funktionsaufruf")... b = a * x + y... return(b)... Funktionen aufrufen >>> f(23, -2) * 4 Funktionsaufruf 3856 Mehr zu Funktionen: controlflow.html#defining-functions

16 Numpy ist elementares Python Paket für numerische Berechnungen in Python Numpy bietet: N-dimensionales Array Objekt Indizierung ganzer Array Bereiche Sehr schnelle Berechnung elementweiser Operationen (Vektorisierung) Viele Lineare Algebra Routinen wie Matrix Multiplikation, SVD, Eigewertberechnungen, Invertierung, Zufallszahlengeneratoren, Foiurier-Transformation,...

17 Indizierung von Python Arrays Indizierung in Python ist Null-basiert (wie C)! Numpy Arrays sind keine Listen oder Listen von Listen Listen können zu Numpy Arrays konvertiert werden. Eindimensionales Array (1) >>> import numpy as np >>> a = np.array([1., 4.5, 6.3, 4.1, 0.3, 9.4, 7.1]) >>> a array([ 1., 4.5, 6.3, 4.1, 0.3, 9.4, 7.1]) >>> a[2] >>> a.shape (7,)

18 Index von : bis : Schrittweite gibt Bereich im Array an Eindimensionales Array (2) >>> a = np.array([1., 4.5, 6.3, 4.1, 0.3, 9.4, 7.1]) >>> a[:3] # Das dritte Element ist NICHT enthalten! array([ 1., 4.5, 6.3]) >>> a[3:] # Das dritte Element IST enthalten! array([ 4.1, 0.3, 9.4, 7.1]) >>> a[1:-2] # Indizierung bis vorvorletztem Element array([ 4.5, 6.3, 4.1, 0.3]) >>> a[::2] # Indizierung mit Schrittweite 2 array([ 1., 6.3, 0.3, 7.1]) >>> a[1:5:2] array([ 4.5, 4.1]) >>> a[::-1] # Reihenfolge umdrehen array([ 7.1, 9.4, 0.3, 4.1, 6.3, 4.5, 1. ])

19 Zweidimensionale Arrays >>> a = np.array([[4.2, 8.1, 7.9], [2.3, -7.6, 0.3]]) >>> a array([[ 4.2, 8.1, 7.9], [ 2.3, -7.6, 0.3]]) >>> a.shape (2, 3) >>> a[:,2] array([ 7.9, 0.3]) >>> a[1,1:] array([-7.6, 0.3]) >>> a.t # transponieren array([[ 4.2, 2.3], [ 8.1, -7.6], [ 7.9, 0.3]])

20 Verändern von Elementen in Arrays >>> a = np.array([[4.2, 8.1, 7.9], [2.3, -7.6, 0.3]]) >>> a[0,2] = 1 >>> a array([[ 4.2, 8.1, 1. ], [ 2.3, -7.6, 0.3]]) >>> a[:,1] = [8, 9] >>> a array([[ 4.2, 8., 1. ], [ 2.3, 9., 0.3]]) >>> a[-1,:] = 3 >>> a array([[ 4.2, 8., 1. ], [ 3., 3., 3. ]])

21 Rechnen mit Arrays Elementweises Rechnen in Numpy deutlich schneller als mit eigenen Schleifen (wie in C, Fortran,... üblich). Quellcode sollte also vektorisiert sein. >>> a = np.array([[4, 8, 7], [2., -7, 0]]) >>> a + 3 array([[ 7., 11., 10.], [ 5., -4., 3.]]) >>> np.sin(a) array([[ , , ], [ , , 0. ]]) >>> b = np.array([[1, 4, 3], [5, 2, 4.1]]) >>> a * b # Achtung: elementweise Multiplikation! array([[ 4., 32., 21.], [ 10., -14., 0.]])

22 Spezielle Funktionen zum erzeugen von Arrays >>> a = np.zeros((4,3)) # Array mit Nullen >>> a = np.ones((4,3)) # Array mit Nullen >>> np.arange(3, 9, 2) # Werte mit gleichem Abstand array([3, 5, 7]) >>> np.diag([1, 2, 3]) # Diagonalmatrix array([[1, 0, 0], [0, 2, 0], [0, 0, 3]])

23 Lineare Algebra mit numpy Lineare Algebra Routinen befinden sich in np.linalg >>> a = np.array([[2, 1], [3, 4]]) >>> b = np.array([[4, 8, 7], [2., -7, 0]]) >>> np.dot(a,b) # Matrixmultiplikation array([[ 10., 9., 14.], [ 20., -4., 21.]]) U, S, V = np.linalg.svd(a) # Singulärwertzerlegung w, v = np.linalg.eig(a) # Eigenwertberechnung linalg.html

24 Kopieren und Referenzieren von Arrays >>> a = np.array([4.2, 8.1, 7.9, 2.3, -7.6, 0.3]) >>> b = a # Referenz auf gleichen Speicherbereich von a >>> a[1:4] = 4 >>> a array([ 4.2, 4., 4., 4., -7.6, 0.3]) >>> b array([ 4.2, 4., 4., 4., -7.6, 0.3]) >>> b = np.copy(a) # Kopie von a >>> a[-2:] = 3 >>> a array([ 4.2, 4., 4., 4., 3., 3. ]) >>> b array([ 4.2, 4., 4., 4., -7.6, 0.3])

25 Matplotlib ist quasi Standard zum graphischen darstellen von Daten Beherrscht 2D und 3D Plots, Histogramme und vieles mehr Gallery:

26 2D Matplotlib - einzelner Plot (1) import matplotlib.pyplot as plt import numpy as np x = np.arange(0,10,0.01) y = np.sin(x) plt.plot(x,y) plt.show()

27 2D Matplotlib - einzelner Plot (2) import matplotlib.pyplot as plt import numpy as np x = np.arange(0,10,0.01) y = np.sin(x) fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(x,y) ax.set_xlabel( $x$ ) ax.set_ylabel( y ) plt.savefig( sinusx2.pdf ) y x

28 2D Matplotlib - Histogramm import matplotlib.pyplot as plt import numpy as np x = np.random.randn(10000) fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.hist(x, 20) ax.set_xlabel( $x$ ) plt.savefig( histogramm.pdf ) x

29 2D Matplotlib - subplots import matplotlib.pyplot as plt import numpy as np x = np.arange(0,10,0.01) y = np.sin(x) z = np.cos(x) fig = plt.figure() ax = fig.add_subplot(2,1,1) ax.plot(x,y) ax.set_ylabel( y ) ax = fig.add_subplot(2,1,2) ax.plot(x,z, --r ) ax.set_ylabel( z ) ax.set_xlabel( x ) plt.savefig( sincosx.pdf ) y z x

30 3D Matplotlib from mpl_toolkits.mplot3d \ import Axes3D import matplotlib.pyplot as plt import numpy as np x = np.arange(0,50,0.1) y = np.sin(x) z = np.cos(x) fig = plt.figure() ax = fig.add_subplot(1,1,1, projection= 3d ) ax.plot(x,y,z,. ) ax.set_xlabel( x ) ax.set_ylabel( y ) ax.set_zlabel( z ) plt.savefig( sincosx3d.pdf ) x z y

31 Enthält weitere numerische Funktionen Basiert auf Numpy Beispiele: Integrationsmethoden scipy.integrate Minimierung von Funktionen scipy.optimize Nächste Nachbarn Suche: scipy.spatial

32 DGL Integration Numerische Integratoren für gewöhnliche Differenzialgleichungen (DGLen) befinden sich im Paket scipy Gutes und genaues Integrationsverfahren ist Runge-Kutta45 ( dopri5 in scipy)

33 Beispiel: Lorenz63 model Definition der Modell Gleichungen def lorenz63(t,x): x1 = x[0] x2 = x[1] x3 = x[2] sigma = 10 rho = 28 beta = 8./3 F = np.zeros(3) F[0] = sigma*(x2-x1) F[1] = x1*(rho-x3)-x2 F[2] = x1*x2-beta*x3 return F

34 Beispiel: Lorenz63 model Integration der Modell Gleichungen from scipy.integrate import ode N = 2000 dt = 0.01 x = np.zeros((n,3)) t = np.arange(0,2000*dt,dt) x[0,:] = [-4.70, 0.10, 29.10] r = ode(lorenz63).set_integrator( dopri5 ) r.set_initial_value(x[0,:], 0) i = 0 while r.successful() and r.t < (N-1)*dt: r.integrate(r.t+dt) i = i + 1 x[i,:] = r.y

35 Attraktor des Lorenz63 Modells x x x

36 Dictionaries Dictionary: Datenstruktur, um Key-Value-Paare zu speichern Erzeugung >>> d1 = {} # Erzeugt ein leeres Dictionary >>> # Dictionary mit einigen Key-Value-Paaren: >>> d2 = {"key1": "value1", "key2": 728,... "key3": [2, 3, 8]} Zugriff >>> d2["key1"] value1 >>> d2["key2"] = 17 Mehr zu Dictionaries: datastructures.html#dictionaries

37 Serialisierung: Das Pickle-Modul... stellt Funktionen bereit, um (fast) beliebige komplexe Datenstrukturen auf der Festplatte zu speichern und von dort wiederherzustellen. Erzeugung >>> import pickle >>> pickle.dump(d2, open("pickled_d2.dat", "wb")) >>> new_d = pickle.load(open("pickled_d2.dat", "rb")) >>> print(new_d) { key3 : [2, 3, 8], key2 : 17, key1 : value1 }

38 Weiteres Dokumentationsmaterial Offizielles Python-Tutorial: Stackoverflow: Offizielles Numpy-Tutorial: -Cookbook: Offizielles SciPy-Tutorial: tutorial/index.html

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut Mathematisches Institut mselva@math.uni-koeln.de 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

Mehr

image.png Die Dokumentation von Python, welche ich so sehr empfehle, findet ihr hier: https://py-tutorialde.readthedocs.io/de/python-3.

image.png Die Dokumentation von Python, welche ich so sehr empfehle, findet ihr hier: https://py-tutorialde.readthedocs.io/de/python-3. Einführung in Python Relevante Links Mit dem Paket "Anaconda" habt ihr sofort das wissenschaftliche Notebook "Jupyter" dabei. Hier der Downloadlink: https://www.continuum.io/downloads (https://www.continuum.io/downloads)

Mehr

Computerphysik II. Python Einführung. S. Gerlach. WiSe S. Gerlach Computerphysik II

Computerphysik II. Python Einführung. S. Gerlach. WiSe S. Gerlach Computerphysik II Computerphysik II Python Einführung S. Gerlach WiSe 2017 Programmiersprachen In der Wissenschaft: Programmiersprachen - Einteilung Eigenschaften: Skriptsprachen: Shell, Python, Perl,... Kompilierte Sprachen:

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Einführung in Python Teil II Bibliotheken für wissenschaftliches Rechnen

Einführung in Python Teil II Bibliotheken für wissenschaftliches Rechnen Einführung in Python Teil II Bibliotheken für wissenschaftliches Rechnen Valentin Flunkert Institut für Theoretische Physik Technische Universität Berlin Fr. 28.5.2010 Nichtlineare Dynamik und Kontrolle

Mehr

Informatik I. 27. Wissenschaftliches Rechnen mit numpy, scipy und matplotlib Albert-Ludwigs-Universität Freiburg.

Informatik I. 27. Wissenschaftliches Rechnen mit numpy, scipy und matplotlib Albert-Ludwigs-Universität Freiburg. 27. Wissenschaftliches Rechnen mit, scipy und matplotlib Albert-Ludwigs-Universität Freiburg 06.02.2014 1 / 28 2 / 28 Python ist eine tolle Programmiersprache, bietet aber mehr... 3 / 28 Python ist eine

Mehr

Computergrafik 2: Übung 1. Eclipse, PyDev, NumPy, Matplotlib

Computergrafik 2: Übung 1. Eclipse, PyDev, NumPy, Matplotlib Computergrafik 2: Übung 1 Eclipse, PyDev, NumPy, Matplotlib Überblick 1. Einrichten der Entwicklungsumgebung 2. Python-Techniken 3. Bildverarbeitung Numpy und Matplotlib Übung Computergrafik 2 SS2012 2

Mehr

1 6. Vorlesung. 1.1 Matplotlib: Graphische Darstellung, Methode der kleinsten Quadrate. Ein kleines Beispiel

1 6. Vorlesung. 1.1 Matplotlib: Graphische Darstellung, Methode der kleinsten Quadrate. Ein kleines Beispiel #!/usr/bin/env python3 # -*- coding: utf-8 -*- #Created on Tue Nov 14 14:22:01 2017 # #@author: christianehelzel 1 6. Vorlesung 1.1 Matplotlib: Graphische Darstellung, Methode der kleinsten Quadrate Ein

Mehr

Informatik I. Informatik I Motivation Installation Das Modul numpy Funktionswerte zeich nen) 27.1 Motivation.

Informatik I. Informatik I Motivation Installation Das Modul numpy Funktionswerte zeich nen) 27.1 Motivation. Informatik I 06.02.2014 27. Wissenschaftliches Rechnen mit numpy, scipy und matplotlib Informatik I 27. Wissenschaftliches Rechnen mit numpy, scipy und matplotlib Bernhard Nebel Albert-Ludwigs-Universität

Mehr

Crashkurs Python und Sage U23 Krypto-Mission

Crashkurs Python und Sage U23 Krypto-Mission Crashkurs Python und Sage -Mission florob Simon e.v. http://koeln.ccc.de 4. Oktober 2015 Anfang Übersicht Sage Computer-Algebra-System, wie MatLab oder Mathematica sagemath.org Python interpretierte Programmiersprache

Mehr

2D - Plotten / Visualisierung

2D - Plotten / Visualisierung Fakultät Maschinenwesen Institut für Verarbeitungsmaschinen und mobile Arbeitsmaschinen 2D - Plotten / Visualisierung mit numpy und matplotlib 06.06.2011 Sebastian Voigt Wie was wo warum? Visualisierung

Mehr

Python als praktischer Helfer

Python als praktischer Helfer Python als praktischer Helfer Ulrich Schumann 01.02.2016 IEEE Student Branch Magdeburg Geschichte Geschichte Entwicklung gestartet durch Guido van Rossum 3/45 Guido van Rossum 4/45 Geschichte Entwicklung

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

1 Autorennen ( = 11 Punkte)

1 Autorennen ( = 11 Punkte) Einführung in die wissenschaftliche Programmierung Klausur 11.02.2016 Seite 1/8 Name, Vorname, Unterschrift: Matrikelnummer: 1 Autorennen (3 + 3.5 + 4.5 = 11 Punkte) Eine Physikerin beobachtet die Geschwindigkeit

Mehr

Python. und statistische Methoden der Datenanalyse

Python. und statistische Methoden der Datenanalyse Python und statistische Methoden der Datenanalyse Python-Grundlagen moderne Hochsprache unterstützt Skripting (Prozeduren u. Funktionen) objektorientiet (Klassen) Funktionale Programmierung (z.b. List-Comprehension)

Mehr

Computergestützte Datenauswertung

Computergestützte Datenauswertung Vorlesung: Computergestützte Datenauswertung Programmierung mit Python Günter Quast Fakultät für Physik Institut für Experimentelle Kernphysik KIT Universität des Landes Baden-Württemberg und nationales

Mehr

mit Dämpfung : mit :sin(α)=tan(α)=x/l m g x=0bzw : l oder x r m v l bzw : v= g l

mit Dämpfung : mit :sin(α)=tan(α)=x/l m g x=0bzw : l oder x r m v l bzw : v= g l Pendel in linearer Näherung Wir linearisieren die Rückstellkraft, da nur dann die DGL analytisch lösbar ist. Nachdem das Programm für die lineare DGL korrekte Ergbnisse liefert, könnte man die nichtlineare

Mehr

Einführung in Python Teil I Grundlagen

Einführung in Python Teil I Grundlagen Einführung in Python Teil I Grundlagen Valentin Flunkert Institut für Theoretische Physik Technische Universität Berlin Do. 27.5.2010 Nichtlineare Dynamik und Kontrolle SS2010 1 of 22 Diese Einführung

Mehr

Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure

Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure Chemnitzer Linux-Tage 2012, 18. März 2012 Autor: E-Mail: Dr.-Ing. Mike Müller mmueller@python-academy.de Übersicht besondere Situation

Mehr

Damit die von Matplotlib erzeugten Bilder gleich im Notebook erscheinen, braucht man das folgende "magic command":

Damit die von Matplotlib erzeugten Bilder gleich im Notebook erscheinen, braucht man das folgende magic command: Matplotlib In [1]: import numpy as np import matplotlib.pyplot as plt Damit die von Matplotlib erzeugten Bilder gleich im Notebook erscheinen, braucht man das folgende "magic command": In [2]: %matplotlib

Mehr

Algorithmen und Programmieren II Einführung in Python (Teil 2)

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

Mehr

Beispiellösung zu Aufgabe 10.3c)

Beispiellösung zu Aufgabe 10.3c) Beispiellösung zu In waren mittels zweier verschiedener Verfahren standardnormalverteilte Zufallsvariablen jeweils 100.000 mal zu simulieren. Methode aus 5.3b) (Inversionsmethode): Es wird eine gleichverteilte

Mehr

Physik auf dem Computer Wiederholung: Python, NumPy und C

Physik auf dem Computer Wiederholung: Python, NumPy und C Physik auf dem Computer Wiederholung: Python, NumPy und C Axel Arnold Olaf Lenz Institut für Computerphysik Universität Stuttgart Sommersemester 2012 Python Wiederholung der wichtigsten Eckpunkte interpretierte

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Über diesen Kurs 2. Der Python Interpreter 3. Python Scripte 4. Grundlagen der Sprache 5. Das erste Programm 6. Operatoren

Mehr

1 Stückweise konstante Funktionen (ca =10 Punkte)

1 Stückweise konstante Funktionen (ca =10 Punkte) Einführung in die wissenschaftliche Programmierung Klausur Seite 1/5 Name, Vorname, Unterschrift: Matrikelnummer: 1 Stückweise konstante Funktionen (ca. 4+2+4=10 Punkte) In dieser Aufgabe soll eine Klasse

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Übung 2 Laura Kallmeyer Sommersemester 204, Heinrich-Heine-Universität Düsseldorf Offizielle Python Seite, auf der man jede Menge Dokumentation findet: http://www.python.org/

Mehr

Python Workshop i. Python Workshop

Python Workshop i. Python Workshop i Python Workshop ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME iii Contents 1 Hinweis 1 2 Python interaktiv 1 2.1 python......................................................... 1 2.2 ipython........................................................

Mehr

Web-basierte Anwendungssysteme PHP-Einführung

Web-basierte Anwendungssysteme PHP-Einführung Web-basierte Anwendungssysteme PHP-Einführung Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann

Mehr

A2.1 Python. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A2.1 Python. A2.2 Kurzer Sprachüberblick. A2.3 Selectionsort in Python

A2.1 Python. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A2.1 Python. A2.2 Kurzer Sprachüberblick. A2.3 Selectionsort in Python Algorithmen und Datenstrukturen 28. Februar 2018 A2. Eine sehr kurze Einführung in Python Algorithmen und Datenstrukturen A2. Eine sehr kurze Einführung in Python A2.1 Python Marcel Lüthi and Gabriele

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen A2. Eine sehr kurze Einführung in Python Marcel Lüthi and Gabriele Röger Universität Basel 28. Februar 2018 Python Python interpretierte High-Level-Programmiersprache unterstützt

Mehr

Informatik I: Einführung in die Programmierung

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

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

PostScript -Sprache. Frank Richter

PostScript -Sprache. Frank Richter PostScript -Sprache Frank Richter 27.01.2003 Stack-Operationen exch vertauscht die zwei obersten Stackelemente x y exch => y x dup dupliziert oberstes Stackelement x dup => x x pop löscht oberstes Element

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

das ROOT-Framework Datenanaufnahme, Speicherung, Visualisierung & Analyse

das ROOT-Framework Datenanaufnahme, Speicherung, Visualisierung & Analyse das ROOT-Framework Datenanaufnahme, Speicherung, Visualisierung & Analyse Open-Source framework zur Datenanalyse (C++-Klassenbobliothek). Entwickelt hauptsätzlich am CERN, Standardwerkzeug in der Teilchenphysik.

Mehr

Programmieren in Lua

Programmieren in Lua Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale

Mehr

Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester Dipl.-Ing. (FH) Volker Schepper

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.

Mehr

10:Exkurs MATLAB / Octave

10:Exkurs MATLAB / Octave 10:Exkurs MATLAB / Octave MATLAB (bzw. Octave als freie Version) ist eine numerische Berechnungsumgebung wurde vorrangig zum Rechnen mit Vektoren und Matrizen entworfen ist interaktiv benutzbar, vergleichbar

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 21 Einstieg in die Informatik mit Java Felder, eindimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick: Was sind Felder? 2 Vereinbarung von Feldern

Mehr

Rechnernutzung in der Physik Computeralgebra/Mathematica

Rechnernutzung in der Physik Computeralgebra/Mathematica Rechnernutzung in der Physik Computeralgebra/Mathematica 1. Einführung in Mathematica 2. Mathematica in der Physik 3. Harmonische Polylogarithmen 4. Numerische Integration 5. Gröbnerbasen 6. FORM und andere

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Variablen Datentypen Werte Ausdrücke Operatoren

Mehr

Einfuehrung. October 20, 2017

Einfuehrung. October 20, 2017 Einfuehrung October 20, 2017 1 Einführung 1.1 Organisatorisches Es wird jede Woche eine Übungsaufgabe in Form eines Jupyter-Notebooks ausgegeben. Diese kann von der Vorlesungsweibseite https://aam.uni-freiburg.de/agkr/lehre/ws17/pde0/

Mehr

Kapitel 12: Induktive

Kapitel 12: Induktive Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

BER-Basisband. October 12, 2017

BER-Basisband. October 12, 2017 BER-Basisband October 12, 2017 1 Bitübertragung - Basis- und Breitbandverfahren Wir betrachten hier die Übertragung von Daten mit unterschiedlichen Modulationstechniken und die sich dabei einstellenden

Mehr

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Skriptsprachen: Python

Skriptsprachen: Python Skriptsprachen: Python Einführung Jan Krüger, Alexander Sczyrba Technische Fakultät Universität Bielefeld 30. September 2016 Python Einführung Eigenschaften, Erweiterungen, Erste Gehversuche 2 of 18 Python

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Programmierkurs Python I

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

Mehr

13. Dynamische Datenstrukturen

13. Dynamische Datenstrukturen Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Sortierte Liste 40 40 Motivation: Stapel ( push, pop, top, empty ) Wir brauchen einen neuen

Mehr

Wilhelm Haager. Computeralgebra. mit Maxima. Grundlagen der Anwendung und Programmierung. Fachbuchverlag Leipzig. im Carl Hanser Verlag

Wilhelm Haager. Computeralgebra. mit Maxima. Grundlagen der Anwendung und Programmierung. Fachbuchverlag Leipzig. im Carl Hanser Verlag Wilhelm Haager Computeralgebra mit Maxima Grundlagen der Anwendung und Programmierung Fachbuchverlag Leipzig im Carl Hanser Verlag Inhalt Q Einführung 13 1.1 Grundlegendes 13 1.1.1 Motivation 14 1.1.2

Mehr

Programmieren lernen mit Groovy Kollektionen: Listen und Abbildungen

Programmieren lernen mit Groovy Kollektionen: Listen und Abbildungen Programmieren lernen mit Groovy Kollektionen: Listen und Abbildungen Seite 1 Listen Listen Definition def Listen-Variable = Listen-Wert def liste = [1,2,3,4,5,6,7,8,9] Der erste Index ist 0! liste[0] Zugriff

Mehr

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5 Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

https://misun102.mathematik.uni-leipzig.de:8000/user/ackermann/nbc...

https://misun102.mathematik.uni-leipzig.de:8000/user/ackermann/nbc... Aufgabe 4: a) Schreiben Sie in Python ein Programm, um die Approximationseigenschaften der Interpolationspolynome am Beispiel der Runge-Funktion mit den Funktionswerten im Intervall und zu überprüfen.

Mehr

Programmieren in Python

Programmieren in Python Ausgaben und Zahlen Programmieren in Python 2. Ausgaben und Zahlen Malte Helmert Albert-Ludwigs-Universität Freiburg In dieser Lektion geht es darum, ein erstes Gefühl für Python zu bekommen. Wir beschränken

Mehr

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben 18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (

Mehr

SmallTalk - Eine kurze Einführung

SmallTalk - Eine kurze Einführung SmallTalk - Eine kurze Einführung Andreas Lochbihler Lehrstuhl Programmierparadigmen Universität Karlsruhe 15. Juni 2009 SmallTalk Entwickelt seit Anfang der 70er bei XEROX PARC Alan Kay, Dan Ingalls,

Mehr

(I)Python in Labor & Lehre

(I)Python in Labor & Lehre Prof. Dr. Christian Münker (I)Python in Labor & Lehre Hochschule München, Oktober 2014 und wie sieht es aus? def fib(n): """ Berechne Fibonacci-Zahlen """ print('n =', n) # für Python 3.x if n > 1: return

Mehr

Matlab: eine kleine Einführung

Matlab: eine kleine Einführung Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS 2006 Matlab: eine kleine Einführung Jan Mayer 27. April 2006 Linux Matlab: eine kleine Einführung 2 Linux Matlab starten: 1. Konsole öffnen

Mehr

5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!

5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! 5.4 Arrays Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index: 17 3-2 9 0 1 0 1 2 3 4 5 Harald Räcke 114/656

Mehr

Programmieren in Java

Programmieren in Java Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]

Mehr

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

Algorithmik kontinuierlicher Systeme. Einführung in Python

Algorithmik kontinuierlicher Systeme. Einführung in Python Algorithmik kontinuierlicher Systeme Einführung in Python Organisatorisches Vorlesung um 8:15 oder um 8:30? Sommersemester 2017 Prof. U. Rüde Algorithmik kontinuierlicher Systeme 2 Kurzer Werbeblock Elementary

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Programmierkurs Python I

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

Mehr

Programmierung I Einführung in Python, Beyond the Basics

Programmierung I Einführung in Python, Beyond the Basics Höhere Datenstrukturen Programmierung I Einführung in Python, Beyond the Basics G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Eines der Features, das Python so mächtig macht (VHLL)

Mehr

Einstieg ins Programmieren mit Python

Einstieg ins Programmieren mit Python Einstieg ins Programmieren mit Python Merk-Steine auf dem Weg zu Python für Kids Autor: Gregor Lingl Email: glingl@aon.at Folie 1 Gregor Lingl, Jan. 2003 http://python4kids.net Leicht zu lernen. Python-Code

Mehr

Einführung in Python

Einführung in Python Mathematische Werkzeuge für die Computergrafik Einführung in Python Sommersemester 2017 1 Grundlagen von Python Als Programmiersprache werden wir die Script-Sprache Python 1 verwenden. 2 Diese ist zur

Mehr

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1 Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2

Mehr

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel Einführung in MATLAB + MATLAB Simulink Dipl.-Inf. Markus Appel mappel@informatik.hu-berlin.de 28.10.2016 Was ist MATLAB? ein universelles Algebra-Programm zur Lösung mathematischer Probleme grafische Darstellung

Mehr

2. Einführung in das Ingenieurtool MATLAB

2. Einführung in das Ingenieurtool MATLAB 2. Einführung in das Ingenieurtool MATLAB MATLAB ist eine numerische Berechnungsumgebung wurde vorrangig zum Rechnen mit Vektoren und Matrizen entworfen ist interaktiv benutzbar, vergleichbar mit einem

Mehr

Profiling in Python. Seminar: Effiziente Programmierung. Jan Pohlmann. November Jan Pohlmann Profiling in Python November / 32

Profiling in Python. Seminar: Effiziente Programmierung. Jan Pohlmann. November Jan Pohlmann Profiling in Python November / 32 Profiling in Python Seminar: Effiziente Programmierung Jan Pohlmann November 2017 Jan Pohlmann Profiling in Python November 2017 1 / 32 Gliederung 1 Grundlagen Profiling Was ist das Ziele und Herausforderungen

Mehr

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Arrays Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arraytypen Speicherdarstellung von Arrays Auswertung

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,

Mehr

Bru ckenkurs Programmieren

Bru ckenkurs Programmieren Bru ckenkurs Programmieren Tag 1: Variablen und Verzweigungen Jakob Czekansky Technische Hochschule Mittelhessen 26. September 2016 Inhalt Organisatorisches Einleitung: Was ist Programmieren? Hello World

Mehr

Folgen und Funktionen in der Mathematik

Folgen und Funktionen in der Mathematik Folgen und Funktionen in der Mathematik Anhand von einigen exemplarischen Beispielen soll die Implementierung von mathematischen Algorithmen in C/C++ gezeigt werden: Reelle Funktionen in C/C++ Diese wird

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders

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

Mehr

Java I Vorlesung Imperatives Programmieren

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.

Mehr

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 64 1 Einführung Java Geschichte 2 Programmieren in Java Einführung

Mehr

SciPy Tuebix 2015. June 18, 2015

SciPy Tuebix 2015. June 18, 2015 SciPy Tuebix 2015 June 18, 2015 1 Einführung in SciPy und SymPy Peter Hrenka, TÜBIX 2015 Repository auf github 1.1 1. IPython Grundlagen IPython ist eine interaktive Shell für Python. Startet man IPython

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi 1. Datentypen C-Grundlagen zur Programmierung des MicroControllersystems MiCoWi Die Grafiken und Beispiele wurden dem Buch C von A bis z von Jürgen Wolf entnommen. Es werden hier die ANSI-Festlegungen

Mehr

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006 Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS 2006 Matlab: Fortsetzung Jan Mayer 4. Mai 2006 Manipulation von Matrizen und Vektoren [M,N]=size(A); speichert die Dimension einer Matrix bzw.

Mehr

Übung zur Vorlesung Multimedia im Netz

Übung zur Vorlesung Multimedia im Netz Übung zur Vorlesung Multimedia im Netz Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2009/2010 Ludwig-Maximilians-Universität München Multimedia im Netz Übung 1-1 Organisatorisches

Mehr

1 Bizz Buzz Woof (ca =18 Punkte) def read file(file_in): fp = open(file_in, r ) l = fp.read() fp.close() return l

1 Bizz Buzz Woof (ca =18 Punkte) def read file(file_in): fp = open(file_in, r ) l = fp.read() fp.close() return l Einführung in die wissenschaftliche Programmierung Klausur 1. März 2010 Seite 1/7 Name, Vorname, Unterschrift: Matrikelnummer: 1 Bizz Buzz Woof (ca. 3+9+6=18 Punkte) In dieser Aufgabe sollen Zahlen codiert

Mehr

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014 Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Einführung in die Programmierung, mathematische Anwendungen und Visualisierungen

Einführung in die Programmierung, mathematische Anwendungen und Visualisierungen hans-bernhard WOYAND PYTHON FÜR INGENIEURE UND NATURWISSENSCHAFTLER Einführung in die Programmierung, mathematische Anwendungen und Visualisierungen Im Internet: Beispiele und Lösungen zu den Aufgaben

Mehr

Objektorientierte Programmierung und Modellierung

Objektorientierte Programmierung und Modellierung Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung

Mehr