Algorithmen Ein erster Überblick

Größe: px
Ab Seite anzeigen:

Download "Algorithmen Ein erster Überblick"

Transkript

1 Ein Beispiel zum Nachdenken Algorithmen Ein erster Überblick Vielleicht haben Sie schon einmal davon gehört oder sogar selbst erfahren, vor welchen Problemen sich reine Software- Anwender gelegentlich befinden. Die folgende Gesprächsaufzeichnung vermittelt einen Eindruck von der Schwierigkeit des Umgangs mit Problemsituationen und von den dabei entstehenden Kommunikationsdefiziten. : Firma D&V - Guten Tag! Daumeier : Guten Tag, mein Name ist Daumeier. Ich habe ein Problem mit meinem Computer. : Welches denn, Herr Daumeier? Daumeier : Auf meiner Tastatur fehlt eine Taste. : Welche denn, Herr Daumeier? Daumeier : Die Enikei-Taste. : Wofür brauchen Sie diese Taste? Daumeier : Das Programm verlangt diese Taste. : Was ist das für ein Programm Daumeier : Das weiß ich nicht, aber es will, dass ich die Enikei-Taste drücke. Ich habe ja schon die Strg-, die Alt- und die Großmachtaste ausprobiert, aber es tut sich nichts. : Herr Daumeier, was steht denn gerade auf ihrem Monitor? Daumeier : Eine Blumenvase. : Nein, Herr Daumeier, lesen Sie mal vor, was auf dem Monitor steht! Daumeier : Ei Bi Ämm! : Nein, Herr Daumeier, was auf Ihrem Schirm steht, möchte ich wissen. Daumeier : Moment, der hängt an der Garderobe. : Halt, Herr Daumeier Herr Daumeier? Daumeier : So, jetzt habe ich ihn aufgespannt. Da steht aber nichts drauf. : Herr Daumeier, schauen Sie mal auf Ihren Bildschirm und lesen Sie mal genau vor, was da geschrieben steht. Daumeier : Ach so, Sie meinen,... oh, Entschuldigung! Da steht: "Plies press Enikei tu kontinu". : Aha, das heißt: "Please, press any key to continue" - Der Computer meldet sich also auf Englisch. Daumeier : Nein, wenn er was sagt, dann piepst er nur. : Drücken Sie mal auf die Enter - Taster. Daumeier : Jetzt geht's. Das ist also die Enikei - Taste. Das können Sie aber auch gleich draufschreiben. Gut, wie kann ich denn jetzt dieses Programm beenden, damit ich weiter arbeiten kann? : Sie müssen erst mal rausgehen. Daumeier : Gut, Moment. : Nein, Herr Daumeier, bleiben Sie doch am Telefon. Ich meinte... Herr Daumeier?????? Hallo! Hallo!? Daumeier : Ja, ich bin wieder da. Ich habe Sie auf dem Flur kaum hören können. : Sie sollten nicht auf den Flur gehen. Ich wollte nur, dass Sie das Fenster schließen. Daumeier : Warum sagen Sie das nicht gleich? Warten Sie

2 : Herr Daumeier?????????? Daumeier : Ja, ich bin wieder dran. Soll ich die Tür auch zumachen? : Nein, Herr Daumeier. Nein, wirklich nicht!!! Eigentlich sollten Sie nur das Programmfenster schließen, aber ich glaube, es ist das Beste, wenn Sie gleich den Stecker aus der Dose ziehen!!!!! Daumeier : Wenn Sie meinen : Halt!!!! Das war doch nur ein Scherz, Herr Daum Daumeier : Alles klar. Ich habe herausgezogen. Hallo? Hallo? Sind Sie noch dran? Komisch, jetzt ist die Leitung tot. Also, die in der haben aber auch überhaupt keine Ahnung!!!!!!!!!!!!!!!!!!!!!!!!! Analysieren Sie das Beratungsgespräch möglichst aus der Sicht eines sachkundigen, abgeklärten Beobachters! Charakterisieren Sie insbesondere wesentliche Ablaufkriterien, die in dem geschilderten Falle für die Erfolglosigkeit der Beratung verantwortlich sind! Untersuchen Sie, auf welche Weise sich Verbesserungen für die Gesprächskultur finden ließen, von denen ein erfolgreicher Abschluss der telefonischen Unterredung erwartet werden darf. Betrachten Sie dabei sowohl die Sichtweise der als auch die des Anwenders. Was ist eigentlich ein Algorithmus? Definition aus Duden - Informatik Ein Algorithmus ist eine Verarbeitungsvorschrift, die so präzise formuliert ist, dass sie von einem mechanisch oder elektronisch arbeitenden Gerät durchgeführt werden kann. Aus der Präzision der sprachlichen Darstellung eines Algorithmus muss die Abfolge der einzelnen Verarbeitungsschritte eindeutig hervorgehen. Beispiele für Algorithmen sind Vorschriften zum Addieren, Subtrahieren oder Multiplizieren von Zahlen (allgemein: Algorithmen zur Lösung mathematischer Fragestellungen), euklidischer Algorithmus zur Berechnung des größten gemeinsamen Teilers zweier ganzer Zahlen. Achtung: Kochrezepte, Partituren, Spielregeln, Bastelanleitungen und alltägliche Vorschriften erinnern an Algorithmen; sie sind aber nur selten exakt ausformuliert und enthalten oft Teile, die vom Ausführenden beliebig interpretiert werden können.... Ein Algorithmus beschreibt, wie Eingabedaten schrittweise in Ausgabedaten umgewandelt werden. E V A... In anderen Worten Ein Algorithmus lässt sich definieren als Rechenvorschrift aus Einzelschritten. Ein Algorithmus ist an keine konkrete Beschreibungsform gebunden, er abstrahiert vielmehr die Idee einer Lösung. Nicht jede Rechenvorschrift kann als Algorithmus bezeichnet werden. Es lassen sich bestimmte Anforderungen stellen, die einen Algorithmus charakterisieren. 2

3 Eigenschaften von Algorithmen Algorithmen sind nicht exakt abgrenzbar. Allerdings lassen sich einige Anforderungen formulieren, die eine Rechenvorschrift erfüllen sollte, damit sie als Algorithmus bezeichnet werden kann. Definierte Eingaben Definierte Ergebnisse Verfahren endlich Einzelschritte exakt Einzelschritte effektiv In der Praxis lassen sich alle diese Eigenschaften nicht immer nachweisen. Sie sollten als Leitlinie für den Entwurf von Algorithmen verstanden werden. Definierte Eingaben und Ergebnisse Die für den Ablauf eines Algorithmus vorausgesetzten Eingaben, sowie die gelieferten Ausgaben müssen genau festgelegt sein. Verfahren endlich Ein Algorithmus muss unter allen Umständen anhalten. Dabei ist keine allgemeingültige Obergrenze bzgl. der Gesamtzahl der ausgeführten Einzelschritte festgelegt. Es wird lediglich gefordert, dass für jeden möglichen Satz von Eingaben eine Obergrenze nachweisbar ist. Einzelschritte exakt Jeder Einzelschritt muss für sich so einfach und so genau beschrieben sein, dass es keinen Zweifel über seine Abwicklung gibt. Einzelschritte effektiv Jeder Einzelschritt muss im Prinzip mit Bleistift und Papier ausführbar sein. Diese Anforderung verbietet Einzelschritte, die auf Verfahren unbekannter Länge beruhen. 3

4 Aufgaben 1. Welche der folgenden Probleme lassen sich nach Ihrer Meinung nicht durch Algorithmen lösen? Warum glauben oder woher wissen Sie dies? Welche der Aufgabenstellungen sind nicht präzise? Welche können nicht präzise sein? Flicken eines Lochs im Fahrradschlauch Beheben einer Fahrradpanne Addieren zweier Brüche Lösen der Mathe-GK-Abiaufgabe A1 von 1997 Lösen einer Mathe-GK-Abiaufgabe Das Übersetzen eines Geschäftsbriefes Das Finden eines Freundes / einer Freundin In der nächsten Deutsch-Klausur 14 Punkte schreiben Den Hunger auf der Welt beseitigen Echte von falschen Entschuldigungen unterscheiden Echte von falschen Hundertern unterscheiden Echte von falschen Freunden unterscheiden Echte von falschen Überweisungen unterscheiden Einen Sechser im Lotto erzielen Durch Lotto-Spielen reich werden Das Spielen einer Sonate Das Komponieren einer Sonate Einen Hit produzieren 2. Schemen und Regeln: Viele Vorgänge des täglichen Lebens sind schematisiert und folgen festen Regeln; aus Gewohnheit und Bequemlichkeit, wegen Gesetzen und Geboten oder aus innerer Notwendigkeit. Diese Vorgänge ähneln damit Algorithmen. a) Beschreiben Sie möglichst präzise die Alltagsalgorithmen : Herstellen einer Telefonverbindung Schalten vom 1. in den 2. Gang Binden beider Schuhe Suchen eines Begriffs im Lexikon Kochen zweier Frühstückseier b) Woran scheitert die Präzision z.b. im letzten Fall? 3. Die Wahl-Aufgabe Bei Wahlen müssen die Stimmenzahlen anschließend in Sitze umgerechnet werden. Beschreiben Sie das (oder ein) Verfahren, nach dem diese Mandatsverteilung [z.b. im Saarland, in Baden-Württemberg] geschieht. Wo finden Sie geeignete Quellen? Bei einer Gemeinderatswahl am wurden für die sechs angetretenen Parteien folgende Stimmenzahlen abgegeben: A B C D E F Welche Sitzverteilung erwarten Sie bei dem von Ihnen gewählten Bundesland bei 22 zu vergebenden Sitzen? 4. Namensliste Geben Sie einen Lösungsweg an für das Sortieren der Namensliste unseres Informatikkurses der Klassen 11 a,b und c. Was sind hierbei Eingabe- und Ausgabedaten? Wer versteht Ihren Lösungsweg? Gibt es andere Lösungen? 4

5 Darstellungs- und Beschreibungsformen von Algorithmen Es gibt viele verschiedene Beschreibungsformen für Algorithmen. Die einfachste Form ist eine nummerierte Auflistung umgangssprachlich beschriebener Verarbeitungsschritte. Wichtiger sind stärker formalisierte Methoden, die weniger Spielraum für Missverständnisse und Mehrdeutigkeiten lassen. Dazu zählen vor allem halbgraphische Darstellungen, wie Flussdiagramme und Struktogramme. Auch Programm-Quelltext ist nichts anderes als eine sehr präzise Formulierung eines Algorithmus. 1. Nummerierte Auflistung Beispiel einfügen 2. Pseudo-Code Sie tauschen häufiger Mitteilungen aus z.b. über das Handy. Leider können diese kurzen Botschaften auch von anderen Familienmitgliedern oder Freunden gelesen werden, wenn sie grade das Handy haben. Sie benutzen daher eine Geheimschrift. Eine einfache Verschlüsselung für Texte könnte so lauten: Unterscheide nicht zwischen Groß- und Kleinschreibung; Beginne mit dem ersten Zeichen des Textes; solange noch Zeichen da sind wdh: wenn es ein Buchstabe außer 'z' ist, dann ersetze ihn durch den alphabetisch nächsten, sonst wenn es ein 'z' ist, dann ersetze ihn durch 'a'; wenn es ein Satzzeichen oder Leerzeichen ist, dann übergehe es. ende-solange Verschlüsseln Sie damit: 'Ein erster, kurzer Test.' Welche Schwächen hat das Verfahren? Geben Sie ein anderes Verfahren an und geben sie ebenfalls eine Formulierung in Pseudo-Code an! Welche Eigenschaften sollte Ihr Verfahren besitzen? 3. Flussdiagramme Flussdiagramme bestehen aus unterschiedlich geformten Elementen, die mit Pfeilen verbunden sind. Die Pfeilrichtungen geben die Verarbeitungsreihenfolge vor. Jedes Element beschreibt einen einfachen Verarbeitungsschritt. Obwohl eine DIN-Norm eine "korrekte" Form von Flussdiagrammen regelt, sind gewisse Freiheiten üblich. Letztlich steht die Vermittlung einer Idee an einen menschlichen Leser im Hintergrund und weniger die automatische Weiterverarbeitung, wie etwa bei Programm-Quelltext. Heute werden i.allg. Struktogramme vorgezogen, weil Flussdiagramme den Gedanken der "strukturierten Programmierung" nur mittelbar unterstützen. So gibt es z.b. kein geschlossenes Ausdrucksmittel für Wiederholungen. Anfang, Ende und Zusammenführungen Anfang und Ende eines Flussdiagramms werden durch einen kleinen, leeren Kreis dargestellt. Damit werden Pfeile vermieden, die aus dem Nichts auftauchen bzw. dorthin münden. Daneben kann man Punkte, an denen mehrere Pfeile zusammengeführt werden, ebenfalls mit einem kleinen, leeren Kreis markieren. Damit wird die Rolle einer Einmündung ausdrücklich dokumentiert. 5

6 Anweisung Einfache Anweisungen werden in rechteckige Kästen gesetzt. Der Formalismus der Anweisungen selbst ist nicht fixiert. Sequenz Sequenzen oder Abfolgen werden durch Pfeile ausgedrückt. Normalerweise verläuft der Haupt-Kontrollfluss in etwa von oben nach unten. Entscheidung Verzweigungen im Ablauf eines Algorithmus sind an Bedingungen geknüpft. Diese Bedingungen werden in Rauten gesetzt, die zwei weiterführende Pfeile haben. Einer der Ausgänge (meistens nach unten gerichtet) ist mit "Ja" beschriftet und wird weiterverfolgt, wenn die Bedingung erfüllt ist; der andere Ausgang (meistens zur Seite gerichtet) ist mit "Nein" beschriftet und wird andernfalls weiterverfolgt. Weitere normierte Elemente Daneben haben sich weitere Formen von Elementen eingebürgert, die etwa Ein- und Ausgabeanweisungen von anderen Anweisungen unterscheiden. Auch für Unterprogramm-Aufrufe haben sich besondere Darstellungsformen entwickelt. Einzelheiten sind in der DIN Norm geregelt. 4. Struktogramme Struktogramme lassen sich schachteln und beziehen viel von ihrer Ausdruckskraft aus dieser hierarchischen Organisation. Der wichtigste Gedanke bei Struktogrammen ist die Einschränkung auf einen einzigen Eingang und einen einzigen Ausgang pro Struktogramm-Element. Struktogramme unterstützen unmittelbar die "strukturierte Programmierung", die seit den 70er Jahren ein wichtiges Hilfsmittel zur Bewältigung steigender Software-Komplexität geworden ist. Für Struktogramme wurde die DIN-Norm geschaffen. Über die wichtigsten Bausteine von Struktogrammen besteht Konsens, weniger häufige Elemente werden in unterschiedlichen Ausprägungen benutzt. Struktogramme stehen in enger Beziehung zu den Kontrollstrukturen der Programmiersprache Pascal. Anweisung Einfache Anweisungen werden in rechteckige Kästen gesetzt. Diese Art von Struktogramm ist nicht geschachtelt. Der Formalismus der Anweisungen selbst ist nicht fixiert. Sequenz Lineare Abfolgen werden durch lückenloses Untereinandersetzen von Struktogrammen ausgedrückt. Hier wird zuerst Struktogramm A, dann Struktogramm B durchlaufen. Beide Struktogramme können selbst wieder einfache Anweisungen oder auch beliebig kompliziert sein. 6

7 Entscheidung Die Bedingung regelt, welches der beiden untergeordneten Struktogramme ausgeführt wird. Das jeweils andere wird nicht durchlaufen. Üblicherweise steht der "Ja"-Fall auf der linken Seite. Wiederholungen Struktogramme kennen zwei ähnliche Ausdrucksmittel für Wiederholungen. Dieses Bild zeigt eine "abweisende Schleife": Solange die angegebene Bedingung erfüllt ist, wird das eingebettete Unter-Struktogramm ausgeführt. Die Schleife heißt "abweisend", weil schon vor dem ersten Schleifeneintritt die Bedingung überprüft wird. Möglicherweise wird der Schleifenrumpf überhaupt nicht durchlaufen. Dieses Bild zeigt eine "annehmende Schleife": Das eingebettete Unter-Struktogramm wird ausgeführt, bis die angegebene Bedingung erfüllt ist. Die Schleife heißt "annehmend", weil erst nach dem ersten Schleifendurchlauf die Bedingung zum ersten mal überprüft wird. Der Schleifenrumpf wird in jedem Fall mindestens einmal durchlaufen. 7

Flussdiagramm / Programmablaufplan (PAP)

Flussdiagramm / Programmablaufplan (PAP) Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze

Mehr

2. Algorithmenbegriff

2. Algorithmenbegriff 2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen

Mehr

2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben

2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben Algorithmen und Algorithmisierung von Aufgaben 2-1 Algorithmisierung: Formulierung (Entwicklung, Wahl) der Algorithmen + symbolische Darstellung von Algorithmen Formalismen für die symbolische Darstellung

Mehr

Einführung in die Informatik I (autip)

Einfü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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Als Programmierung bezeichnet man die Tätigkeit Computerprogramme (software) zu erstellen. Konzeptioneller Entwurf Umsetzung des Entwurfs in Programmcode (Implementation):

Mehr

Struktogramme. Hinweise 1 Stand:

Struktogramme. Hinweise 1 Stand: Struktogramme Hinweise 1 Stand: 09. 06. 2005 Dr. Reinhard Strangmeier Lehrstuhl für Wirtschaftsinformatik Prof. Dr. H. Gehring Fachbereich Wirtschaftswissenschaft FernUniversität in Hagen 1 Einleitung

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man

Mehr

Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]

Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ] Programmentwurf Bevor man sich daran macht, den Quelltext eines Programmes zu schreiben, sollte man sich einen Plan der Struktur des zukünftigen Programmes machen. Diese Phase eines Softwarentwicklungsprojekts

Mehr

5. Einführung in die Algorithmik

5. Einführung in die Algorithmik bertram.hafner@t-online.de Informatik 11 Seite 1 5. Einführung in die Algorithmik Diesen Getränke-Automat werden wir demnächst programmieren. Der Roboter Karol hilft uns beim Einüben von Algorithmen. Will

Mehr

Einführung in die Programmierung

Einfü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

Mehr

Programme erstellen in Java

Programme 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.......

Mehr

FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen

FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen FD Informatik Mauch SSDL (WHRS) Reutlingen Algorithmen Überblick Definition Notwendigkeit Realisierung Grundkonzepte Umsetzung im Unterricht Algorithmus? Ein Algorithmus ist eine Verwaltungsvorschrift,

Mehr

Einführung in die Programmierung Wintersemester 2016/17

Einfü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

Mehr

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In

Mehr

Programmentwurf Prof. Metzler

Programmentwurf Prof. Metzler Programmentwurf 13.05.2014 Prof. Metzler 1 Programmiersprachen Assembler problemorientierte Sprache C anwendungsorientierte Sprache Basic Kommandosprachen 13.05.2014 Prof. Metzler 2 Assemblersprache Die

Mehr

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 - n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information

Mehr

einseitige Selektion zweiseitige Selektion

einseitige Selektion zweiseitige Selektion einseitige Selektion / Die einseitige Selektion gestattet die Ausführung einer eisung (welche wiederum eine Sequenz sein kann), wenn die angegebene wahr () ist. 19 zweiseitige Selektion _1 _2 _1 _2 Die

Mehr

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P

Mehr

Kapitel. Platzhalter. Was sind Platzhalter?

Kapitel. Platzhalter. Was sind Platzhalter? Kapitel 3 Was sind? sind ganz wichtige Elemente bei der Programmierung. Alle Programme, die du schon kennst (wie beispielsweise die Textverarbeitung WORD oder ein Programm zum Verschicken von E-Mails),

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung

Mehr

Konzepte der Informatik

Konzepte der Informatik Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Konzepte der Informatik Vorkurs Informatik zum WS 2013/2014 16.09. - 27.09.2013 Dr. Werner Struckmann / Hendrik Freytag 1. April 2010

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

BKTM - Programmieren leicht gemacht.

BKTM - Programmieren leicht gemacht. BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi

Mehr

Brainfuck Interpreter für ZX81

Brainfuck Interpreter für ZX81 Brainfuck Interpreter für ZX81 Sprache Befehle Die Programmiersprache Brainfuck hat wenige, einfache Regeln. Es gibt 8 Befehle + - > < [ ],. Jeder Befehl besteht aus einem einzelnen Zeichen. Es gibt keine

Mehr

Programmierkurs II. C und Assembler

Programmierkurs II. C und Assembler Programmierkurs II C und Assembler Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2003 1-1 Inhalt Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte 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/

Mehr

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

= Rechne nach - das Ergebnis ist immer 1!

= Rechne nach - das Ergebnis ist immer 1! Was ist ein Bruch? Bisher kennst du genau eine Art der Zahlen, die sogenannten "Natürlichen Zahlen". Unter den Natürlichen Zahlen versteht man die Zahlen 0, 1,,,... bis Unendlich. Mit diesen Zahlen lassen

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Abschnitt 11: Korrektheit von imperativen Programmen

Abschnitt 11: Korrektheit von imperativen Programmen Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961

Mehr

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr

Grundlagen der Informatik I Einführung

Grundlagen der Informatik I Einführung Grundlagen der Informatik I Einführung Konzepte imperativer Programmierung : Six, H.W., 99 Themen der heutigen Veranstaltung 1. Informatik, Computer, Programmierung 2. Problem und Algorithmus 3. Programme

Mehr

Tag 3 Repetitorium Informatik (Java)

Tag 3 Repetitorium Informatik (Java) Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung

Mehr

Labor Software-Entwicklung 1

Labor Software-Entwicklung 1 Labor Software-Entwicklung 1 Übereinkunft zu Programmablaufplänen PAP - Grundlagen Wintersemester 2015/2016 Seite 1 von 9 Inhalt DIN 66 001: Sinnbilder für Programmablaufplan... 3 Grenzstelle... 3 Ablauflinie...

Mehr

Einführung in die Informatik Algorithms

Einführung in die Informatik Algorithms Einführung in die Informatik Algorithms Vom Problem zum Algorithmus und zum Programm Wolfram Burgard Cyrill Stachniss 1.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Beispiele für Algorithmen Im folgenden Abschnitt sollen ausgewählte

Mehr

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth heraus? Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labrys Grundriss des Palastes von Knossos

Mehr

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt?

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt? Informatik I 14.02.2014 28. Ausblick Informatik I 28. Ausblick Bernhard Nebel Albert-Ludwigs-Universität Freiburg 28.1 28.2 28.3 Was geht nicht? 14.02.2014 Bernhard Nebel (Universität Freiburg) Informatik

Mehr

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,

Mehr

Abstrakte Algorithmen und Sprachkonzepte

Abstrakte Algorithmen und Sprachkonzepte Abstrakte Algorithmen und Sprachkonzepte Thomas Röfer Begriff des Algorithmus Algorithmenaufbau Programmiersprachliche Grundkonzepte Interative und rekursive Algorithmen Rückblick Aufbau und Funktionsweise

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 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

Mehr

1 Karol stellt sich vor

1 Karol stellt sich vor Kapitel 1 Karol stell sich vor Seite 1 1 Karol stellt sich vor 1.1 Algorithmus Fritz hat zum Geburtstag einen CD-Player als Geschenk erhalten. Natürlich will er sofort das Geschenk ausprobieren und legt

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger

Mehr

DLR SchoolLab Lektion 1 Erste Schritte

DLR SchoolLab Lektion 1 Erste Schritte 1 Navigation Die Entwicklungsoberfläche lässt sich durch sechs Buttons am unteren Bildschirmrand bedienen. Alternativ kann man auch über die Tastatur navigieren. Hierfür gibt es folgdende Abkürzungen:

Mehr

Prozedurales Programmieren und Problemlösungsstrategien

Prozedurales Programmieren und Problemlösungsstrategien Prozedurales Programmieren und Problemlösungsstrategien Bachelorstudiengänge Umwelttechnik und Maschinenbau Prof. Dr. Thomas Hoch Problemlösungsstrategien Prozedurales Programmieren und Problemlösungsstrategien

Mehr

Grundwissen Natur und Technik Informatik Klasse 6/7

Grundwissen Natur und Technik Informatik Klasse 6/7 Grundwissen Natur und Technik Informatik Klasse 6/7 In der Informatik geht es genauso wenig um Computer wie in der Astronomie um Teleskope. (Dijkstra) Was ist Informatik? Information + Automatik = Informatik

Mehr

Algorithmen und Datenstrukturen Sommersemester 2007

Algorithmen und Datenstrukturen Sommersemester 2007 Algorithmen und Datenstrukturen Sommersemester 2007 Steffen Reith reith@informatik.fh-wiesbaden.de Fachhochschule Wiesbaden 4. April 2007 Steffen Reith Algorithmen und Datenstrukturen 4. April 2007 1 /

Mehr

1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te

1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te 1 Einführung: Algorithmen Algorithmen und Datenstrukturen WS 2012/13 Pro f. Dr. Sán do r Fe k e te Literatur 1.1 Was ist ein Algorithmus? Ein Algorithmus ist eine aus endlich vielen Schritten bestehende

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten

Mehr

Thema der Unterrichtseinheit: Sortieralgorithmus Bubblesort (Sortieren durch Vertauschen)

Thema der Unterrichtseinheit: Sortieralgorithmus Bubblesort (Sortieren durch Vertauschen) Lehrprobenentwurf Vorgelegt von: Guido Breuer Datum: 18. April 2005 Zeit: 9.20 10.10 Uhr Schule: Robert-Schuman-Institut Eupen Klasse: 5. Jahr technische Befähigung, Industrie-Elektronik / Industrie-Informatik

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Fragen? Wie komme ich effizient zu einem Programm? Wie beschreibe/dokumentiere ich meine Idee?

Fragen? Wie komme ich effizient zu einem Programm? Wie beschreibe/dokumentiere ich meine Idee? Fragen? Wie komme ich effizient zu einem Programm? Wie beschreibe/dokumentiere ich meine Idee? Schritte beim Programmieren Idee, was der Roboter tun soll? EVA-Prinzip E: Eingabe Welche Daten werden über

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen

Mehr

Anweisungen und Kontrollstrukturen

Anweisungen und Kontrollstrukturen Anweisungen und Kontrollstrukturen Anweisungen werden im Programm nacheinander als Sequenz abgearbeitet, wenn nichts anderes angegeben ist. Einzelne Anweisung mit einer Zuweisung, zum Beispiel: A = 2*r*r;

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

4.3 Verifikation von Aussagen über Algorithmen

4.3 Verifikation von Aussagen über Algorithmen 4.3 Verifikation von Aussagen über Algorithmen Hoaresche Logik: Kalkül zum Beweisen von Aussagen über Algorithmen und Programme, Programm-Verifikation, [C.A.R. Hoare, 1969]. Mod - 4.51 Statische Aussagen

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

ABITURPRÜFUNG 2006 GRUNDFACH INFORMATIK

ABITURPRÜFUNG 2006 GRUNDFACH INFORMATIK ABITURPRÜFUNG 2006 GRUNDFACH INFORMATIK (HAUPTTERMIN) Arbeitszeit: 210 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler, die

Mehr

Anweisungen und Kontrollstrukturen

Anweisungen und Kontrollstrukturen Anweisungen und Kontrollstrukturen Anweisungen werden im Programm nacheinander als Sequenz abgearbeitet, wenn nichts anderes angegeben ist. Einzelne Anweisung mit einer Zuweisung, zum Beispiel: A = 2*r*r;

Mehr

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany Informatik I Grundlagen der systematischen Programmierung Peter Thiemann Universität Freiburg, Germany WS 2007/08 Literatur Herbert Klaeren, Michael Sperber. Die Macht der Abstraktion. Teubner Verlag,

Mehr

DIN FB Technologie und Management DIN DIN 66001

DIN FB Technologie und Management DIN DIN 66001 FB Technologie und Management Datenverarbeitung (D 1) (Kapitel 7 Programmierung) Darstellungsarten (DF) Datenflußplan (PA) Programmablaufplan (PN) Programmnetz (DN) Datennetz (PH) Programmhierarchie (DH)

Mehr

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

2.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

Mehr

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:

Mehr

CEN1112 Labor Software-Entwicklung

CEN1112 Labor Software-Entwicklung Dipl.-Ing. (FH) Peter Bitterlich M.Sc. Joachim Storz Fakultät für Technik STUDIENGANG MEDIZINTECHNIK CEN1112 Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 3 C-Programmierung Vertiefung Wintersemester

Mehr

Schleifen in Javascript

Schleifen in Javascript Schleifen in Javascript Jobst-Hartmut Lüddecke 3. April 2013 Zusammenfassung In dieser Lektion geht es um Schleifen (engl. loop). Diese Schleifen sind in jeder Programmiersprache das beste Werkzeug für

Mehr

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 6a: Modellierung Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Computertechnik Man kann Software auf 2 Arten herstellen: Entweder macht man sie so klar und einfach,

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene

Mehr

Test zur Erfassung des Kenntnisstands

Test zur Erfassung des Kenntnisstands Aufgabe 1: Versandgebühren Ein Versandhändler verlangt bis zu einem Warenwert von 50 EUR 4,90 EUR Versandgebühren. Bei höherem Warenwert verlangt er keine Versandgebühren mehr. In einem Tabellenkalkulationsprogramm

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 04.04.2018 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen

Mehr

10. Teilbarkeit in Ringen

10. Teilbarkeit in Ringen 70 Andreas Gathmann 10. Teilbarkeit in Ringen Ein wichtiges Konzept in Ringen, das ihr für den Fall des Ringes Z bereits aus der Schule kennt, ist das von Teilern also der Frage, wann und wie man ein Ringelement

Mehr

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & 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

Mehr

Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 1.0 EBNF 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Graphische Darstellung von EBNF Regeln Syntax Graph: graphische Darstellung

Mehr

1 Endliche Automaten mit Ausgabe

1 Endliche Automaten mit Ausgabe 1.1 Autokorrektur und Smileys 9 Theorie bedeutet meist, dass die Bestandteile und Eigenschaften von Systemen auf das Elementare reduziert werden, um deren Prinzipien, Zusammenhänge, Möglichkeiten und Grenzen

Mehr

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Sprachen sind durch folgenden Aufbau gekennzeichnet: BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen

Mehr

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

Mehr

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49) Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden

Mehr

Zahlen und elementares Rechnen

Zahlen und elementares Rechnen und elementares Rechnen Christian Serpé Universität Münster 7. September 2011 Christian Serpé (Universität Münster) und elementares Rechnen 7. September 2011 1 / 51 Gliederung 1 2 Elementares Rechnen 3

Mehr

Die Käfer machen vieles immer wieder...

Die Käfer machen vieles immer wieder... Die Käfer machen vieles immer wieder... AB 3 ZIEL: Wiederholungen in Handlungen erkennen, als SOLANGE-Schleife formulieren und in Programmiersprache umsetzen können. Zum nächsten Baum und... Du sollst

Mehr

Software-Praktikum. Überblick und Zeitplan

Software-Praktikum. Überblick und Zeitplan Standort Hagen Fachbereich Technische Betriebswirtschaft Software-Praktikum Überblick und Zeitplan Andreas de Vries und Volker Weiß Version: 26. September 2016 Inhaltsverzeichnis 1 Einführung und Überblick

Mehr

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum: Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung

Mehr

Variablen und Datentypen

Variablen und Datentypen Programmieren mit Python Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Überblick 3 2 Teil A: Geldautomat 3 2.1 Einführung.................................. 3 2.2 Aufgabenstellung...............................

Mehr

$Id: folgen.tex,v /05/31 12:40:06 hk Exp $ an 1 2 n 1 ist gerade, 3a n 1 + 1, a n 1 ist ungerade.

$Id: folgen.tex,v /05/31 12:40:06 hk Exp $ an 1 2 n 1 ist gerade, 3a n 1 + 1, a n 1 ist ungerade. $Id: folgen.tex,v. 202/05/3 2:40:06 hk Exp $ 6 Folgen Am Ende der letzten Sitzung hatten wir Folgen in einer Menge X als Abbildungen a : N X definiert, die dann typischerweise in der Form (a n ) n N, also

Mehr

Strukturierte Programmentwicklung

Strukturierte Programmentwicklung Strukturierte Programmentwicklung mit C Ok, ich will es rich:g lernen... Wie gehst Du beim Programmieren vor? Einführung in Programmierung Zu aller erst überlegst Du Dir: Um was geht es eigentlich? Welche

Mehr

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben Zwischenklausur Informatik, WS 206/7 4.2.206 Lösungen zu den Aufgaben. Gegeben sind folgende Dualzahlen in Zweierkomplementdarstellung. Geben Sie den jeweils zugehörigen Dezimalwert an! a) entspricht der

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2018 Kapitel 1: Informationsverarbeitung

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr