Bioinformatik für Biochemiker
|
|
|
- Lena Buchholz
- vor 8 Jahren
- Abrufe
Transkript
1 Bioinformatik für Biochemiker Oliver Kohlbacher, Steffen Schmidt SS Python Basics Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen
2 Überblick Python Datentypen Kontrollstrukturen Funktionen Module Beispiel Verwendung zum Vergleich von Sequenzen
3 Ähnlichkeit zweier Sequenzen Wie kann man die Ähnlichkeit zweier Sequenzen beschreiben? Einfachste Möglichkeit: Zählen identischer Zeichen GATCGTTCG CATGGTTGA Problem: Was bei Sequenzen unterschiedlicher Länge? GATCGTTCG GATCGTTCG GATCGTTCG GGTTGA G---GTT-GA GGTTGA Ähnlichkeit: Ähnlichkeit bei dieser einfachen Definition vom gewählten Alignment abhängig! Welches ist das richtige Alignment?
4 Algorithmen Gegeben: Zwei Sequenzen A, B mit A = B auf dem Alphabet Σ = {A, C, G, T, -} Eine Distanzfunktion d : Σ x Σ R Berechne die Distanz d(a, B) wie folgt: distanz 0 Für i = 1 A : distanz distanz + d(a i, b i ) Gib Wert von distanz aus Zuweisung Schleife Zuweisung Ausgabe
5 Auswertung von Ausdrücken
6 Auswertung von Ausdrücken >>> a = 4 >>> b = 'ACTG' >>> a + b Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' >>> b + a Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects Python hat verschiedene Typen für Daten die in Variablen gespeichert sind int / float für numerischen Daten (ganze Zahlen und Fließkommazahlen) str für Zeichenketten (Strings) Operator ist nicht (immer) kompatibel für Variablen unterschiedlichen Typs (was ist die Summe eines Strings und einer Zahl?)
7 Datentypen Addition von einem int Datentyp mit einem float Datentyp liefert gewünschtes Ergebnis Division von zwei Ganzzahlen liefert wiederum eine Ganzzahl! (Division ohne Rest) Will man die Division zweier reeller Zahlen, muss man Python mitteilen, dass es sich um solche handelt (ein Dezimalpunkt reicht: also 2. oder 2.0 statt 2)
8 Datentypen dir Funktion gibt Information über die vorhandenen Methoden eines Datentyps/Objekts
9 Datentypen help-funktion gibt Information über Methoden eines Datentyps/Objekts Damit kann man versuchen schnell im Interpreter Hilfe zu erhalten, wenn etwas nicht so funktioniert, wie gedacht
10 Python Listen Listen sind Aneinanderreihungen beliebiger Werte (genauer: Objekte), die man zusammenfassen will Viele Python-Funktionen akzeptieren Listen als Argumente Möchte man z.b. das Minimum von vier Werten berechnen, so definiert man eine Liste mit diesen Werten und ruft dann die Funktion min mit dieser Liste auf: l = [170, 55, 3, 244] print min(l) Listen definiert man in Python, indem man die einzelnen Werte in eckige Klammern schreibt Vorsicht: eckige Klammern hinter einer Variablen bedeuten den Zugriff mit einem oder mehreren Indices! Nicht verwechseln! Ergebnis dieses kurzen Programms ist natürlich 3
11 Listen Listen können beliebige Datentypen enthalten, z.b. Zahlen oder Strings l = [1, 2, 'ACT'] Man kann auch leere Listen definieren: l = [] Listen lassen auch die Indexoperationen wie bei Strings zu, ebenso kann man sie konkatenieren (mit dem Operator +) und mit print ausgeben Mit append lassen sich Elemente an die Liste anhängen, alternativ kann man das Element durch Konkatenation mit einer einelementigen Liste anfügen: l = [1, 2, 3] l.append(4) l = l + [5]
12 Listen Beispiele A = ['Hund', 'Katz', 'Maus'] B = ['Ratte', 'Nacktmull'] print len(a), len(b) print A + B print B + B print len(a + B) print A[:2] + B[2:] A[1] = B[1] print A A.append('Igel') print A A = A + B print A 3 2 ['Hund', 'Katz', 'Maus', 'Ratte', 'Nacktmull'] ['Ratte', 'Nacktmull', 'Ratte', 'Nacktmull'] 5 ['Hund', 'Katz'] ['Hund', 'Nacktmull', 'Maus'] ['Hund', 'Nacktmull', 'Maus', 'Igel'] ['Hund', 'Nacktmull', 'Maus', 'Igel', 'Ratte', 'Nacktmull']
13 Python Matrix Listen sind in Python nur eine von vielen Datenstrukturen Mit Hilfe von Arrays kann man große Mengen von Zahlen darstellen Sowohl eindimensionale ( Vektoren ), als auch zweidimensionale ( Matrizen ) oder mehrdimensionale Arrays (allgemeine Tensoren) sind möglich Diese Arrays sind in Python nicht in der Sprache selbst verankert, sondern werden von einem externen Modul namens numpy (Numerical Python) zur Verfügung gestellt, das separat installiert werden muss Dafür stellt numpy Ihnen sehr schnelle und einfache Operationen aus der linearen Algebra (z.b. Matrixmultiplikationen) zur Verfügung, die Sie nicht mehr selbst implementieren müssen
14 Python Matrix Eine Matrix kann man auf viele Arten erzeugen. Wir wollen die Matrix nicht nur erzeugen sondern am besten auch gleich mit Nullen füllen Das geht mit der Funktion numpy.zeros, deren Argument eine Liste mit der Größe in den jeweiligen Dimensionen ist import numpy # Lade Modul A = numpy.zeros([3]) # Definiert Vektor # der Länge 3 A[1] = 5 # Setzt 2. Element print A M = numpy.zeros([3,3]) # definiert eine 3x3-Matrix M[0,0] = M[1,1] = M[2,2] = 2 print M print A * M Ausgabe: [0 5 0] [[2 0 0] [0 2 0] [0 0 2]] [[ 0 0 0] [ ] [ 0 0 0]]
15 Kontrollstrukturen Kontrollstrukturen bestimmen den logischen Fluss von Programmen Es gibt zwei Klassen von Kontrollstrukturen: Verzweigungen: if-else Schleifen: for, while Damit lassen sich alle möglichen Programmflüsse abbilden Im Gegensatz zu anderen Programmiersprachen (C++, Java) hat Python keine Mehrfachverzweigung (switch-case)
16 Python Bedingungen Bedingungen erlauben es Programmteile nur dann auszuführen, wenn eine bestimmte Bedingung erfüllt ist Die wichtigste Kontrollstruktur mit einer Bedingung ist if-else: if distanz < 5: print 'Distanz gering' else: print 'Distanz zu gross!' Man kann if-else auch auf mehrere Fälle (mit elif) erweitern: if distanz == 0: print 'Identisch.' elif distanz == 1: print 'Fast identisch.' else: print 'Nun ja.'
17 Python FOR-Schleifen FOR-Schleifen iterieren eine Schleifenvariable durch die Elemente eines Sequenztypen (z.b. List, String) Der Schleifenrumpf wird dabei für jeden Wert der Liste einmal durchlaufen Für eine leere Liste wird der Rumpf entsprechend nicht durchlaufen Man kann ähnliches Verhalten mit unterschiedlichen Konstrukten erhalten s = 'ABCD' s = 'ABCD' for x in s: print x for x in range(len(s)): print s[x] Der linke Code ist kompakter, tut aber im wesentlichen das gleiche wie der rechte Möchte man aber auch die Position des Buchstabens in der Sequenz ausgeben ist die rechte Variante geschickter
18 Python WHILE-Schleifen WHILE-Schleifen iterieren so lange eine bestimmte Bedingung erfüllt ist Vor jedem Durchlauf wird dabei die Bedingung im Schleifenkopf getestet, ist sie erfüllt wird der Rumpf ausgeführt Man kann damit ähnliche Dinge erzielen wie mit einer FOR- Schleife, ist aber nicht an Sequenztypen gebunden s = 'ABCD' i = len(s) - 1 while i >= 0: s = 'ABCD' for x in range(len(s)): print s[len(s) - x - 1] print s[i] i = i - 1 Ob eine FOR- oder eine WHILE-Schleife die geschicktere Variante ist, hängt ganz vom Einzelfall ab
19 Verschachtelte Schleifen Schleifen können auch ineinander geschachtelt werden Der Rumpf der ersten (äußeren) Schleife beinhaltet dann die zweite (innere) Schleife Beispiel: Ausgabe aller Worte der Länge 3 auf Σ DNA : sigma = 'ACGT' for i in sigma: for j in sigma: for k in sigma: # äußere Schleife # zweite Schleife # innerste Schleife print i + j + k
20 Funktionen Funktionen in Programmiersprachen sind ähnlich zu mathematischen Funktionen, es gibt jedoch einige Unterschiede Prinzipiell verwendet man Funktionen um häufig benutzten Code nicht mehrmals schreiben zu müssen Funktionen sind abgeschlossene Codestücke, denen Argumente übergeben werden und die einen Rückgabewert haben können In Python werden Funktionen mit Hilfe des def-schlüsselwortes definiert Funktionen haben einen Namen, eine Liste von Argumenten und einen Codeblock der die eigentliche Rechnung durchführt Beispiel: Eine Funktion, die zu einer Zahl deren doppelten Wert zurückliefert def doppelt(x): return 2 * x print doppelt(4) Das Schlüsselwort return definiert dabei den Rückgabewert der Funktion
21 Funktionen Fibonacci-Zahlen: unendliche Folge, die das Wachstum einer Kaninchenpopulation beschreibt (Leonardo Fibonacci, 1202) Definition: Dies kann als rekursive Funktion geschrieben werden, also eine Funktion, die sich selbst wieder aufruft: def fib(x): if x == 0: return 0 if x == 1: return 1 return fib(x-1) + fib(x-2) for i in range(10): print fib(i)
22 Distanzberechnung Wir versuchen nun unseren Algorithmus aus dem Pseudocode in Python umzusetzen Dazu sollte die Distanzfunktion d als Funktion implementiert werden Wir wählen als einfache Distanzfunktion die Identität Summation über die Spalten des Alignments implementieren wir als for-schleife distanz 0 Für i = 1 A : distanz distanz + d(a i, b i ) Gib Wert von distanz aus
23 Alignmentdistanzen in Python # Einfache Berechnung von Alignmentdistanzen A = 'ACGT' B = 'A-GT' distanz = 0 # Sequenzen im Alignment # Gesamtdistanz # Berechne fuer jede Position im Alignment # die Distanz und summiere sie for i in range(len(a)): d = 1 if (A[i] == B[i]): d = 0 distanz = distanz + d d(a, b) = print 'Distanz des Alignments:', distanz 0 : für a = b 1 : andernfalls
24 Alignmentdistanzen mit Fkt. # Einfache Berechnung von Alignmentdistanzen A = 'ACGT' # Sequenzen im Alignment B = 'A-GT' distanz = 0 # Gesamtdistanz # Definiere eine Funktion d(a, b) zur Distanzberechnung def d(a, b): if a == b: return 0 else: return 1 # Berechne fuer jede Position im Alignment # die Distanz und summiere sie auf for i in range(len(a)): distanz = distanz + d(a[i], B[i]) print 'Distanz des Alignments:', distanz
25 Module Module sind ein Weg Programme in kleinere, überschaubare Einheiten zu verteilen Dies verbessert die Wiederverwendbarkeit von Code: wenn jemand etwas praktisches geschrieben hat, kann jemand anderes den Code einfach in seinen Programmen verwenden Triviales Beispiel: Kreisumfang r = 5.6 pi = print "Umfang: ", 2 * pi * r from math import pi r = 5.6 print "Umfang: ", 2 * pi * r Die Zahl π ist im Modul math (das mit Python mitgeliefert ist) schon (in voller Genauigkeit!) definiert Das Kommando import lädt diese Funktionalität aus dem Modul math und macht pi damit verfügbar
26 Module Eigene Module kann man auch schreiben, dazu wird lediglich eine Python-Datei mit dem Namen des Moduls angelegt Das import-kommando kann dabei Teile eines Moduls laden (import x from y, siehe letzte Folie) oder das gesamte Modul # Modul Dist.py # Dieses Modul implementiert # Die Distanzfunktion d und # kann von anderen Programmen # verwendet werden. def d(a, b): if a == b: return 0 else: return 1 # Berechnung der Distanz import Dist # Lade Modul Dist A = `ACGT` B = `A-GG` d = 0 for i in range(len(a)): d = d + Dist.d(A[i], B[i]) # Die Distanzfunktion wird # über den Namen des Moduls # angesprochen: Dist.d
27 Vergleich VIELER Sequenzen Trennung von Daten und Programm Man möchte das Programm nicht jedes Mal verändern, wenn man andere Sequenzen vergleichen möchte Das Programm muss also die Sequenzen aus einer anderen Datei laden Der FASTA-Parser von BioPython bietet sich hier an, damit lassen sich beliebig viele Sequenzen mit wenig Aufwand laden: # Importiere FASTA-Parser von BioPython from Bio import SeqIO # Lese alle Sequenzen aus einer FASTA-Datei fasta_datei = open("many_sequences.fasta") all = list(seqio.parse(fasta_datei, "fasta")) # Ausgabe wieviele Sequenzen gelesen wurden print len(all),"sequenzen eingelesen."
28 Vergleich VIELER Sequenzen Beispiel: Gegeben viele Sequenzen gleicher Länge (z.b. alle möglichen Alignments mit einer bestimmten Anzahl Gaps) Lese alle Sequenzen aus einer Datei ein (Trennung von Daten/Programm!) Gib für jedes Paar von Sequenzen (wieviele?) die Distanz der Sequenzen aus > seq1 AATCGGA > seq2 ATCGA-- > seq3 -ATCGA- > seq4 A-TCGA- > seq5 --ATCGA > seq6 -ATC-GA > seq7 -A-TCGA > seq8 ATC--GA
29 Vergleich VIELER Sequenzen # Importiere FASTA-Parser von BioPython from Bio import SeqIO # Importiere Distanzfunktion from Dist import d # Lese alle Sequenzen aus einer FASTA-Datei fasta_datei = open("many_sequences.fasta") all = list(seqio.parse(fasta_datei, "fasta")) # Berechne alle Distanzen zwischen den Sequenzen for i in range(len(all)): for j in range(i + 1, len(all)): print i, j, d(all[i], all[j])
30 Literatur How to think like a computer scientist Mit Beispielen in Python! Ein ganzes Buch zu Python zum freien Herunterladen! Hinweis: Sie können Python auch auf Ihrem eigenen Rechner unter Windows installieren:
Bioinformatik für Biochemiker
Bioinformatik für Biochemiker Oliver Kohlbacher WS 2009/2010 4. Paarweises Alignment Teil I Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht Paarweises Alignment
Bioinformatik für Lebenswissenschaftler
Bioinformatik für Lebenswissenschaftler Oliver Kohlbacher, Steffen Schmidt SS 2010 5. Paarweises Alignment Teil I Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht
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
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
Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
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
Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
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
Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
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/
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
Bioinformatik für Biochemiker
Bioinformatik für Biochemiker Oliver Kohlbacher, Steffen Schmidt SS 2010 3. Strings, Sequenzen und Python Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht Strings
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
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
if ( Logischer Operator ) { } else { Anweisungen false
if ( Logischer Operator ) { Anweisungen true else { Anweisungen false Bedingte Anweisungen Operatoren verknüpfen Variable zu neuen Ausdrücken, wir unterscheiden Arithmetische Operatoren Berechnung von
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
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
Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue
Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile.
1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.
Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten
WS2017/ Oktober 2017
Ronja Düffel WS2017/18 05. Oktober 2017 mit Python Programmieren (vereinfacht) 1 Problem beschreiben und analysieren 2 Enwicklung und Beschreibung einer Lösung 3 Übertragung/Umsetzung in eine Programmiersprache
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)
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
1 Berechnung von Summen (ca = 10 Punkte)
Einführung in die wissenschaftliche Programmierung Klausur 26.02.2013 Seite 1/8 Name, Vorname, Unterschrift: Matrikelnummer: 1 Berechnung von Summen (ca. 5 + 4 + 1 = 10 Punkte) Gegeben sind natürliche
Minimaleinführung in Python 3
Minimaleinführung in Python 3 Python ist eine einfach zu lernende, aber mächtige Programmiersprache mit effizienten abstrakten Datenstrukturen und einem einfachen, aber effektiven Ansatz zur objektorientierten
Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
1. Die rekursive Datenstruktur Liste
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen Ideen zur Bestimmung der Länge einer Liste: 1. Verwalte ein globales Attribut int laenge. Fügt man ein Element zur Liste oder löscht es, wird
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
Vorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
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
Intensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
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
Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen
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
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
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
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
PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
Wirtschaftsinformatik I (Bachelor) SS 07 Prof. Gomber. Python
Python Programmiersprache: Syntax - legt die als Programm zulässigen Zeichenfolgen fest (Grammatik) Semantik - ist die Bedeutung der programmiersprachlichen Ausdrücke Algorithmus - genau formulierte Verarbeitungsvorschrift.
Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung
Johanna Ploog, Konstantin Clemens Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Zweites
Mathematische Computer-Software
Mathematische Computer-Software Kommerzielle Computeralgebrasysteme (CAS) Beispiele: Mathematica, Maple, Numerisches und symbolisches Verarbeiten von Gleichungen: Grundrechenarten Ableitung und Integration
Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen
Programmiervorkurs für die Numerik Teil 2/4
line 1 1 0.8 0.6 0.4 0.2 0-0.2-0.4 Programmiervorkurs für die Numerik Teil 2/4 Christian Power Mathematisches Institut Universität Tübingen -8-6 -4-2 0 05.10.2016 2 4 6 8-8 -6-4 -2 0 2 4 6 8 Wiederholung
Java Anweisungen und Ablaufsteuerung
Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht
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.
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
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
Schleifen Datenfelder (Arrays) Verzweigungen
Schleifen Datenfelder (Arrays) Verzweigungen Vektoren, Matrizen, Tabellen for, while, foreach, if-else und switch-case Dr. Beatrice Amrhein Überblick Schleifen o for, while, foreach Eindimensionale Arrays
Wertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
Tag 2 Repetitorium Informatik (Java)
Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
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
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([])
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
Programmieren in Python
10. Iteratoren und Generatoren Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011 Iteratoren und Generatoren Überblick über diese Lektion: Iteratoren Generatoren Generator
Teil II. Datentypen. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/
Teil II Datentypen T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/2018 25 Konzept von Teil II: Datentypen Hinweis: Die Erklärung des Konzepts im Sinne des Constructive
float: Fließkommazahl nach IEEE 754 Standard mit 32 bit
Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen
2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
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
R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.
R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. Carsten Szardenings [email protected] 7. Mai 2015 A 2 B 3 C 4 D 5 F 6 R 16 S 17 V 18 W 19 Z 20 H 7 I 8 K 9
4 Daten in Python. Primäres Ziel: Daten zu Containern zusammenfassen, insbesondere Vektoren etc., um vernünftige Beispiele rechnen zu können.
4 Daten in Python Primäres Ziel: Daten zu Containern zusammenfassen, insbesondere Vektoren etc., um vernünftige Beispiele rechnen zu können. Vorher genauerer Blick auf die Behandlung von Daten in Python
Anregungen zu Übung 2
Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist
Programmieren in Python
10. Iteratoren und Generatoren Albert-Ludwigs-Universität Freiburg KI-Praktikum, Sommersemester 2009 Iteratoren und Generatoren Überblick über diese Lektion: Iteratoren Generatoren Generator Comprehensions
Programmieren in Python
3. Variablen, Funktionen und Bedingungen Albert-Ludwigs-Universität Freiburg KI-Praktikum, Sommersemester 2009 Variablen, Funktionen und Bedingungen Bisher sind wir über die Funktionen eines Taschenrechners
Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 2 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 19. April 2006 (UniDUE) 19. April 2006 1 / 13 Java Programme Java Programme bestehen aus (meist mehreren) Klassen. In den Klassen
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
C++ Teil 5. Sven Groß. 16. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16
C++ Teil 5 Sven Groß 16. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 16. Nov 2015 1 / 16 Themen der letzten Vorlesung Namensräume Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
Informatik I. Informatik I Iteratoren Generatoren Das Modul itertools. Iterierbare Objekte Iteratoren. Python-Interpreter
Informatik I 28.01.2014 25. und Informatik I 25. und Bernhard Nebel Albert-Ludwigs-Universität Freiburg 25.1 25.2 25.3 Das Modul itertools 28.01.2014 Bernhard Nebel (Universität Freiburg) Informatik I
Elementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
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
Probeklausur Name: (c)
Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume
WiMa-Praktikum 1. Woche 8
WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und
Programmiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 8: Felder und Zeichenketten Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen
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 [email protected] Eines der Features, das Python so mächtig macht (VHLL)
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
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
2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
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
Java Zusammenfassung. Basisdatentypen ganzzahlig: Byte, Short, Integer, Long Fließkomma: Float, Double Zeichen: Character Wahrheitswerte: Boolean
Java Zusammenfassung Martin Zettwitz, Otto-von-Guericke Universität Magdeburg Standardprogramm - Einstieg/Initialisierung in der main() Funktion - Hier(Basic/Start) die Variablen deklarieren, Methoden
