2. Erstellung einfacher Programme

Größe: px
Ab Seite anzeigen:

Download "2. Erstellung einfacher Programme"

Transkript

1 2. Erstellung einfacher Programme Vorwort Wer programmiert eigentlich heute noch?! Die Frage drängt sich auf, wenn man das Vorlesungsverzeichnis einer Universität mit Fachbereich Informatik durchliest. Sehen Sie selbst: Sehr vereinzelt findet man noch Veranstaltungen wie Programmierpraktika im Grundstudium oder Programmierung. Bei letzterem geht es offensichtlich um keine einzelne Programmiersprache sondern um das Meta-Thema. Der Rest der Vorlesungen scheint sich um dieses für den Laien so eng mit der Informatik verbundene Gebiet nicht zu scheren. Der erste Eindruck täuscht nicht. Programmiersprachen hat man nebenbei zu lernen. Und bitte nicht nur zwei oder drei! Aber keine Sorge! Man geht keinesfalls davon aus, dass heutige Studenten so viel schlauer sind, als vor 10 Jahren. Es hat sich in den letzten Jahren nur gezeigt, dass ein zukünftiger Informatiker viel weniger auf diesem Gebiet gefordert ist. Ein Beispiel aus der Welt der Autos soll uns dies veranschaulichen: Fährt man heute mit dem Wagen in die Werkstatt weil die Zündung unregelmäßig zu sein scheint, dann wird der Motor mit einer Messstation verkabelt und je nach Messergebnis bekommt man ein komplettes Modul ausgetauscht. Von diesem Modul muss der Handwerker nicht wissen, wie es intern funktioniert. Er weiß aber, was es tut und woran man es anschließen muss (Schnittstelle). Auf unseren Fall übertragen: Während vor einem Jahrzehnt Informatiker mit fundierter Programmierfahrung durchaus gute Berufschancen hatten, sind heute Kenntnisse in diesem Maße nicht mehr verlangt. Nur ein kleiner Teil der eingestellten Informatiker beschäftigen sich mit der Formulierung neuer Algorithmen. (Die Skript-Kids, die sehr hardwarenah Viren und Trojaner erzeugen, sollten allerdings tiefgehende Kenntnisse über die verwendete Sprache besitzen. Aber auch hier gibt es fertige Module, mit denen jeder des Lesens kundige Zwölfjährige böses anrichten kann...) Die überwiegende Anzahl der Informatiker wird heute eingesetzt, um vorhandene Hard- und Softwarebausteine (sog. Standardlösungen) zusammenzustecken und den Bedürfnissen des Arbeitgebers anzupassen. Sie müssen das Innenleben dieser Bausteine nicht kennen - sie könnten es gar nicht, da sie eine so große Anzahl von ihnen einsetzen. Sie betrachten nur ihr Äußeres, eine Art Bedienungsanleitung, ihre Schnittstelle zur Umgebung. Sie müssen verstehen, welche Teile dieser Schnittstelle für die gegebene Aufgabe relevant sind und wie sie mit anderen Bausteinen 76

2 zusammengefügt werden kann. Das traditionelle Programmieren von Verzweigungen und Schleifen, Bits und Bytes, Integers und Charakters, kommt nur am Rande vor. Wenn Sie jetzt das Gefühl haben, dass wir unsere Zeit mit diesem Thema verplempern, so denken Sie nicht weit genug: Es gibt sehr wohl Gründe, auch noch heute über Programmiersprachen nachzudenken. Selbstverständlich nicht, um in einer willkürlich gewählten Sprache Hochleistung zu vollbringen! Unsere Ziele sind eher geprägt von dem Willen, einen Überblick zu erhalten. Wir wollen daher in fünf bis sechs Programmiersprachen reinschauen, lernen, welche Sprachen für welche Probleme geeignet sind, in der Lage sein, bekannte Sprachen einordnen zu können, verstehen, was Programmiersprachen leisten, den Umgang mit Schnittstellen und Modulen nachvollziehen können, in zwei Sprache (Delphi, Java) Grundkenntnisse erwerben. Beim Reflektieren über diese Ziel muss man feststellen, dass sich der Informatikunterricht in den letzten Jahren (notgedrungen) erheblich verändert hat. Bei der obigen Liste handelt es sich um den Inhalt des 2.Kapitels! Besucht man Informatik von Klasse 11 bis 13, so werden sieben Kapitel behandelt. Und die meisten davon sind vom Stoffumfang nicht geringer! Es reicht halt nicht, die Programmiersprache, die der Lehrer kann, zwei bis drei Jahre durchzuochsen... 77

3 0. Klassifierung der Programmiersprachen Fangen wir doch ausnahmsweise mit einer Aufgabe an: Aufgabe 1 In welchem Jahr wurde die erste Programmierspache für Computer erfunden und wie hieß diese Sprache? Antwort: Die erste Programmiersprache der Welt f r C omputer wurde ebenfalls von Konrad Zuse entwickelt Er nannte sie den Planka lk l Wahrscheinlich geht es schneller, Sie suchen die Antwort im Internet, als dass Sie versuchen die Geheimschrift zu entschlüsseln (obwohl das sehr einfach geht..) Einen wirklich umfassenden Überblick über die Programmiersprachen kann man im Internet durchaus finden. Nur sehen die Bilder, wenn sie nur einigermaßen die Wirklichkeit widerspiegeln sollen, sehr viel komplizierter als mein nebenstehendes Bild aus. Dafür ist die Einteilung mit Sicherheit richtig,- leider ist es mir in dieser Klarheit nicht gelungen, wichtige Sprachen, wie PHP, C# und Perl unterzubringen. Außerdem wird es nach 1996 vollends kompliziert... Das nächste Bild ist aus dem Internet: 78

4 79

5 Obiges Bild ( ) hingegen ist der Realität näher und immerhin ist die Zeit bis 2003 berücksichtigt. Aber seinen Sie ehrlich: Verstehen Sie das Bild vollständig? So komplex das obige Bild auch aussehen mag, es ist dennoch stark vereinfacht. Wer es genauer wissen will, der sieht sich das auf 11 DIN-A-4 Seiten ausgedruckte Diagramm an, das der Informtiklehrer zur allgemeinen Erbauung immer bei sich trägt... Die bunt eingefärbten Kästchen zeigen die Programme, mit denen wir uns beschäftigen werden. Die Einteilung in verschiedene Gruppen ist im ersten Bild besser dargestellt. Hier können Sie auch gut erkennen, was in diesem Kapitel nicht behandlelt wird: Maschinen- und Assemblersprachen (Kapitel 4) SQL (deskriptive Sprache für Datenbanken: Kapitel 6) Objektorientiertes Arbeiten (Kapitel 5) Man kann die Programmiersprachen nach verschiedenen Kriterien Klassifizieren: Klassifikation nach den Generationen Die frühen Programmiersprachen hat man in Generationen eingeteilt. Bei neueren Sprachen hat man diese Einteilung aufgegeben und ist zu einer Klassifikation nach den zugrundeliegenden Konzepten wie Objekt- Funktions- oder Logikorientierung übergegangen. 1. Generation: Maschinensprachen. 2. Generation: Assembler-Sprachen 3. Generation: Problemorientierte prozedurale (=imperative) Sprachen Beispiele: Cobol, Fortran, Pascal, Basic, C, Delphi 80

6 4. Generation: Deklarative Sprachen Beispiele: SQL 5. Generation: Künstliche Intelligenz Beispiele: Lisp, Prolog, Smalltalk, Haskell Klassifikation nach der Problembezogenheit Dieses Merkmal weist auf die Eignung der Programmiersprache für einen speziellen oder möglichst breiten Anwendungsbereich hin. Eine Klassifikation nach diesem Kriterium sieht so aus: spezielle Progammiersprachen mit den Ausrichtungsbeispielen als - kommerzielle Systeme: COBOL, 4GL1, - wissenschaftlich-technische Berechnungen: FORTRAN, C++, Delphi - Systemprogrammierung: Assembler, C, C++, - künstliche Intelligenz (KI): Lisp, Prolog, Icon, Scheme, Haskell - Publizieren: TeX, PostScript, Framemaker, HTML, XML, - Prozessbearbeitung: Unix-Shell, Tcl, Perl, - universelle Programmiersprachen: wie zum Beispiel PL/I, Ada und Java. Klassifikation nach den Programmierparadigma Einfach formuliert ist ein Paradigma eine Modellvorstellung der Wirklichkeit. Zumeist sind diese Paradigmen gänge Lehrmeinung, was dazu führt, dass ein Paradigmenwechsel, so sinnvoll und richtig er auch sein mag, nur sehr schwer in die Gänge kommt. Ein einfaches Beispiel: Solange das Pardigma bestand, dass die Erde eine Scheibe ist, konnte etwa die Seefahrt über einen bestimmten Entwicklungstand nicht hinaus kommen. Für mehr Erkenntnis war ein Paradigmenwechsel unverzichtbar. Auch Programmierer, die jahrelang nach dem Paradigma der imperativen und nicht objektorientierten Denkweise gearbeitet haben, tun sich furchtbar schwer, einen Paradigmenwechsel hin zum objektorientierten Paradigma durchzuhalten. Selbst nach Jahren fallen sie häufig auf ihre Dankweise zurück. Unter einem Programmierparadigma versteht man also ein bestimmtes Denkmuster beim Programmieren: Man hat eine bestimmte Vorstellungen davon wie etwas funktioniert bzw. funktionieren sollte. Die im folgenden aufgeführte Einteilung orientiert sich an diesem Ansatz der Klassifikation, berücksichtigt aber zusätzlich anwendungstechnische Gesichtspunkte. 81

7 Ohne Sie weiter zu verwirren, sollte man dennoch erwähnen, dass nicht alle Programmiersprachen eindeutig einer dieser Klassen zugeordnet werden können. So ist bspw. LOGO eine funktionale Programmiersprache, die aber auch imperative Sprachkonzepte besitzt. Java und C++ können als imperative objektorientierte Programmiersprachen klassifiziert werden, denn Java- und C++-Programme bestehen aus kommunizierenden Objekten, die intern mittels imperativer Sprachkonzepte realisiert werden. Wenn Sie zu diesem Thema im Internet recherchieren oder ein Fachbuch lesen, so werden Sie möglicherweise feststellen, dass dort der Ausdruck imperativ nicht vorkommt. Statt dessen steht dort prozedural. Daher merken Sie sich: imperativ = prozedural Ebenso gilt: deskriptiv = deklarativ und Lambdakalkül-Sprachen = funktionale Sprachen. (Erklärung aller neuen Begriffe kommt etwas weiter unten) Wie wichtig ein Paradigmenwechsel sein kann, soll Ihnen folgendes Aufgaben- Beispiel zeigen: Aufgabe 2 Bei einem Dreieck kann man den Schwerpunkt konstruieren, indem man den Schnittpunkt der Seitenhalbierenden bestimmt. Bestimmen Sie in einem beliebigen 5-Eck den Schwerpunkt. Danach bestimmen Sie noch den Schwerpunkt in einem beliebigen 25-Eck!! 82

8 Was bedeuten all die neuen Vokabeln, wie imperativ, funktional, Assembler etc.? Das Alphabet der Maschinensprache besteht, wie in Kapitel 1 schon erwähnt, nur aus den Zeichen 1 und 0. Diese und nur diese Sprache kann der Computer direkt verarbeiten. Ein solcher 0-1 Code ist speziell auf die verwendete Hardware zugeschnitten. Für uns Menschen ist diese Sprache allerdings schon bei einfachsten Befehlen sehr schwer zu verstehen; wird der Ablauf der Befehle komplizierter, so wird ein Verständis des Sachverhalts nur durch Lesen der 1-en und 0-en schlicht unmöglich. So ist verständlich, dass ein Programm, das von Menschen direkt in Maschinensprache geschrieben ist, äußerst fehleranfällig ist. Zur Illustration hier ein Beispiel für die Maschinensprache geschrieben für den Befehlsvorrat eines Intel Pentium-Prozessors. Beispiel: Addieren der Zahlen 3 und 4: 1O11 OO11 OOOO OO11 ("Übertrage den Wert 3 in das Register BL") 1OOO OOOO 11OO OO11 OOOO 1OO ("Rechne den Wert 4 hinzu") Eine Stufe höher steht Assembler. Das ist eine maschinenorientierte Sprache der 2. Generation (nicht zu verwechseln mit dem Vorgang Assemblieren, dem Umwandeln in Maschinensprache), deren Lesbarkeit jedoch noch sehr zu wünschen übrig lässt. Maschinenorientierte Programme bieten immer noch relativ wenig Komfort, gehen aber sehr effizient mit den Systemressourcen (Speicher und Prozessorleistung) um. Beispiel: Addieren der Zahlen 3 und 4: MOV ("Übertrage") BL, 3 ADD ("Addiere") BL, 4 Noch heute kommt der Programmierung in Assembler Bedeutung zu, wenn der von den Hochsprachen erzeugte Programmcode in bestimmten Teilen des Programms nicht die erforderliche Geschwindigkeit bringt. Bis in die 90-Jahre kam man um diese Art der Programmierung nicht herum, obwohl es schon sehr viele Hochsprachen gab. Das lag daran, dass die Rechner einfach zu langsam waren. Hätte man beispielsweise 1984 das Zeichnen eines Schaubildes in Basic programmiert, so wäre die Tinte des Plotterstiftes längst vor der Vollendung des Bildes eingetrocknet Wie schon weiter oben erwähnt, werden wir uns im Kapitel Hardware und Betriebssysteme eingehender mit diesem Thema beschäftigen. Eine höhere Programmiersprache verwendet aus natürlichen Sprachen entlehnte Wörter und ist damit für den Menschen verständlicher. Sie ist von der speziellen Hardware weitgehend unabhängig. Derart geschriebene Programme müssen aber vor der Ausführung in Maschinensprache übersetzt (compiliert) oder während der Ausführung Zeile für Zeile in Maschinensprache interpretiert werden. (Sie erinnern sich: Der Prozessor versteht nur 0 un 1...) Einen Übersetzter, der ein Programm direkt ausführt, nennt man Interpreter, einen Übersetzer, der ein Programm in für die Ausführung geeignete Form umwandelt, nennt man Compiler. 83

9 Interpretation ist ein Einstufenprozess, in dem sowohl das Programm als auch die Eingabe an den Interpreter geliefert wird. Compilation hingegen ist mindestens ein Zweistufenprozess: Das ursprüngliche Programm (Quellprogramm) wird in den Compiler eingegeben, und der Compiler gibt ein neues Programm (Zielprogramm) aus. Dieses Zielprogramm kann erst ausgeführt werden, wenn es in einer für die direkte Ausführung geeignete Form( d.h. in Maschinensprache) vorliegt. Den vollständigen Compilationsprozess kann man vereinfacht so veranschaulichen: Man braucht nicht viel Phantasie, um zu erkennen, dass Programmiersprachen, die einen Compiler mitliefern, deutlich schneller sein dürften. Denn, wenn das Programm fertig ist, kann man es natürlich auch ganz in Maschinensprache umwandeln (assemblieren) und der zeitaufwendige Prozess der Interpretation entfällt. Die höheren Programmiersprachen lassen sich in imperative (= prozedurale) und deklarative (= nicht-prozedurale) Sprachen einordnen: Imperative Programmiersprachen sind gekennzeichnet durch drei Eigenschaften: 1. Sequentielle Ausführung von Befehlen 2. Verwendung von Variablen, die Speicherwerte darstellen 3. Verwendung von Zuweisungen zu Ändern der Variablen-Inhalte. 84

10 Das Programm beschreibt den Lösungsweg eines Problems. Zu den prozeduralen Sprachen gehören zum Beispiel FORTRAN, PL/1, BASIC, PASCAL und PHP (3. Generation). Imperative Sprachen besitzen einen speziellen, der menschlichen Sprache angenäherten Befehlssatz, um Probleme aus einem bestimmten Anwendungsbereich zu lösen. Sie lehnen sich somit an die Denkweise des Programmierers an. Auch ohne fundamentierte Programmierkenntnisse lassen sich diese Programme leicht nachvollziehen. Die alternative Bezeichnung "prozedural" kennzeichnet den modularen Aufbau der entsprechenden Programme in Prozeduren oder Funktionen. Beispiel: (Pascal) Write('Fahrstrecke='); Readln(kilometer); Write('Benzin='); Readln(liter); verbrauch := liter/kilometer * 100; Writeln('Sie verbrauchten auf 100 km ',verbrauch); if verbrauch > 7 then writeln "Verbrauch zu hoch!"; Zu den nicht prozeduralen Sprachen gehören zum Beispiel: SQL, Haskell, Prolog, NATURAL und diverse Datenbanken. Die Definition des Begriffs nicht prozedural ist fließend. Man stelle sich einfach vor, dass dem Rechner nicht mehr länger mitgeteilt werden muss, wie er das Problem zu lösen hat, sondern nur noch, was zu geschehen hat. Danach werden diese Angaben von dem Programmiersystem in ein Programm umgesetzt. Der Vorteil dieser Sprachen besteht darin, dass für diese Art der Programmierung keine umfangreiche Programmierausbildung notwendig ist. Nichtprozedurale Programmiersprachen werden z.b. für Datenbankabfragen oder Tabellenkalkulationen eingesetzt. Beispiel: select KUNDE from TABLE_1 where ALTER > 18 create ERWACHSENE Die von Delphi verwendete Programmiersprache Object-Pascal gehört zur 3. Generation, aber die visuellen und SQL-Komponenten gehören der 4. Generation an. Delphi ist daher, wie C# und Java eine hybride Programmiersprache. Delphi ist die Leitsprache im Informatikunterricht der meisten Schulen. Wir machen da keine Ausnahme. Mit nicht weniger Berechtigung könnte man allerdings auch Visual C# oder Java verwenden. Sie können sich Ihr eigenes Urteil bilden, da wir weiter unten neben Delphi auch Visual C# und Java auf ein kleines Rechenproblem ansetzten werden. 85

11 deklarative Programmiersprachen (5. Generation) Wie auf den Bildern der Seiten 72 und 73 richtig dargestellt wird, muss man hier eigentlich zwei Untergruppen nennen: Die funktionalen und die logischen Programmiersprachen. Funktionale Programmiersprachen beruhen auf dem Lambdakalkül der Funktionstheorie. Es wird dabei davon ausgegangen, dass mit drei Basisfunktionen (Verkettung, Iteration, Rekursion) alle anderen theoretisch möglichen Funktionen zusammengestellt werden können. Ein funktionales Programm entspricht im wesentlichen einer Funktion im mathematischen Sinne: also eine eindeutige Beziehung zwischen Definitionsbereich (Eingabe) und Wertebereich (Ausgabe). Eine Funktion wird auf die Eingabewerte angewendet und liefert den Funktionswert als Ausgabe. Der Rückgabewert hängt ausschließlich nur von den Eingabeparameter. (Erinnern Sie sich? Das war Klasse 7!) Aufgabe 3 Die oben genannten Grundbegriffe der funktionalen Programmierung Verkettung, Iteration und Rekursion sollten Ihnen aus der Mathematik bekannt sein. Damit Ihrem Gedächtnis auf die Sprünge geholfen wird, recherchieren Sie im Internet und fügen Sie Ihre Erkenntisse hier ein: In der Mathematik versteht man unter einer Variable etwas anderes als in der "gewöhnlicher" imperativen Programmierwelt. In den imperativen Sprachen sind die Variablen im Grunde genommen Namen für Speicherzellen und Speicherbereiche, deren Inhalt sich zu jeder Zeit ändern kann. In der Mathematik dagegen repräsentiert eine Variable einen konkreten und unveränderbaren (oft unbekannten) Wert, weswegen auch folgende Zuweisung keinen Sinn ergibt: x := x + 1 In der funktionalen Programmierung verzichtet man gerne auf den Begriff einer Variablen; es gibt nur Konstanten, Parameter und Werte. In der Praxis nennt man diese Sicht der funktionalen Programmierung rein funktionale Programmierung. Die meisten funktionalen Programmiersprachen halten aber an einer bestimmten Vorstellung von Variable und Zuweisung fest und sind daher "unrein". Dadurch, dass es keine Variablen und Zuweisungen in der funktionalen Programmierung gibt, kann es auch keine Schleifen geben, da eine Schleife eine Kontrollvariable haben muss, die einen neuen Wert zugewiesen bekommt, wenn die Schleife ausgeführt wird. Die sich wiederholende Operationen schreibt man in funktionaler Form mittels Rekursion, die eine entscheidende Rolle in der funktionalen Programmierung spielt. 86

12 Funktionale Programmierung besitzt eine Reihe besonderer Vorteile gegenüber der imperativen Programmierung. Diese machen sie vor allem im Bereich der künstlichen Intelligenz, für mathematische Beweissysteme und für Logikanwendungen populär. Zu den Vorteilen zählen die einheitliche Betrachtungsweise von Programmen als Funktionen, die Behandlung von Funktionen als Daten und die Verwendung automatischer Speicherverwaltung. Daher besitzt eine funktionale Programmiersprache hohe Flexibilität, Prägnanz in der Notation und eine einfache Semantik. In der Vergangenheit war der wichtigste Nachteil die Ineffizienz der Ausführung funktionalen Sprachen. Aufgrund ihrer dynamischen Natur wurden diese Sprachen früher eher interpretiert als compiliert, was sich, wie oben dargelegt, negativ auf die Ausführungsgeschwindigkeit auswirkte. Die bekannteste funktionale Programmiersprache ist sicherlich LISP. Heute wird jedoch eher HASKELL oder MONDRIAN verwendet. Logische Programmiersprachen erlauben eine Art der Programmierung, die es ermöglicht, die Sprache der Mathematik zur Entwicklung von Programmen zu benutzen. Die mathematische Logik verlangt eine präzise Formulierung von Aussagen, Wissen und Annahmen. Sie bildet die Grundlage für die formale Herleitung von Folgerungen, Wahrheits- und Gültigkeitsaussagen. Das Ziel logikorientierter Programmiersprachen besteht darin, die Problembeschreibung als Programm aufzufassen. Ein Logikprogramm besteht aus einer Menge von Axiomen, die eine reine Spezifikation von Wissen und Annahmen darstellen. Es enthält keinerlei Steuerungsanweisungen. Eine Berechung ist ein konstruktiver Beweis einer Aussage aus den Axiomen des Programms. Logische Programmierung wird häufig auch mit dem aussagekräftigeren Begriff wissensbasierte Programmierung bezeichnet. Es wird versucht, auf der Basis möglichst genauen Wissens über einen spezifische Problembereich angemessene Schlüsse zu ziehen. Soll ein Problem gelöst werden, so wird dieses als Frage an eine Wissensbasis übergeben. Diese sucht durch Anwendung von Schlussfolgerungen eine Antwort auf die gestellte Frage. Wird eine solche gefunden, so ist auch eine Lösung erreicht. Kann jedoch eine Frage mit dem Inhalt der Wissensbasis nicht beantwortet werden, so gilt das Problem als unlösbar im Bezug zur verwendeten Wissensbasis und der Herleitungsstrategie von Schlussfolgerungen. Genau wie die funktionalen Programmiersprachen zählen die logischen zu der Klasse der deklarativen Sprachen. Die Programme aus dieser Klasse beschreiben nicht wie ein Problem zu lösen ist, sonder was das Problem eigentlich ist. Das "Wie" wird dem zugrunde liegenden System der Programmiersprache überlassen. Wegen 87

13 dieser "Intelligenz" werden solche Sprachen auch als 5.Generationsprachen bezeichnet. Die wichtigste und verbreitetste Programmiersprache dieser Art ist PROLOG. Mit ihr und mit Haskell werden wir uns in den nächsten Abschnitten noch beschäftigen. Aufgabe 4 Sie sollen hier kurze Beschreibungen bestimmer Programmiersprachen recherchieren und aufschreiben. Ein Beispiel: Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems. Sie ist eine Komponente der Java-Technologie. Java-Programme werden in Bytecode übersetzt und dann in einer speziellen Umgebung ausgeführt, die als Java-Laufzeitumgebung oder Java-Plattform bezeichnet wird. Deren wichtigster Bestandteil ist die Java Virtual Machine (Java- VM), die die Programme ausführt, indem sie den Bytecode interpretiert. Java-Programme laufen in aller Regel ohne weitere Anpassungen auf verschiedenen Computern und Betriebssystemen, für die eine Java-VM existiert. Sun selbst bietet Java-VMs für die Betriebssysteme Linux, Solaris und Windows an. Andere Hersteller lassen ihre Java-VM für ihre Plattform zertifizieren, zum Beispiel die Firma Apple für Mac OS X. (Wikipedia) Javascript C++ Perl Phyton FORTRAN Eclipse 88

14 Vergleich Um wenigstens vier der sechs Programmiersprachen besser vergleichen zu können, werden wir in Java, PHP, Visual C# und Delphi je ein Programm schreiben, das eine quadratischen Gleichung lösen kann. Um dies an sich elementare Problem lösen zu können, müssen wir uns in allen vier Sprachen klären, wie man mit Variablen Ein-und Ausgabe Arithmetrische Operationen Verzweigung (if else) umgeht. Und Sie werden erfreut feststellen, dass die Unterschiede minimal sind! Da das Problem quadratische Gleichung lösen für Prolog und Haskell ungeeignet ist, müssen wir uns für diese Sprachen etwas anderes einfallen lassen. Sie kennen die Mitternachtsformel zur Lösung einer quadratischen Gleichung der Form x 2 + px + q = 0 hoffentlich noch! Aufgabe 5 Erstelle mit Structed ein Struktogramm. Versuche es zunächst selbst. Vergleiche danach mit der abgebildeten Lösung. Gibt es Unterschiede? 89

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Programmiersprachen und Programmierkonzepte

Programmiersprachen und Programmierkonzepte Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare

Mehr

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

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

Mehr

Zeichen bei Zahlen entschlüsseln

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

Mehr

Grundbegriffe der Informatik

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

Mehr

1 Mathematische Grundlagen

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

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

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

Mehr

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler Joliot-Curie-Gymnasium GR 2010 Nico Steinbach 0. Organisatorisches Warum habt Ihr euch für den Kurs eingeschrieben?

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Mehr

Informationsblatt Induktionsbeweis

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

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

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

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

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

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

Mehr

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Kreativ visualisieren

Kreativ visualisieren Kreativ visualisieren Haben Sie schon einmal etwas von sogenannten»sich selbst erfüllenden Prophezeiungen«gehört? Damit ist gemeint, dass ein Ereignis mit hoher Wahrscheinlichkeit eintritt, wenn wir uns

Mehr

Einführung in die Java- Programmierung

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

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

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

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

Mehr

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

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

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

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

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

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

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

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

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

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten Meet the Germans Lerntipp zur Schulung der Fertigkeit des Sprechens Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten Handreichungen für die Kursleitung Seite 2, Meet the Germans 2. Lerntipp

Mehr

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

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

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

Mehr

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

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

Mehr

Alle gehören dazu. Vorwort

Alle gehören dazu. Vorwort Alle gehören dazu Alle sollen zusammen Sport machen können. In diesem Text steht: Wie wir dafür sorgen wollen. Wir sind: Der Deutsche Olympische Sport-Bund und die Deutsche Sport-Jugend. Zu uns gehören

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) 1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) D A S S O L L T E N N A C H E U R E M R E F E R A T A L L E K Ö N N E N : Kostenfunktion, Erlösfunktion und Gewinnfunktion aufstellen, graphisch

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

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

ONLINE-AKADEMIE. Diplomierter NLP Anwender für Schule und Unterricht Ziele ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits

Mehr

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

Mehr

Woche 1: Was ist NLP? Die Geschichte des NLP.

Woche 1: Was ist NLP? Die Geschichte des NLP. Woche 1: Was ist NLP? Die Geschichte des NLP. Liebe(r) Kursteilnehmer(in)! Im ersten Theorieteil der heutigen Woche beschäftigen wir uns mit der Entstehungsgeschichte des NLP. Zuerst aber eine Frage: Wissen

Mehr

Was meinen die Leute eigentlich mit: Grexit?

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

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Netzwerkeinstellungen unter Mac OS X

Netzwerkeinstellungen unter Mac OS X Netzwerkeinstellungen unter Mac OS X Dieses Dokument bezieht sich auf das D-Link Dokument Apple Kompatibilität und Problemlösungen und erklärt, wie Sie schnell und einfach ein Netzwerkprofil unter Mac

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Viele Bilder auf der FA-Homepage

Viele Bilder auf der FA-Homepage Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet

Mehr

Kulturelle Evolution 12

Kulturelle Evolution 12 3.3 Kulturelle Evolution Kulturelle Evolution Kulturelle Evolution 12 Seit die Menschen Erfindungen machen wie z.b. das Rad oder den Pflug, haben sie sich im Körperbau kaum mehr verändert. Dafür war einfach

Mehr

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

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

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen Probleme beim Arbeiten mit Variablen, Termen und Gleichungen Tage des Unterrichts in Mathematik, Naturwissenschaften und Technik Rostock 2010 Prof. Dr. Hans-Dieter Sill, Universität Rostock, http://www.math.uni-rostock.de/~sill/

Mehr

Kann ein Computer denken?

Kann ein Computer denken? Kann ein Computer denken? Fachbereich Betriebswirtschaft FH www.fh-koblenz.de/bw/komus www.komus.de www.fh-koblenz.de/bw/komus www.fh-koblenz.de/bw/komus 2 www.fh-koblenz.de/bw/komus 3 www.fh-koblenz.de/bw/komus

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

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen. Wir wollen mit Ihnen Ihren Auftritt gestalten Steil-Vorlage ist ein österreichisches Start-up mit mehr als zehn Jahren Erfahrung in IT und Kommunikation. Unser Ziel ist, dass jede einzelne Mitarbeiterin

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Konventionen. Danksagung

Konventionen. Danksagung Einleitung Konventionen Im Folgenden möchte ich Sie mit ein paar Konventionen vertraut machen, die Ihnen bei der Lektüre des Buches helfen sollen. Namen von neu im Text eingeführten Programmen, Produkten

Mehr

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden. Multiplikation Die schriftliche Multiplikation ist etwas schwieriger als die Addition. Zum einen setzt sie das kleine Einmaleins voraus, zum anderen sind die Überträge, die zu merken sind und häufig in

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

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

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden

Mehr

Und im Bereich Lernschwächen kommen sie, wenn sie merken, das Kind hat Probleme beim Rechnen oder Lesen und Schreiben.

Und im Bereich Lernschwächen kommen sie, wenn sie merken, das Kind hat Probleme beim Rechnen oder Lesen und Schreiben. 5.e. PDF zur Hördatei und Herr Kennedy zum Thema: Unsere Erfahrungen in der Kennedy-Schule Teil 2 Herr Kennedy, Sie haben eine Nachhilfeschule in der schwerpunktmäßig an Lernschwächen wie Lese-Rechtschreibschwäche,

Mehr

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! 9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr

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

Was ich als Bürgermeister für Lübbecke tun möchte

Was ich als Bürgermeister für Lübbecke tun möchte Wahlprogramm in leichter Sprache Was ich als Bürgermeister für Lübbecke tun möchte Hallo, ich bin Dirk Raddy! Ich bin 47 Jahre alt. Ich wohne in Hüllhorst. Ich mache gerne Sport. Ich fahre gerne Ski. Ich

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

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

Mehr

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1 B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich Leit-Bild Elbe-Werkstätten GmbH und PIER Service & Consulting GmbH Mit Menschen erfolgreich Vorwort zu dem Leit-Bild Was ist ein Leit-Bild? Ein Leit-Bild sind wichtige Regeln. Nach diesen Regeln arbeiten

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

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

Mehr

Was ist Sozial-Raum-Orientierung?

Was ist Sozial-Raum-Orientierung? Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

1 Informationelle Systeme begriffliche Abgrenzung

1 Informationelle Systeme begriffliche Abgrenzung 1 Informationelle Systeme begriffliche Abgrenzung Im Titel dieses Buches wurde das Wort Softwaresystem an den Anfang gestellt. Dies ist kein Zufall, denn es soll einen Hinweis darauf geben, dass dieser

Mehr

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Einkaufen im Internet. Lektion 5 in Themen neu 3, nach Übung 10. Benutzen Sie die Homepage von: http://www.firstsurf.de/klietm9950_f.

Einkaufen im Internet. Lektion 5 in Themen neu 3, nach Übung 10. Benutzen Sie die Homepage von: http://www.firstsurf.de/klietm9950_f. Themen neu 3 Was lernen Sie hier? Sie formulieren Ihre Vermutungen und Meinungen. Was machen Sie? Sie erklären Wörter und Ausdrücke und beurteilen Aussagen. Einkaufen im Internet Lektion 5 in Themen neu

Mehr

Umgekehrte Kurvendiskussion

Umgekehrte Kurvendiskussion Umgekehrte Kurvendiskussion Bei einer Kurvendiskussion haben wir eine Funktionsgleichung vorgegeben und versuchen ihre 'Besonderheiten' herauszufinden: Nullstellen, Extremwerte, Wendepunkte, Polstellen

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem 20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte

Mehr

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

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

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05

Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05 Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05 Dozent: Thomas Vetter Bitte Name des Tutors angeben: Liebe Studierende, Ihre Angaben in diesem Fragebogen helfen uns, die

Mehr

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache Für Ihre Zukunft! Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache 1 Europäischer Fonds für Regionale Entwicklung: EFRE

Mehr

WAS finde ich WO im Beipackzettel

WAS finde ich WO im Beipackzettel WAS finde ich WO im Beipackzettel Sie haben eine Frage zu Ihrem? Meist finden Sie die Antwort im Beipackzettel (offiziell "Gebrauchsinformation" genannt). Der Aufbau der Beipackzettel ist von den Behörden

Mehr

Einführung in PHP. (mit Aufgaben)

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

Mehr