1 Münzerkennung. 1.1 Aufgabenstellung. 1.2 Vorgehensweise

Größe: px
Ab Seite anzeigen:

Download "1 Münzerkennung. 1.1 Aufgabenstellung. 1.2 Vorgehensweise"

Transkript

1 Ein Projekt von Christoph Lang (23641) und Alexander Ludas (23642) in der Vorlesung Labor Bildverarbeitung im Wintersemester 2007 an der HTW-Aalen. Umsetzungszeitraum: Aufgabenstellung Entwicklung eines Programms, welches auf einem Bild auf dem Euro-Münzen zu sehen sind, die Münzen finden, klassifizieren und aus ihnen den Gesamtbetrag errechnen kann. Das Ergebnis des Programms kann in Abbildung 1.9 auf Seite 14 und in Abbildung 1.10 auf Seite 14 angeschaut werden. 1.2 Vorgehensweise Im folgenden Abschnitt werden wir versuchen eine Kurzzusammenfassung über die Vorgehensweise zu vermitteln, bevor in den folgenden Sektionen noch einmal im Detail auf die einzelnen Schritte eingegangen wird. Vorgehensweise in Kurzform: Original-Bild einlesen. Bild in Graustufen-Bild umwandeln. (siehe Kapitel auf Seite 2 ) Graustufen-Bild in Canny-Bild umwandeln. (siehe Kapitel auf Seite 2 ) In Canny-Bild Konturen erkennen. (siehe Kapitel auf Seite 2 ) Ellipsen in Konturen-Bild einpassen. (Zu kleine Ellipsen herausfiltern) (siehe Kapitel auf Seite 2 und Kapitel auf Seite 3 ) Ellipsen in Original-Bild einzeichnen. Klassifizierung der Münzen. (siehe Kapitel auf Seite 3 und Kapitel auf Seite 3 ) Ausgabe des Ergebnisbildes. Die Klassifizierung der Münzen erfolgt dabei über die Größe und die Farbe. Durch die Größe der Münze wird eine Vorauswahl getroffen (siehe Kapitel auf Seite 3 ), danach wird eine genauere Klassifizierung aufgrund der Farbe getroffen (siehe Kapitel auf Seite 3 ). 1

2 1.2.1 Bild in Graustufen umwandeln Damit man die Kantendetektion in OpenCV nutzen kann, muss als erstes das Originalbild (siehe Abbildung 1.2 auf Seite 10) in ein Graubild umwandelt werden. Hierzu wird die Funktion cvcvt- Color() benutzt mit der wir unser Farbbild in ein Graustufenbild umwandeln, siehe Abbildung 1.3 auf Seite Kanten finden Um die Größe der Münze bestimmen zu können muss man zuerst die Kanten der Münzen finden. OpenCV stellt hierfür die Funktion cvcanny() zur Verfügung, welche den Sobelfilter benutzt. cv- Canny() schreibt dann das Ergebnis mit den gefundenen Kanten in das Zielbild, siehe Abbildung 1.4 auf Seite Konturen finden Um nun Konturen aus dem Bild herauszufiltern wird als erstes cvfindcontours() aufgerufen. Diese Funktion schreibt alle gefundenen Konturen in einen MemStorage. Die Konturen können dann in ein neues, schwarzes Bild mit der Funktion cvdrawcontours() eingezeichnet werden, siehe Abbildung 1.5 auf Seite Approximation in Ellipsen Die Approximation der Ellipsen funktioniert auf folgende Weise: Es wird mit der OpenCV Funktion cvfitellipse() versucht, Ellipsen auf das Bild zu legen. Dies geschieht auf dem Konturenbild, welches mittels cvdrawcontours() (siehe Kapitel auf Seite 2 ) erzeugt wurde. Die dadurch entstandenen Ellipsen sind ziemlich genau der Bereich des Bildes, auf dem die Münze liegt. Das Ergebnisbild dieses Vorgangs sieht dem Vorgängerbild relativ ähnlich, es wurden praktisch nur die Kanten in Rundungen umgewandelt Ellipsen normalisieren und falsche Ellipsen herausfiltern Es muss nun versucht werden die Ellipsen zu normalisieren und falsche bzw. zu kleine Ellipsen herauszufiltern. Bei der Normalisierung wird der Radius durch den Mittelwert der beiden Halbachsen definiert. Dies verhindert, dass Ei-förmige Ellipsen entstehen. Wir haben nun jede Ellipse zu Kreisen normalisiert. Radius = Height + W idth 2 Ebenfalls wird nun versucht falsche Ellipsen herauszufiltern (beispielsweise Rauschen). Das Programm überprüft für jede Ellipse ob Sie eine vorherbestimmte Mindestgröße hat. Diese Mindestgröße ist direkt im Programm definiert (Radius: 40px). Wird die Mindestgröße von den Münzen unterschritten, ist keine sinnvolle Klassifizierung mehr möglich, da die Größenunterschiede zu fein wären. Demzufolge wird alles unterhalb der Mindestgröße herausgefiltert. (1.1) 2

3 1.2 Vorgehensweise a 1 Ellipsen : if a 1 < 40px then Ellipsen = Ellipsen a 1 (1.2) Es wird anschließend noch jede Ellipse mit allen anderen Verglichen ob sie sich innerhalb einer anderen befindet (Funktion bool isinside(ellipse* other) ). Dies bewirkt, daß Kreise/Ellipsen auf den Münzen ebenfalls herausgefiltert werden (Ein Beispiel hierfür wäre die 0 bei der 10-Cent Münze), da der größte Kreis/Ellipse den eine Münze haben kann immer ihr Radius ist. a 1, a 2 Ellipsen : if a 1 a 2 then Ellipsen = Ellipsen a 1 (1.3) Das Ergebnis ist in Abbildung 1.6 auf Seite 12 zu sehen. Zur Kontrolle werden die Ellipsen noch in das Originalbild eingezeichnet, siehe Abbildung 1.7 auf Seite Vorklassifizierung über die Größe Die Euro Münzen haben folgende Größen: 1 Cent: 16.25mm 2 Cent: 18.75mm 5 Cent: 21.25mm 10 Cent: 19.75mm 20 Cent: 22.25mm 50 Cent: 24.25mm 1 Euro: 23.25mm 2 Euro: 25.75mm Unter optimalen Bedingungen könnte man den Wert der Münzen rein über die Größe bestimmen. Da sich aber die Münzgrößen nur um 1-1.5mm unterscheiden und man nicht immer optimale Bilder vorliegen hat, kann man nicht immer exakt sagen um welche Münze es sich handelt. Da jedoch die 1 Cent und die 2 Euro Münze keinen Vorgänger beziehungsweise Nachfolger haben, kann man diese doch sehr klar über die Größe klassifizieren. Bei den anderen Münzen muss man hingegen ein anderes Merkmal der Münze betrachten um deren genauen Wert zu erhalten. Dies geschieht hier über die Farbe Genauere Klassifizierung anhand der Farbe Da man nicht alle Münzen über die Größe klassifizieren kann, muss man nun die Farbe der Münze untersuchen. 3

4 Münzen ohne Ring Münzen mit ungefähr gleicher Größe ohne Ring: 2 Cent / 10 Cent 5 Cent / 20 Cent Durch eine Auswertung von einer sehr großen Anzahl von Bildern ( ca Bilder), haben wir durch statistische Analysen herausgefunden, daß folgende Methode die Farben der Münzen sehr gut klassifiziert. Hierbei wird ein Quadrat in die Münze eingepasst und alle Farbwerte in diesem Quadrat ermittelt, sowie der Durchschnitt dieser Werte berechnet, siehe Abbildung 1.8 auf Seite 13. Bei der goldenen Farbe der Münzen ist zu beobachten, das die Differenz zwischen der Differenz vom grünen und roten Farbwert und der Differenz vom grünen und blauen Farbwert meistens über 10 liegt. Bei bronzenen Münzen ist genau das Gegenteil der Fall. Hier beträgt die Differenz meist deutlich weniger als 10, bzw. ist negativ. a = Dif f erenz(grün, Rot) (1.4) b = Dif f erenz(grün, Blau) (1.5) x = a b (1.6) if x > 10 then Gold else Bronze (1.7) Das heisst, wenn man die ungefähre Größe der Münze ermittelt hat, kann man durch dieses Merkmal die Farbe der Münze bestimmen und somit auch deren Wert Münzen mit Ring Münzen mit ungefähr gleicher Größe und mit Ring: 20 Cent / 1 Euro 50 Cent / 1 Euro Münzpaare bei denen ein Ring vorhanden sein kann, kann man relativ leicht bestimmen. Hierbei betrachtet man die Farbunterschiede zwischen eventuell vorhandenem Ring und Münzmitte. Hierzu wird in das Münzinnere ein Quadrat gelegt (siehe Kapitel auf Seite 4 ). Nur dieses Mal wird das Quadrat nicht bis zum Rand der Münze eingepasst, sondern so gewählt, daß es, wenn ein Ring vorhanden ist, diesen nicht schneidet (siehe Abbildung 1.8 auf Seite 13). Danach werden die Farbwerte an den Stellen bestimmt, an der ein Ring vorhanden sein könnte und auch hiervon wird der Durchschnitt der Farbwerte berechnet. Nun werden die Werte von Münzmitte und Münzring verglichen. Handelt es sich um eine einfarbige Münze, also eine Münze die keinen 4

5 1.3 Das Programm Ring besitzt, unterscheiden sich die ermittelten Farbwerte nur sehr gering. Ist der Unterschied größer, kann man davon ausgehen das es sich hier um eine Münze mit Ring handelt. Um die Koordinaten der Punkte zu berechnen, welche auf dem Ring liegen wurde folgende Formel benutzt: Formel 1.9 auf Seite 5 berechnet den durchschnittlichen Farbwert der Punkte, welche sich im linken, oberen Quadranten der Münze befinden (2 Quadrant). Siehe hellblaue Markierung in Abbildung 1.8 auf Seite 13. r = Radius, rb = Ringbreite, (x/y) = Ellipsenmittelpunkt (1.8) (r rb) xi=(x r) j=r F arbwert(i, y j 2 (x i) 2 ) r rb Für die 3 anderen Quadranten kann die Formel 1.9 auf Seite 5 einfach umgestellt werden. (1.9) 1.3 Das Programm Wir haben zur Überprüfung unserer Klassifizierungstheorie und zum Testen das Programm CoinCounter entwickelt. Hierbei wurde das Microsoft Visual Studio 2005 mit der freien Bibliothek OpenCV in der Version 1.00 verwendet. Das Programm wurde als Konsolenanwendung implementiert und die grafische Ausgabe wird mittels cvnamedwindow() von OpenCV erzeugt. Die Designentscheidung, das Programm als Konsolenanwendung zu implementieren, wurde nicht zuletzt dadurch begründet, dass man es somit relativ leicht in eine bereits bestehende Anwendung integrieren könnte. Ein Beispiel hierfür wäre eine Intranet-/Internetanwendung, in welcher der Benutzer mittels PHP ein Bild auf den Server überträgt, und der Webserver das Programm CoinCounter ausführt. Hier ist der Umstand von Vorteil, das der ermittelte Gesamtbetrag, gleichzeitig auch der Rückgabewert der Anwendung ist. Somit muss nur dieser Ausgelesen werden. Das Programm selbst ist größtenteils objektorientiert entwickelt worden. Es besteht aus folgenden Klassen/Funktionen: CoinCounter Das eigentliche Programm. Die Klasse CoinCounter hat dabei folgende Attribute bzw. Methoden, welche in Tabelle 1.2 auf Seite 7 eingesehen werden können. (Der Übersichtlichkeit halber wurde die Tabelle gekürzt. Die Klasse hat weitere Methoden und ebenfalls überladene Funktionen und Konstruktoren. Genauere Informationen sind in der Datei CoinCounter.h zu finden.) Ellipse Klasse zum komfortablen Verwalten der Ellipsen auf dem Bild. Die Klasse Ellipse hat dabei folgende Attribute bzw. Methoden, welche in Tabelle 1.1 auf Seite 6 eingesehen werden können. main() Keine Klasse, sondern die Einstiegsfunktion des Programms. 5

6 Sichtbarkeit Typ Name private Attribut int width private Attribut int height private Attribut int center_y private Attribut int center_x private Attribut double angle private Attribut int radius private Attribut int toleranz private Attribut int mindiameter public Methode EllipseStore(int x,int y, int w, int h, double a) public Methode int get_y() public Methode int get_x() public Methode int get_w() public Methode int get_h() public Methode int get_radius() public Methode double get_a() public Methode bool isinside(ellipsestore* other) public Methode bool iscircle() public Methode bool isminsize() public Methode void print() Tabelle 1.1: Klasse Ellipse 6

7 1.3 Das Programm Sichtbarkeit Typ Name private Attribut double Muenzgroessen[8] private Attribut int Gesamtbetrag private Attribut IplImage* ProcessImage private Attribut IplImage* OriginalImage private Attribut IplImage* OutputImage private Attribut IplImage* TemplateImage private Attribut char* swindowname private Attribut int anzellipses private Attribut CvScalar getcolorfromarea(iplimage* img, int x,...) private public Methode void converttograyscale() public Methode void converttocanny() public Methode void printallelipses(iplimage* img) public Methode void findcontours() public Methode int classify(iplimage* img, int x,... ) public Methode int getbetrag() public Methode void process(int index,bool copy=true) public Methode void drawimage() public Methode CoinCounter(char* Filename,char* TemplateFilename) public Tabelle 1.2: Klasse CoinCounter 7

8 c:\coincounter.exe Coin Counter 1.00 Programmed by Christoph Lang & Alexander Ludas with OpenCV 1.0 Usage: coincounter imagefile [templatefile] Where Templatefile must contain a 2-Euro Coin Abbildung 1.1: Coin Counter Ausgabe Funktionsweise Die main() Methode wertet die Kommandozeilen-Parameter aus und bildet eine Instanz vom Typ CoinCounter. Daraufhin wird dem Objekt mitgeteilt, dass alle Schritte der Klassifizierung abgearbeitet werden sollen. Damit wird die Kontrolle an die Klasse CoinCounter übergeben und die main()-funktion wartet nur noch auf die Beendigung. Die Klasse CoinCounter hat dabei eine Methode namens process(), welche die gesamte Steuerung des Programms übernimmt Übergabeparameter Da das Programm CoinCounter eine Konsolenanwendung ist, muss es über die Eingabeaufforderung gestartet werden. Dem Programm müssen beim Aufruf bestimmte Parameter übergeben werden. Geschieht dies nicht, erscheint die Ausgabe in Abbildung 1.1 auf Seite 8. imagefile Das Bild, welches untersucht werden soll. Da das Einlesen der Bilddaten mittels OpenCV erfolgt, wird eine Vielzahl von Eingabeformaten unterstützt. Beispiele hierfür wären die Dateiendungen *.jpg, *.bmp, *.tif, usw... templatefile Das Vorlagenbild, aufgrund dessen die Klassifizierung stattfindet. [Optional]. Dem Programm muss ein Bild als zweiter Parameter mitgegeben werden, welches als Templatefile verwendet wird. Dieses Bild beinhaltet eine 2-Euro Münze welche unter den gleichen Bedingungen aufgenommen wurde, wie auch die Bilder der Münzen, welche erkannt werden sollen. Das Bild, welches untersucht werden soll kann ebenfalls selbst Template sein, wenn sich auf ihm mindestens eine 2 Euro Münze befindet. Der zweite Parameter ist dann nicht erforderlich. Also wenn das Programm aufgerufen wird mit Coin- Counter.exe bild1.jpg ist dies gleichbedeutend mit CoinCounter.exe bild1.jpg bild1.jpg. imagefile und templatefile sind dabei das gleiche Bild. 8

9 1.4 Einschränkungen / Probleme Schiebereglerpositionen Sobald das Pogramm erfolgreich gestartet wurde, hat man durch den Schieberegler die Möglichkeit, die Arbeitsweise des Programs in Einzelschritten zu verfolgen. Eine Kurze Erklärung über die Schiebereglerpositionen: Original-Bild einlesen. Bild in Graustufen-Bild umwandeln. (siehe Kapitel auf Seite 2 ) Graustufen-Bild in Canny-Bild umwandeln. (siehe Kapitel auf Seite 2 ) In Canny-Bild Konturen erkennen. (siehe Kapitel auf Seite 2 ) Ellipsen in Konturen-Bild einpassen. (Zu kleine Ellipsen herausfiltern) (siehe Kapitel auf Seite 2 und Kapitel auf Seite 3 ) Ellipsen in Original-Bild einzeichnen. Klassifizierung der Münzen. (siehe Kapitel auf Seite 3 und Kapitel auf Seite 3 ) Ausgabe des Ergebnisbildes. 1.4 Einschränkungen / Probleme Wir mussten bei der Umsetzung des Projekts ein paar kleinere Vorgaben an die Bilder machen. Momentan funktioniert das Programm korrekt, für Bilder, welche auf unserem Scanner eingescannt wurden. Wir verwendeten dabei einen schwarzen Hintergrund. Theoretisch sollte das Programm auch für Bilder funktionieren, welche mit einer Kamera (Digitalkamera, Webcam,... ) aufgenommen wurden und einen beliebigen Hintergrund haben. Wir haben es aber trotz intensiver Bemühung nicht hinbekommen, die Szene so auszuleuchten, dass kein Schattenwurf entsteht, welcher die Erkennung der Münzgröße beeinflusst. Durch einscannen mit einem schwarzen Hintergrund konnten wir den Schatten jedoch eliminieren. Das Hauptaugenmerk lag auf der Klassifizierung der bereits korrekt gefundenen Münzen. (Das Auffinden bezüglich der Position auf dem Bild, wurde mit bereits implementierten Funktionen von OpenCV realisiert.) Ebenfalls ist die Einschränkung definiert, das nur Münzen erkannt werden können, welche komplett sichtbar sind und nicht auf anderen Münzen liegen. Falls Beispielsweise eine 1-Cent Münze auf einem 2-Euro Stück liegt, kann nicht garantiert werden, daß eine/oder beide Münzen erkannt werden. Als letzte Einschränkung: Dem Programm muss ein Bild als zweiter Parameter mitgegeben werden, welches als Templatefile verwendet wird. Dieses Bild beinhaltet eine 2-Euro Münze 9

10 welche unter den gleichen Bedingungen aufgenommen wurde, wie auch die Bilder der Münzen, welcher erkannt werden sollen. Das Bild, welches untersucht werden soll kann ebenfalls selbst Template sein, wenn sich auf ihm mindestens eine 2 Euro Münze befindet. Der zweite Parameter ist dann nicht erforderlich. 1.5 Fazit Zusammenfassend sind wir der Meinung das die Aufgabenstellung erfolgreich umgesetzt wurde. Das Programm erkennt und klassifiziert die Münzen korrekt, allerdings mit Einschränkungen (siehe Kapitel 1.4 auf Seite 10 ). Wegen der engen Zeitplanung konnte leider kein Code- Refactoring mehr durchgeführt werden, was bedeutet, daß das Programm nicht unbedingt optimal bezüglich Laufzeit/Speicher arbeitet. Nichtsdestotrotz erfüllt es seine Aufgabe. Wie könnte man mit dem Ergebnis weiterarbeiten? Man könnte die Konsolenanwendung in bereits bestehende Anwendungen integrieren (Bsp.: Webserver/PHP (siehe Kapitel 1.3 auf Seite 5 ) ). Ebenfalls könnte man die Klassifikation ausweiten auf ausländische Münzen (nicht Euro Münzen), oder aber auch Geldscheine. Des Weiteren könnte man dem Programm weitere Sensordaten geben, so daß die Klassifikation nicht nur optisch stattfindet, sondern zum Beispiel durch Gewichts-Messung. Wir hoffen, daß durch diese Dokumentation/Zusammenfassung ein zufriedenstellender Überblick über das Projekt, die Vorgehensweise und das Programm CoinCounter entstanden ist. 1.6 Anhang Abbildung 1.2: Originalbild 10

11 1.6 Anhang Abbildung 1.3: Graubild Abbildung 1.4: Canny-Bild 11

12 Abbildung 1.5: Konturenbild Abbildung 1.6: Ellipsenbild 12

13 1.6 Anhang Abbildung 1.7: Ellipsen in Originalbild Abbildung 1.8: Münzklassifizierung 13

14 Abbildung 1.9: Ergebnisbild Abbildung 1.10: Konsole 14

Klassen mit Instanzmethoden

Klassen mit Instanzmethoden Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07

Mehr

Klausur Software-Entwicklung März 01

Klausur Software-Entwicklung März 01 Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,

Mehr

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung Prof. Redlich 6. Übungsblatt 21 (+4) Punkte Abgabe bis 31.01.2010 (08:00 Uhr) über GOYA Aufgabe

Mehr

Wissenschaftliches Rechnen

Wissenschaftliches Rechnen Institut für Numerische und Angewandte Mathematik 11.04.2012 FB Mathematik und Informatik der Universität Münster Prof. Dr. Christian Engwer, Dipl. Math. Dipl. Inf. Sebastian Westerheide Übung zur Vorlesung

Mehr

Objektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik

Objektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Organisatorisches Im Web unter http://www.uni-ulm.de/psh Vorwissen Du kannst bereits Klassen als Typen mit statischen

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

2 Teil 2: Nassi-Schneiderman

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

Mehr

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Letztes Mal static int ggt(int a, int b) { if (a == b) return a; else if (a > b) } return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Darf hier nicht stehen! Compiler sagt: Missing return statement

Mehr

Objektorientierung. Marc Satkowski 20. November C# Kurs

Objektorientierung. Marc Satkowski 20. November C# Kurs Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Informatik Hochschule Mainz Geoinformatik und Vermessung. Wiederholung. Frohes Fest und Guten Rutsch!

Informatik Hochschule Mainz Geoinformatik und Vermessung. Wiederholung. Frohes Fest und Guten Rutsch! Wiederholung Frohes Fest und Guten Rutsch! Inhaltsverzeichnis Programme kompilieren...1 Eclipse bedienen...2 Rechnen mit Literalen...2 Rechnen mit Variablen...2 Sequenzielle Anweisungen...3 Selektive Anweisungen...3

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Red Barklay ist übergewichtig [21,26]. Sein Körpergewicht beträgt 90 kg und Ihre Körpergröße beträgt 1.75 m. Er ist 38 Jahre alt.

Red Barklay ist übergewichtig [21,26]. Sein Körpergewicht beträgt 90 kg und Ihre Körpergröße beträgt 1.75 m. Er ist 38 Jahre alt. Seite 1 Idee, Zweck, Systembeschreibung: Für den Sportunterricht brauchen Personen einen Body-Mass-Index- Rechner (BMIRechner). Hierfür soll es möglich sein, auf einer Benutzeroberfläche (Hauptfenster)

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

hue13 January 30, 2017

hue13 January 30, 2017 hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Übungsaufgabe Parameter und Verteilungsschätzung

Übungsaufgabe Parameter und Verteilungsschätzung Übungsaufgabe Parameter und Verteilungsschätzung Prof. Dr. rer. nat. Lüders Datum: 21.01.2019 Autor: Marius Schulte Matr.-Nr.: 10049060 FH Südwestfalen Aufgabenstellung Analysiert werden sollen die Verteilungen

Mehr

Versuch C: Auflösungsvermögen Einleitung

Versuch C: Auflösungsvermögen Einleitung Versuch C: svermögen Einleitung Das AV wird üblicherweise in Linienpaaren pro mm (Lp/mm) angegeben und ist diejenige Anzahl von Linienpaaren, bei der ein normalsichtiges Auge keinen Kontrastunterschied

Mehr

Programmieren Übung! Meine ersten Schritte als ProgrammiererIn! Prolog 2014 Stefan Podlipnig, TU Wien

Programmieren Übung! Meine ersten Schritte als ProgrammiererIn! Prolog 2014 Stefan Podlipnig, TU Wien Programmieren Übung! Meine ersten Schritte als ProgrammiererIn! Stefan Podlipnig, TU Wien Beispiel 1 Programmierung - Übung! 2 Geben Sie folgende Anweisungen ein size(300, 200); rect(100, 50, 100, 100);

Mehr

Über die Vereinfachung der Gewichtsberechnung bei Umlegierungen

Über die Vereinfachung der Gewichtsberechnung bei Umlegierungen Über die Vereinfachung der Gewichtsberechnung bei Umlegierungen (veröffentlicht in Uhren & Juwelen 10/1993) Inhalt: VORWORT... 2 DIE PRAXIS... 3 Das Auf- und Ablegieren:... 3 Tabelle 1: (Goldlegierungen)...

Mehr

Einführung in die Programmierung für NF MI. Übung 07

Einführung in die Programmierung für NF MI. Übung 07 Einführung in die Programmierung für NF MI Übung 07 Inhalt Wiederholung Kommentare Wiederholung Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 07 2 Wiederholung Kommentare Kommentare

Mehr

Aufgabenblatt 2. Kompetenzstufe 2. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 2. Kompetenzstufe 2. Allgemeine Informationen zum Aufgabenblatt: Aufgabenblatt 2 Kompetenzstufe 2 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 01.12.2017 13:00 Uhr in TUWEL hoch.

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

Mehr

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Java, OO und UML Fortsetzung

Java, OO und UML Fortsetzung Java, OO und UML Fortsetzung Das Objektorientierte Paradigma OO bildet keine geschlossene theoretisch abgegrenzte Basis (wie z.b. das Relationsmodell relationaler Datenbanken) OO ist eine Sammlung und

Mehr

Programmierung Nachklausurtutorium

Programmierung Nachklausurtutorium Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel

Mehr

Musterübung 09: Vererbung und Dynamische Bindung

Musterübung 09: Vererbung und Dynamische Bindung Musterübung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Hofer) G4 (Angerer) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich

Mehr

MatLab Teil 2: weitere Operationen, Dateien und Bildformate

MatLab Teil 2: weitere Operationen, Dateien und Bildformate MatLab Teil 2: weitere Operationen, Dateien und Bildformate Dr. Martin Gollbach 1 Weitere Operationen 2 Vergleichsoperationen Gleichheit Symbol: == Bsp.: if I == J end A(I,J) = 1; Ungleichheit Symbol:

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung

Mehr

- EINSTIEG IN JAVA - (1/5) Datum:

- EINSTIEG IN JAVA - (1/5) Datum: - EINSTIEG IN JAVA - (1/5) Datum: 2.2 Wir lernen die Programmiersprache Java und entwickeln ein Computerspiel Schritt #1: Constructor-Methoden: Wir setzen die beiden Spieler in die 'Welt' (das Spielfeld)

Mehr

Selbsteinstufungstest Vorkurs Programmieren

Selbsteinstufungstest Vorkurs Programmieren VPR Selbsteinstufungstest Vorkurs Programmieren Zeit 90 Minuten Aufgabe 1: Einzigartig (10 Punkte) Schreiben Sie eine Methode die angibt, ob ein String str1 in einem zweiten String str2 genau einmal vorkommt.

Mehr

Übungen zum Bioinformatik-Tutorium. Blatt 3

Übungen zum Bioinformatik-Tutorium. Blatt 3 Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 3 Termin: Dienstag, 6.11.2018, 11 Uhr 1. Hello World

Mehr

Vorbereitende Aufgaben

Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19 Fakultät für Informatik Lehrstuhl 1 Lars Hildebrand Übungsblatt 9 Besprechung: 07. 11.01.2019 (KW 2) Vorbereitende

Mehr

Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4

Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4 Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4 Inhalt dieser Einheit Merkmale und Syntax der verschiedenen Kontrollstrukturen: if else switch while do while for break, continue EXKURS: Rekursion 2 Kontrollstrukturen

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Grundlagen. Übungen. Klassen, Attribute, Assoziationen, Methoden. Grundlagen_Klassen_Attribute_Assoziationen_Methoden.odt. Christine Janischek

Grundlagen. Übungen. Klassen, Attribute, Assoziationen, Methoden. Grundlagen_Klassen_Attribute_Assoziationen_Methoden.odt. Christine Janischek Grundlagen Übungen Modulname: Klassen, Attribute, Assoziationen, Methoden Stand: 28. Nov 2016 Christine Janischek Berufliches Schulzentrum Wangen Seite 1 von 11 Inhaltsverzeichnis 1 Grundlagen...3 1.1

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Variablenzugriff und Eingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Zugriff auf Instanzvariablen Praktisches Beispiel: Student

Mehr

7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor

7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor 7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor Das Programmbeispiel aus dem letzten Abschnitt läßt sich bisher nicht zufriedenstellend zu Ende bringen. Unerklärliche Abstürze und Fehlverhalten

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

Auswertung P2-10 Auflösungsvermögen

Auswertung P2-10 Auflösungsvermögen Auswertung P2-10 Auflösungsvermögen Michael Prim & Tobias Volkenandt 22 Mai 2006 Aufgabe 11 Bestimmung des Auflösungsvermögens des Auges In diesem Versuch sollten wir experimentell das Auflösungsvermögen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Prüfung Informatik D-MATH/D-PHYS

Prüfung Informatik D-MATH/D-PHYS Prüfung Informatik D-MATH/D-PHYS 24.1.2011 Dr. Bernd Gartner, Prof. Juraj Hromkovic Lösung. Aufgabe 1. Die Variable x ist vom Typ int und hat zu Beginn jeder Auswertung den Wert 2. Die Variable b ist vom

Mehr

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Informatik Labor für technische Informatik Projektarbeit Java 4-Gewinnt 2004, Labor für Technische Informatik Dateiname:

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das

Mehr

Arbeitsblatt 6: Programmierung geometrischer Figuren

Arbeitsblatt 6: Programmierung geometrischer Figuren Arbeitsblatt 6: Programmierung geometrischer Figuren Die Karten, auf denen die Lärmmessungen dargestellt werden, bestehen aus einer Vielzahl geometrischer Formen. Diese geometrischen Formen ergeben zusammen

Mehr

Grundlagen der Objektorientierten Programmierung - Methoden -

Grundlagen der Objektorientierten Programmierung - Methoden - Methoden In ihrem formalen Aufbau entsprechen Java-Methoden den Funktionen in C und C++. Eine Methode dient dazu, eine häufig benötigte Folge von Anweisungen unter einem Namen zusammenzufassen und zum

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Wir sollen erarbeiten, wie man mit Hilfe der Mondentfernung die Entfernung zur Sonne bestimmen kann.

Wir sollen erarbeiten, wie man mit Hilfe der Mondentfernung die Entfernung zur Sonne bestimmen kann. Expertengruppenarbeit Sonnenentfernung Das ist unsere Aufgabe: Wir sollen erarbeiten, wie man mit Hilfe der Mondentfernung die Entfernung zur Sonne bestimmen kann. Konkret ist Folgendes zu tun: Lesen Sie

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 11 1 Aufgabe: Codeverständnis 1.1 Aufgabenstellung Notieren Sie, was der folgende Code ausgeben würde, wenn er so in einer

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

1 pulsierender Speicher

1 pulsierender Speicher 1 pulsierender Speicher 1.1 Aufgabentyp Gegeben sei das folgende C-Programm: [...] (a) Geben Sie den Gültigkeitsbereich jedes Objektes des Programms an. (b) Stellen Sie die Rechnung des Programms für die

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Objektorientierung (OO)

Objektorientierung (OO) Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members

Mehr

Ein erstes "Hello world!" Programm

Ein erstes Hello world! Programm OOP Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Die Benutzer Oberfläche von HOOPLU...2 2.1 Projekte öffnen und speichern...2 2.2 Die Klasse Program

Mehr

1 Grundlagen der Objektorientierung

1 Grundlagen der Objektorientierung Kapitel 1 Grundlagen der Objektorientierung Seite 1/8 1 Grundlagen der Objektorientierung Dieses Kapitel stellt eine solide, pragmatische Einführung in die fundamentalen Konzepte der Objektorientierung

Mehr

Aufgabenblatt 1. Kompetenzstufe 2. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 1. Kompetenzstufe 2. Allgemeine Informationen zum Aufgabenblatt: Aufgabenblatt 1 Kompetenzstufe 2 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 10.11.2017 13:00 Uhr in TUWEL hoch.

Mehr

Vorbereitende Aufgaben

Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;

Mehr

Parameterübergabemechanismen für den Methodenaufruf

Parameterübergabemechanismen für den Methodenaufruf Methode, griech. der Weg zu etwas, planmäßiges Verfahren -Brockhaus Parameterübergabemechanismen für den Methodenaufruf Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw

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

Tag 2 Repetitorium Informatik (Java)

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

Mehr

Leseprobe. Uwe Krieg. NX 6 und NX 7. Bauteile, Baugruppen, Zeichnungen ISBN: Weitere Informationen oder Bestellungen unter

Leseprobe. Uwe Krieg. NX 6 und NX 7. Bauteile, Baugruppen, Zeichnungen ISBN: Weitere Informationen oder Bestellungen unter Leseprobe Uwe Krieg NX 6 und NX 7 Bauteile, Baugruppen, Zeichnungen ISBN: 978-3-446-41933-9 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41933-9 sowie im Buchhandel. Carl

Mehr

Das Feld Script können Sie leer lassen. Hier könnten weitere Scripts eingebunden werden, welche Sie z.b. selbst entwickelt haben.

Das Feld Script können Sie leer lassen. Hier könnten weitere Scripts eingebunden werden, welche Sie z.b. selbst entwickelt haben. Seite erstellen und bearbeiten Neue Seite erstellen Klicken Sie auf Administrator Neue Seite um eine Seite zu erstellen. Geben Sie der Seite unter Seitenname den Namen welcher in der Navigation erscheinen

Mehr

GFS im Fach Mathematik. Florian Rieger Kl.12

GFS im Fach Mathematik. Florian Rieger Kl.12 file:///d /Refs/_To%20Do/12_09_04/NewtonVerfahren(1).html 27.02.2003 GFS im Fach Mathematik Florian Rieger Kl.12 1. Problemstellung NewtonApproximation Schon bei Polynomen dritter Ordnung versagen alle

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8

Mehr

Aufgabenblatt 3. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 3. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt: Aufgabenblatt 3 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 24.11.2017 13:00 Uhr in TUWEL hoch.

Mehr

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

INHALTSVERZEICHNIS. Einleitung Allgemeines

INHALTSVERZEICHNIS. Einleitung Allgemeines Einleitung Allgemeines INHALTSVERZEICHNIS 1 Einleitung...3 1.1 Allgemeines...3 2 Arbeiten mit der Massenermittlung...4 2.1 Die Oberfläche...5 2.2 Einstellungen...6 2.3 Darstellung...6 2.3.1 Bauteile in

Mehr

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10 Klausur zur Lehrveranstaltung Technische Informatik für Ingenieure WS 2009/10 22. Februar 2010 Aufgabe 1 2 3 4 5 6 7 Summe mögliche Punkte 15 15 20 15 20 20 15 120 erreichte Punkte Note: Hinweise: Diese

Mehr

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code: 7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen

Mehr

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein Delegates «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen 2 Definition 3 Definition Ein Delegat

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Probe-Klausur Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Mathematische Funktionen

Mathematische Funktionen Mathematische Funktionen Viele Schüler können sich unter diesem Phänomen überhaupt nichts vorstellen, und da zusätzlich mit Buchstaben gerechnet wird, erzeugt es eher sogar Horror. Das ist jedoch gar nicht

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden

Mehr

Skript Prozentrechnung. Erstellt: 2015/16 Von: www.mathe-in-smarties.de

Skript Prozentrechnung. Erstellt: 2015/16 Von: www.mathe-in-smarties.de Skript Prozentrechnung Erstellt: 2015/16 Von: www.mathe-in-smarties.de Inhaltsverzeichnis Vorwort... 2 1. Einführung... 3 2. Berechnung des Prozentwertes... 5 3. Berechnung des Prozentsatzes... 6 4. Berechnung

Mehr

(Ausnahmebehandlung)

(Ausnahmebehandlung) 16. Exceptions (Ausnahmebehandlung) 16-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 16: Exceptions (Ausnahmebehandlung) Motivation Throw und Catch 16. Exceptions (Ausnahmebehandlung) 16-2

Mehr

Elementare Geometrie. Inhaltsverzeichnis. info@mathenachhilfe.ch. Fragen und Antworten. (bitte nur für den Eigengebrauch verwenden)

Elementare Geometrie. Inhaltsverzeichnis. info@mathenachhilfe.ch. Fragen und Antworten. (bitte nur für den Eigengebrauch verwenden) fua0306070 Fragen und Antworten Elementare Geometrie (bitte nur für den Eigengebrauch verwenden) Inhaltsverzeichnis 1 Geometrie 1.1 Fragen............................................... 1.1.1 Rechteck.........................................

Mehr

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt: Technische Informatik für Ingenieure WS 00/0 Übungsblatt Nr. 0. Januar 0 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin Koch Dominik Lüke

Mehr

Kegelschnitte. Evelina Erlacher 13. & 14. M arz 2007

Kegelschnitte. Evelina Erlacher 13. & 14. M arz 2007 Workshops zur VO Einfu hrung in das mathematische Arbeiten im SS 2007 Kegelschnitte Evelina Erlacher 13. & 14. M arz 2007 Denken wir uns einen Drehkegel, der nach oben als auch nach unten unbegrenzt ist.

Mehr

Gegeben: Eine Menge von Objekten mit Merkmalen (beobachtet oder gemessen) Die gegebene Menge heißt auch Grundgesamtheit.

Gegeben: Eine Menge von Objekten mit Merkmalen (beobachtet oder gemessen) Die gegebene Menge heißt auch Grundgesamtheit. Kapitel 1 Beschreibende Statistik Gegeben: Eine Menge von Objekten mit Merkmalen (beobachtet oder gemessen) Gesucht: Übersichtliche Beschreibung Die gegebene Menge heißt auch Grundgesamtheit. Beispiele

Mehr

Softwareentwicklung I

Softwareentwicklung I FAKULTÄT FÜR TECHNIK STUDIENGÄNGE ELEKTROTECHNIK / INFORMATIONSTECHNIK (ET/IT) TECHNISCHE INFORMATIK (TI) MECHATRONIK (MEC) MEDIZINTECHNIK (MT) Softwareentwicklung I Arbeiten mit Visual Studio 2010 Projekt

Mehr

1. Lineare Funktionen und lineare Gleichungen

1. Lineare Funktionen und lineare Gleichungen Liebe Schülerin! Lieber Schüler! In den folgenden Unterrichtseinheiten wirst du die Unterrichtssoftware GeoGebra kennen lernen. Mit ihrer Hilfe kannst du verschiedenste mathematische Objekte zeichnen und

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015 Fakultät IV NI & CV Probeklausur Java Einführung in die Informatik Wintersemester 2014/2015 Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen

Mehr