Ein O-O Design Beispiel. Ein Reservierungs-Panel. Das Übergangs-Diagramm. Programmierung im Grossen Bertrand Meyer Vorlesung 19

Größe: px
Ab Seite anzeigen:

Download "Ein O-O Design Beispiel. Ein Reservierungs-Panel. Das Übergangs-Diagramm. Programmierung im Grossen Bertrand Meyer Vorlesung 19"

Transkript

1 Programmierung im Grossen Bertrand Meyer Vorlesung 9 Ein O-O Design Beispiel Letzte Aktualisierung: 8. Juni 004 Ein Reservierungs-Panel -- Enquiry on Flights -- Flight sought from: Santa Barbara Departure on or after: 3 June Preferred airline (s): Special requirements: To: Zurich On or before: 4 June AVAILABLE FLIGHTS: Flt#AA 4 Dep 8:5 Arr 7:45 Thru: Chicago Choose next action: 0 Exit Further enquiry 3 Reserve a seat Das Übergangs-Diagramm Initial 3 3 Confirmation Enquiry_on _flights Reservation Enquiry_on _seats 3

2 Ein erster Versuch PEnquiry_on_flights: output enquiry on flights screen repeat read user s answers and his exit choice C if error in answer then output message until no error in answer process answer inspect C when C0 then goto Exit when C then goto P... when Cm- then goto PReservation... (und ähnlich für jeden Zustand) 4 Was ist mit dem Schema falsch? Komplizierte Verzweigungs-Struktur ( spaghetti bowl ). Erweiterungs-Probleme: Dialog-Struktur in der Programm-Struktur codiert. 5 Eine funktionale, top-wn Lösung Für mehr Flexibilität, stelle die Struktur des Übergangs- Diagramms durch eine Funktion transition (i, k) dar. Diese wird verwet, um das Übergangs-Diagramm, das einer bestimmten interaktiven Anwung zugeordnet ist, zu spezifizieren. Die Funktion transition kann durch eine Datenstruktur, zum Beispiel ein zwei-dimensionales Array, implementiert werden. 6

3 Die Funktion transition 0 (Initial) () (Conf.) 3 (Reserv.) 4 (Seats) 5 (flights) 0 3 Exit Exit Exit Exit Exit Return Das Übergangs-Diagramm Initial 3 3 Confirmation Enquiry_on _flights Reservation Enquiry_on _seats 8 Neue System-Architektur Level 3 session Level initial transition is_final Level display read correct message process 9 3

4 Neue System-Architektur Prozedur session definiert nur die Graphen-Übergänge. Weiss nichts über die einzelnen Schirme einer Anwung. Sollte die selbe für alle Anwungen sein. session is -- Execute full session local current_, choice: INTEGER current_ := initial repeat choice := (current_) current_ := transition (current_, choice) until is_final (current_) 0 Um eine Anwung zu Beschreiben Gib transition Funktion Definiere initial Zustand Definiere is_final Funktion Aktionen in einem Zustand (current_: INTEGER): INTEGER is -- Actions for current_, returning user s exit choice. local answer: ANSWER good: BOOLEAN choice: INTEGER repeat display (current_) [answer, choice] := read (current_) good := correct (current_, answer) if not good then message (current_, answer) until good process (current_, answer) return choice 4

5 Spezifikation der übrigen Routinen display (s) gibt den Schirm für Zustand s zurück. [a, e] := read (s) liest nach a die Benutzerantwort auf den Schirm von Zustand s und nach e die Ausgangs-Wahl des Benutzers. correct (s, a) liefert true dann und nur dann, wenn a eine korrekte Antwort auf die in Zustand s gestellte Frage ist. Falls so, verarbeitet process (s, a) die Antwort a. Falls nicht, gibt message (s, a) die passe Fehlermeldung aus. 3 Objekt- Orientiert: Das Gesetz der Inversion Wie offen ist diese Lösung für Veränderungen und Adaptionen? Neue Transitionen? Neue Zustände? Neue Applikationen? Routine Signaturen: (: INTEGER): INTEGER display (: INTEGER) read (: INTEGER): [ANSWER, INTEGER] correct (: INTEGER; a: ANSWER): BOOLEAN message (: INTEGER; a: ANSWER) process (: INTEGER; a: ANSWER) is_final (: INTEGER) 4 Objekt- Orientiert: Das Gesetz der Inversion Wie offen ist diese Lösung für Veränderungen und Adaptionen? Neue Transitionen? Neue Zustände? Neue Applikationen? Routine Signaturen: (: INTEGER): INTEGER display (: INTEGER) read (: INTEGER): [ANSWER, INTEGER] correct (: INTEGER; a: ANSWER): BOOLEAN message (: INTEGER; a: ANSWER) process (: INTEGER; a: ANSWER) is_final (: INTEGER) 5 5

6 Daten-Übertragung Alle Routinen haben den Zustand als Eingabe-Parameter. Sie müssen nach dem Argument unterscheiden, zb : display (current_: INTEGER) is inspect current_ when then... when then... when n then... Konsequenzen: Lange und komplizierte Routinen. Müssen über eine möglicherweise komplexe Applikation wissen. Um eine Transition oder Zustand hinzuzufügen, muss man alle ändern. 6 Der Kontroll-Fluss Zugrundeliege Ursache, warum die Struktur so inflexibel ist: Zu viel DATEN-ÜBERTRAGUNG. Variable current_ kommt als Argument von session (Level 3) zu allen Routinen auf Level und weiter zu Level Schlimmer: es gibt ein weiteres implizites Argument zu allen Routinen die Anwung. Man kann session, display,,... nicht als Bibliotheks-Komponenten schreiben, weil jede alle interaktiven Anwungen kennen muss. 7 Die sichtbare Architektur Level 3 session Level initial transition is_final Level display read correct message process 8 6

7 Die wahre Geschichte Level 3 session Level initial transition is_final Level display read correct message process 9 Das Gesetz der Inversion Der überall lauernde Zustand Wenn deine Routinen zu viele Daten austauschen, gebe deine Routinen in deine Daten. 0 O-O werden Verwe STATE als den Abstrakten Daten-Typen (ergibt eine Klasse). Unter den Features eines Zustands: Die Routinen von Level (deferred in STATE), wie oben, jech ohne das current_ Argument. 7

8 Groupieren nach Daten-Abstraktionen Level 3 session Level initial transition is_final STATE Level display read correct message process Klasse STATE deferred class STATE feature choice: INTEGER -- User s selection for next step input: ANSWER -- User s answer for this step display is -- Show screen for this step. deferred read is -- Get user s answer and exit choice, -- recording them into input and choice. deferred ensure input /= Void correct: BOOLEAN is -- Is input acceptable? deferred 3 Klasse STATE message is -- Display message for erroneous input. require not correct deferred process is -- Process correct input. require correct deferred 4 8

9 Klasse STATE is local good: BOOLEAN from until good loop display read good := correct if not good then message process choice := input.choice 5 Klassen-Struktur * STATE INITIAL RESERVATION CONFIRMATION 6 Um den Zustand einer Applikation zu beschreiben Führe einen neuen Nachkommen von STATE ein: class ENQUIRY_ON_FLIGHTS inherit STATE feature display is... read is... correct: BOOLEAN is... message is... process is

10 Neuordnung der Module APPLICATION Level 3 session Level initial transition is_final STATE Level display read correct message process 8 Beschreiben einer kompletten Applikation Kein Hauptprogram sondern eine Klasse, die das System darstellt. Beschreibe die Anwung durch die verbleiben Features auf Levels and : Funktion transition. Zustand initial. Boolean Funktion is_final. Prozedur session. 9 Implementierungs-Entscheidungen Stelle Übergänge durch ein Array transition dar: n Reihen (Anzahl an Zuständen), m Spalten (Anzahl an Möglichkeiten), bei der Erzeugung angegeben Zustände von bis n numeriert; Array s gibt den dem Index zugeordneten Zustand (Umkehrung nicht nötig: Warum?) Keine deferred boolean Funktion is_final, sondern die Konvention: eine Transition zu Zustand 0 bedeutet Terminierung. KeinesolcheKonventionfürden Initial-Zustand(zu einschränk). Attribut initial_number. 30 0

11 Beschreiben einer Anwung class APPLICATION create make feature initial: INTEGER make (n, m: INTEGER) is -- Allocate with n s and m possible choices. create transition.make (, n,, m) create s.make (, n) feature {NONE} -- Representation of transition diagram transition: ARRAY [STATE] -- State transitions s: ARRAY [STATE] -- State for each index 3 Array von Zuständen: ein polymorpher Kontainer s: ARRAY [STATE] Notation um auf ein Array-Element zuzugreifen, zb s [i] in Pascal: s.item (i) i (Bald in Eiffel: einfach nur s [i]) 3 Das Array von Zuständen (ENQUIRY_ ON_FLIGHTS) (ENQUIRY_ ON_SEATS) (INITIAL) (CONFIRMATION) STATES (RESERVATION) 33

12 Ausführen einer Sitzung session is -- Run one session of application local current_: STATE -- Polymorphic! index: INTEGER from index := initial invariant 0 <= index index <= n until index = 0 loop current_ := index current_. 34 check <= current_.choice current_.choice <= m index := transition.item (index, current_.choice) Klassen-Struktur * STATE INITIAL RESERVATION CONFIRMATION 35 Andere Features von APPLICATION put_ (s: STATE; number: INTEGER) is -- Enter s with index number. require <= number number <= s.upper s.put (number, s) choose_initial (number: INTEGER) is -- Define number number as the initial --. require <= number number <= s.upper first_number := number 36

13 Weitere Features von APPLICATION put_transition (source, target, label: INTEGER) is -- Add transition labeled label from -- number source to number target. require <= source source <= s.upper 0 <= target target <= s.upper <= label label <= transition.upper transition.put (source, label, target) invariant 0 <= st_number st_number <= n transition.upper = s.upper 37 Um eine Anwung zu bauen Notwige Zustände Instanzen von STATE sollten verfügbar sein. Initialisiere die Anwung: create a.make (_count, choice_count) Weise jedem relevanten Zustand s eine Nummer zu: a.put_ (s, n) Wähle Initial-Zustand n0: a.choose_initial (n0) Gib Übergänge ein: a.put_transition (sou, tar, lab) Kann nun ausgeführt werden: a.session 38 Offene Architektur Währ der System-Evolution kannst du zu jeder Zeit: Einen neuen Übergang einfügen (put_transition). Einen neuen Zustand einfügen (put_). Einen Zustand löschen (nicht gezeigt, aber einfach einzubauen). Ändern der Aktionen in einem gegebenen Zustand

14 Kommentare zur Architektur Prozedur session ist nicht die Funktion des Systems sondern nur eine Routine von APPLICATION. Andere Anwungen: Baue und modifiziere: füge hinzu oder lösche Zustände, Übergange, etc. Simulation, zb in Batch (wiederholen einer vorherigen Sitzung), oder bei einem Zeilen-Terminal. Sammeln von Statistiken, ein Log, ein Skript. Speichern in eine Datei oder Datenbank. Jede solche Erweiterung benötigt nur inkrementelles hinzufügen von Routinen. Beeinflusst nicht die Struktur von APPLICATION und Kunden. 40 Das System ist offen Schlüssel für Offenheit: Architektur basiert auf den Typen von den Objekten des Problems (Zustand, Übergang, Anwung). Basiert man es auf dem scheinbaren Zweck des Systems würde man es vor Evolution abschliessen. Wirkliche Systeme haben keine Spitze 4 Objekt-Orientiertes Design It s all about finding the right data abstractions Es dreht sich alles um die richtigen Daten-Abstraktionen 4 4

15 Ende der Vorlesung 9 5

Einführung in die Programmierung

Einführung in die Programmierung Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 18: Undo/Redo Weiterführe Referenzen Kapitel 21 von Object-Oriented Software Construction, Prentice Hall,

Mehr

Einführung in die Programmierung. Bertrand Meyer. Vorlesung 23: Ein Beispiel: Undo-Redo. Das Problem

Einführung in die Programmierung. Bertrand Meyer. Vorlesung 23: Ein Beispiel: Undo-Redo. Das Problem 1 Einführung in die Programmierung Bertrand Meyer Letzte Bearbeitung 20. Januar 2004 2 Vorlesung 23: Ein Beispiel: Un-Re Das Problem 3 Den Benutzern eines interaktiven Systems ermöglichen, den Effekt des

Mehr

Programmierung im Grossen

Programmierung im Grossen 1 Letzte Aktualisierung: 16. April 2004 Programmierung im Grossen Bertrand Meyer 2 Vorlesung 4: Abstrakte Daten-Typen Übungen 3 Passe die vorhergehende Spezifikation von Stacks (LIFO, Last-In First-Out

Mehr

Chair of Software Engineering. Bezieher SUBSCRIBERS Ereignis Erzeuger (zb GUI) Chair of Software Engineering. Save_file ROUTINE

Chair of Software Engineering. Bezieher SUBSCRIBERS Ereignis Erzeuger (zb GUI) Chair of Software Engineering. Save_file ROUTINE 1 2 Letzte Aktualisierung: 27. Mai 2004 Programmierung im Grossen Vorlesung 13: Ereignis-Gesteuertes Design Bertrand Meyer Ereignis-gesteuerte Programmierung 3 Vermeiden von glue code 4 Verbreiter PUBLISHERS

Mehr

Programmierung im Grossen. Vorlesung 15: Konkurrente Objekt- Orientierte Programmierung. Volkan Arslan. Überblick. Bertrand Meyer.

Programmierung im Grossen. Vorlesung 15: Konkurrente Objekt- Orientierte Programmierung. Volkan Arslan. Überblick. Bertrand Meyer. 1 Programmierung im Grossen Bertrand Meyer 2 Vorlesung 15: Konkurrente Objekt- Orientierte Programmierung Volkan Arslan Überblick 3 Ziel / Motivation Grundlagen des SCOOP Modells Beispiele Zusammenfassung

Mehr

Autotest. Automatische Testgenerierung mit Design by Contract. von Simon Greiner am 12. Juli 2007

Autotest. Automatische Testgenerierung mit Design by Contract. von Simon Greiner am 12. Juli 2007 Autotest Automatische Testgenerierung mit Design by Contract von Simon Greiner am 12. Juli 2007 Autotest 1. Testen 2. Design by Contract 3. Strategien zur Testerstellung 1. Zufallsstrategie 2. Planungsstrategie

Mehr

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016 Overview The Hamburg Süd VGM Web portal is an application that enables you to submit VGM information directly to Hamburg Süd via our e-portal Web page. You can choose to enter VGM information directly,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 18: Undo/Redo Chair of Software Engineering Weiterführe Referenzen Kapitel 21 von Object-Oriented Software

Mehr

7.0 Arbeiten mit Objekten und Klassen

7.0 Arbeiten mit Objekten und Klassen 252-0027 Einführung in die Programmierung I 7.0 Arbeiten mit Objekten und Klassen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved.

Mehr

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Java Tools JDK. IDEs.  Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/

Mehr

Assertions (Zusicherungen)

Assertions (Zusicherungen) April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.

Mehr

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016 Overview The Hamburg Süd VGM-Portal is an application which enables to submit VGM information directly to Hamburg Süd via our e-portal web page. You can choose to insert VGM information directly, or download

Mehr

Interaktive Programme mit Scanner

Interaktive Programme mit Scanner 2.X Input 191 Interaktive Programme mit Scanner 193 Input und System.in Interaktives Programm: Liest Input von der Konsole ( console ). Während das Programm ausgeführt wird fragt das Programm den Benutzer

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

The process runs automatically and the user is guided through it. Data acquisition and the evaluation are done automatically.

The process runs automatically and the user is guided through it. Data acquisition and the evaluation are done automatically. Q-App: UserCal Advanced Benutzerdefinierte Kalibrierroutine mit Auswertung über HTML (Q-Web) User defined calibration routine with evaluation over HTML (Q-Web) Beschreibung Der Workflow hat 2 Ebenen eine

Mehr

Level 1 German, 2016

Level 1 German, 2016 90886 908860 1SUPERVISOR S Level 1 German, 2016 90886 Demonstrate understanding of a variety of German texts on areas of most immediate relevance 2.00 p.m. Wednesday 23 November 2016 Credits: Five Achievement

Mehr

Warum Programme Verträge schließen sollten

Warum Programme Verträge schließen sollten 1 Warum Programme Verträge schließen sollten RALF HINZE Institut für Informatik, Lehrstuhl Softwaretechnik, Universität Freiburg Georges-Köhler-Allee, Gebäude 079, 79110 Freiburg i. Br. Email: ralf@informatik.uni-bonn.de

Mehr

Ersetzbarkeit und Verhalten

Ersetzbarkeit und Verhalten Ersetzbarkeit und Verhalten U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Struktur der Typen für Ersetzbarkeit nicht ausreichend Beispiel: void

Mehr

FEINDLICHE VERWENDUNG

FEINDLICHE VERWENDUNG 1 2 Letzte Aktualisierung: 16. April 2004 Programmierung im Grossen Bertrand Meyer Vorlesung 2: Modularität, Wiederverwbarkeit Programm für heute 3 Software Qualität 4 Software Qualität Modularität Wiederverwbarkeit

Mehr

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

Mehr

SAP-Daten per HTML anzeigen

SAP-Daten per HTML anzeigen SAP-Daten per HTML anzeigen Oftmals besteht die Notwendigkeit einfach nur bestimmte Daten eines SAP-Systems anzuzeigen. Die Installation des SAPGUI für Windows, mit mehreren hundert Megabytes, scheint

Mehr

Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators

Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators München, 21. Nowember 2007 Nicola Marangoni & Jörg Westermayer Nicola.Marangoni@SHS-VIVEON.com Joerg.Westermayer@SHS-VIVEON.com

Mehr

Algorithmen und Datenstrukturen Musterlösung 5

Algorithmen und Datenstrukturen Musterlösung 5 Algorithmen und Datenstrukturen Musterlösung 5 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012 Testen Tutorial im Rahmen des Software(technik)praktikums SS 2012 Grundlagen (1) Software ist ein fundamentales Element in der Softwarequalitätssicherung Software wird am häufigsten eingesetzt Viele Organisationen

Mehr

Tipps & Tricks. Eine Standardfunktionalität ist das Erstellen von Grafischen Basisobjekten auf dem Patran Viewport.

Tipps & Tricks. Eine Standardfunktionalität ist das Erstellen von Grafischen Basisobjekten auf dem Patran Viewport. Eine Standardfunktionalität ist das Erstellen von Grafischen Basisobjekten auf dem Viewport. Anders als bei Titeln bewegen sich die Grafikobjekte mit dem Modell mit. Ein im Elementschwerpunkt platzierter

Mehr

Objekt-orientierte Programmierung

Objekt-orientierte Programmierung Objekt-orientierte Programmierung Eine (sehr) kurze Einführung Daniel Lübke Gliederung Motivation Grundlagen (Objekte, Klassen, Vererbung) Interfaces Klassenvariablen

Mehr

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

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

Mehr

Ersetzbarkeit und Verhalten

Ersetzbarkeit und Verhalten Ersetzbarkeit und Verhalten U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Struktur der Typen für Ersetzbarkeit nicht ausreichend Beispiel: void

Mehr

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich UML / Fujaba Generierung von Java-Quellcode aus UML-Diagrammen Marcel Friedrich Agenda Einleitung Struktur Verhalten Klassendiagramme Storydiagramme Statecharts Action methods 2 Thema Codegenerierung mit

Mehr

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT User Requirements GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 1 Gruppe 18 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289]

Mehr

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; unit sudoku; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TCvD_Sudoku = class(tform) Panel1: TPanel; Bevel1: TBevel; Bevel2:

Mehr

Abteilung Internationales CampusCenter

Abteilung Internationales CampusCenter Abteilung Internationales CampusCenter Instructions for the STiNE Online Enrollment Application for Exchange Students 1. Please go to www.uni-hamburg.de/online-bewerbung and click on Bewerberaccount anlegen

Mehr

Übungsstunde 10. Einführung in die Programmierung I

Übungsstunde 10. Einführung in die Programmierung I Übungsstunde 10 Einführung in die Programmierung I Probleme bei Übung 9 [TODO Assistent] Nachbesprechung Übung 10 Aufgabe 1 Comparable boolean lessthan(comparable other) Ziel: Schreiben von Methoden,

Mehr

Anleitung zur Verwendung des Update-Tools für

Anleitung zur Verwendung des Update-Tools für English version see below (page 10) Anleitung zur Verwendung des Update-Tools für - KW DDC Steuergeräte - KW DDC WLAN Module - KW DLC Steuergeräte - KW DLC WLAN Module Bitte beachten Sie: jedes Steuergerät

Mehr

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2 ReadMe zur Installation der BRICKware for Windows, Version 6.1.2 Seiten 2-4 ReadMe on Installing BRICKware for Windows, Version 6.1.2 Pages 5/6 BRICKware for Windows ReadMe 1 1 BRICKware for Windows, Version

Mehr

Programmiermethodik 3. Klausur Lösung

Programmiermethodik 3. Klausur Lösung Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

MATLAB driver for Spectrum boards

MATLAB driver for Spectrum boards MATLAB driver for Spectrum boards User Manual deutsch/english SPECTRUM SYSTEMENTWICKLUNG MICROELECTRONIC GMBH AHRENSFELDER WEG 13-17 22927 GROSSHANSDORF GERMANY TEL.: +49 (0)4102-6956-0 FAX: +49 (0)4102-6956-66

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Quick Installation Guide

Quick Installation Guide LevelOne WHG-1000 300Mbps Wireless PoE Hotspot Gateway Quick Installation Guide English Deutsch Table of Contents English... 3 Deutsch... 13 Default Settings IP Address-LAN1 192.168.1.254 IP Address-LAN2

Mehr

Restschmutzanalyse Residual Dirt Analysis

Restschmutzanalyse Residual Dirt Analysis Q-App: Restschmutzanalyse Residual Dirt Analysis Differenzwägeapplikation, mit individueller Proben ID Differential weighing application with individual Sample ID Beschreibung Gravimetrische Bestimmung

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Vorlesungsprüfung vom 13.06.2008 Gruppe B Lösung Name: Matrikelnummer: Zuerst bitte Name und Matrikelnummer auf das Titelblatt schreiben. Es sind keine Unterlagen und keine Teamarbeit

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 9: Abstraktion Heutige Themen Abstraktion, vor allem funktionale Abstraktion Der Begriff der Routine Das

Mehr

13. Dynamische Datenstrukturen

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

Mehr

PostScript -Sprache. Frank Richter

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

Mehr

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

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren

Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Level 1 German, 2014

Level 1 German, 2014 90886 908860 1SUPERVISOR S Level 1 German, 2014 90886 Demonstrate understanding of a variety of German texts on areas of most immediate relevance 9.30 am Wednesday 26 November 2014 Credits: Five Achievement

Mehr

Programmierstil. Objektsammlungen. Konzepte. Zwischenspiel: Einige beliebte Fehler... Variablennamen Kommentare Layout Einrückung

Programmierstil. Objektsammlungen. Konzepte. Zwischenspiel: Einige beliebte Fehler... Variablennamen Kommentare Layout Einrückung Programmierstil Objektsammlungen Einführung in Sammlungen Variablennamen Kommentare Layout Einrückung (siehe: Stilrichtlinien im Buchanhang) 4.0 Konzepte Sammlungen (besonders: ArrayList) Schleifen: die

Mehr

Programmiermethodik 1. Klausur

Programmiermethodik 1. Klausur Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Grundlagen der Informatik 6. Arrays I

Grundlagen der Informatik 6. Arrays I 6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt

Mehr

FEBE Die Frontend-Backend-Lösung für Excel

FEBE Die Frontend-Backend-Lösung für Excel FEBE Die Frontend--Lösung für FEBE Die Frontend--Lösung für FEBE.pptx 8.04.206 0:43 FEBE Die Frontend--Lösung für Nutzer A alle_aufträge neuer_auftrag Auftragsänderung Nutzer B alle_aufträge neuer_auftrag

Mehr

HiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license

HiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license HiOPC Hirschmann Netzmanagement Anforderungsformular für eine Lizenz Order form for a license Anforderungsformular für eine Lizenz Vielen Dank für Ihr Interesse an HiOPC, dem SNMP/OPC Gateway von Hirschmann

Mehr

Erste Schritte. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Erste Schritte. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes Erste Schritte Programmieren für Ingenieure Sommer 2014 Andreas Zeller, Universität des Saarlandes Das Galileo-Board Anschluss 1. Netzteil 2. USB-Kabel Programmierumgebung Download über Vorlesungs-Webseite

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Die Dokumentation kann auf einem angeschlossenen Sartorius Messwertdrucker erfolgen.

Die Dokumentation kann auf einem angeschlossenen Sartorius Messwertdrucker erfolgen. Q-App: USP V2 Bestimmung des Arbeitsbereiches von Waagen gem. USP Kapitel 41. Determination of the operating range of balances acc. USP Chapter 41. Beschreibung Diese Q-App ist zur Bestimmung des Arbeitsbereiches

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 7: Referenzen und Zuweisungen Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand

Mehr

Info B VL 11: Innere Klassen/Collections

Info B VL 11: Innere Klassen/Collections Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections

Mehr

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung

Mehr

Hausaufgabe 5. Informatik 1 Wintersemester 2015/16

Hausaufgabe 5. Informatik 1 Wintersemester 2015/16 Informatik 1 Wintersemester 2015/16 FB Informatik AG Programmiersprachen und Softwaretechnik Hausaufgabe 5 Im Zeitungskiosk an der Ecke ist nun auch eine Postfiliale. Die Kunden bringen Gegenstände, die

Mehr

*A25321A0116* A25321A W850/T1231/ /6/6/6. Turn over

*A25321A0116* A25321A W850/T1231/ /6/6/6. Turn over Centre No. Candidate No. Paper Reference(s) 1231/1F Edexcel GCSE German Paper 1F Listening and Responding Foundation Tier Thursday 7 June 2007 Morning Time: 30 minutes (+ 5 minutes reading time) Materials

Mehr

Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm)

Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm) Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox GUI Form erstellen (UserForm) GUI definieren Aktivitäten programmieren Programmcode für das Zufügen von Zell Werten Struktogramm

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

class ListElement { int value; ListElement next; ListElement() { next=null; value=0;

class ListElement { int value; ListElement next; ListElement() { next=null; value=0; Listenimplementierung Übung 1, Aufgabe 4. c 2004 Evgeny Matusov, Thomas Deselaers Zunächst definieren wir die Basisklasse für die Listenelemente, die gleichzeitig einen Verweis auf weitere Listenelemente

Mehr

Objektorientiertes RPG 2-1. Objektorientiertes RPG

Objektorientiertes RPG 2-1. Objektorientiertes RPG Objektorientiertes RPG 2-1 2 Objektorientiertes RPG Das erste Kapitel wies auf die Ähnlichkeiten im Aufbau eines RPG-Programms und einer Java-Klasse hin. Aber wenn diese Strukturen bei der Erstellung von

Mehr

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe Maximale Größe?! Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um Dynamische Anpassung der Größe Praktische Informatik I, HWS 2009, Kapitel 10 Seite

Mehr

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

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

Mehr

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842.

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek Mail_02.lib Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Inhalt Mail_02.lib 3 MAIL_SmtpClient...

Mehr

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

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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 4: Die Schnittstelle einer Klasse (und eine erste Einführung in den Begriff von Vertrag) Kunde, Versorger

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

ListElement (E i n f o, ListElement<E> prev, ListElement<E> next ) {

ListElement (E i n f o, ListElement<E> prev, ListElement<E> next ) { TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 11 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 8 FS 16

Datenstrukturen & Algorithmen Lösungen zu Blatt 8 FS 16 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik. April 0

Mehr

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung

Mehr

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Michael Meyer Berenberg Bank Hamburg Schlüsselworte: PL/SQL, Objektorientierung, Oracle Types, XML, Zentralisierung der Geschäftslogik,

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

1 von 3 02.04.2008 10:38 Selection single ride Düsseldorf Flughafen Fr, 04.04.08 dep 10:29 1 RE 10115 Regional-Express Duisburg Hbf Fr, 04.04.08 arr 10:37 13 dep 10:45 STR 901 Straßenbahn Direction: Fr,

Mehr

Team Developer 7.1 Multithreading

Team Developer 7.1 Multithreading Team Developer 7.1 Multithreading Parallele Prozesse in TD basierenden Anwendungen Roadshow April, 2018 Helmut Reimann Agenda Was ist Multithreading? Team Developer 7.1 Implementation Debugging Beispiel

Mehr

Level 2 German, 2015

Level 2 German, 2015 91126 911260 2SUPERVISOR S Level 2 German, 2015 91126 Demonstrate understanding of a variety of written and / or visual German text(s) on familiar matters 2.00 p.m. Friday 4 December 2015 Credits: Five

Mehr

7.0 Arbeiten mit Objekten und Klassen

7.0 Arbeiten mit Objekten und Klassen 252-0027 Einführung in die Programmierung 7.0 Arbeiten mit Objekten und Klassen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved. Uebersicht

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

iid software tools QuickStartGuide iid USB base driver installation

iid software tools QuickStartGuide iid USB base driver installation iid software tools QuickStartGuide iid software tools USB base driver installation microsensys Nov 2016 Introduction / Einleitung This document describes in short form installation of the microsensys USB

Mehr

Graphische Benutzeroberflächen mit Matlab

Graphische Benutzeroberflächen mit Matlab Graphische Benutzeroberflächen mit Matlab 1 Die Aufgabenstellung Erstellung einer Benutzeroberfläche für das Plotten einer Funktion f(x) im Intervall [a, b]. Bestandteile: 1. Koordinatensystem 2. Editorfelder

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner

Mehr

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

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

Mehr

Informatik-Seminar Thema: Monaden (Kapitel 10)

Informatik-Seminar Thema: Monaden (Kapitel 10) Informatik-Seminar 2003 - Thema: Monaden (Kapitel 10) Stefan Neumann 2. Dezember 2003 Inhalt Einleitung Einleitung Die IO()-Notation Operationen Einleitung Gegeben seien folgende Funktionen: inputint ::

Mehr