Termin 5: Medienprogrammierung in Python Bildverarbeitung (2) Medienprogrammierung mit Python / JES

Größe: px
Ab Seite anzeigen:

Download "Termin 5: Medienprogrammierung in Python Bildverarbeitung (2) Medienprogrammierung mit Python / JES"

Transkript

1 Termin 5: Medienprogrammierung in Python Bildverarbeitung (2) Grundlagen der Informatik Wintersemester 2006/07 Prof. Bernhard Jung Übersicht Medienprogrammierung mit Python / JES z.b. Erzeugung von Negativen, Grauwertkonvertierung, Jes-Debugger for-schleifen in Python if-anweisung in Python Hauptlernziele: Verstehen zentraler Kontrollstrukturen der imperativen Programmierung for Schleife if else (bedingte Anweisung) Digitale Medien: Verständnis von Farb-, Grauwert-, und Binärbildern 1

2 Wiederholung Beispiel: Ändern von Pixel-Werten >>> filename = pickafile() >>> mypic = makepicture(filename) >>> show(mypic) >>> setcolor(getpixel(mypic, 10, 100),yellow) >>> setcolor(getpixel(mypic, 11, 100),yellow) >>> setcolor(getpixel(mypic, 12, 100),yellow) >>> setcolor(getpixel(mypic, 13, 100),yellow) >>> setcolor(getpixel(mypic, 14, 100),yellow) >>> setcolor(getpixel(mypic, 15, 100),yellow) >>> repaint(mypic) jetzt 6 gelbe Pixel hier Bildverarbeitung mit Schleifen - Definition eines Python-Skripts def decreasered(picture): value = getred(p) setred(p, value * 0.5) Verringerung des Rot-Anteils in jedem Pixel des Bilds for-schleife 2

3 Schleifen in Python Aufbau von Schleifen for Schlüsselwort, Name der Anweisung Indexvariable p Name der Variable kann frei gewählt werden in Schlüsselwort, fester Teil der Anweisung Eine Sequenz bzw. Ausdruck der eine Sequenz liefert getpixels(picture) liefert Liste aller Pixel zur Erinnerung (Vorlesung 3): Sequenz = Liste, String, oder Tupel Doppelpunkt ':' Rumpf der Schleife eingerückt hier besteht der Rumpf aus 2 Anweisungen Schleifen in Python for <variable> in <sequenz>: <anweisungen> for i in ['a','b','c']: print i 1. Schleifendurchlauf: i = 'a' Ausgabe: a 2. Schleifendurchlauf: i = 'b' Ausgabe: b 3. Schleifendurchlauf: i = 'c' Ausgabe: c 3

4 Schleifen in Python for <variable> in <sequenz>: <anweisungen> for i in [4,6,9]: print i 1. Schleifendurchlauf: i = 4 Ausgabe: 4 2. Schleifendurchlauf: i = 6 Ausgabe: 6 3. Schleifendurchlauf: i = 9 Ausgabe: 9 Der JES-Watcher (Debugger) Start des Watchers Hinzufügen einer zu beobachtenden Variablen (hier: i) 4

5 Beispiel Bildverarbeitung Generierung von Sonnenuntergängen Idee: Blau- und Grün-Anteile im Bild reduzieren (Rot wird so dominanter) def makesunset(picture): value=getblue(p) setblue(p,value*0.7) value=getgreen(p) setgreen(p,value*0.7) Beispiel Bildverarbeitung Generierung von Sonnenuntergängen die zuvor definierte Funktion makesunset() ist natürlich auf beliebige Bilder anwendbar dazu muss nur die Funktion nur mit einem anderen Input-Parameter aufgerufen werden def makesunset(picture): value=getblue(p) setblue(p,value*0.7) value=getgreen(p) setgreen(p,value*0.7) tu-baf.jpg 5

6 Die range()-funktion range()-funktion Generierung von Listen mit Elementen zwischen den beiden Input-Parametern optionaler dritter Input-Parameter bestimmt Inkrement >>> print range(1,4) [1, 2, 3] >>> print range(-1,3) [-1, 0, 1, 2] >>> print range(1,10,2) [1, 3, 5, 7, 9] Beispiel: range()-funktion 6

7 Indizierung von Pixeln Bild: Matrix von Pixeln Breite von Bildern: w = getwidth(picture) Höhe von Bildern: h = getheight(picture) Pixel können über ihren Index (x,y) referenziert werden pixel = getpixel( picture, x, y) Bildverarbeitung mittels geschachtelte Schleifen Geschachtelte Schleifen Schachtelung von Schleifen: Rumpf einer Schleife ist wiederum eine Schleife def increasered2(picture): for x in range(1, getwidth(picture)+1 ): for y in range(1, getheight(picture)+1 ): px = getpixel(picture,x,y) value = getred(px) setred(px, value*1.1) hier: spaltenweise Bearbeitung der Pixel Verarbeitungsreihenfolge der Indices (1,1), (1,2), (1,3). (2,1), (2,2), (2,3), (3,1), (3,2), 7

8 Farbersetzung in Teilbereichen von Bildern def increaseredinrange(picture, xmin, ymin, xmax, ymax): for x in range(xmin, xmax+1): for y in range(ymin, ymax+1): px = getpixel(picture,x,y) value = getred(px) setred(px, value*1.2) >>> increaseredinrange(pic2, 78, 41, 158, 59) Auswahl des Bildbereichs mittels MediaTools Beispiel Bildverarbeitung Erzeugung von Negativen R, G, B-Werte im Bereich Negativ eines Pixels, z.b. (5,10,25): (255-5, , ) = (250, 245, 230) Negativ eines Bilds: Negativ aller Pixel def negative(picture): for px in getpixels(picture): red=getred(px) green=getgreen(px) blue=getblue(px) negcolor=makecolor( 255-red, 255-green, 255-blue) setcolor(px,negcolor) 8

9 Grauwertbilder Farbbilder: Drei Farbkanäle (RGB) 8 Bit = 1 Byte (0 255) pro Kanal Darstellung von insgesamt 2 24 Farben Grauwertbilder 1 Farbkanal zu 8 Bit = 1 Byte d.h. Darstellung von 2 8 = 256 Grauwerten Konvertierung Farb- Grauwertbild z.b. Luminanz = Konvertierung zu Grauwertbildern in JES Echte Grauwertbilder: Pro Pixel 1 Farbwert In JES: setze R,G,B auf denselben Farbwert, z.b. def grayscale(picture): intensity = (getred(p) + getgreen(p) + getblue(p)) / 3 setcolor(p,makecolor(intensity,intensity,intensity)) 9

10 Konvertierung zu Grauwertbildern Bisherige Methode zur Berechnung des Grauwerts von Pixeln ist nicht optimal Psychologische Experimente legen nahe, dass Wahrnehmung von Farben bzgl. Luminanz unterschiedlich ist z.b. wird blau als "dunkler" wahrgenommen als rot auch bei gleicher physikalischer Lichtintensität Grauwert-Konvertierung mit wahrnehmungspsychologisch fundierter Gewichtung: def grayscaleweighted(picture): for px in getpixels(picture): newred = getred(px) * newgreen = getgreen(px) * newblue = getblue(px) * luminance = newred+newgreen+newblue setcolor(px,makecolor(luminance,luminance,luminance)) Grauwertkonvertierung einfache Grauwertkonvertierung gewichtete Grauwertkonvertierung 10

11 Beispiel: Farbauffrischung für Dächer - Bedingtes Verändern von Pixelwerten Ziel: Intensivierung des Rot-Anteils von Dächern Idee: Erhöhung des Rotanteils von Pixeln aber nur wenn diese schon rötlich sind if-anweisung def intensifyred(picture): value=getred(p) if ( value > 180 ): setred(p,value*1.5) Python: If-Anweisung vgl. Programmablaufplan (VL 2) if ( <Bedingung> ): <Anweisungen> if ( <Bedingung> ): <Anweisungen> else: <Anweisungen> ja A1 B A2 nein Aufbau: if Schlüsselwort Bedingung kann zu True oder False evaluiert werden auch komplexe Bedingungen, z.b. verknüpft mit and if ( a >5 and a <10): Doppelpunkt Anweisungen, die ausgeführt werden, falls Bedingung gilt optionaler else-teil 11

12 Beispiel: if else Ziel: Überprüfung, welche Pixel bei der beabsichtigten bedingten Pixeleinfärbung überhaupt eingefärbt werden wurden Zeichne ursprüngl. "rötliche" Pixel weiß, alle anderen schwarz Resultierendes Bild hat nur noch zwei Farben (schwarz/weiß) "Binärbild" def intensifyred3(picture): value=getred(p) if ( value > 180 ): setcolor(p, white) else: setcolor(p, black) alle Dächer, aber nicht nur! bessere Bedingung für Dachpixel??? "Posterisierung" Reduktion der Anzahl der Farben in einem Bild 12

13 "Posterisierung" - Methode Ganze Bereiche von Farb-Anteilen werden auf einen bestimmten Farbanteil abgebildet z.b. falls Rotanteil < 64 dann setze Rotanteil = 31 z.b. falls Rotanteil zwischen 64 und 128 dann Rotanteil = 95 Implementierung durch Reihe von if-anweisungen Resultierendes Bild hat deutlich weniger Farben "Posterisierung" def posterize(picture): #loop through the pixels #get the RGB values red = getred(p) green = getgreen(p) blue = getblue(p) #check and set red values if(red < 64): setred(p, 31) if(red > 63 and red < 128): setred(p, 95) if(red > 127 and red < 192): setred(p, 159) if(red > 191 and red < 256): setred(p, 223) #check and set green values if(green < 64): setgreen(p, 31) if(green > 63 and green < 128): setgreen(p, 95) if(green > 127 and green < 192): setgreen(p, 159) if(green > 191 and green < 256): setgreen(p, 223) #check and set blue values if(blue < 64): setblue(p, 31) if(blue > 63 and blue < 128): setblue(p, 95) if(blue > 127 and blue < 192): setblue(p, 159) if(blue > 191 and blue < 256): setblue(p, 223) 13

14 Kommentare in Python Programmzeilen, die mit '#' beginnen sind Kommentare #loop through the pixels Kommentare können auch in der Mitte von Programmzeilen beginnen setred(pixel, 255) # update Rot-Anteil des Pixels Kommentare in Programmen dienen der Dokumentation des Codes Kommentare werden vom Python-Interpreter nicht ausgewertet def getintensity(p): sum = getred(p) + getgreen(p) + getblue(p) average = float(sum) / 3 # Bereich return average / 255 # Bereich # pink = (255, 128, 128) # moduliere mit Intensität des Original-Pixels def makepinkish(p): i = getintensity(p) setred(p, int(255 * i * 3) ) setgreen(p, int( getgreen(p) * i * 3) ) setblue(p, int( getblue(p) * i * 3) ) und noch ein Beispiel (codiert mit viel Ausprobieren) def isgreenish(p): r = getred(p) g = getgreen(p) b = getblue(p) if g > r + 15 and g + 11 > b: return 1 return 0 def replacegreenishinrange(picture, xmin, xmax, ymin, ymax): for x in range(xmin,xmax): for y in range(ymin,ymax): pix = getpixel(picture,x,y) if isgreenish(pix): makepinkish(pix) return picture 14

Grundlagen der Informatik. Prof. Bernhard Jung

Grundlagen der Informatik. Prof. Bernhard Jung Grundlagen der Informatik Sommersemester 2006 Prof. Bernhard Jung Medienprogrammierung mit Python / JES Repräsentation von Sound Algorithmen: Erhöhen der Lautstärke Normalisierung von Sound Rückwärts-Sound

Mehr

Medienprogrammierung in Python Bildverarbeitung (1)

Medienprogrammierung in Python Bildverarbeitung (1) Termin 4: Medienprogrammierung in Python Bildverarbeitung (1) Grundlagen der Informatik Wintersemester 2006/07 Prof. Bernhard Jung Übersicht Folien im Web: http://www.informatik.tu-freiberg.de/lehre/pflicht/grundl/index_ws0607.html

Mehr

4.4 Imperative Algorithmen Verzweigung und Iteration

4.4 Imperative Algorithmen Verzweigung und Iteration Eine weitere bedingte Schleife kann in Java mit dem Schlüsselwort for definiert werden: for (; i ; ) Alle drei Bestandteile im Schleifenkopf sind Ausdrücke

Mehr

Termin 6: Medienprogrammierung in Python Bildverarbeitung (3)

Termin 6: Medienprogrammierung in Python Bildverarbeitung (3) Termin 6: Medienprogrammierung in Python Bildverarbeitung (3) Grundlagen der Informatik Wintersemester 2006/07 Prof. Bernhard Jung Übersicht Definition von Funktionen in Python Globale und lokale Namensräume

Mehr

WS2017/ Oktober 2017

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

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Einfache Bedingte Ausführung

Einfache Bedingte Ausführung Kontrollstrukturen Bisher Programme mit Funktionen als einfache Folge von Befehlen Ablauf von Programmen darüber hinaus steuerbar über Bedingte Ausführung: Ausführung von Programmteilen (Befehlen oder

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

Signalverarbeitung mit Python: Bilder

Signalverarbeitung mit Python: Bilder Kapitel 16: Signalverarbeitung mit Python: Bilder Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Farbräume Repräsentation digitaler Bilder Bildverarbeitung mit der Python

Mehr

WS2018/ Oktober 2018

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

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

WS2018/ Oktober 2018

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

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

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

Mehr

Algorithmik und Programmieren

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

Mehr

CG Übung 1: ColorConverter

CG Übung 1: ColorConverter CG Übung 1: ColorConverter Sascha Feldmann [email protected] Inhaltsverzeichnis 1 1 Profil 1.1 Aufgabe Erstellung eines ColorConverters. 1.2 Abgabe 24.04.2012 1.3 Autor Sascha Feldmann - 778455 1.4

Mehr

PYTHON. 03 for-schleifen, Funktionen

PYTHON. 03 for-schleifen, Funktionen PYTHON 03 for-schleifen, Funktionen for-schleife kann verwendet werden, um eine bestimmte Anzahl an Wiederholungen durchzuführen kann verwendet werden, um ein bestimmtes Objekt (z.b. eine Liste) zu durchlaufen

Mehr

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling [email protected] Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

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

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

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

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Ü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

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

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

Mehr

Access 2010 Programmierung Schleifen

Access 2010 Programmierung Schleifen Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Ü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

Mehr

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13 Python Intro Vorsemesterkurs Informatik Praktischer Teil WS2012/13 2.Oktober 2012 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!

Mehr

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010 Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den

Mehr

Übung zu Einführung in die Informatik # 14

Übung zu Einführung in die Informatik # 14 Übung zu Einführung in die Informatik # 14 Tobias Schill [email protected] 12. Februar 2016 Aktualisiert am 12. Februar 2016 um 11:13 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Antworten von

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

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

Mehr

Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14

Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14 Python Intro I Vorsemesterkurs Informatik Praktischer Teil WS 2013/14 1.Oktober 2013 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Farben. Spektrale Zerlegung der sichtbaren Lichtes. Folie 2

Farben. Spektrale Zerlegung der sichtbaren Lichtes. Folie 2 Farben Spektrale Zerlegung der sichtbaren Lichtes Folie 2 1 Additive und subtraktive Farbmischung Additives Modell Primäre Grundfarben: Rot, Grün, Blau Subreaktives Modell Primäre Grundfarben: Cyan, Magenta,

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

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if

Mehr

Grundlagen von C# - 2

Grundlagen von C# - 2 Grundlagen von C# - 2 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Arrays 2. Kontrollstrukturen 3. Verzweigungen Bedingte Verzweigung (if else) 4. Schleifen Kopfgesteuerte Schleife (while) Fußgesteuerte

Mehr

Programmieren: Bildbearbeitung

Programmieren: Bildbearbeitung Programmieren: Bildbearbeitung Das Thema der folgenden Aufgaben ist Bildbearbeitung. Sie erhalten dazu ein Rahmenprogramm, das bereits Bilder lesen und darstellen kann. Dieses Rahmenprogramm basiert auf

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

INFORMATIK FÜR BIOLOGEN

INFORMATIK FÜR BIOLOGEN Technische Universität Dresden 15012015 Institut für Theoretische Informatik Professur für Automatentheorie INFORMATIK FÜR BIOLOGEN Musterklausur WS 2014/15 Studiengang Biologie und Molekulare Biotechnologie

Mehr

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung Informatik I: Einführung in die Programmierung 7., While-, Hilfsfunktionen und Akkumulatoren Albert-Ludwigs-Universität Freiburg Peter Thiemann 13. November 2018 1 13. November 2018 P. Thiemann Info I

Mehr

Labor Software-Entwicklung 1

Labor Software-Entwicklung 1 Labor Software-Entwicklung 1 Übereinkunft zu Programmablaufplänen PAP - Grundlagen Wintersemester 2015/2016 Seite 1 von 9 Inhalt DIN 66 001: Sinnbilder für Programmablaufplan... 3 Grenzstelle... 3 Ablauflinie...

Mehr

Quick-Start Informatik Programmieren in Python Teil 1

Quick-Start Informatik Programmieren in Python Teil 1 Quick-Start Informatik 2011 Programmieren in Python Teil 1 Alles zum Praxisteil } Skript, Übungen, auf Folien... http://vorkurs.cs.uni-frankfurt.de Bücher: Gratis: http://learnpythonthehardway.org/ Fragen,

Mehr

Java Anweisungen und Ablaufsteuerung

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

Mehr

Girls Day 2017 Programmierung

Girls Day 2017 Programmierung Girls Day 2017 Programmierung Anke Brocker Quality Management Würselen, 27. April 2017 www.lancom-systems.de Programmierung 27.04.2017 - Übersicht Programmieren mit der Arduino IDE Die Arduino IDE Der

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund [email protected]

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

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 Wiederholung Anweisungen durch Methodenaufrufe Ausgabe

Mehr

Einführung in Python (1)

Einführung in Python (1) Kapitel 7: Einführung in Python (1) Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Die Programmiersprache Python Einfache Anweisungen Zuweisungen Eingabe Auswahl-Anweisung

Mehr

Medientechnik. Übung 5 Java Bildbearbeitung - Teil 2

Medientechnik. Übung 5 Java Bildbearbeitung - Teil 2 Medientechnik Übung 5 Java Bildbearbeitung - Teil 2 Planung Nr Zeitraum Thema 1 20.04. 25.04. Bildretusche mit Gimp 2 27.04. 01.05. GUI Programmierung 3 04.05. 08.05. Model-View Controller 4 18.05. 22.05.

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Kontrollstrukturen in PL/SQL

Kontrollstrukturen in PL/SQL Kontrollstrukturen in PL/SQL.1 Bedingte Anweisungen... -2.1.1 Die IF-THEN-Anweisung... -2.1.2 Die IF-THEN-ELSE-Anweisung... -.1.3 Die IF-THEN-ELSIF-Anweisung... -.1. Die CASE-Anweisung... -6.2 Schleifen

Mehr

Gültigkeitsbereich. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2016/

Gültigkeitsbereich. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2016/ Gültigkeitsbereich Funktionen Erinnerung: Python ist eine interpretierte Sprache! Funktionen müssen definiert sein, bevor sie aufgerufen werden können. T. Neckel Einführung in die wissenschaftliche Programmierung

Mehr

Java Ablaufsteuerung (Beispiele)

Java Ablaufsteuerung (Beispiele) Informatik 1 für Nebenfachstudierende Grundmodul Java Ablaufsteuerung (Beispiele) Kai-Steffen Hielscher Folienversion: 16. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Blöcke Anweisungen

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

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

Mehr

Einführung in die Programmsprache Python - Bedingte Anweisungen und Schleifen -

Einführung in die Programmsprache Python - Bedingte Anweisungen und Schleifen - Einführung in die Programmsprache Python - Bedingte Anweisungen und Schleifen - Kontrollanweisungen Mit Hilfe von Kontrollstrukturen kann der Programmablauf beeinflusst werden. In Abhängigkeit vom Wert

Mehr

Algorithmik und Programmieren

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

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

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

Mehr

Informatik I. Informatik I Iteratoren Generatoren Das Modul itertools. Iterierbare Objekte Iteratoren. Python-Interpreter

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

Mehr

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren 1 und der Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2015 27. Oktober 2015 B. Nebel Info I 3 / 21 Der Vergleichsoperatoren

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 09.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND

Mehr

Brückenkurs Programmieren

Brückenkurs Programmieren Brückenkurs Programmieren Tag 2: Schleifen und Funktionen Christopher Schölzel Technische Hochschule Mittelhessen 27. März 2018 Inhalt Schleifen Einleitung While For Funktionen 2 / 23 Inhalt Schleifen

Mehr

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am Digitale Bilder Ein Referat von Jacqueline Schäfer und Lea Pohl Am 06.05.2015 Inhaltsverzeichnis Einheiten Grafiktypen Bildformate Farbtiefe Farbbilder/ Farbräume Quellen Einführung in die Bildverarbeitung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max

2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max Kapitel 5 2D-Clipping Ziel: Nur den Teil einer Szene darstellen, der innerhalb eines Fensters sichtbar ist. y max y min x min x max Abbildung 5.1: Clip-Fenster 5.1 Clipping von Linien Zu einer Menge von

Mehr

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

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.

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

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

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

Mehr

Übungsstunde 3. Einführung in die Programmierung

Übungsstunde 3. Einführung in die Programmierung Übungsstunde 3 Einführung in die Programmierung Nachbesprechung Übung 3 Aufgabe 1: Folgen und Reihen import java.util.scanner; public class Reihe { public static void main(string[] args) { Scanner scanner

Mehr

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung: 2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

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

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

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

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

Mehr

Farbräume. Industrielle Bildverarbeitung, Vorlesung No M. O. Franz

Farbräume. Industrielle Bildverarbeitung, Vorlesung No M. O. Franz Farbräume Industrielle Bildverarbeitung, Vorlesung No. 13 1 M. O. Franz 16.01.2008 1 falls nicht anders vermerkt, sind die Abbildungen entnommen aus Burger & Burge, 2005. Übersicht 1 RGB- und HSV-Farbraum

Mehr

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Informatik. Wiederholung Felder (Arrays), string. Vorlesung Informatik Vorlesung 04 Wiederholung Felder (Arrays), string 19. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Ein C++ Programm: Wiederholung #include

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

12 == 12 true 12 == 21 false 4 === 7 true 4 === vier false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false Die if-anweisung if (Bedingung 1) { Code 1 else { Code 2 ; Anm.1: Das ; kann entfallen, da innerhalb { ein sog. Codeblock geschrieben wird. Anm.2: Es gibt noch andere Schreibweisen, aber wir wollen uns

Mehr