Vorlesung Software-Reengineering

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Software-Reengineering"

Transkript

1 Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2007/08 Überblick I 1

2 1 Probleme statischer Analysen Information durch dynamische Analyse Testfälle Instrumentierung Probleme der Instrumentierung Weiterverarbeitung dynamischer Information Anwendungsbeispiele Vergleich mit statischer Analyse Wiederholungsfragen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Probleme statischer Analysen Bisher: statische Analyse Aliasing Polymorphismus und dynamisches Binden Reflection verteilte Systeme Laufzeitinstanzen versus statischer Einheiten (z.b. Klassen) viele Entscheidungen erst zur Laufzeit statische Analyse problematisch Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

3 Vorlesung Software-Reengineering Probleme statischer Analysen Probleme statischer Analysen Probleme statischer Analysen Bisher: statische Analyse Aliasing Polymorphismus und dynamisches Binden Reflection verteilte Systeme Laufzeitinstanzen versus statischer Einheiten (z.b. Klassen) viele Entscheidungen erst zur Laufzeit statische Analyse problematisch statisch = ruhend, unbeweglich bezieht sich hier auf den Quellcode. Dieser ändert sich nicht während der Analyse. dynamisch = ändert sich hier ändert sich der Zustand des Programms (d.h. des Arbeitsspeichers etc.) mit jeder ausgeführten Anweisung. Aliasing: mehrere Zeiger auf das gleiche Objekt. Problem: Erst zur Laufzeit ist wirklich bekannt, auf welches Objekt der Zeiger konkret zeigt. Polymorphismus: auch hier entscheidet sich erst zur Laufzeit durch den Typ des Objekts, welche Methode konkret aufgerufen wird. Reflection is the ability of a running program to examine itself and its software environment, and to change what it does depending on what it finds. Verteiltes System: Menge interagierender Prozesse ohne gemeinsamen Speicher, d.h. mit Kommunikation untereinander. Definition : Analyse der Eigenschaften eines laufenden Programms. Ablauf: 1 Ausführen des Programms 2 Beobachtung der Ausführung 3 Analyse der Ergebnisse Notwendig: 1 Wahl der Testfälle 2 Instrumentierung oder Interpretation 3 Analysemethoden/-werkzeuge Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

4 Vorlesung Software-Reengineering Probleme statischer Analysen Definition : Analyse der Eigenschaften eines laufenden Programms. Ablauf: 1 Ausführen des Programms 2 Beobachtung der Ausführung 3 Analyse der Ergebnisse Notwendig: 1 Wahl der Testfälle 2 Instrumentierung oder Interpretation 3 Analysemethoden/-werkzeuge Eine dynamische Analyse hat jeder schon verwendet: Testen. Auch dabei wird das Programm ausgeführt, das Verhalten des Programms während der Ausführung beobachtet und aus den Beobachtungen Rückschlüsse gezogen (ist die Spezifikation erfüllt oder nicht?). Auch beim Testen ist die Wahl der Testfälle entscheidend: Möglichst alle Teile des Programms sollen in allen Varianten mindestens einmal ausgeführt worden sein. Eine hohe Testabdeckung ist also wünschenswert. Genauso ist es bei den meisten dynamischen Analysen. Für weitergehende Analysen ist in der Regel ein Blick in den inneren Zustand des Programms notwendig. Daher müssen Vorkehrungen getroffen werden, um diesen Zustand zugreifbar zu machen. Zum Beispiel müssen evtl. Variablenwerte ausgegeben oder das Passieren bestimmter Punkte erfasst werden. Dazu ist eine Instrumentierung notwendig. Was messen? Beobachtung der Ausführung durch Messen Codeabdeckung oder Häufigkeit Anweisungen, Zweige, Pfade, Aufrufe,... berechnete Werte Laufzeit, Speicherverbrauch Reihenfolge von Operationen... Problem: Messung ändert Verhalten Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

5 Wahl der Testfälle Testsuite bestimmt Kosten (Zeit und Raum) Genauigkeit (was wird nie ausgeführt) Problem: Vollständige Testabdeckung im Allgemeinen nicht zu erreichen. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / Vorlesung Software-Reengineering Testfälle Wahl der Testfälle Wahl der Testfälle Testsuite bestimmt Kosten (Zeit und Raum) Genauigkeit (was wird nie ausgeführt) Problem: Vollständige Testabdeckung im Allgemeinen nicht zu erreichen. Vollständige Testabdeckung ist im allgemeinen nicht erreichbar, sobald ein Programm Schleifen enthält, die beliebig oft durchlaufen werden können. Dann müsste es unendlich viele Testfälle geben.

6 Instrumentierung Source code Parser Analyzer Intermediate representation Preprocessor cpp Transformation Source code Unparser Intermediate representation Compiler gprof Object code Byte code BCEL Soot Libs Linker VM Execution JDI Executable Instrumented artefact VM Execution Valgrind gdb/mi Instrumenting instance Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / Vorlesung Software-Reengineering Instrumentierung Instrumentierung Instrumentierung Parser Intermediate Source code Analyzer representation Preprocessor cpp Transformation Intermediate Source code Unparser representation Compiler gprof BCEL Object code Byte code Soot Libs Linker VM Execution JDI Executable Instrumented artefact VM Execution Valgrind gdb/mi Instrumenting instance gprof BCEL Soot JDI Valgrind gdb/mi Gnu Profiler der GNU Compiler Collection (gcc) Byte Code Engineering Library zur Analyse und Transformation von Java-Byte-Code Framework zur Analyse und Transformation von Java-Byte-Code Java Debugger Interface : Werkzeugkasten für Debugging und Profiling von Linux-Programmen zeilenbasierte, maschinenorientierte und textuelle Schnittstelle zu gdb, dem Debugger der GNU Compiler Collection (gcc)

7 Instrumentierung Performanz? Debug-Schnittstelle i.d.r. langsam Profiler schnell Aufwand? Profile-, Coverage-Information umsonst automatisierbar? Bezug zum Quellcode? schwierig bei Maschinencode unabhängig von Compiler/Prozessor? Unabhängig von Programmiersprache? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Datenmenge Problem häufig: zu viele Daten! Lösungen: selektive Instrumentierung sofortige Verarbeitung (online) Umkodierung verlustfreie Kompression Filterung Vorverarbeitung (Trace Summarization) Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

8 Auswertung Aggregation Statistiken Inferenz: Ableitung neuen Wissens maschinelles Lernen Visualisierung je online/offline möglich Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Beispiel: Profiling Ziel: Performance-Engpässe finden Techniken: Messen der Zeiten Zeit vor/nach Ausführung Mitzählen, Summieren PC Sampling % cumulative self self total time seconds seconds calls ms/call ms/call name open offtime memccpy write... Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

9 Vorlesung Software-Reengineering Anwendungsbeispiele Beispiel: Profiling Beispiel: Profiling Ziel: Performance-Engpässe finden Techniken: Messen der Zeiten Zeit vor/nach Ausführung Mitzählen, Summieren PC Sampling % cumulative self self total time seconds seconds calls ms/call ms/call name open offtime memccpy write... PC sampling: in festen Zeitintervallen (z.b. alle 10ms) wird ermittelt, worauf gerade der Programmzähler (PC) zeigt. Der Zähler für die entsprechende Anweisung (oder die Funktion, zu der die Anweisung gehört) wird um eins erhöht. Dies wird über den gesamten Programmlauf wiederholt. Funktionen, in denen sehr viel Zeit verbracht wurde, haben damit am Ende einen hohen Zählerstand und können somit als Performance-kritisch identifiziert werden. Vorteil: wesentlich geringerer Overhead als beim Merken der Zeiten bei jedem Funktionseintritt/-austritt. Beispiel: Dynamisches Slicing (Agrawal und Horgan 1990) Statisches Slicing: Erreichbarkeit im System-Dependency-Graph Dynamisches Slicing: Verfolgen von Werten zur Laufzeit Jeder Wert wird annotiert: wo wurde er berechnet? aus welchen Werten? Dann: Rückwärtsverfolgung der Verweise Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

10 Vorlesung Software-Reengineering Anwendungsbeispiele Beispiel: Dynamisches Slicing (Agrawal und Horgan 1990) Beispiel: Dynamisches Slicing (Agrawal und Horgan 1990) Statisches Slicing: Erreichbarkeit im System-Dependency-Graph Dynamisches Slicing: Verfolgen von Werten zur Laufzeit Jeder Wert wird annotiert: wo wurde er berechnet? aus welchen Werten? Dann: Rückwärtsverfolgung der Verweise Beispiel: a = 5; if (x) { a++; } print(a); Zur Laufzeit ist immer bekannt, ob x true oder false war, d.h. ob bei print a=5 oder a=6 ist. Beispiel: Collaborations (Richner und Ducasse 2002) Aufzeichnen von Methodenaufrufen Aufrufer, Aufgerufener (Klasse, Instanz), Methode Pattern-Matching Suchen ähnlicher Muster Klassen, Instanzen, Methoden, Struktur Auswahl über Klassen/Methoden Collaboration Browser Object A methodcall() return Object B Visualisierung als Sequenzdiagramm Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

11 Beispiel: Invariantenerkennung (Ernst 2000) public class StackAr { Object[] thearray; int topofstack;... } Invarianten: thearray!= null thearray.getclass() == java.lang.object[].class topofstack >= -1 topofstack <= thearray.length - 1 thearray[0..topofstack] elements!= null thearray[topofstack+1..] elements == null Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Beispiel: Invariantenerkennung (Ernst 2000) Betrachtung aller Variablen auch abgeleitete Variablen sum, min, max first, second, last s[i], s[i-1], Teilsequenzen s[0..i], s[0..i-1] Anzahl Aufrufe einer Funktion Instanziierung und Testen aller potentiellen Invarianten Filterung der übrigen Invarianten hinreichend signifikant? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

12 Beispiel: Dynamic Object Process Graph (Quante und Koschke 2006) Rekonstruktion des Kontrollflussgraphen Projektion auf ein Objekt Instrumentierung von Verzweigungen Routinenaufrufen Operationen auf Objekt Verwandt zu Slicing Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Beispiel: Dynamic Object Process Graph select() Call irc_io Call connect_to_server read() main loop select() Call do_server Call irc_do_a_screen Call connect Call dgets fcntl() Call login_to_server Call p_channel Call send_line setsockopt() socket() Start send() Call parse_command Final close() fcntl() Call irc_exit send_to_server and its call sites command dispatching through function pointers Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

13 Statische Analyse von Programmverhalten Analyse des Codes Modell des Programmzustands erstellen Mögliches Verhalten folgern abstrakte Ausführung Abstrakte Ausführung: meist Datenflussanalyse Transferfunktion für jede Anweisung Änderung des abstrakten Zustands? Beispiel: y = x++; Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Wahl der abstrakten Domäne Domäne: {even, odd, either} <x odd, y either> y = x++; <x even, y odd> <x even, y either> y = x++; <x odd, y even> Domäne: {prime, nonprime, anything} <x prime, y anything> y = x++; <x anything, y prime> Domäne: Menge von möglichen nat. Zahlen <x {3,5,7}, y IN> y = x++; <x {4,6,8}, y {3,5,7}> Domäne: symbolische Auswertung <x n, y n > y = x++; <x n+1 = x n + 1, y n+1 = x n > Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

14 Wahl der abstrakten Domäne Abstraktion bestimmt Kosten (Zeit und Raum) Genauigkeit (Informationsverlust) Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Statisch vs. Dynamisch Statisch abstrakte Domäne aufwändig wenn genau konservativ wegen Abstraktion vollständig (plus mehr) da konservativ begrenzte Sichtweite eher lokal Abstraktion bestimmt Kosten, Genauigkeit Dynamisch konkrete Ausführung kann aufwändig sein präzise keine Abstraktion unvollständig nicht verallgemeinerbar kann entfernte Beziehungen aufdecken Testsuite bestimmt Kosten, Genauigkeit Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

15 Statisch vs. Dynamisch dynamisch: zu konkret, nicht verallgemeinerbar Teilmenge statisch: zu abstrakt, daher ungenau Obermenge Wahrheit liegt (meist) dazwischen statisch dynamisch wirklich Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Statisch vs. Dynamisch Beispiel: y = f(x); if (y < 0) y = -y; Dynamisch: y {0, 2, 7, 43, 79} Statisch: 0 y MAX INT Wirklich: 0 y 100 Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

16 Kombination Aggregation dynamisch statisch: Übergeneralisierung erkennen statisch dynamisch: gezielte Instrumentierung Hybride Analysen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 Beispiele Übersicht Anwendung dynamisch statisch Typprüfung Speicherzugriffsprüfung Slicing Merkmalsuche Protokollerkennung Protokollverifikation Metriken Verhalten Struktur - Profiling - Testabdeckung Finden toten Codes Klonerkennung Zeigeranalyse leicht schwierig Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

17 Wiederholungs- und Vertiefungsfragen I Nennen Sie Vor- und Nachteile dynamischer Analyse gegenüber statischer Analyse Was kann durch dynamische Analyse alles erfasst werden? Wie kann dynamische Analyse durchgeführt werden? Welche Probleme hat die Instrumentierung? Nennen Sie Beispiele für Anwendungen dynamischer Analyse. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28 1 Agrawal und Horgan 1990 Agrawal, Hiralal ; Horgan, Joseph R.: Dynamic Program Slicing. In: Proceedings of the Conference on Programming Language Design and Implementation. White Plains, New York, USA, Juni Ernst 2000 Ernst, Michael: Dynamically Discovering Likely Program Invariants. Seattle, Washington, USA, University of Washington, Department of Computer Science and Engineering, Dissertation, August Quante und Koschke 2006 Quante, Jochen ; Koschke, Rainer: Dynamic Object Process Graphs. In: Proceedings of the European Conference on Software Maintenance and Reengineering. Bari, Italy, März Richner und Ducasse 2002 Richner, Tamar ; Ducasse, Stéphane: Using Dynamic Information for the Iterative Recovery of Collaborations and Roles. In: Proceedings of the International Conference on Software Maintenance. Montreal, Canada : IEEE Computer Society Press, Oktober 2002, S Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2007/ / 28

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2009/10 Überblick I 1 I 1 Probleme statischer

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2010/11 Überblick I Dynamische Analyse Dynamische

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2009/10 Überblick I 1 I 1 Probleme statischer

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2011/12 Überblick I Dynamische Analyse Dynamische

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

Ferienakademie 2009. Programmierkonzepte für Multi-Core Rechner. Tools: Profiler

Ferienakademie 2009. Programmierkonzepte für Multi-Core Rechner. Tools: Profiler Ferienakademie 2009 Programmierkonzepte für Multi-Core Rechner Tools: Profiler Gliederung Einführung Aufgaben eines Profilers Techniken von Profilern Code Instrumentation Instruction Simulation Hardware

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer

Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer Seminar Werkzeuggestütze tze Softwareprüfung fung Slicing Sebastian Meyer Überblick Einführung und Begriffe Static Slicing Dynamic Slicing Erweiterte Slicing-Techniken Fazit 2 Was ist Slicing?? (I) Program

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Derivate und Bewertung

Derivate und Bewertung . Dr. Daniel Sommer Marie-Curie-Str. 30 60439 Franfurt am Main Klausur Derivate und Bewertung.......... Wintersemester 2008/09 Klausur Derivate und Bewertung Wintersemester 2008/09 Aufgabe 1: Zinsurven,

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Informatik Grundlagen, WS04, Seminar 13

Informatik Grundlagen, WS04, Seminar 13 Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

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

SJ OFFICE - Update 3.0

SJ OFFICE - Update 3.0 SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport

Mehr

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Entwicklung für Embedded Devices Best & Worst Practices! Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

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

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

... ... Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

... ... Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3 Browsereinstellungen Um die Know How! Lernprogramm nutzen zu können, sind bei Bedarf unterschiedliche Einstellungen in Ihren Browsern nötig. Im Folgenden finden Sie die Beschreibung für unterschiedliche

Mehr

Korrelation (II) Korrelation und Kausalität

Korrelation (II) Korrelation und Kausalität Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen

Mehr

Mining High-Speed Data Streams

Mining High-Speed Data Streams Mining High-Speed Data Streams Pedro Domingos & Geoff Hulten Departement of Computer Science & Engineering University of Washington Datum : 212006 Seminar: Maschinelles Lernen und symbolische Ansätze Vortragender:

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

U08 Entwurfsmuster (II)

U08 Entwurfsmuster (II) U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

5. Abstrakte Klassen

5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

GeoPilot (Android) die App

GeoPilot (Android) die App GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen

Mehr

Installationsanleitung dateiagent Pro

Installationsanleitung dateiagent Pro Installationsanleitung dateiagent Pro Sehr geehrter Kunde, mit dieser Anleitung möchten wir Ihnen die Installation des dateiagent Pro so einfach wie möglich gestalten. Es ist jedoch eine Softwareinstallation

Mehr

Hilfe zur Verwendung digitaler Formulare

Hilfe zur Verwendung digitaler Formulare Übersicht A) Allgemeines Seite 1 B) Antragstellung / Auswahl der Formulare Seite 1 Aufruf der Formulare Seite 1 Bearbeiten/Ausfüllen der Formulare Seite 2 C) Einreichen/Weiterleiten Seite 4 A) Allgemeines

Mehr

Um sich zu registrieren, öffnen Sie die Internetseite www.doodle.de und wählen Sie dort rechts oben

Um sich zu registrieren, öffnen Sie die Internetseite www.doodle.de und wählen Sie dort rechts oben Doodle Anleitung Konto erstellen Die Registrierung eines Benutzerkontos ist für Umfragen nicht erforderlich. Sollten Sie jedoch öfters Umfragen erstellen, ist dies aus Gründen der Übersicht und Einfachheit

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Step by Step Softwareverteilung unter Novell. von Christian Bartl Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen

Mehr

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

Studieren- Erklärungen und Tipps

Studieren- Erklärungen und Tipps Studieren- Erklärungen und Tipps Es gibt Berufe, die man nicht lernen kann, sondern für die man ein Studium machen muss. Das ist zum Beispiel so wenn man Arzt oder Lehrer werden möchte. Hat ihr Kind das

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr