> Übung Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "> Übung Betriebssysteme"

Transkript

1 > Übung Betriebssysteme Übung 3 Michel Steuwer Wintersemester 2012/13 Gruppe Parallele und Verteilte Systeme (PVS) Institut für Informatik Westfälische Wilhelms-Universität Münster

2 Organisatorisches 2 Die Vorlesung am Donnerstag, den 8. November 2012, findet wegen des Hochschultags nicht statt.

3 1. Übungsblatt 3 Aufgabe 1 Dynamische Speicherverwaltung in C a) Verwendung von malloc und free b) Fehlersuche Aufgabe 2 Binärer Baum in C

4 Aufgabe 1 a): Verwendung von malloc und free 4 Vervollständigung eines Programms zur dynamischen Speicherverwaltung Anlegen und Freigeben von Speicherbereichen soll überwacht werden monitoring alloc.c: Anlegen und Freigeben von Speicherblöcken. Ablage der reservierten Blöcke in einem Array (alloc blocks) Maximale Anzahl von reservierten Blöcken: MAX ALLOCATIONS

5 Aufgabe 1 a): Verwendung von malloc und free 4 Vervollständigung eines Programms zur dynamischen Speicherverwaltung Anlegen und Freigeben von Speicherbereichen soll überwacht werden monitoring alloc.c: Anlegen und Freigeben von Speicherblöcken. Ablage der reservierten Blöcke in einem Array (alloc blocks) Maximale Anzahl von reservierten Blöcken: MAX ALLOCATIONS 1 void *monitoring alloc malloc(size t size): Speicher reservieren mittels Systemaufruf (malloc) Speichern von Informationen zu abgelegten Blöcken in alloc blocks

6 Aufgabe 1 a): Verwendung von malloc und free 5 2 void monitoring alloc free(void * block): Freigabe des übergebenen Speicherbereiches (free) Einträge im Array wieder freigeben

7 Aufgabe 1 a): Verwendung von malloc und free 5 2 void monitoring alloc free(void * block): Freigabe des übergebenen Speicherbereiches (free) Einträge im Array wieder freigeben 3 void init monitoring alloc(): Initialisierung der Datenstrukturen

8 Aufgabe 1 a): Verwendung von malloc und free 5 2 void monitoring alloc free(void * block): Freigabe des übergebenen Speicherbereiches (free) Einträge im Array wieder freigeben 3 void init monitoring alloc(): Initialisierung der Datenstrukturen 4 int shutdown monitoring alloc(): Überprüfen des Arrays auf nicht freigegebene Blöcke Rückgabe der Anzahl der nicht freigegebenen Blöcke 15 Punkte

9 init monitoring alloc 6 Globale Variablen: int allocations: Anzahl der Speicherallokationen init_monitoring_alloc: void init_monitoring_alloc() { allocations = 0; // no allocation done so far // iterate through the array... AllocatedMemoryBlock block; for (int i = 0; i < MAX_ALLOCATIONS; i++) { block = &allocated_blocks[i]; //... initializing all block block >frame block >size = 0; block >ordinal = 0; = NULL; // or use memset to set the whole memory to 0 at once / memset(allocated_blocks, 0, sizeof(allocatedmemoryblock) MAX_ALLOCATIONS); /

10 monitoring alloc malloc 7 monitoring_alloc_malloc: void monitoring_alloc_malloc(size_t size) { void allocated = NULL; if (allocations < MAX_ALLOCATIONS) { allocated = malloc(size); if(!allocated) { printf("error: Block of size %lu could not be allocated!\n", (unsigned long)size); else { // allocation was successful // number of allocations is used as index of the global array AllocatedMemoryBlock block = &allocated_blocks[allocations]; // store information about allocation in a block block >frame = allocated; block >size = size; block >ordinal = allocations; allocations++; // increment allocations done return allocated; Neuen Speicherblock anlegen und am Ende von alloc_blocks ablegen. allocations wird als Index des globalen Arrays verwendet

11 monitoring alloc free 8 monitoring_alloc_free: void monitoring_alloc_free(void ptr) { int found = 0; for( AllocatedMemoryBlock block = allocated_blocks; block!= &allocated_blocks[max_allocations 1]; block++ ) { if (block >frame == ptr && ptr!= NULL) { found = 1; // found block to be freed free(block >frame); // free allocated memory // clear information about the block block >frame = NULL; block >size = 0; block >ordinal = 0; if(!found) { printf("error: Block %p not allocated!\n", ptr); Durchsuche Array nach dem freizugebenden Block Das Array wird mit dem Zeiger block durchgegangen, bis die Speicheradresse des letzten Elements des Arrays erreicht wurde

12 shutdown monitoring alloc 9 shutdown_monitoring_alloc: int shutdown_monitoring_alloc() { int leakingbytes = 0; // iterate through the array to search for leaks for( AllocatedMemoryBlock block = allocated_blocks; block!= &allocated_blocks[max_allocations 1]; block++ ) { if (block >frame!= NULL) { // found leak printf("error: block with ordinal %lu was not freed!\n", (unsigned long)block >ordinal); leakingbytes += block >size; // count bytes leaked free(block >frame); // free allocated memory block >frame = NULL;block >size = 0; block >ordinal = 0; printf("error: Leaking %lu bytes in total!\n", (unsigned long)leakingbytes); return leakingbytes; Die Anzahl der nicht freigegebenen Bytes wird gezählt und ausgegeben

13 Aufgabenteil b): Fehlersuche 10 Finden Sie die Speicherlöcher im Beispielprogramm Textuelle Beschreibung ausreichend 3 Punkte

14 leaking function 11 char leaking_function(char first, char last) { char allocated = NULL; char ptr = first; if(ptr) { while(ptr!= last) { if( ptr) { allocated = (char ) monitoring_alloc_malloc( ( ptr) sizeof(char) ); ++ptr; return allocated; In leaking_function werden u. U. mehrere Speicherblöcke reserviert. Es wird aber nur ein Zeiger auf den zuletzt reservierten Block zurückgegeben. Die anderen Blöcke sind somit nicht mehr erreichbar und werden nicht freigegeben!

15 leaking program 12 foo = (char ) monitoring_alloc_malloc(23); bar = (char ) monitoring_alloc_malloc(5); bar[0] = 11; bar[1] = 22; bar[2] = 33; bar[3] = 44; bar[4] = 55; allocated = leaking_function(foo, foo+23); if(allocated) { monitoring_alloc_free(allocated); allocated = NULL; In main wird an verschiedenen Stellen Speicher reserviert explizit durch Aufruf von monitoring_alloc_malloc implizit im Aufruf von leaking_function Jeder dieser Speicherblöcke muss wieder freigegeben werden, sobald er nicht mehr verwendet werden wird. Jedoch wird der an foo zugewiesen Speicherblock nie freigeben.

16 Binärer Baum in C 13 Implementierung eines binären Suchbaums in C Beispiel eines binären Suchbaums: Dazu sollten vier Funktionen implementiert werden: createtree Erzeugt einen neuen Baum insert Fügt dem Baum einen Knoten hinzu binarysearch Durchsucht den Baum cleanuptree Gibt den allozierten Speicher des Baums frei

17 node t Struktur 14 Eine Struktur node_t repräsentiert einen Knoten im Baum typedef struct _node_t { int value; struct _node_t parent; struct _node_t left; struct _node_t right; node_t; Jeder Knoten hält einen Wert (value), sowie Zeiger auf den Elternknoten und die beiden Kinderknoten Der Typ der Zeiger ist jedoch nicht node_t, sondern struct _node_t Dies ist nötig, da der Typname node_t erst nach der Definition eingeführt wird und in der Definition noch nicht zur Verfügung steht Daher wird der Struktur der Typname struct _node_t gegeben, bevor der Typ in node_t umbenannt wird Auf diesen temporären Typnamen kann in der Definition verwiesen werden

18 createtree 15 createtree: node_t createtree(int rootvalue) { // allocate memory for one node node_t root = (node_t )malloc(sizeof(node_t)); // initialize newly created node root >value = rootvalue; root >parent = NULL; root >left = NULL; root >right = NULL; return root; Der Wurzelknoten muss mit malloc angelegt werden, da auch noch nach Beenden der Funktion mit ihm gearbeitet werden soll

19 insert Teil 1 16 Es muss die richtige Position zum Einfügen gefunden werden Dazu wird der Baum traversiert und insert rekursiv aufgerufen insert: void insert(node_t tree, int value) { if (tree >value >= value) { // value to be inserted is smaller or equal if (tree >left) { // tree >left is not NULL => insert anywhere in left subtree insert(tree >left, value); else { // tree >left is NULL => insert new node node_t left = (node_t )malloc(sizeof(node_t)); left >value = value; left >parent = tree; left >left = NULL; left >right = NULL; tree >left else { = left;

20 insert Teil 2 17 Die Überprüfung ob in Zeiger NULL ist wir genutzt um zu entscheiden, ob der Baum weiter durchsucht werden muss, oder die Position zum Einfügen gefunden wurde insert: else { // value to be inserted is greater if (tree >right) { // tree >right is not NULL => insert anywhere in right subtree insert(tree >right, value); else { // tree >right is NULL => insert new node node_t right = (node_t )malloc(sizeof(node_t)); right >value = value; right >parent = tree; right >left = NULL; right >right = NULL; tree >right = right;

21 binarysearch 18 Der Baum wird per Rekursion traversiert Wird der Wert gefunden, wird 1 zurückgegeben Sind wir bei einem ungültigen Knoten (Zeiger ist NULL) kann der Wert nicht mehr gefunden werden und wir geben 0 zurück binarysearch: int binarysearch(node_t tree, int value) { // if tree is invalid return false if (tree == NULL) { return 0; // if value of current node is equal to value return true if (tree >value == value) { return 1; // value of current node is greater => go left if (tree >value > value) { return binarysearch(tree >left, value); // value of current node is smaller => go right if (tree >value < value) { return binarysearch(tree >right, value); return 0; // to prevent compiler warning; shouldn t go here

22 cleanuptree 19 Nachdem beide Teilbäume aufgeräumt wurden, wird der Knoten mit free freigegeben Es wird nur traversiert, wenn der Knoten nicht NULL ist cleanuptree: void cleanuptree(node_t tree) { if (tree) { // tree is not NULL => traverse tree if (tree >left) { // tree >left is not NULL => clean up left subtree cleanuptree(tree >left); if (tree >right) { // tree >right is not NULL => clean up right subtree cleanuptree(tree >right); // free current node itself free(tree); // free can be called with a NULL pointer

23 Schnittstellen: Übersicht 20 API ABI ISA Tools Libraries System aufrufe Betriebssystem System ISA Hardware Anwendungen User ISA Aus Sicht des Anwenders gibt es mehrere Ebenen von Schnittstellen: Tools, Systemprogramme: Schnittstelle für den Benutzer (z.b. dir, ls) API: Schnittstelle für Programmierer (Compilezeit, z.b. libc,win32,...) ABI: Schnittstelle für Programme (Laufzeit, z.b. ELF,PE32+,...) ISA (Instruction Set Architecture): Maschinenbefehlssatz (i386,sparc,...)

24 Wahl der Waffen: Individualität vs. Kompatibilität 21 Ausprägung der Schnittstelle auf allen Ebenen hängt ab von BS und Maschine D.h. Benutzer, Programmierer und Programme müssen sich auf ein bestimmtes System einstellen Es gibt eine enorme Vielzahl verschiedener Systeme Gut: Unterschiedliche Systeme bieten unterschiedliche Stärken (und natürlich auch Schwächen) Schlecht: Will man mehrere Systeme unterstützen muss man die Eigenheiten der Systeme beachten Standards grenzen das Chaos der Schnittstellen auf einzelnen Ebenen oder sogar ebenenübergreifend ein Leider gibt es auch wieder eine Vielzahl von Standards Heute: große Klassen von BS mit grundlegender Kompatibilität innerhalb der Klasse und kleineren individuellen Unterschieden

25 (Defacto)-Standards für System-Schnittstellen 22 Verschiedene Standards spezifizieren Tools, APIs und ABIs. Standard Tools API ABI Beispiele (konforme Systeme) POSIX Y Y Solaris, Mac OS X, AIX, Linux, Cygwin System V Y Y Y Solaris, AIX, Linux BSD Y Y (Y) FreeBSD, OpenBSD, NetBSD, Linux WIN32 Y Y Y Windows NT und folgende, Wine (teilw.) POSIX: Portable Operating System Interface (for UniX) Standard aus der Unix-Welt, aktuell in der Version POSIX:2008 Umfasst API sowie Standardtools Nicht nur auf Unix beschränkt, auch für Windows gibt es Adaptierungen (Cygwin, Interix,...)

26 (Defacto)-Standards für System-Schnittstellen 23 System V: BSD: Unix Betriebssystem von AT&T, seit 1992 in der Version 4.2 Bezeichnet aber auch Standard für Schnittstellen für eine ganze Klasse von Unix (ähnlichen) Systemen Umfasst API und Tools aber vor allem ABI System V ABI wird in nahezu allen Unix ähnlichen Systemen genutzt Von der Berkley Software Distribution (erstmals 1977) abgeleiteter Standard Umfasst API sowie Tools BSD und System V sind Unix Derivate die maßgeblichen Einfluss auf andere Unix-basierte und -ähnliche BS genommen haben Linux, Mac OS, Solaris, uvm.

27 APIs: Beispiele und weitere Informationen 24 Linux und Unix Die wichtigsten System APIs sind: POSIX, System V sowie BSD (in verschiedenen Versionen) Informationen findet man online sowie zum jeweiligen System mittels man 2 intro bzw. man syscalls Windows Die Win32 API ist seit Windows NT die gängige API für alle Windows Programme Die Erweiterung für 64-Bit wird meist ebenfalls mit Win32 (for 64-bit Windows) bezeichnet Eine Online-Dokumentation ist im MSDN (Microsoft Developer Network, msdn.microsoft.com) zu finden

28 Beispiel für eine API: Lesen aus einer Datei 25 Eine Anwendung möchte aus einer Datei lesen Dazu wird eine konkrete API benötigt Eine Mögliche Lösung: Die Funktion read der POSIX API Diese Funktion dient zum Lesen aus einer Datei und besitzt drei Parameter: Dateideskriptor, Datenpuffer, Zeichenanzahl Beispiel-Aufruf in C (u.a. POSIX-konform): count = read(fd, buffer, nbytes); Es wird durch count die Anzahl tatsächlich gelesener Zeichen zurückgeliefert, sie kann evtl. kleiner als nbytes sein Wurde der Systemaufruf nicht erfolgreich ausgeführt, dann wird count auf -1 gesetzt, die Fehlernummer wird hierbei in die globale Variable errno gelegt

29 Verwendung und Implementierung der API 26 Eine API muss von einer konkreten Bibliothek implementiert werden Die Implementierung ist System-spezifisch (also bezgl. ABI und ISA) Die durch die API beschrieben Funktionalität wird dabei auf konkrete Aufrufe des Systems abgebildet Die Funktion read ist z.b. unter Unix in der C Standard Library implementiert (z.b. glibc) Dabei gilt insbesondere: Ein Programmtext kann auf allen Systemen übersetzt werden, welche die verwendete API anbieten Ein Programm (binär) kann auf allen Systemen ausgeführt werden, welche die verwendete ABI und ISA anbieten

30 ABI vs. API 27 API Application Programming Interface: Syntaktische und Semantische Beschreibung von Funktionsaufrufen Für eine konkrete Programmiersprache ABI Application Binary Interface: Beschreibung der Konvention zur Ausführung und Interaktion von Programmen in einem BS Format von binären Programm-, Object- und Bibliotheksdateien: z.b. ELF (Unix), PE32+ (Windows) Repräsentation von Datentypen: Größe, byte-order, alignment Speicherverwaltung und -layout: Virtuelle Adressräume, Abbild des Programms und der Daten im Speicher Realisierung von Funktionsaufrufen (calling conventions): Umgang mit Stack und Registern, Übergabe von Parametern, Rückgabe von Werten Symbole der Systemaufrufe: Beschreibung der Systemaufrufe auf binärer Ebene (Umsetzung einer API in Programmadressen)

31 ABI Ausprägungen 28 ABIs existieren für verschiedene Plattformen: i386, AMD-64, SPARC, MIPS,... verschiedene Systeme: System V, Windows, Mac OS, OS/2,... Binärformate: ELF (System V), PE32+ (Windows), a.out,... Datenrepräsentation: z.b. 32 oder 64 Bit, Big- oder Little-Endian Calling Convention: cdecl (x86 standard), stdcall (Win 32 standard), fastcall (Win 32, gcc)

32 ABI: Beispiel Binärformat ELF 29 Eine ELF konforme Datei enthält: Program Header Table, Section Header Table, sowie Daten (Programmcode usw.) Header beschreibt Einstiegspunkte der Datei sowie genaues Datenformat und Plattform Kurzinformationen, für welche Plattform eine ELF-Datei bestimmt ist, können mittels file ausgelesen werden Beispiel: Binary (myapp) für x86 64 GNU/Linux myapp: ELF 64 bit LSB executable, x86 64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux ,... Beispiel: Binary (myapp) für SPARC myapp: ELF 32 bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses shared libs), not stripped Mittels readelf können alle ELF-Informationen ausgelesen werden

33 ABI: Beispiel Calling Conventions cdecl,fastcall 30 cdecl: Parameter werden von rechts nach links auf dem Stack abgelegt Rückgabe wird in Registern abgelegt, falls passend (int in eax, float in st0) Die Register eax,ecx,edx können von der Funktion frei verwendet werden fastcall: Nicht standardisiert, Microsoft und GCC arbeiten dabei wie folgt: Die ersten beiden Parameter (von links nach rechts) werden in Registern ( fast) abgelegt, falls passend Die restlichen Parameter werden von rechts nach links auf dem Stack abgelegt

34 Zusammenfassung ABI 31 Mit dem ABI Aspekt der Speicherverwaltung aus Sicht der Prozesse werden wir uns später noch ausführlich befassen! Kompatibilität: Programme können auf anderen Systemen ausgeführt werden, wenn diese die gleiche ABI (Version!) unterstützen (Calling Conventions, Systemaufrufe), und insbesondere den gleichen Maschinenbefehlssatz und die gleiche Datenrepräsentation verwenden. außerdem kompatible Versionen aller verwendeten Bibliotheken installiert sind.

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

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

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

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

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

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

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

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

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

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

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

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

desk.modul : WaWi- Export

desk.modul : WaWi- Export desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm

Mehr

Liesmich zum Kurs: Programmieren in der Bioinformatik mit Perl Konfigurierung der Programmierumgebung

Liesmich zum Kurs: Programmieren in der Bioinformatik mit Perl Konfigurierung der Programmierumgebung Liesmich zum Kurs: Programmieren in der Bioinformatik mit Perl Konfigurierung der Programmierumgebung 1 1 Allgemeines Um die Beispiele und Aufgaben des Kurses Programmieren in der Bioinformatik mit Perl

Mehr

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Suchbäume 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

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

Workshop: Eigenes Image ohne VMware-Programme erstellen

Workshop: Eigenes Image ohne VMware-Programme erstellen Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community

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

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

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

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

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

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

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

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

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70 Thermoguard Thermoguard CIM Custom Integration Module Version 2.70 Inhalt - Einleitung... 3 - Voraussetzungen... 3 - Aktivierung und Funktion der Schnittstelle... 3 - Parameter... 4 - NLS-Einfluss... 4

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 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Betreuer: Dipl.-Ing. A. Cemal Özlük Dipl.-Inf. Uwe Ryssel ALLGEMEINE

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungsziele: Skript: 1. Definieren einer dynamischen Datenstruktur 2. Dynamische Speicher Speicherallokation 3. Implementierung eines

Mehr

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

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

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

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

Computeria Solothurn

Computeria Solothurn Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS

Mehr

Windows Server 2012 R2 Essentials & Hyper-V

Windows Server 2012 R2 Essentials & Hyper-V erklärt: Windows Server 2012 R2 Essentials & Hyper-V Windows Server 2012 R2 Essentials bietet gegenüber der Vorgängerversion die Möglichkeit, mit den Boardmitteln den Windows Server 2012 R2 Essentials

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

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Informatik 1 Tutorial

Informatik 1 Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

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

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

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

2. Darstellung von Information im Computer

2. Darstellung von Information im Computer Informationsbestände analysieren Darstellung von Information im Computer 2. Darstellung von Information im Computer Übung 2.1. Formatierung eines Datenträgers Ziel Sie haben ein Idee, wie in einem Computersystem

Mehr

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften 1. Digital signierte Rechnungen Nach 11 Abs. 2 zweiter Unterabsatz UStG 1994 gilt eine auf elektronischem Weg übermittelte Rechnung nur dann als Rechnung im Sinne des 11 UStG 1994, wenn die Echtheit der

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

mit dem TeXnicCenter von Andreas Both

mit dem TeXnicCenter von Andreas Both LaTeX mit dem TeXnicCenter Seite 1 von 9 mit dem TeXnicCenter von Andreas Both Diese Dokument soll den Schnelleinstieg von der Installation bis zum ersten LaTeX-Dokument in sehr kurzen (5) Schritten und

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

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

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

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

Zugriff auf Daten der Wago 750-841 über eine Webseite

Zugriff auf Daten der Wago 750-841 über eine Webseite Zugriff auf Daten der Wago 750-841 über eine Webseite Inhaltsverzeichnis Einleitung... 3 Auslesen von Variablen... 4 Programm auf der SPS... 4 XML-Datei auf der SPS... 4 PHP-Script zum Auslesen der XML-Datei...

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

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 Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

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

Kommunikations-Parameter

Kommunikations-Parameter KNX App knxpresso für Android Tablets/Phones Kommunikations-Parameter Ausgabe Dokumentation: Mai. 2015 Doku Version V1.0.0 - Seite 1/8 Inhaltsverzeichnis 1.1 Nützliche Links... 3 1.2 Beschreibung der Kommunikations-Datei...

Mehr

Klausur in Programmieren

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

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

Alte Software auf neuer Hardware, Neue Software auf alter Hardware

Alte Software auf neuer Hardware, Neue Software auf alter Hardware Alte Software auf neuer Hardware, Neue Software auf alter Hardware Ignatios Souvatzis Institut für Informatik NetBSD Project ignatios@cs.uni-bonn.de is@netbsd.org http://theory.cs.uni-bonn.de/ ignatios/

Mehr

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem 2 DAS BETRIEBSSYSTEM Themen in diesem Kapitel: Das Betriebssystem Die Windows-Oberfläche Elemente eines Fensters 2.1 Wozu dient das Betriebssystem Das Betriebssystem (engl.: operating system, kurz: OS)

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

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

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

QUICK INSTALLATION GUIDE

QUICK INSTALLATION GUIDE BIANCA/BRI für Windows NT Willkommen zu einer der leistungsfähigsten ISDN-Lösungen für Windows NT. Diese Lösung umfaßt nicht nur die CAPI (Common ISDN Application Program Interface), sondern auch NDIS-IP.

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Werkzeuge der Informatik UNIX

Werkzeuge der Informatik UNIX Autor: David Mainzer Institut für Informatik 1 Werkzeuge der Informatik UNIX Prof. Dr. Gabriel Zachmann (zach@in.tu-clausthal.de) David Mainzer (dm@tu-clausthal.de) Institut für Informatik 17. Dezember

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

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

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

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere

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

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

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

KVIrc installieren (win) i. KVIrc installieren (win)

KVIrc installieren (win) i. KVIrc installieren (win) i KVIrc installieren (win) ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 1.0 May 08 T iii Contents 1 Einleitung 1 1.1 Über KVIrc...................................................... 1 1.2 Vorbereitungen....................................................

Mehr

Herzlich Willkommen bei der nfon GmbH

Herzlich Willkommen bei der nfon GmbH efax Handbuch Herzlich Willkommen bei der nfon GmbH Wir freuen uns, Ihnen unser efax vorstellen zu dürfen. Mit dem efax können Sie zu jeder Zeit mit Ihrem Rechner Faxe empfangen. Sie bekommen diese dann

Mehr

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2 Produkt: Melde- und Bedientableau Typ: MT 701.2 Aktuelles Anwendungsprogramm Plug-In für ETS 2 MT_701_2_ETS2_SOW_xx_V1-12a_de_en.exe Plug-In für ETS 3 MT_701_2_ETS3_SOW_xx_V1-12a_de_en.exe EIBTAB: MT_701_2_EIBTAB_SOW_de_V2-08-00A_EibTab+Firmware.EXE

Mehr

Java Script für die Nutzung unseres Online-Bestellsystems

Java Script für die Nutzung unseres Online-Bestellsystems Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,

Mehr

Der neue persönliche Bereich/die CommSy-Leiste

Der neue persönliche Bereich/die CommSy-Leiste Der neue persönliche Bereich/die CommSy-Leiste Mit der neue CommSy-Version wurde auch der persönliche Bereich umstrukturiert. Sie finden all Ihre persönlichen Dokumente jetzt in Ihrer CommSy-Leiste. Ein

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Überprüfung der digital signierten E-Rechnung

Überprüfung der digital signierten E-Rechnung Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,

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

Wie können Sie eine Client Lizenz wieder freigeben?

Wie können Sie eine Client Lizenz wieder freigeben? NetWorker - Allgemein Tip #267, Seite 1/5 Wie können Sie eine Client Lizenz wieder freigeben? Auch diese Frage wird häufig gestellt - sie ist wichtig, wenn ein Computer außer Dienst gestellt wurde und

Mehr

Datei Erweiterungen Anzeigen!

Datei Erweiterungen Anzeigen! Einleitung Beim Kauf eines PCs werden die Dateierweiterungen sowie einige Dateien nicht angezeigt. Grund: Es gibt sehr viele Dateien die für das System ganz wichtig sind. Diese Dateien und auch Ordner

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr