COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1

Größe: px
Ab Seite anzeigen:

Download "COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1"

Transkript

1 1 COMPILER & CODE ANALYSE Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1

2 INHALT Einleitung Werkzeuge Compiler Aufbau Optimierung Beispiel Code Analyse Einführung Erklärung Beispiele IDA Pro The Interactive Disassembler Einführung Beispiel 2

3 EINLEITUNG Benötigtes Vorwissen Rechnerstruktur Befehlssatz Register Compiler Optimierung / Code Veränderung Code Analyse Sprachkonstrukte wiedererkennen Programmsicherheit überprüfen 3

4 VERWENDETE WERKZEUGE UND PROGRAMME Visual Studio MASM32 OllyDbg IDA Pro Windasm 4

5 COMPILER Compiler = Übersetzer Quellsprache => Zielsprache überprüfen der Syntax Optimierung 5

6 COMPILER AUFBAU 6

7 COMPILER FRONT-END Analysephase Quellcode Lexikalische Analyse Scanner Sieber Syntaktische Analyse Parser Semantische Analyse Automaten Optimierung 7

8 COMPILER FRONT-END LEXIKALISCHE ANALYSE Scanner lesen des Quellcodes erzeugt eine Symbolfolge (Token) Sieber lesen der Symbolfolge analysieren erkennen entfernen von Kommentaren, Leerzeichen etc. 8

9 COMPILER FRONT-END SYNTAKTISCHE ANALYSE Parser Symbolfolge (Token) überprüfen Ausgabe in einen Syntaxbaum Top-Down-Parser Bottom-Up-Parser 9

10 COMPILER FRONT-END SEMANTISCHE ANALYSE attributieren des Syntaxbaumes Kontextsensitive Korrektheit Typisierte Variablen (type-checking) Symboltabelle 10

11 COMPILER BACK-END Synthesephase Zwischencodeerzeugung Optimierung Code-Generator Optimierung 11

12 COMPILER BACK-END ZWISCHENCODE Erzeugung Pseudosprache Plattform / Maschinenunabhängig Optimierung Plattform- / Maschinenunabhängig Schleifen Optimierungen Datenfluss Optimierungen 12

13 COMPILER BACK-END CODE-GENERATOR Erzeugung Zielsprache Plattformabhängig Optimierung Plattform- / Maschinenabhängig Register Zuweisungen Operationsumwandlungen 13

14 COMPILER OPTIMIERUNG Verbessern des erzeugten Codes Größe verkleinern Geschwindigkeit verbessern Unterschiedliche Anwendungsgebiete Optimierung Verschiedene Ansatzpunkt Strategien Auswahl des Optimierungsgrades 14

15 COMPILER OPTIMIERUNG ANSÄTE 15

16 COMPILER OPTIMIERUNG STRATEGIEN (1) Datenfluss Optimierung Konstanten Faltung Konstanten Verbreitung Schleifen Optimierung Loop unrolling/unfolding Loop fusion/fission Code-Generator Optimierung Toten Code eliminieren Stärke Reduktion 16

17 COMPILER BEISPIEL (1) Quellcode Stream Scanner var a,b : int; a := 2; b := a * a + 1; var a,b : int; NL a := 2; NL b := a * a + 1; NL id( var ) sep id( a ) com id( b ) col id(int) sem sep id( a ) bec int( 2 ) sem sep id( b ) bec id( a ) mul id( a ) add int( 1 ) sem sep 17

18 COMPILER BEISPIEL (2) Sieber id( var ) id( a ) com id( b ) col id(int) sem id( a ) bec int( 2 ) sem id( b ) bec id( a ) mul id( a ) add int( 1 ) sem Syntaxbaum 18

19 COMPILER BEISPIEL (3) Programmcode mov dword_403000, 2 ; int a mov eax, dword_ ; int a imul eax, dword_ ; int a add eax, 1 mov dword_403020, eax ; int b Programmcode mit Optimierung mov dword_403000, 2 ; int a mov dword_403020, 5 ; int b 19

20 CODE ANALYSE Code Analyse ist Kopfsache Code Analyser bzw. Disassembler handeln nach Algorithmen Notwendiges Wissen Programmaufbau Befehlsformat Register 20

21 CODE ANALYSE GENERELLES Es gibt 2 Hauptarten von Programmen Konsolen Grafische Anwendungen Weitere sind Treiber Dienste Arbeiten direkt über API wird von den meisten Disassemblern erkannt Nutzen Standardbibliotheken wird von den meisten Disassemblern erkannt Nutzen eigene Bibliotheken werden nicht erkannt. 21

22 sd WndProc Programm Windows WC:WNDClass RegisterClass(wc) loop getmessage()!= null TranslateMessage dispatchmessage WndProc Verarbeitet alle Ereignisse 22

23 CODE ANALYSE DUMP 23

24 CODE ANALYSE BEFEHLE Befehlsformat: Quelle: Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A Präfix Opcode MOD R/M Byte SIB Byte Displacement / Immediate 24

25 CODE ANALYSE BEFEHLE (1) Präfix lock and repeat Präfixe branch hints Präfixe operand-size override address-size override Präfix MOD R/M Byte Adressierung acht Register und 24 Adressierungsmodi SIB Byte base-plus-index MOV [EAX + 4], EBX scale-plus-index MOV [EAX*4], EBX 25

26 CODE ANALYSE REGISTER Register 32 Bit EAX = (16 + AX = (AH + AL)) EBX = ECX = EDX = ESP ist der Stackpointer EBP wird für Variablen auf dem Stack verwendet 26

27 CODE ANALYSE DISASSEMBLIEREN Manuell Disassembliert Original PUSH 0 PUSH 40300Ch PUSH h PUSH 0 CALL RETN JMP dword ptr ds:[ h] includelib c:\masm32\lib\user32.lib EXTERN MessageBoxA@16:NEAR _DATA SEGMENT TEXT1 DB 'Kein Problem!',0 TEXT2 DB 'Message',0 _DATA ENDS _TEXT SEGMENT START: PUSH OFFSET 0 PUSH OFFSET TEXT2 PUSH OFFSET TEXT1 PUSH 0 CALL MessageBoxA@16 RETN _TEXT ENDS END START 27

28 CODE ANALYSE DUMP Originaldump 28

29 CODE ANALYSE PROBLEME DISASSEMBLIEREN / ANALYSIEREN Änderungen am Programmcode verhindern die korrekte Interpretation der Disassembler Datenfelder werden als Befehle interpretiert JMP DWORD PTR [EBX] Versteckte Sprünge Variable hat eine Adresse als Wert 29

30 CODE ANALYSE REGISTER DB 50/RETN wird als xor al,bl erkannt Routine l1 wird nicht erkannt MOV EBX, OFFSET l1 vor dem ersten Push ermöglicht IDA die Erkennung von l1 IDA weiß, dass es sich um eine leere Routine handelt includelib c:\masm32\lib\user32.lib EXTERN ; Data segment _DATA SEGMENT TEXT1 DB 'Kein Problem!',0 TEXT2 DB 'Message',0 _DATA ENDS ; Code segment _TEXT SEGMENT START: PUSH OFFSET START PUSH OFFSET 0 PUSH OFFSET TEXT2 PUSH OFFSET TEXT1 PUSH 0 CALL MessageBoxA@16 POP EDX ADD EDX, l1 - Start CALL EDX RETN DB 50 l1: RETN _TEXT ENDS END START 30

31 CODE ANALYSE VERSTECKE SPRUNGZIELE JMP DWORD PTR [EBX] EBX zeigt auf eine Speicherstelle, die das Sprungziel enthält JMP EBX EBX enthält die Zieladresse JMP DWORD PTR [lo] der Inhalt von der Variable lo definiert die Adresse 31

32 CODE ANALYSE VERSTECKE SPRÜNGE(1) Adresse von l2 in mem1 gespeichert erst wir sie in EAX geladen dann auf den Stack geschoben und mit RETN wird nach EAX gesprungen includelib c:\masm32\lib\user32.lib EXTERN ; Data segment _DATA SEGMENT mem1 DD OFFSET l2 TEXT1 DB 'Kein Problem!',0 TEXT2 DB 'Message',0 _DATA ENDS ; Code segment _TEXT SEGMENT START: MOV EAX, mem1 PUSH EAX RETN l1: RETN l2: PUSH OFFSET 0 PUSH OFFSET TEXT2 PUSH OFFSET TEXT1 PUSH 0 CALL MessageBoxA@16 RETN _TEXT ENDS END START 32

33 CODE ANALYSE VERSTECKE SPRÜNGE(2) Adresse wird in EAX geladen 4 Byte werden auf dem Stack reserviert danach die Adresse auf den Stack geschoben und mit RETN wird zu l2 gesprungen includelib c:\masm32\lib\user32.lib EXTERN MessageBoxA@16:NEAR ; Data segment _DATA SEGMENT mem1 DD OFFSET l2 TEXT1 DB 'Kein Problem!',0 TEXT2 DB 'Message',0 _DATA ENDS ; Code segment _TEXT SEGMENT START: MOV EAX, mem1 SUB ESP, 4 MOV DWORD PTR [ESP], EAX RETN l1: RETN l2: PUSH OFFSET 0 PUSH OFFSET TEXT2 PUSH OFFSET TEXT1 PUSH 0 CALL MessageBoxA@16 RETN _TEXT ENDS END START 33

34 CODE ANALYSE VERSTECKE SPRÜNGE(3) Adresse wird in EAX geladen 4 Byte werden auf den Stack reserviert danach die Adresse auf den Stack geschoben 0x15EB wird AX geschrieben JMP $ - 2 springt 2 Byte zurück zu 15EB, welches im Speicher EB15: EB = JMP short 15 = 21 Byte vor JMP $ - 2 spring zu l1 und mit RETN wird zu l2 gesprungen includelib c:\masm32\lib\user32.lib EXTERN MessageBoxA@16:NEAR ; Data segment _DATA SEGMENT mem1 DD OFFSET l2 TEXT1 DB 'Kein Problem!',0 TEXT2 DB 'Message',0 _DATA ENDS ; Code segment _TEXT SEGMENT START: MOV EAX, mem1 SUB ESP, 4 MOV DWORD PTR [ESP], EAX MOV AX, 015EBH JMP $ - 2 l2: PUSH OFFSET 0 PUSH OFFSET TEXT2 PUSH OFFSET TEXT1 PUSH 0 CALL MessageBoxA@16 RETN l1: RETN _TEXT ENDS END START 34

35 CODE ANALYSE Daten erkennen Variable: Größe und Typ herausfinden Strings / Arrays Strukturen Programmstruktur erkennen Funktionen Verzweigungen Schleifen Objekte 35

36 CODE ANALYSE DATEN Globale Variablen werden im Datensegment gehalten Lokale Variablen auf dem Stack oder in Registern Parameter von für Funktionen werde über den Stack übergeben Nicht-Initialisierte Parameter werden ebenfalls im Datensegment gehalten 36

37 CODE ANALYSE VARIABLEN(1) Größe und Typ herausfinden BYTE b = 0xab; WORD w = 0x1234; DWORD dw = 0x ; 37

38 CODE ANALYSE VARIABLEN(2) WORD w = 0x1234; BYTE b = 0xab; DWORD dw = 0x ; 38

39 CODE ANALYSE VARIABLEN(3) Die Größe kann nicht an Hand der Datenorganisation erkannt werden Sie kann nur an Hand der Befehle erkannt werden: : C6 05 6E mov byte ptr ds:[ eh],14h : 66 C7 05 6C mov word ptr ds:[ ch],0ah 00 0A : C mov dword ptr ds:[ h],1eh 1E

40 CODE ANALYSE VARIABLEN STRING UND ARRAYS Strings Definiertes Ende Werden mit 0 Terminiert Werden in ASCII oder Unicode Codiert Lokal definierte werden nicht immer Erkannt Arrays Kein Definiertes Ende Datentyp unbekannt Nicht jede Schleife durchläuft das ganze Array Datentyp kann nur über die Befehle identifiziert werden Größe nur mit dem Debugger ermittelbar 40

41 CODE ANALYSE STRUKTUREN Als globale Variablen Ähnlich eines Arrays, enthält aber unterschiedliche Typen Werden im Programm über das Datensegment angesprochen Wenn sie als globale Variable deklariert sind und an Funktionen übergeben werden, dann werden sie zwar auf den Stack geschoben, aber in der Funktion trotzdem über das Datensegment angesprochen API Strukturen wie WNDClass werden von Disassembler automatisch erkannt. 41

42 CODE ANALYSE FUNKTIONEN(1) Werden meistens durch Call oder Jump angesprochen Haben meistens einen Prolog PUSH EBP MOV EBP, ESP SUB ESP, N 42

43 CODE ANALYSE FUNKTIONEN(2) Rückgabe über EAX, ST(0) oder EDX:EAX EAX kann auch der Zeiger auf eine Struktur sein Parameter werden mit Stack übergeben werden mit dem Datensegment übergeben direkt im Programmcode übergeben (nur Assemblerprogrammierer machen so was)... CALL PROC1 DB "Dieser Parameter steht im Code",0... ; Rücksprung Adresse vom Stack holen ; Parameter mit Adresse bestimmen ; Tue was ; Springe zurück RETN 43

44 CODE ANALYSE VERZWEIGUNGEN(1) Bestehen aus 2 Sprüngen cmp edx, [ebp + 4] jl short loc_40103f... jmp short loc_40104c loc_40103f:... loc_40104c:... retn = if (a < b) {... } else {... } Switch-Anweisungen sind folgen von CMP und Sprungbefehlen 44

45 CODE ANALYSE SCHLEIFEN Ähnlich Verzweigungen bloß mit Rücksprung Bestehen aus Body Bedingungsprüfung (optional) Zähler Behandlung 45

46 CODE ANALYSE OBJEKTE Ähnlich den Strukturen Es gibt statische und Dynamische Objekte Beim Aufruf von Klassenmethoden wird die Objekt Referenz mit an die Funktion übergeben 46

47 IDA PRO EINFÜHRUNG Vorstellung des Programmes 47

48 IDA PRO BEISPIEL Unoptimierter Graph Optimierter Graph 48

49 FAZIT (1) Code Analyse nicht trivial erfordert sehr viel Einarbeitungszeit Erfahrung sehr wichtig große Programme oder Probleme schwierig nachzuvollziehen Optimierungen verändern Programm Struktur 49

50 FAZIT (2) warum kein komplexeres Programm / Beispiel? LAME Optimierung sehr wichtig! ohne: mit: 50

51 51 ENDE DER PRÄSENTATION

1 ÜBERSETZER. Compilerbau 1

1 ÜBERSETZER. Compilerbau 1 1 ÜBERSETZER 1 A.V.Aho, J.D.Ullmann: Principles of Compiler Design, Addison Wesley (1977) J.Amsterdam: Building a computer in Software, BYTE (Okt. 1985) Programming Project: A SIMPL Compiler, BYTE (Dez.

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Karlsruher Institut für Technologie

Karlsruher Institut für Technologie Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

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

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

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

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

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003

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

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

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

WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

WEBINAR@LUNCHTIME THEMA: SAS STORED PROCESSES - SCHNELL GEZAUBERT HELENE SCHMITZ WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

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

17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014

17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014 17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici 12.Übung 13.1. bis 17.1.2014 1 BEFRAGUNG http://1.bp.blogspot.com/- waaowrew9gc/tuhgqro4u_i/aaaaaaaaaey/3xhl 4Va2SOQ/s1600/crying%2Bmeme.png

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit

Mehr

Import SIMATIC-Variablen

Import SIMATIC-Variablen Application Note GALILEO 12/2010 MN04802062Z-DE ersetzt M001873-01, 07/2007 Import SIMATIC-Variablen Impressum Hersteller Eaton Automation AG Spinnereistrasse 8-14 CH-9008 St. Gallen Schweiz www.eaton-automation.com

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

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

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

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

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

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

Mehr

Datensicherung und Wiederherstellung

Datensicherung und Wiederherstellung Dokumentation Datensicherung und Wiederherstellung Versionsverzeichnis Version: Datum: Revisionsgrund: Version 1.0 Januar 2011 Erste Ausgabe www.babe-informatik.ch 1/7 Datensicherung von Voraussetzung

Mehr

PCC Outlook Integration Installationsleitfaden

PCC Outlook Integration Installationsleitfaden PCC Outlook Integration Installationsleitfaden Kjell Guntermann, bdf solutions gmbh PCC Outlook Integration... 3 1. Einführung... 3 2. Installationsvorraussetzung... 3 3. Outlook Integration... 3 3.1.

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

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Einführung zum MS Visual Studio

Einführung zum MS Visual Studio 0 Visual Studio Verzeichnispfade einstellen Stellen Sie nach dem Start von Visual Studio zunächst Ihr Home-Laufwerk, d.h. den Pfad für Ihre Projektverzeichnisse und Dateien ein. Beenden Sie Visual Studio

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Wir machen neue Politik für Baden-Württemberg

Wir machen neue Politik für Baden-Württemberg Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

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

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute.

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute. Bei Windows 8/7 und Vista ist die Benutzerverwaltung, die zentrale Stelle zur Verwaltung der angelegten Benutzer. Wer weitere Informationen zu einem Benutzer erfahren möchte, der nutzt den DOS Befehl whoami.

Mehr

I.1 Die Parrot Assemblersprache

I.1 Die Parrot Assemblersprache I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen

Mehr

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

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

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

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

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern Windows XP in fünf Schritten absichern Inhalt: 1. Firewall Aktivierung 2. Anwendung eines Anti-Virus Scanner 3. Aktivierung der automatischen Updates 4. Erstellen eines Backup 5. Setzen von sicheren Passwörtern

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

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

Arbeiten mit dem Outlook Add-In

Arbeiten mit dem Outlook Add-In Arbeiten mit dem Outlook Add-In Das Outlook Add-In ermöglicht Ihnen das Speichern von Emails im Aktenlebenslauf einer Akte. Außerdem können Sie Namen direkt aus BS in Ihre Outlook-Kontakte übernehmen sowie

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Windows 7 32 Bit (x32) Windows 7 64 Bit (x64)

Windows 7 32 Bit (x32) Windows 7 64 Bit (x64) ACS Kennzeichnungssysteme ACS Software Installation des Druckertreibers (Plotter/Gravieroption) Windows 7 32 Bit (x32) Windows 7 64 Bit (x64) Änderungen vorbehalten Version 01/Stand 02-2012 8901803011

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Leitfaden Internet-Redaktion kursana.de

Leitfaden Internet-Redaktion kursana.de Leitfaden Internet-Redaktion kursana.de 1.»Log In«: Der Zugang zum Redaktionssystem 2. Anlegen einer neuen Veranstaltung 3. Anlegen eines neuen Stellenangebots 4.»Log Out«: Aus dem Redaktionssystem ausloggen

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

BEISPIELKLAUSUR Softwareentwicklung:

BEISPIELKLAUSUR Softwareentwicklung: Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte

Mehr

Die Post hat eine Umfrage gemacht

Die Post hat eine Umfrage gemacht Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

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

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

Ü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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Impulse Inklusion 2015. Selbst-bestimmtes Wohnen und Nachbarschaft

Impulse Inklusion 2015. Selbst-bestimmtes Wohnen und Nachbarschaft Impulse Inklusion 2015 Selbst-bestimmtes Wohnen und Nachbarschaft Impulse sind Ideen und Vorschläge. Inklusion bedeutet: Alle Menschen können selbst-bestimmt und gleich-berechtigt am Leben teilnehmen.

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Proxy. Krishna Tateneni Übersetzer: Stefan Winter Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1

Mehr

BEDIENUNG ABADISCOVER

BEDIENUNG ABADISCOVER BEDIENUNG ABADISCOVER Juni 2005 / EMO v.2005.1 Diese Unterlagen sind urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung der Unterlagen, oder Teilen

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011 Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011 Studiengang: Semester: 3. Gruppe: Wirtschaftsinformatik A & B Datum: 29.06.2011 Dozent: LfbA Dipl.-Hdl. Andreas Heß Hilfsmittel: alle Unterlagen/Bücher

Mehr

Mit der RoeTest-Software können Barcodes wie folgt erstellt werden:

Mit der RoeTest-Software können Barcodes wie folgt erstellt werden: RoeTest - Computer-Röhrenprüfgerät / Röhrenmessgerät (c) - Helmut Weigl www.roehrentest.de Barcodescanner (ab Software Version 7.6.0.0) Barcodes begegnen und heute überall, z.b. im Supermarkt. Sie dienen

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software

Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software Um in der VR-NetWorld-Software SEPA-Lastschriften einziehen zu können, müssen Sie folgende Einstellungen treffen: 1. SEPA-Lastschriften

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Statuten in leichter Sprache

Statuten in leichter Sprache Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch

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

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

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

IntelliRestore Seedload und Notfallwiederherstellung

IntelliRestore Seedload und Notfallwiederherstellung IntelliRestore Datensicherung IntelliRestore Seedload und Notfallwiederherstellung Daten. Sichern. Online Vorwort Auch größere Datenmengen lassen sich für gewöhnlich schnell über den IntelliRestore SoftwareClient

Mehr

Die Wirtschaftskrise aus Sicht der Kinder

Die Wirtschaftskrise aus Sicht der Kinder Die Wirtschaftskrise aus Sicht der Kinder Telefonische Befragung bei 151 Kindern im Alter von 8 bis 12 Jahren Präsentation der Ergebnisse Mai 2009 EYE research GmbH, Neuer Weg 14, 71111 Waldenbuch, Tel.

Mehr

Datentypen: Enum, Array, Struct, Union

Datentypen: Enum, Array, Struct, Union Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr