Algorithmen & Programmierung. Algorithmen als Funktionen Funktionen in C
|
|
- Irmgard Heintze
- vor 7 Jahren
- Abrufe
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 Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrAlgorithmen & 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
Mehr1 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:
MehrGrundlagen 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
MehrAlgorithmen & 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
MehrModul 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
MehrJavaScript. 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
MehrAlgorithmen & 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
MehrFACHHOCHSCHULE 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
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrProjekt 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.
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrSprachkonstrukte. 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
MehrOperatoren 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
Mehr1 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
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrTag 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
MehrOperatoren (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.
MehrJava - 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
Mehr3. 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
MehrJAVA-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).
MehrKapitel 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
MehrDas 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
MehrProgrammieren 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
MehrStudent: 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
MehrInstitut 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
MehrEinfü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
MehrEinfü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
MehrAlgorithmen 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
MehrInformatik 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
MehrKapitel 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
Mehr4.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
MehrOperatoren 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
MehrEinfü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
MehrInhalt. 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
Mehreinseitige 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
MehrAlgorithmen 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
MehrEinfü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
MehrEinstieg 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,
Mehr7. 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
MehrEinfü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
MehrEinfü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
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
MehrBeispiel: 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
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
MehrModellierung 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
MehrUnterlagen. 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
MehrTag 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!
MehrC.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
Mehrfloat: 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
MehrAlgorithmen 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
MehrTerme 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,
MehrAbschnitt 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)
MehrGirls 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
MehrGanzrationale 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
Mehr1.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
MehrPrä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
MehrGrundlagen: 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
MehrJava 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.
MehrSystem.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
Mehr3. 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
MehrDie 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,
Mehr4.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):
MehrProgrammierung 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
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrEinstieg 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
MehrDr. 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
Mehr7. 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
MehrOperatoren 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
Mehr4.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
MehrJava 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
MehrSchleifenanweisungen
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
MehrC# - 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
MehrEinfü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,
MehrEinfü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
MehrVorkurs 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)
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
MehrEinstieg 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
MehrElementare 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)
MehrKapitel 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
MehrC-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
MehrInformatik 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
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
Mehr3.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
MehrEinfü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
MehrReelle 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
MehrProgrammiertechnik 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,
Mehr2. 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
MehrProgrammieren 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,
MehrEinfache 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
MehrEntwurf 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
MehrC++ 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
Mehr4.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