Künstliche Intelligenz Expertensysteme Wissensbasierte Systeme
|
|
- Heinrich Fischer
- vor 7 Jahren
- Abrufe
Transkript
1 Künstliche Intelligenz Expertensysteme Wissensbasierte Systeme Referat Semester 2001/2002 Vorlesung Theoretische Informatik Fachhochschule Aachen Fachbereich Elektrotechnik Frank Moos Bohn Patrick Michael Reiher
2 Inhaltsverzeichnis Künstliche Intelligenz KI... Seite 03 Expertensystem EXS... Seite 03 Wissensbasierte Systeme KBS... Seite 03 Programmbeispiel... Seite 04 Anwendungen der KI... Seite 06 Verarbeitung natürlicher Sprache... Seite 06 Bildverarbeitung... Seite 07 Robotik... Seite 08 Merkmale von Expertensystemen... Seite 09 Eigenschaften von Experten und EXS... Seite 09 Komponenten eines EXS... Seite 10 Darstellung und Auswertung des Wissens... Seite 11 Semantische Netze... Seite 12 Objektorientierte Wissensrepräsentation... Seite 13 Frames... Seite 14 Literaturverzeichnis... Seite 15 2
3 Ein Fachgebiet der Informationstechnik ist die Nachbildung des menschlichen Verhaltens beziehungsweise der Versuch Intelligenz nachzubilden. Computeranwendungen die Wissen speichern, verarbeiten und sich intelligent verhalten, nennt man Künstliche Intelligenz. Zwei wesendliche Ziele werden derzeit auf diesem Fachgebiet verfolgt. Künstliche Intelligenz soll Menschen bei der Problembewältigung unterstützen (technische Wissenschaft). Das Problemlösungsverhalten von Menschen besser verstehen zu lernen (Geisteswissenschaften). Im Anschluss befinden sich Begriffserläuterungen zur Künstlichen Intelligenz. In einem Beispielprogramm wird der Unterschied zwischen einem Wissens- und Expertensystemen erläutert. Künstliche Intelligenz KI Versuch mit Programmen die Funktionen des menschlichen Gehirns (Verhalten, Verstand) nachzubilden. Aufgrund weitgehender Erfolglosigkeit dieser Arbeiten ging man dazu über, KI Programme für stark eingeschränkte Wissensbereiche zu entwickeln, sogenannte Expertensysteme. Expertensystem EXS Expertensysteme lösen Probleme wie Experten auf einem eng definierten Problemkreis, ihrem eigenen Fachbereich (Kompetenzbereich) überdurchschnittlich effizient. EXS sind jedoch genau wie Experten nicht unfehlbar! Wissensbasierte Systeme KBS Ein KBS ist ein Softwaresystem, bei dem das Fachwissen über ein Anwendungsgebiet unabhängig vom allgemeinen Problemlösungswissen und vom Wissen über die spezifische Systemimplementation dargestellt ist. KI-Programme KBS EXS Einordnung von Expertensystemen 3
4 Programmbeispiel // Programm zur Funktionsweise von Wissensystemen und Expertensystemen. // (c) Bohn Partick, Moos Frank, Reiher Michael // Es sollen zwei Zahlen eingegeben und Multipliziert werden. // Im Wissensystem wird zur Lösung des Problems eine "Wissenstabelle" durchsucht. // Expertensysteme Lösen dieses Problem durch ein zuvor beigebrachen Verfahlen (Formel). // Einbinden der Header Files #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> // Neuen Variablentyp erstellen, der unsere Daten des Wissensystems Speichern kann typedef struct { char zeichen[4]; int Erg; }tabelle; // Funktionsprototypen int KBS(int zahl1, int zahl2); int EXS(int zahl1, int zahl2); // Hauptprogramm inkl. des Menus int main (void) { int Auswahl, x, y, Fehler=0; do{ system("cls"); printf("einlesen der Werte, die multipliziert werden sollen:\n\n"); printf("wert 1: "); scanf("%d", &x); printf("wert 2: "); scanf("%d", &y); printf("\n\n(1) Wissenbasiertes System\n"); printf("(2) Expertensystem\n"); printf("(0) ENDE\n"); Auswahl=getch(); switch(auswahl) { case '1': Fehler=KBS(x, y);getch(); break; case '2': Fehler=EXS(x, y);getch(); break; } // Wenn keine Lösung oder Fehler, dann Ausgabe: if(fehler){ printf("\n\ndas gewaehlte System konnte keine Loesung finden!\n\n"); getch(); } }while(auswahl!='0'); return 0; } // Funktion des Expertensystems // Lösung anhand eines zuvor beigebrachten Verfahrens int EXS(int zahl1, int zahl2) { int i,wert=0; 4
5 } printf("\nberechnung des Ergebnis mittels Rechenregel:\n\n"); for (i=1; i<=zahl1; i++) { if (i<zahl1) printf("%d + ", zahl2); else printf("%d ", zahl2); wert=wert+zahl2; } printf("= %d\n\n\n", wert); return 0; // Funktion des Wissenssystems // Hierbei wird in einem zuvor angelegten "Wissen" nachgeschaut. // Suchalgorithmen spielen hierbei eine grosse Rolle! int KBS(int zahl1, int zahl2) { tabelle tab[10]; int i; char multi[4]; // "Wissen" tab[1].zeichen[0]='1'; tab[1].zeichen[1]='*'; tab[1].zeichen[2]='1'; tab[1].zeichen[3]='\0'; tab[1].erg=1; tab[2].zeichen[0]='2'; tab[2].zeichen[1]='*'; tab[2].zeichen[2]='2'; tab[2].zeichen[3]='\0'; tab[2].erg=4; tab[3].zeichen[0]='3'; tab[3].zeichen[1]='*'; tab[3].zeichen[2]='3'; tab[3].zeichen[3]='\0'; tab[3].erg=9; tab[4].zeichen[0]='4'; tab[4].zeichen[1]='*'; tab[4].zeichen[2]='4'; tab[4].zeichen[3]='\0'; tab[4].erg=16; tab[5].zeichen[0]='5'; tab[5].zeichen[1]='*'; tab[5].zeichen[2]='5'; tab[5].zeichen[3]='\0'; tab[5].erg=25; tab[6].zeichen[0]='6'; tab[6].zeichen[1]='*'; tab[6].zeichen[2]='6'; tab[6].zeichen[3]='\0'; tab[6].erg=36; tab[7].zeichen[0]='7'; tab[7].zeichen[1]='*'; tab[7].zeichen[2]='7'; tab[7].zeichen[3]='\0'; tab[7].erg=49; tab[8].zeichen[0]='8'; tab[8].zeichen[1]='*'; tab[8].zeichen[2]='8'; tab[8].zeichen[3]='\0'; tab[8].erg=64; tab[9].zeichen[0]='9'; tab[9].zeichen[1]='*'; tab[9].zeichen[2]='9'; tab[9].zeichen[3]='\0'; tab[9].erg=81; // Zahlen in Zeichenketten umwandeln. multi[0]=zahl1+48; multi[1]='*'; multi[2]=zahl2+48; multi[3]='\0'; // Suchen und ausgeben der aktuell durchsuchten Zeichenkette. printf("\ndie zu suchende Zeichenkette: %s\n", multi); } for(i=1;i<=9;i++) { printf("\ndie Tabelle wird nach %s durchsucht...", tab[i].zeichen); if(strcmp((tab[i].zeichen),multi)==0) { printf("\neintrag gefunden!\n"); printf("\nloesung: %d\n\n", tab[i].erg); return 0; } } return 1; 5
6 Anwendungen der KI In den folgenden Bereichen findet die Künstliche Intelligenz Anwendung. 1. Folgerungssysteme und Automatische Programmierung 2. KI Sprachen 3. Expertensysteme 4. Intelligent Computer Aided Instruction ICAI 5. Verarbeitung natürlicher Sprache 6. Bildverarbeitung / Bild erkennen Bild verstehen 7. Robotik Auf die letzten drei Punkte der Aufzählung werden wir auf den nun folgenden Seiten, auch anhand einiger Beispiele genauer eingehen. Beispiel 1: Verarbeitung natürlicher Sprache Die Verarbeitung von Sprache ist eines der komplexesten Phänomene menschlicher Intelligenz überhaupt und ist daher ein Schlüsselgebiet der KI. In der 1. Phase werden mittels Signalanalyse, Segmentierung und anschließender lexikalischer und morphologischer Analyse aus geschriebenem bzw. gesprochenen Wörtern computerlesbare Daten. Eine Texterkennungssoftware, die dies bei geschriebenem Text leistet, gehört heutzutage zur Standardsoftware eines Scanners. In der 2. Phase werden die eingelesen Sätze anhand einer Syntax auf deren grammatikalische Korrektheit überprüft. Der Satz >Hans isst Liebe< wäre nach dieser Überprüfung syntaktisch korrekt. In der nächsten Phase wird ein syntaktisch korrekter Satz semantisch analysiert, damit unsinnige Sätze erkannt werden. Die Semantik eines Wortes besteht zunächst aus der Bedeutung, die im Lexikon mit dem Wort abgespeichert ist. Eine starke Semantik erhält ein Wort erst aus dem Zusammenhang mit anderen Wörtern. Die semantische Auflösung des Beispiels >Hans isst Liebe< ergibt die Aktion >essen< und als deren Objekt >Liebe<, was einen logischen Fehler bedeutet. Der Satz >Hans isst Salat< weist die gleiche syntaktische Struktur auf, ist aber zudem auch semantisch korrekt. 6
7 Beispiel 2: Bildverarbeitung Die Bildverarbeitung beinhaltet viele sehr komplexe Prozesse. Sie sind viel aufwendiger als das Führen von mathematischen Beweisen. Beim Menschen sind diese Prozesse sozusagen hart verdrahtet in der biologischen Hardware und werden nicht bewusst erlebt. Die vier verschiedenen Leistungsstufen 1. Bilddarstellung Pixel, Helligkeit, Farbe 2. Segmentierung Konturen erkennen; Was gehört zusammen? Wo beginnt etwas Neues? Wo endet etwas? 3. Objekterkennung (Mustervergleich) Mit welchen in der Wissensbasis vorhandenen Objekten können bestimmte Konturen am ehesten identifiziert werden? (Beispiel OCR Schrifterkennungsprogramme) 4. Szenenanalyse In welcher Beziehung stehen die Objekte? (Beispiel Kegel steht auf Würfel. Mann steht vor der Türe.) rein algorithmisch möglich erfordern Wissen (verdeckte Teile, Beleuchtungsverhältnis, Schatten, Perspektiven, bewegte Bilder) Die ersten beiden Punkte der Aufzählung sind rein algorithmisch lösbar und werden auch von den meisten Bildbearbeitungsprogrammen auf dem heutigen Markt beherrscht. Funktionen wären zum Beispiel das Kopieren von Pixel oder das Aufhellen eines Bildes. Um Konturen an einem Bild zu erkennen muss das Programm erkennen, wo etwas beginnt oder endet. Nur so sind beispielsweise die Stärkelinien in einem Bild zu erkennen. Sehr viel schwerer ist die Objekterkennung. Hierzu muss schon eine Wissensbasis mit vorhandenen Objekten bestehen. Mit Hilfe mathematischer Formeln und geeigneter Algorithmen müssen viele Vergleiche durchgeführt werden. Ein Beispiel hierzu wäre eine scheinbar einfache Schriftenerkennung. Hierbei wird der eingelesene Text (noch in Bild-/ Pixelform) mit dem im Rechner vorhandenen Wissen verglichen. Als letzten Punkt haben wir die Szenenanalyse aufgeführt. Hierbei ist nicht nur das Wissen Voraussetzung, sondern die Bilder müssen vom Rechner noch interpretiert werden. Es wird beispielsweise erkannt, wenn ein Kegel auf einem Würfel steht. Eine weitere Aussage könnte beispielsweise Mann steht vor der Türe. lauten. Entfernt sind wir noch von der Interpretation von bewegten Bildern. Hierzu möchten wir ein letztes Beispiel nennen. Es wäre also möglich einen Rechner mit dem Ansehen eines Filmes zu beauftragen. Danach könnten wir uns die vom Rechner erstellte Zusammenfassung durchlesen. 7
8 Beispiel 3: Robotik Bisherige Industrieroboter werden programmiert In Zukunft werden KI-Roboter eingesetzt, die nicht programmiert, sondern trainiert werden Bis heute werden die Industrieroboter programmiert und sind somit nicht in der Lage ihre Fähigkeiten zu erweitern oder zu verbessern. Doch dank der KI-Roboter, wird dies wohl bald zur Vergangenheit gehören, denn die KI-Roboter müssen dann nicht mehr programmiert werden, sondern trainiert, d.h. sie lernen, genau wie ein Mensch diese Tätigkeit lernen müsste. Und genau wie der Mensch, machen auch KI-Roboter Fehler während ihres Lernprozesses, allerdings machen sie mit der Zeit immer weniger Fehler. Was besonders wichtig und interessant ist, ist, dass bei einem KI-Roboter, im Gegensatz zum Menschen, die Fehlerrate für eine gleichbleibende Aufgabe stetig abnimmt, und niemals wieder zunimmt. Beispiel Ein KI-Roboter der am Fließband arbeitet, muss also nicht darauf programmiert werden wo er ein Paket aufheben muss, sondern er bringt es sich selber bei indem er ständig versucht, meist mittels Sensoren, ein Paket vom Fließband aufzuheben. Bei dem Versuch das Paket zu finden und aufzuheben, wird der KI-Roboter oft ins Leere fassen, doch niemals zweimal an dieselbe Stelle. Wenn er schließlich das Paket findet, kann er es beiseite legen. Anschließend wird der KI-Roboter nie mehr danebenfassen, solange seine Aufgabe gleich bleibt, d.h. sich der Ort oder die Größe des Pakets nicht ändert. Wenn das doch der Fall sein sollte, muss der Lernprozess einfach wiederholt werden. 8
9 Merkmale von Expertensystemen verwenden KI Methoden, z.b. können sie Folgerungen ziehen und enthalten eine explizite Wissensdarstellung. verwenden Heuristiken, d.h. Regeln, die Experten aus ihrer eigenen Erfahrung als brauchbar einstufen. können Schlussfolgerungen, d.h. Lösungen (Antworten) erklären(begründen). können einfach mit neuem Wissen ergänzt werden. lösen Probleme nicht nach vorgezeichneten Lösungswegen sondern wie ein Experte, d.h. durch die Anwendung bestimmter Regeln, Verifizierung von Hypothesen und durch das Einholen fehlender Informationen. dadurch können EXS völlig anderen Anforderungen gerecht werden als konventionelle Programme Eigenschaften von Experten und EXS In der unten aufgeführten Tabelle sind Unterschiede zwischen einem Expertensystem und einem Experten. EXS Spezialwissen enge Fachkompetenz Experte Spezialwissen enge Fachkompetenz + gesunder Menschenverstand hilft weiter wo das Spezialwissen endet weiss nicht, was es nicht weiss weiss, was er nicht weiss weiss, wie gut er es weiss, hat Selbsteinschätzung, kann Regeln brechen ahnt, was andere Experten wissen / meinen (Expertenstreit) Gegenüberstellung eines Expertensystems und eines Experten 9
10 Komponenten eines EXS Grundsätzlich besteht ein Expertensystem aus den folgenden Komponenten. Wissensaquisitionskomponente Problemlösungskomponente Dialogkomponente Erklärungskomponente Komponenten eines Expertensystems Wissensbasis Wissensaquisitionskomponente Einbringen, Verändern oder Löschen von Wissenskomponenten. Die meisten Expertensysteme verfügen nicht über solche Komponenten. Sie stellen für diesen Zweck spezielle Editoren für die vom System vorgesehene Wissensdarstellung vor. Beispiele: Regel-, Objekt-, Attribut- und Funktionseditoren Dialogkomponente Dient als Schnittstelle zwischen dem Menschen und dem EXS. Die systemintere Wissensdarstellung ist im Allgemeinen zu abstrakt als dass sie für den Standardanwender verständlich wäre. Darum müssen Fragen und Antworten entweder in natürlicher Sprache oder in anwendungsorientierten Masken über eine Dialogschnittstelle erfolgen. Problemlösungskomponenten Das neue Wissen wird ausgehend von einer gestellten Hypothese ausgewertet, indem von einander abhängige Wissenselemente nach einer bestimmten Abarbeitungsstrategie (Kombination) angesteuert und überprüft werden. Die Abarbeitungsstrategie kann dynamisch, d.h. in Abhängigkeit von Ereignissen gesteuert werden. Man spricht dann auch von Kontrollstrategien. Erklärungskomponente Sie ist für Expertensysteme eine typische und wichtige Komponente die in klassischen Computeranwendungen fehlt. Sie gibt darüber Aufschluss, wie eine Lösung gefunden wurde. Im einsetzbaren Expertensystem fördert Sie das Vertrauen der Anwender in die vorgeschlagen Lösungen. Wissensbasis Enthält das Fachwissen des / der Experten über das Anwendungsgebiet Für die Darstellung des Fachwissens existieren verschiedene Methoden der Wissensrepräsentation (später in Rahmen, Objekten usw. erklärt). 10
11 Darstellung und Auswertung des Wissens Um das Wissen später auswerten zu können ist eine gut überlegte und konsequente durchgesetzte Speicherung notwendig. Semantische Netze Objektorientierte Wissenspräsentation Frames Logik Regelbasierte Wissenspräsentation Auf die Darstellung/ Speicherung in Semantischen Netzen, objektorientierte Wissenspräsentation und in Frames möchten wir nun noch einmal genauer eingehen. 11
12 Beispiel 1: Semantische Netze Ein Semantisches Netz ist ein Graph bestehend aus einer Menge von Knoten und Kanten. Die Kanten von Graphen können gerichtet sein. In semantischen Netzen wird das Wissen netzwerkartig, d.h. in Baumstruktur dargestellt. Knoten Sie stellen beliebige Sachverhalte dar, wie z.b. Objekte, Ereignisse, usw. Kanten Sie dienen dazu die Beziehungen zwischen den Knoten herzustellen Am einfachsten lässt sich dies an der...ist ein... und...hat... Beziehung erklären. Die...ist ein... Beziehung dient z.b. zur Unter- bzw. Zuordnung eines Begriffes zu einem Oberbegriff. Die...hat... Beziehungen hingegen dient dazu einem Objekt Eigenschaften oder andere Objekte zuzuordnen. Diese Beziehungen werden am folgenden Beispiel gut erklärt: Beispiel eines semantischen Netzes Diese Art der Wissensdarstellung erlaubt eine einfache Verwaltung der Informationen, da die Teile ohne Informationswert bei dieser Verwaltung weggelassen werden können,und sie bietet zudem noch freie Hand zur Einrichtung von Vererbungsmechanismen entlang der gerichteten Beziehungen. So können bestimmte Eigenschaften oder Fähigkeiten an übergeordneter Stelle vereinbart werden, und sämtliche, in Pfeilrichtung nachgelagerten Knoten können diese bei Bedarf erben, bzw. konsultieren. 12
13 Beispiel 2: Objektorientierte Wissenspräsentation Objektorientierte Wissenspräsentation lehnt sich an die objektorientierte Programmierung an: Dort wurde das Objekt als Verallgemeinerung des abstrakten Datentyps erfunden: Im Prinzip handelt es sich bei Objekten um streng verkapselte Datenstrukturen. Objekte kommunizieren untereinander durch Mitteilungen, die beim Adressaten etwas auslösen. Was eine Mitteilung konkret auslöst, hängt einerseits von den mitgelieferten genaueren Angaben ab (spezifizierten Parametern) und andererseits von der Weise, wie das Empfängerobjekt die Mitteilung interpretiert. Für die Interpretation verfügt jedes Objekt über Methoden (Prozeduren). Dies können eigene, nur ihm selbst bekannte Methoden sein, oder aber Methoden, welche von Übergeordneten geerbt werden. Grundlegend für das Verständnis eines objektorientierten Systems sind die Begriffe Klasse und Instanz. Klasse mit 3 Attributen und 2 Methoden Eine Klasse kann als Schablone für ein Objekt aufgefasst werden. Die Klasse steht für ein abstraktes Grundmuster, nach dem Objekte erzeugt werden können. Sie definiert die Merkmale und das Verhalten (die Fähigkeiten) der zu der Klasse gehörenden Objekte. Die einzelnen Ausprägungen einer Klasse nennt man Instanzen. Sie werden in einem gesonderten Vorgang, der Instanzierung, erzeugt. Instanzen erhalten grundsätzlich die gleichen Merkmale (Attribute) und Fähigkeiten (Methoden) wie die Klasse. Zu einer Klasse können Unterklassen gebildet werden. Sie erben von der übergeordneten Klasse deren Merkmale und Fähigkeiten. Auf diese Weise können ganze Hierarchien von Klassen entstehen. Innerhalb einer zusammenhängenden Hierarchie kann von oben nach unten vererbt werden. Dies verringert die Redundanz in der Wissensdarstellung, da gleiche (gemeinsame) Merkmale oder Fähigkeiten nicht bei jeder Instanz, sondern nur bei einer der übergeordneten Klassen gespeichert und verwaltet werden müssen. 13
14 Beispiel 3: Frames (Rahmen) Eine spezielle Form der objektorientierten Wissensdarstellung sind die Frames. Bei den Frames wurde im Gegensatz zum Objekt auf die Kapselung verzichtet. Die in einem Frame definierten Datenelemente haben also globalen Charakter! Frames sind, wiederum im Gegensatz zu Objekten stärker strukturiert: Die Methoden sind den Attributen zugeordnet und bilden zusammen mit diesen so genannte Slots. Ein Slot beschreibt den Zustand eines Attributs sowie die Prozedur, die besagt, was zu geschehen hat, falls das Attribut einen neuen Wert zugewiesen erhält, falls sein Wert gelöscht wird oder falls sein Wert abgefragt (benötigt, gelesen) wird. Alle Slots eines Frames zusammen eignen sich deshalb vorzüglich zur Beschreibung einer Szene beziehungsweise von Szenenwechseln. Da auch zu jedem Frame Prozeduren vereinbart werden können, die beschreiben, was beim Betreten und Verlassen des Frames zu geschehen hat, eignen sich Frames zur regieartigen Wissensdarstellung von komplexen Prozessen. Im Gegensatz zur Regie von Filmen oder Theaterstücken lässt die Regie mittels Frames viel mehr Freiraum für den Handlungsablauf offen. Struktur eines Frames Frames können wie im objektorientierten Ansatz Frameklassen bilden, Frameklassen können in eine Klassenhierarchie eingeordnet werden, innerhalb derer Slots vererbt werden. In jeder Frameklasse können beliebig viele Frame Instanzen erzeugt werden. Sie beschreiben Handlungen und Situationen einer Szene, der Aufruf einer Instanz eines anderen Frames zu einem Szenenwechsel. Frames können auch als Darstellungsform für die Knoten in semantischen Netzen gebraucht werden. Kaufvertrag1 Firmen Produkt Datum Eifel-Online PC1 ist ein Preis FH Aachen IBM PC DM Beispiel für ein Frame/ Subframe Vor- und Nachteile der Frames + Frames werden in Zukunft eine bedeutende Rolle in der Wissensverarbeitung spielen + Erlauben eine vielseitige Präsentation von Wissen (aus diesem Grunde Komplex) - Frames werden schnell sehr komplex - schwierig zu entwickeln (Programmierung in LISP/ PROLOG) 14
15 Literaturverzeichnis Künstliche Intelligenz Allgemeine Prinzipien und Modelle B.I. Taschen Buch Verlag Künstliche Intelligenz und Expertensysteme R. Oldenbourg Verlag Künstliche Intelligenz Einführung und technische Anwendung Wissenssysteme Verlag Technik Berlin KI/ Expertensysteme Konzepte- Entwicklung- Anwendung SYBEX Verlad Praxis der Digitalen Bildverarbeitung und Mustererkennung HANSER Verlag 15
Entwicklung und Einsatz von Expertensystemen
Karl Kurbel Entwicklung und Einsatz von Expertensystemen Eine anwendungsorientierte Einführung in wissensbasierte Systeme Mit 46 Abbildungen Springer-Verlag Berlin Heidelberg New York London Paris Tokyo
MehrExpertensysteme / XPS
Expertensysteme / XPS Alexander Pentzlin und Thiemo Bannasch KI II Claes Neuefeind 27.06.2012 1 Inhalt Was ist ein Expertensystem Geschichtlicher Hintergrund Prinzip eines XPS Komponenten Realisierungsprinzipien
MehrAlgorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrObjektorientierte Bildverarbeitung Methodische Grundlagen
ARC GmbH Objektorientierte Bildverarbeitung Methodische Grundlagen Klaus Steinnocher, Florian Kressler klaus.steinnocher@arcs.ac.at Geschäftsfeld Umweltplanung ARC http://www.arcs.ac.at/s 1 ARC GmbH Einleitung!
MehrEinführung Grundbegriffe
Einführung Grundbegriffe 1.1 Der Modellbegriff Broy: Informatik 1, Springer 1998 (2) Die Modellbildung der Informatik zielt auf die Darstellung der unter dem Gesichtspunkt einer gegebenen Aufgabenstellung
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
MehrWas ist Informatik? Alexander Lange
Was ist Informatik? Was ist Informatik? Alexander Lange 12.11.2003 Was ist Informatik? Inhalt 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Das Wort»Informatik«Die Idee Teilgebiete der Informatik Technische Informatik
MehrTeil 111. Chart-Parsing
Teil 111 Chart-Parsing 102 Die im ersten Teil des Buches behandelten einfachen Parsingalgorithmen sind, anders als die meisten vor allem im Compilerbau verwendeten Algorithmen (z.b. die LLoder LR-Parsingalgorithmen),
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
MehrD1: Relationale Datenstrukturen (14)
D1: Relationale Datenstrukturen (14) Die Schüler entwickeln ein Verständnis dafür, dass zum Verwalten größerer Datenmengen die bisherigen Werkzeuge nicht ausreichen. Dabei erlernen sie die Grundbegriffe
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrCase-Based Reasoning und anderen Inferenzmechanismen
Case-Based Reasoning und anderen Inferenzmechanismen Daniel Müller 21 April 2006 DM () CBR und Inferenz 21 April 2006 1 / 31 Contents 1 Einleitung 2 Inferenzmechanismen Statistische Verfahren Data Mining
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrProbeklausur Name: (c)
Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrMotivation und Geschichte. Geschichte der Logik Logik und Informatik
Motivation und Geschichte Geschichte der Logik Logik und Informatik Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte Geschichte der Logik 13 Aufgaben der Logik
MehrKapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren
Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Virtuelle Methodentabellen Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 9. Juli 2015 Struktur der Objektorientierung Ein wenig Java: public
Mehr(Ausnahmebehandlung)
16. Exceptions (Ausnahmebehandlung) 16-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 16: Exceptions (Ausnahmebehandlung) Motivation Throw und Catch 16. Exceptions (Ausnahmebehandlung) 16-2
Mehr1. Aufgabe (6 Punkte)
Nachname:... Vorname:... MatrNr.:... Klausur PR2 HAW-Hamburg, Fakultät Technik und Informatik, Department Informations- und Elektrotechnik Dr. Robert Heß, 1.2.2008 Bearbeitungsdauer: 90 min Hilfsmittel:
MehrVererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1
Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrGERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT
User Requirements GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 1 Gruppe 18 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289]
MehrVererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 08/09 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
Mehr2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
MehrEinführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
MehrProgramme erstellen in Java
Programmieren mit Java Modul 0 Programme erstellen in Java Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Schreiben von Computerprogrammen 3 2.1 Computerprogramme bestehen aus Daten und Instruktionen.......
MehrVerwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
MehrZentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)
WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 30. Oktober 2013 ZÜ DS ZÜ
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Zeigern, sowie Records und Funktionen Aufgabe 5: Diese Aufgabe basiert auf der Aufgabe 4. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher
MehrGeoinformation I Datenmodellierung
Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung
MehrLösung Übungszettel 6 Aufgabe 1-4
Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 Aufgabe 1-4 1 Aufgabe 1 und 2 1.1 Die Bibliothek
MehrNachname:... Vorname:... MatrNr.:... Klausur PR2
Nachname:... Vorname:... MatrNr.:... Klausur PR2 HAW-Hamburg, Fakultät Technik und Informatik, Department Informations- und Elektrotechnik Dr. Robert Heß, 6.7.2007 Bearbeitungsdauer: 90 min Hilfsmittel:
MehrKünstliche Intelligenz für Ingenieure
Künstliche Intelligenz für Ingenieure von Prof. Dr.-Ing. Jan Lunze 2., völlig überarbeitete Auflage Oldenbourg Verlag München Verzeichnis der Anwendungsbeispiele Hinweise zum Gebrauch des Buches xvii xxiii
MehrObjektorientierte Programmierung
C++ Objektorientierte Programmierung Erweiterung von selbstdefinierten Datentypen (struct) zu Klasse. Eine Klasse besteht dann aus - Attributen (Untertypen wie struct) und zusätzlich - aus Methoden (Funktionen
Mehr10. Datenbank Design 1
1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation
Mehr9. Vektoren. (auch Felder/array)
9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die
MehrC- Kurs 09 Dynamische Datenstrukturen
C- Kurs 09 Dynamische Datenstrukturen Dipl.- Inf. Jörn Hoffmann jhoffmann@informaak.uni- leipzig.de Universität Leipzig InsAtut für InformaAk Technische InformaAk Flexible Datenstrukturen Institut für
Mehr2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im
Mehr10 Die Programmiersprache C99: Zusammenfassung
10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html
MehrProgrammieren. Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda
Programmieren Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda Peter Klingebiel, HS Fulda, DVZ Zur Vorlesung Wer bin ich? Peter Klingebiel Dipl.-Ing.
MehrMotivation und Geschichte. Geschichte der Logik Logik und Informatik
Motivation und Geschichte Geschichte der Logik Logik und Informatik Logik für Informatiker, M. Lange, IFI/LMU: Motivation und Geschichte Geschichte der Logik 12 Aufgaben der Logik Logik (aus Griechischem)
MehrHochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe
Aufgabe 6: Häuser verwalten - dynamisch Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten
MehrProf. Dr. Uwe Schmidt. 17. August Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353)
Prof. Dr. Uwe Schmidt 17. August 2010 Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353) Zeit: 150 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre
MehrHochschule München, FK 03 FA SS Ingenieurinformatik
Hochschule München, FK 03 FA SS 2011 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrProgrammierung 2 Studiengang MI / WI
Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Feedback Vielen Dank für das Feedback auf Moodle! Bitte
MehrOntologiesprachen. 1.Was ist eine Ontologie 2.Aufbau einer Ontologie 3.RDF 4.RDFSchema 5.DAML+OIL / OWL 6.Frame-Logic
Ontologiesprachen 1.Was ist eine Ontologie 2.Aufbau einer Ontologie 3.RDF 4.RDFSchema 5.DAML+OIL / OWL 6.Frame-Logic 1.Was ist eine Ontologie Der Begriff leitet sich vom griechischen onta (das Seiende)
MehrObjektorientierte Modellierung (1)
Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
MehrWissensrepräsentation
Wissensrepräsentation Vorlesung Sommersemester 2008 12. Sitzung Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Übersicht Rückblick, Zusammenhänge Mysterien 2 Inhalte im abstrakten Überblick Künstliche
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrZusammenfassung KI (von Marco Piroth)
Zusammenfassung KI (von Marco Piroth) Definition: KI ist das Teilgebiet der Informatik, das sich damit beschäftigt, menschliche, intelligente Verhaltensweisen auf einer Maschine nachzuvollziehen. Softwaretechnische
MehrProgrammiersprachen: Klassifizierung und Methoden. Programmier-Paradigmen. Grundlagen der Programmierung 2 (1.C) - 1 -
Programmiersprachen: Klassifizierung und Methoden Programmier-Paradigmen Grundlagen der Programmierung 2 (1.C) - 1 - Programmiersprachen: Begriffe Syntax Beschreibung der Programme als Texte let xyz =
MehrProbeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten
Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges
MehrAbschnitt 10: Datenstrukturen
Abschnitt 10: Datenstrukturen 10. Datenstrukturen 10.1Einleitung 10.2 Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 829 / 867 Einleitung Überblick 10. Datenstrukturen 10.1Einleitung
MehrKünstliche Intelligenz
George F. Luger 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Künstliche Intelligenz Strategien zur Lösung komplexer
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
MehrEinführung in die AI
1 Einführung in die AI Prof. Georg Gottlob Institut für Informationssysteme Technische Universität Wien Folien zur Vorlesung Konzepte der Artificial Intelligence 3 Zum Begriff Artificial Intelligence AI:
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
MehrWoher Methoden der KI stammen Gebiete der Künstlichen Intelligenz wissensbasierte Systeme
Woher Methoden der KI stammen Gebiete der Künstlichen Intelligenz (induktives) Lernen Aus einer anwendungsorientierten Sicht spielen in der Künstlichen Intelligenz insbesondere folgende Gebiete eine Rolle:
MehrObjektorientierte Programmierung und Klassen
Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP
MehrAlgorithmen und Datenstrukturen ITS(B)-B 2016
Einführung Was ist (die) Informatik? Die Informatik und ihre Geschichte sowie ihre Abgrenzung von anderen Wissenschaften darzulegen gestaltet sich nicht ganz einfach (siehe dazu unter vielen Anderen ((GI)
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrProgrammieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden
Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige
MehrObjektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 26. März, 2009 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
MehrGrundbegriffe aus Logik und Mengenlehre. Prädikatenlogik
Grundbegriffe aus Logik und Mengenlehre Prädikatenlogik wohlverstandene Grundlagen, eine formale Sprache zur Beschreibung statischer und dynamischer Gesichtspunkte eines Unternehmens syntaktisch und semantisch
MehrTeil II: Einstieg in Expertensysteme
Teil II: Einstieg in Expertensysteme Begriffsbestimmung: Was sind wissensbasierte Systeme? Die beiden Begriffe Expertensystem und wissensbasiertes System werden weitgehend synonym verwendet für Softwaresysteme,
MehrEinführung: Zustandsdiagramme Stand:
Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale
MehrLexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
MehrGrundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1
Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen 2.3 Zustandsmodelle
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrEinstieg in die Informatik mit Java
1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition
MehrEntwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!
Projekt: Artikelverwaltung Seite 1 von 5 Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben! Legen Sie global einen benutzerdefinierten Datentyp artikel an:
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
Mehr2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:
2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden
Mehr3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
MehrGrundlagen der Informatik
Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Übungsbesprechung (Wiederholung) Wie
MehrErste Schritte der Programmierung in C
Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)
MehrObjektorientierte Programmierung. Kapitel 3: Syntaxdiagramme
Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/
Mehr5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)
5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:
MehrInformation und Produktion. Rolland Brunec Seminar Wissen
Information und Produktion Rolland Brunec Seminar Wissen Einführung Informationssystem Einfluss des Internets auf Organisation Wissens-Ko-Produktion Informationssystem (IS) Soziotechnisches System Dient
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 8: Felder und Zeichenketten Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen
Mehr