Algorithmen & Programmierung. Algorithmen als Funktionen Funktionen in C

Größe: px
Ab Seite anzeigen:

Download "Algorithmen & Programmierung. Algorithmen als Funktionen Funktionen in C"

Transkript

1 Algorithmen & Programmierung Algorithmen als Funktionen Funktionen in C

2 Algorithmus in der Informatik Algorithmen in der Informatik können nur Informationen verarbeiten, die als Daten bezeichnet werden. Objektmenge Die Objektmenge eines Algorithmus beschränkt sich auf eine Menge von Daten * Anfangszustand (Vorbedingung) Eine Teilmenge der Daten muss in einem definierten Anfangszustand vorliegen Eingabedaten Endzustand (Nachbedingung) Eine Teilmenge der Daten muss in dem gewünschten Endzustand vorliegen Ausgabedaten Algorithmus Folge von Operationen, die aus Eingabedaten bestimmte Ausgabedaten herleitet. Eingabedaten Algorithmus Ausgabedaten Der unscharfe Begriff Daten beinhaltet eigentlich schon das Wort Menge 49

3 Eingabe- und Ausgabedaten Wie erhalte ich die Eingabedaten? Algorithmen (der Informatik) können nur mit Daten arbeiten. Diese müssen bereitgestellt werden. Peripheriegeräte Die Bereitstellung erfolgt mit Geräten wie Tastatur, Maus, Touchscreen, Mikrofon,..., die Objekte oder Aktionen der Realwelt in eine Darstellung als Daten umrechnen. Präsentation der Ausgabedaten Ausgabedaten müssen ebenfalls in einer dem menschlichen Verständ- nis gerechten Form aufbereitet und präsentiert werden. Dies erfolgt wieder mit Hilfe von Peripheriegeräten, z.b. Bildschirmausgabe von Grafik und Text, Druck von Dokumenten, 3D-Druck, Generieren von Tönen,... 50

4 Vom Algorithmus zum Programm Algorithmus in der Informatik Folge von Operationen, die aus Eingabedaten bestimmte Ausgabedaten herleitet. Vorbedingung Welche Bedingung(en) müssen die Eingabedaten erfüllen? Nachbedingung Welche Bedingung(en) müssen die Ausgabedaten erfüllen? Operationen Wie leite ich aus den Eingabedaten die Ausgabedaten her? Fragen Eingabedaten Algorithmus Ausgabedaten Mit welcher Programmiersprache formulieren wir einen Algorithmus, damit ihn sein Prozessor (z.b. Computer, Tablet, Smartphone,...) verstehen und ausführen kann? Wie sehen die Steuerstrukturen Sequenz, Iteration und Selektion der gewählten Programmiersprache aus? Welche Grundoperationen bietet die gewählte Programmiersprache an? Wie definiere ich Eingabe- und Ausgabedaten und garantiere die Einhaltung der Vor- und Nachbedingungen? 51

5 Welche Programmiersprache? Lehrveranstaltung Algorithmen & Programmierung Programmiersprache C Lehrveranstaltung Datenstrukturen Programmiersprache C++ Warum? C und C++ sind flexibel, praxisorientiert, stark verbreitet C ist Basis für kompatible, aber weiterentwickelte Programmiersprachen z.b. C++ und Objektive C C-Sprachform und -inhalte bilden die Basis für aktuelle Programmiersprachen z.b. C#, Java, Swift 52

6 Welche Programmiersprache? Programmiersprache C / C++ C ist sehr hardwarenah und deshalb hocheffizient. Diese beiden Eigenschaften erlauben die Programmierung von oder? Werkzeugmaschinen Steuerelektronik eingebetteten Systemen Betriebssystemen Spielen Aber auch komplexe Anwendungen lassen sich (vor allem mit C++) aufgrund ausgereifter Werkzeuge komfortabel erstellen. Diese große Bandbreite ist mit den meisten anderen Programmiersprachen nicht möglich. 53

7 Vorteile & Nachteile von C Hohe Beliebtheit von C Wir haben gerade die hohe Flexibilität als besondere Eigenschaft der Programmiersprache C herausgestellt. Des Weiteren lässt C dem Programmierer sehr viele Freiheiten. Größter Vorteil von C C lässt dem Programmierer sehr viele Freiheiten. Größter Nachteil von C C lässt dem Programmierer sehr viele Freiheiten. 54

8 Funktionen (in C)

9 Mathematische Funktion Eine Funktion ordnet jedem Element x einer Definitionsmenge X genau ein Element y einer Zielmenge Y zu. Definition einer Funktion Nötig ist die Angabe von Definitionsmenge X Ergebnismenge Y Abbildungsvorschrift f(x) Beispiel y = f(x) = x 2 mit X = R und Y = R 56

10 Funktion vs. Algorithmus Algorithmus Folge von Operationen, die aus Eingabedaten bestimmte Ausgabedaten herleitet. Eine Funktion ordnet jedem Element x einer Definitionsmenge X genau ein Element y einer Zielmenge Y zu. Funktion als Algorithmus Funktionen lassen sich sehr gut durch Algorithmen ausdrücken wenn wir die Zuordnung auf eine beliebige Abbildung beschränken, so dass genau einem Element x X genau ein Element y Y zugeordnet wird Berechnung eines Funktionswertes. Dann korrespondieren die Eingabedaten zu einem beliebigen Element x X die Ausgabedaten zu einem beliebigen Element y Y Ausgabe = f(eingabe) der Algorithmus zu der Abbildungsvorschrift, die einem x X genau ein y Y zuordnet. Diese Sichtweise repräsentiert auch die sequentielle Verarbeitung eines Algorithmus sehr gut. 57

11 Funktion vs. Algorithmus Ausdrucksmächtigkeit von Funktionen Definitions- und Zielmenge einer Funktion haben oft eine unendliche Kardinalität (z.b. Z, R). Abhilfe bei Algorithmen Um eine Menge M mit unendlicher Elementanzahl im begrenzten Speichers des Prozessors korrekt repräsentieren zu können, generieren wir eine endliche Teilmenge von M. 58

12 Mathematische Funktionen in C Wunsch Wir wollen die Funktion y = f(x) = x 2 mit X = Z und Y = Z mit Hilfe von C realisieren. Datentyp Wertemengen werden in C als Datentyp bezeichnet Einschränkung der Definitions- und Zielmengen Zur Menge der ganzen Zahlen korrespondiert in C der Datentyp Integer (int). Er beschränkt die ganzen Zahlen nach oben und unten. Sein Wertebereich erstreckt sich etwa von bis

13 Grundoperationen von C Rechenoperationen für Integer-Zahlen (Operatoren) Addition + Subtraktion Multiplikation * Division / Ganzzahlige Division. Falls Nachkommastellen auftreten, werden diese abgeschnitten, aber nicht gerundet. Modulo % Rest der ganzzahligen Division 60

14 Grundoperationen von C Variablen Um beliebige Elemente aus der Definitions- oder der Zielmenge auswählen zu können, benötigen wir Variablen (wie auch in der Mathematik). Variablen stehen auch in C nicht automatisch zur Verfügung, sondern müssen definiert werden. Die Variablendefinition ist eine Grundoperation von C. Definition von Variablen beinhaltet das Festlegen des Datentyps und die Benennung der Variablen, z.b. Definition einer Integervariablen mit Namen x: int x Achtung Nach der Definition einer Variablen ist ihr Wert unbestimmt. Sie dürfen niemals annehmen, dass dieser Wert 0 ist Gefährliche Fehlerquelle! 61

15 Grundoperationen von C Zuweisung Um einer Variablen einen Wert zuordnen zu können, gibt es eine weitere Grundoperation der Programmiersprache C, die Zuweisung. Die Zuweisung erfolgt mit Hilfe des Operators = Was kann einer Variablen zugewiesen werden? ein beliebiges Element ihres Datentyps - ein so genannter konstanter Wert, z.b. x = 5 der Wert einer anderen Variablen, z.b. y = x das Ergebnis einer Ausdrucksberechnung ( nächste Folie) Variablendefinition mit Zuweisung Die Grundoperationen Variablendefinition und Zuweisung können miteinander kombiniert werden, d.h. dass eine Variable bei ihrer Definition gleichzeitig mit einem Wert initialisiert werden kann. Beispiel: int x = 5 62

16 Ausdrücke in C Elementare Bestandteile Ausdrücke bestehen aus einfachen Werten und Variablen, die durch die Operatoren der Grundrechenarten verknüpft werden. Ausdrücke können geklammert werden, um die Berechnungsreihenfolge vorzugeben, ansonsten gilt die übliche Punkt- vor Strichrechnung. Ausdrücke werden direkt berechnet und das Ergebnis der Berechnung kann ebenfalls einer Variablen zugewiesen werden. Beispiele y = x 3 Der Integer-Variablen y wird des Ergebnis der Berechnung des Ausdrucks x 3 zugewiesen y = (5 + 3) * x Zuerst wird die Klammer ausgewertet und danach mit x multipliziert 63

17 Kommentare in C Zweck Kommentare sind keine Anweisungen sondern dienen lediglich zur Dokumentation eines Programmes. Einzeilige Kommentare werden durch // eingeleitet und enden automatisch am Zeilenende Mehrzeilige Kommentare werden durch /* eingeleitet und enden mit */ Achtung Mehrzeilige Kommentare können nicht geschachtelt werden. 64

18 Steuerstruktur Sequenz in C Aufzählung von Operationen / Anweisungen Eine Folge von Operationen realisiert man in C, indem die einzelnen Anweisungen mit Hilfe eines Semikolons voneinander getrennt werden und die Folge von geschweiften Klammern begrenzt wird. Beispiel Sequenz aus drei bzw. vier Anweisungen: { // Beginn der Sequenz int x = 3; // Definition und Initialisierung einer Variablen x int y; // Definition einer Variablen y y = x + 5; // Zuweisung des Ergebnisses der Ausdrucksberechnung an y } // Ende der Sequenz 65

19 Steuerstruktur Sequenz in C Bedeutung der Sequenz Eine Sequenz wird als eine logische Einzeloperation betrachtet und kann in übergeordneten Steuerstrukturen wie eine Einzelanweisung verwendet werden. Block Eine Sequenz bzw. die Folge von Einzeloperationen zwischen einer öffnenden und einer schließenden geschweiften Klammer wird auch als Block bezeichnet. Achtung Ausschließlich das Semikolon trennt zwei C-Anweisungen voneinander, aber nicht der Beginn einer neuen Zeile! 66

20 Definition math. Funktionen in C Aufgabe Wir wollen eine beliebige mathematische Funktion f in der Programmiersprache C realisieren. Eine Funktion f wird beschrieben durch ihre Definitionsmenge, ihre Zielmenge eine Abbildungsvorschrift C-Funktion Das Konzept der Programmiersprache C, das es erlaubt f in C realisieren zu können wird auch als Funktion bezeichnet. Im Folgenden kann der Begriff Funktion sowohl mathematische als auch C-Funktionen meinen. Die Bedeutung erschließt sich i.d.r. aus dem Kontext. 67

21 Definition math. Funktionen in C Umsetzung in fünf Schritten 1. Beschreibung der Zielmenge der Funktion Angabe des korrespondierenden Datentyps 2. Benennung der Funktion (Mathematische Funktionen können mehr oder weniger beliebige Namen aufweisen, dies gilt auch für C-Funktionen) 3. Beschreibung der Definitionsmenge der Funktion Definition einer Variablen des korrespondierenden Datentyps 4. Umsetzung der Abbildungsvorschrift der Funktion Algorithmierung der Abbildungsvorschrift in C 5. Kennzeichnung des in 4. berechneten Werts als Funktionswert der Funktion 68

22 Beispiel - Funktionskopf Schritte 1-3 Umsetzung von y = f(x) = x 2 mit X = Z und Y = Z 1 Beschreibung der Zielmenge Angabe des korrespondierenden Datentyps Die Funktion soll laut Aufgabenstellung auf ganzen Zahlen definiert sein, d.h. der entsprechende C- Datentyp wäre int 2 Benennung der Funktion Wir wollen die C-Funktion ebenfalls f nennen 3 Beschreibung der Definitionsmenge Definition einer Variablen des korrespondierenden Datentyps Laut Aufgabenstellung soll die Funktion in den Bereich der ganzen Zahlen abbilden, d.h. dass die Variable vom Integer-Datentyp sein muss: int x Das resultierende Konstrukt heißt Funktionskopf: int f(int x) 69

23 Beispiel - Funktionsrumpf 4 5 Schritte 4 und 5 Umsetzung der Abbildungsvorschrift Algorithmierung der Abbildungsvorschrift in C Kennzeichnung des in 4. berechneten Werts als Funktionswert der Funktion Umsetzung von y = f(x) = x 2 mit X = Z und Y = Z Der Algorithmus zum Berechnen des Funktionswerts von x benötigt eine Hilfsvariable zum Aufnehmen des Berechnungsergebnisses: int y; y = x * x; Die Kennzeichnung des ermittelten Funktionswertes geschieht mit Hilfe der C-Grundoperation return: return y; Die Operationen der Schritte 4 und 5 stellen eine Sequenz dar und werden deshalb von geschweiften Klammern { } eingeschlossen. Der resultierende Block heißt Funktionsrumpf und wird an den Funktionskopf der Schritte 1-3 angehängt. 70

24 Beispiel f(x)=x 2 als C-Funktion Bezeichnung der Funktion Definition einer Variable x vom Definitionsdatentyp Zieldatentyp Blockbeginn - Eine Funktion ist eine Sequenz von Operationen. Definition einer funktionsinternen Variable zur Aufnahme des Berechnungsergebnisses. int f(int x) { int y; y = x * x; Quadrieren des Funktionsargumentes x und Zuweisung des Ergebnisses an y } return y; Blockende Die Variable y ist der Funktionswert der Funktion 71

25 Betragsfunktion Wunsch Wir wollen eine weitere C-Funktion implementieren, die Bildung des Betrages einer ganzen Zahl. Mathematische Definition Betrag einer ganzen Zahl: x = " $ # %$ x x x < 0 sonst x! Analyse der Betragsdefinition Wenn wir uns die mathematische Definition anschauen, stellen wir fest, dass diese Funktion ihre Berechnungsvorschrift in Abhängigkeit von einer Bedingung auswählt (selektiert) Konsequenz Wir benötigen die Steuerstruktur Selektion, um die Betragsfunktion in C realisieren zu können. 72

26 Steuerstruktur Selektion in C if ( Bedingung ) // Wenn die Bedingung erfüllt ist, Anweisung1 // dann wird Anweisung1 ausgeführt else // sonst Anweisung2 // wird Anweisung2 ausgeführt 73

27 Selektionsbedingung Bedingung Bezeichnet meist eine Vergleichsoperation zwischen einer Variablen und einer anderen Variablen einer Variablen und einem konkreten Zahlenwert Eine Bedingung ist erfüllt (wahr), wenn die zugrundeliegende Vergleichsoperation erfüllt (wahr) ist. Vergleichsoperationen in C!= ungleich < kleiner als <= kleiner gleich == ist gleich > größer als >= größer gleich Achtung: y=x vs. y==x = bedeutet Zuweisung: Der Wert von x wird y zugewiesen. == vergleicht auf Werteidentität: Die Bedingung ist erfüllt, wenn x und y gleiche Werte haben 74

28 Beispiel f(x)= x als C-Funktion int abs( int x ) { int betrag; if ( x < 0 ) betrag = -x; else betrag = x; Es können auch umfangreichere Funktions- und Variablenbezeichnungen verwendet werden Grundsätzlich sollte darauf geachtet werden, dass die Bezeichnungen von Namen und Funktionen aussagekräftig sind und etwas mit der Bedeutung einer Variablen oder Funktion zu tun haben. } return betrag; 75

29 Potenzieren einer ganzen Zahl Wunsch Wir wollen unsere Quadratfunktion f verallgemeinern, so dass eine beliebige Potenz einer Zahl gebildet werden kann. Dabei wollen wir für den Exponenten nur natürliche Zahlen erlauben. Algorithmusidee zur Berechnung von basis exponent Rückführung der Potenzbildung basis exponent auf die mehrfache Multiplikation von basis mit sich selbst: Wir initialisieren eine Variable mit 1 und multiplizieren diese exponent mal mit basis Problem Wie stellen wir einer Funktion neben der Basis noch den Exponenten zur Verfügung? Lösung C-Funktionen können mit beliebig vielen Parametern versehen werden. 76

30 Steuerstruktur Iteration in C Wiederholte Ausführung der gleichen Anweisung Die Rückführung der Potenzierung auf eine wiederholte Multiplikation verlangt die Verwendung der Steuerstruktur Iteration. Realisierung in C while ( Bedingung ) // Solange Bedingung gültig ist Anweisung // führe Anweisung aus 77

31 Potenzierung als C-Funktion int potenz(int basis, int exponent) { int ergebnis = 1; // Variable für (Zwischen-)Ergebnis int i = exponent; // Zählvariable für Anzahl Iterationen while (i > 0) { // Solange Zählvariable > 0 ergebnis = ergebnis * basis; i = i - 1; } } return ergebnis; // Kennzeichnung des Funktionswerts 78

32 Steuerstrukturen in C Wir haben beispielhaft drei C-Funktionen kennengelernt, die die Verwendung verschiedener Steuerstrukturen zur Realisierung von Algorithmen demonstrierten. Zusammenfassend lässt sich festhalten, dass jeder Algorithmus eine Auswahl und meist jede der folgenden drei Steuerstrukturen enthält. Steuerstruktur Realisierung in C Sequenz (Folge) { ; ; } Selektion (Alternative) Iteration (Wiederholung) if else while Merke Diese drei Steuerstrukturen organisieren die Verarbeitung aller weiteren Operationen in C. 79

33 Algorithmus von Euklid Zusammenfassend wollen wir einen Algorithmus kennenlernen und als Funktion implementieren, der alle drei Steuerstrukturen in sich vereint. Dieser Algorithmus ist schon über 2300 Jahre alt und stammt von dem griechischen Mathematiker Euklid. Er beschreibt die Bestimmung des größten gemeinsamen Teilers (ggt) zweier natürlicher Zahlen a und b. Algorithmus von Euklid Solange a ungleich b wenn a größer als b subtrahiere b von a sonst subtrahiere a von b Der Algorithmus endet wenn a und b identisch sind. Dann stellen sowohl a als auch b den gesuchten größten gemeinsamen Teiler der Ausgangswerte von a und b dar. 80

34 Euklidischer Algorithmus Objektmenge a, b Grundoperationen Vergleichsoperationen Ausdrucksberechnung (Subtraktion) Zuweisung Vorbedingung a und b sind natürliche Zahlen Endbedingung a und b sind gleich 81

35 Euklidischer Algorithmus in C int ggt(int a, int b) { while (a!= b) { if (a > b) a = a - b; else b = b - a; } } return a; // a (oder b) stellt den ggt dar 82

36 Ende der Vorlesung

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

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Algorithmen & Programmierung. Ausdrücke & Operatoren (1) Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

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

Algorithmen & Programmierung. Logik

Algorithmen & Programmierung. Logik Algorithmen & Programmierung Logik Aussagenlogik Gegenstand der Untersuchung Es werden Verknüpfungen zwischen Aussagen untersucht. Aussagen Was eine Aussage ist, wird nicht betrachtet, aber jede Aussage

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Algorithmen & Programmierung. Rekursive Funktionen (1)

Algorithmen & Programmierung. Rekursive Funktionen (1) Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

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

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

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

Operatoren (1) Operatoren (2)

Operatoren (1) Operatoren (2) Operatoren (1) Binäre Operatoren + - * / % < = > & ^ > && Addition Subtraktion Multiplikation Division Divisionsrest Vergl. auf kleiner Vergl. auf kleiner oder gleich Vergl. auf gleich Vergl.

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

3. Grundanweisungen in Java

3. Grundanweisungen in Java 3. Grundanweisungen in Java Die Grundanweisungen entsprechen den Prinzipien der strukturierten Programmierung 1. Zuweisung 2. Verzweigungen 3. Wiederholungen 4. Anweisungsfolge (Sequenz) Die Anweisungen

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

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

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Einführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden

Einführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden Motivation Einführung in die Informatik Processing Numbers Wolfram Burgard Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Einführung in die Informatik. Processing Numbers

Einführung in die Informatik. Processing Numbers Einführung in die Informatik Processing Numbers Wolfram Burgard 5/1 Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

Informatik I Processing Numbers. Cyrill Stachniss Wolfram Burgard

Informatik I Processing Numbers. Cyrill Stachniss Wolfram Burgard Informatik I Processing Numbers Cyrill Stachniss Wolfram Burgard Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

Einführung in die Informatik Iterations

Einführung in die Informatik Iterations Motivation Einführung in die Informatik Iterations Konstruktion, Anwendungen, Varianten Wolfram Burgard Im vorangegangenen Kapitel haben wir mit der while-schleife eine Form von Wiederholungsanweisungen

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

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

Algorithmen implementieren. Implementieren von Algorithmen

Algorithmen implementieren. Implementieren von Algorithmen Algorithmen implementieren Implementieren von Algorithmen Um Algorithmen ablaufen zu lassen, muss man sie als Programm darstellen (d.h. implementieren) Wie stellt man die algorithmischen Strukturelemente

Mehr

Einführung in die Informatik Iterationen

Einführung in die Informatik Iterationen Einführung in die Informatik Iterationen Konstruktion, Anwendungen, Varianten Wolfram Burgard 1 Motivation Im vorangegangenen Kapitel haben wir mit der while-schleife eine Form von Wiederholungsanweisungen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Arithmetische und bitweise Operatoren im Binärsystem Prof. Dr. Nikolaus Wulff Operationen mit Binärzahlen Beim Rechnen mit Binärzahlen gibt es die ganz normalen arithmetischen

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

Beispiel: Schriftliche Addition

Beispiel: Schriftliche Addition Beispiel: Schriftliche Addition 1 1 5 8 9 2 6 1 4 5 1 1 0 2 0 3 7 Eingabe Ausgabe Zwischen werte Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/10 18 2. Grundlagen der Programmierung

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

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 2016/2017 Willkommen zum Informatik-Repetitorium!

Mehr

C.3 Funktionen und Prozeduren

C.3 Funktionen und Prozeduren C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische

Mehr

Terme und Gleichungen

Terme und Gleichungen Terme und Gleichungen Rainer Hauser November 00 Terme. Rekursive Definition der Terme Welche Objekte Terme genannt werden, wird rekursiv definiert. Die rekursive Definition legt zuerst als Basis fest,

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

Mehr

Girls Day 2017 Programmierung

Girls Day 2017 Programmierung Girls Day 2017 Programmierung Anke Brocker Quality Management Würselen, 27. April 2017 www.lancom-systems.de Programmierung 27.04.2017 - Übersicht Programmieren mit der Arduino IDE Die Arduino IDE Der

Mehr

Ganzrationale Funktionen

Ganzrationale Funktionen Eine Dokumentation von Sandro Antoniol Klasse 3f Mai 2003 Inhaltsverzeichnis: 1. Einleitung...3 2. Grundlagen...4 2.1. Symmetrieeigenschaften von Kurven...4 2.1.1. gerade Exponenten...4 2.1.2. ungerade

Mehr

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt?

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt? 1.8 Kontrollstrukturen 75 1.8.5 Wiederholungen Häufig muss die gleiche Teilaufgabe oft wiederholt werden. Denken Sie nur an die Summation von Tabellenspalten in der Buchführung oder an das Suchen einer

Mehr

Präzedenz von Operatoren

Präzedenz von Operatoren Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

4.4 Imperative Algorithmen Prozeduren

4.4 Imperative Algorithmen Prozeduren 4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04

7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 KATHRIN TOFALL Aufgabe 7. (Symmetrischer EEA). (9 Punkte) Ziel dieser Aufgabe ist es zu zeigen, was man gewinnt, wenn man bei der Division mit

Mehr

Operatoren und Ausdrücke

Operatoren und Ausdrücke Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Schleifenanweisungen

Schleifenanweisungen Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

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

Einführung in die Programmierung II. 3. Kontrollstrukturen

Einführung in die Programmierung II. 3. Kontrollstrukturen Einführung in die Programmierung II 3. Kontrollstrukturen Thomas Huckle, Stefan Zimmer 2.5.2007-1- Anweisungen: was bisher geschah Bisher kennen wir zwei Formen von Anweisungen Ein Ausdruck mit Semikolon

Mehr

Vorkurs Mathematik Dozent: Dipl.-Math. Karsten Runge.

Vorkurs Mathematik Dozent: Dipl.-Math. Karsten Runge. Vorkurs Mathematik 17.08.-28.08.15 Dozent: Dipl.-Math. Karsten Runge E-mail: karsten.runge@hs-bochum.de www.hs-bochum.de\imt > Mathematik-Vorkurs > Mathematik-Werkstatt Die Mathematik-Werkstatt bietet

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 21 Einstieg in die Informatik mit Java Einfache Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick 2 Arithmetische Operatoren 3 Inkrement und Dekrementoperatoren

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Kapitel III Ringe und Körper

Kapitel III Ringe und Körper Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

Informatik I - Einstiegskurs

Informatik I - Einstiegskurs Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

3.2 Datentypen und Methoden

3.2 Datentypen und Methoden Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Reelle Zahlen (R)

Reelle Zahlen (R) Reelle Zahlen (R) Bisher sind bekannt: Natürliche Zahlen (N): N {,,,,,6... } Ganze Zahlen (Z): Z {...,,,0,,,... } Man erkennt: Rationale Zahlen (Q):.) Zwischen den natürlichen Zahlen befinden sich große

Mehr

Programmiertechnik Kontrollstrukturen

Programmiertechnik Kontrollstrukturen Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

2. Imperative Programmierung und Berechenbarkeit - Registermaschinen -

2. Imperative Programmierung und Berechenbarkeit - Registermaschinen - 2. Imperative Programmierung und Berechenbarkeit - Registermaschinen - 2.1 Definition 2.2 Loop-Programme 2.3 While Programme 2.4 While Programme und rekursive Funktionen Im Wesentlichen: Tafel! Maschinenmodell

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Einfache Rechenstrukturen und Kontrollfluß

Einfache Rechenstrukturen und Kontrollfluß 2 Ziele Einfache Rechenstrukturen und Kontrollfluß Verstehen der Grunddatentypen von Java Verstehen von Typkonversion in Java Lernen lokale Variablen und Konstanten zu initialisieren Verstehen der Speicherorganisation

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

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

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