3. Algorithmenentwurf und JAVA. Informatik II für Verkehrsingenieure
|
|
- Nikolas Hartmann
- vor 7 Jahren
- Abrufe
Transkript
1 3. Algorithmenentwurf und JAVA Informatik II für Verkehrsingenieure
2 Schwerpunkt 1 ALGORITHMEN UND UMSETZUNG Aufgabe Algorithmus Programm Eigentliche Entwicklung der Verfahrensidee Codierung Algorithmenentwurf Konzeptionell getrennte Schritte (bei kleineren Aufgaben oft verschmolzen) ZIEL 1 VON INFORMATIK II von der Aufgabe zum Algorithmus 2
3 Definitionsversuch ALGORITHMUS Anleitung, wie ein bestimmtes Ziel zu einem Problem bzw. einer Aufgabe erreicht werden kann Anleitung ist dabei in der Art einer Liste von Anweisungen, die abgearbeitet werden müssen je Kontext sind die Anweisungen hinreichend primitiv zu halten eine Anweisung wie z.b. löse das Problem sind unzulässig BEACHTE Bei der Definition ist nicht festgeschrieben, wer die Anweisungen ausführt (kann sowohl Computer als auch Mensch sein) Wichtig - Es muss in jedem Fall klar definiert sein, was getan werden muss - Es muss klar sein, was die erste Anweisung ist - Es muss klar sein, welche Anweisung nach der Ausführung einer beliebigen Anweisung als nächstes auszuführen ist 3
4 Beispiel AUFGABE In einem Zimmer befindet sich ein Haufen Abfall (1m³), der in den Müllcontainer im Keller gebracht werden muss. 4
5 Schleifen-Konstrukt UM SCHREIBARBEIT ZU SPAREN, FASST MAN WIEDERHOLTE AKTIONEN HÄUFIG ZUSAMMEN Was vollkommen legitim ist Solange eindeutig bleibt, was genau getan werden muss 5
6 Verallgemeinerung WAS IST, WENN DER MÜLLBERG GRÖSER ALS 1M³ IST ODER DER MÜLLKORB MEHR FASST ALS ANGENOMMEN? 6
7 Weiteres Element WEITERES ELEMENT FÜR ALGORITHMEN Gewisse Sachen merken Wie das Merken genau aussieht, spielt dabei erst einmal keine Rolle - Mensch: Gedächtnis, Notizblock, sonstige Erinnerungsstütze - Computer: Arbeitsspeicher, Festplatte, Für jede Sache, die zu merken ist, müssen wir einen bestimmten Platz reservieren Wir wollen die Möglichkeit lassen, nach gewisser Zeit an dieser Stelle neue Informationen zu merken Merken ist dabei nichts Ergänzendes, sondern es wird immer die alte Information an dieser Stelle vergessen und überschrieben mit der neuen Information 7
8 Problem (2) AUFGABE Es soll berechnet werden, was n hoch k (n^k). n und k sollen dabei nicht negative, ganzen Zahlen (also ohne Nachkommastellen) sein. Dem Ausführer wird als Voraussetzung gegeben, dass er multiplizieren kann. 8
9 Algorithmus 9
10 Problem (3) AUFGABE Entwickeln Sie einen Algorithmus zur Addition zweier großen Zahlen (nicht negative, ganze Zahlen, also ohne Nachkommastelle), die im Dezimalsystem vorliegen. Ihnen ist bekannt, wie 2 Zahlen von 0 bis 9 inklusive einer 3. Zahl, die entweder 0 oder 1 ist, zu addieren ist. 10
11 Algorithmus 11
12 Problem (4) AUFGABE Algorithmus zur Berechnung des größten gemeinsamen Teilers (GGT) von zwei natürlichen Zahlen a und b. Beschrieben von Euklid von Alexandria (300 v.chr.) im Werk Die Elemente 12
13 Algorithmus 13
14 Nachfolgende Fragestellungen ES ERGEBEN SICH FOLGENDE INTERESSANTE FRAGEN: Ist der Algorithmus korrekt? - Also: berechnet er wirklich den GGT aus (a,b)? - Wieso funktioniert dieser Algorithmus überhaupt? Ist der Algorithmus vollständig? - Kann ich wirklich jedes Paar (a,b) eingeben? Ist der Algorithmus terminierend (evtl. Endlosschleife)? Ist der Algorithmus effizient? - Wie viel Speicher benötigt er? - Wie viel Zeit (d.h. Verarbeitungsschritte) benötigt er? - Wie hängt das von der Eingabe (a,b) ab? - Wir müssen solche Aussagen immer mathematisch beweisen. 14
15 Schwerpunkt 2 ALGORITHMEN UND UMSETZUNG Aufgabe Algorithmus Programm Eigentliche Entwicklung der Verfahrensidee Codierung ZIEL 2 VON INFORMATIK II Vom Algorithmus zum Programm Konzeptionell getrennte Schritte (bei kleineren Aufgaben oft verschmolzen) Algorithmusumsetzung 15
16 Java-Programm GRUNDSTRUKTUR EINES JAVA-PROGRAMMS auch wenn es befremdend am Anfang wirkt Struktur wird zum späteren Zeitpunkt genauer erläutert. Class MeinErstesProgramm { public static void main(string[] args) { // Hier ist der Anfang unseres Programmes // Jetzt ist hier der Platz für unsere eigenen // Anweisungen } } 16
17 Erläuterungen JAVA-PROGRAMM Muss immer in einer Klasse definiert sein. Wir haben sie MeinErstesProgramm genannt In geschweiften Klammern folgen benutzerdefinierte Methoden (Funktionen), die die Klasse anbietet METHODE Ist eine Sammlung von Anweisungen (Block) unter einem Namen Schlüsselwort main kennzeichnet die Hauptmethode, die zum Programmstart aufgerufen wird (per Definition) 17
18 Bezeichner DEFINITION Ein Bezeichner ist eine Folge von Buchstaben und Zahlen, die mit einem Buchstaben beginnt Verwendet für Variablen, Methoden (Funktionen),... Als Alphabet wird UNICODE zugrunde gelegt - 16 Bit lang à etwa Zeichen können kodiert werden (Zeichen fast aller Schriftsprachen) - Beinhaltet die ASCII-Zeichen nach ISO (Latin-1) - Günther ist ein legaler Bezeichner, trotz Umlaut! UNTERSCHEIDUNG Selbstdefinierte Bezeichner Reservierte Bezeichner 18
19 Bezeichner SELBSTDEFINIERTE BEZEICHNER Selbstdefinierte Bezeichner sind Namen für im Programm deklarierte syntaktische Einheiten Beispiel: Variablen, Methoden,... Die meisten Bezeichner sind selbstdefiniert RESERVIERTE BEZEICHNER ( SCHLÜSSELWÖRTER ) Reservierte Bezeichner sind fester Teil der Programmiersprache Sie dürfen nicht als Namen eigener Deklarationen verwendet werden 19
20 Variablen VARIABLE dient zur Ablage von Daten typisch für imperative Programmiersprachen reservierter Speicherplatz belegt abhängig vom Typ eine feste Anzahl von Bytes VARIABLE HAT EINEN TYP Typ zur Übersetzungszeit bekannt (statisch typisiert) auch bezeichnet als Datentyp VARIABLE HAT EINEN DATENWERT Inhalt der Variable auch Datum genannt 20
21 Datentypen ZWEI KATEGORIEN IN JAVA Primitive Datentypen: sind die eingebauten Datentypen für Zahlen, Unicode-Zeichen und Wahrheitswerte Referenzdatentypen: damit lassen sich Objektverweise etwa auf Zeichenketten, Dialoge oder Datenstrukturen verwalten PRIMITIVE DATENTYPEN Arithmetische Typen & Wahrheitswerte Typ Belegung (Wertebereich) boolean true oder false char 16-Bit-Unicode byte -2^7 bis 2^7-1 ( ) short -2^15 bis 2^15-1 ( ) int -2^31 bis 2^31^-1 ( ) long -2^63 bis 2^63-1 float 1, E-45f... 3, E+38f double 4, E , E
22 Variablendeklaration VARIABLEN Mit Variablen lassen sich Daten speichern, die vom Programm gelesen und geschrieben werden können Um Variablen zu nutzen, müssen sie deklariert werden DEKLARATION Immer die gleiche Form: [Modifikatoren] Typname Variablenname; Modifikatoren lernen wir später BEISPIEL Class Variablendeklaration { public static void main(string[] args) { String name; // Name int age; // Alter double income; // Einkommen } } 22
23 Variablendeklaration mit Initialisierung DEKLARATION MIT INITIALISIERUNG Variable mit initialemanfangswert belegen Form: [Modifikatoren] Typname Variablenname = Anfangswert; BEISPIEL Class Variablendeklaration2 { public static void main(string[] args) { String name = Dirk Habich ; // Name int age = 34; // Alter String job = Research Assistent // Beruf } } 23
24 Anweisungen in Java EINE ANWEISUNG (STATEMENT) WEIST DEN COMPUTER AN eine Berechnung vorzunehmen (expression statement) eine Variable einzurichten und zu initialisieren (declaration statement) einen Schritt im Programmfluss vorzunehmen (control flow statement) EINE ANWEISUNG WIRD DURCH EIN SEMIKOLON IN JAVA ABGESCHLOSSEN EIN LEERE ANWEISUNG BESTEHT AUS DEM ABSCHLIESENDEN SEMIKOLON ODER AUS EINEM PAAR GESCHWEIFTER KLAMMERN 24
25 Ausdrucks-Anweisungen (Expressions) EINE AUSDRUCKS-ANWEISUNG nimmt eine Berechnung vor besteht aus einem Ausdruck, der durch ein Semikolon abgeschlossen ist ES SIND ABER NUR BESTIMMTE AUSDRÜCKE ZUGELASSEN Zuweisungsausdrücke (mit =, += etc.) - Beispiele int i=5; x+=1; Präfix- oder Postfixformen von ++ oder -- - Beispiel i++; Methodenaufrufe - Beispiel System.out.println( hello ); Math.sin(Math.PI); 25
26 Kontrollfluss-Anweisungen (control flow) BLÖCKE (BLOCKS) Blöcke fassen durch Klammerung {} Anweisungssequenzen zu einer einzigen Anweisung zusammen VERZWEIGUNGEN (BRANCHES) Verzweigungen veranlassen Übergänge zu anderen Anweisungen im Kontrollfluss bedingte Übergänge: if, switch unbedingte Übergänge: break, continue ITERATIONEN, SCHLEIFEN (LOOPS) Iterationen organisieren strukturierte Wiederholungen im Kontrollfluss: while, do while, for 26
27 Bedingte Anweisungen: if - else DIE EINFACHE IF-ANWEISUNG HAT DIE FORM if (condition) statement1 DIE ALLGEMEINE IF-ELSE-ANWEISUNG HAT DIE FORM if (condition) statement1 else statement2 DABEI IST CONDITION EIN BOOLESCHER AUSDRUCK Falls condition zu true evaluiert wird statement1 ausgeführt Im Fall der if-else Anweisung wird sonst statment2 ausgeführt JEDES STATEMENT IST EINE ANWEISUNGEN Also evtl. ein Block oder wieder eine if-anweisung, oder die leere Anweisung, etc. 27
28 Bedingte Anweisungen - switch EINE WEITERE MÖGLICHKEIT EINER BEDINGTEN ANWEISUNG IST DIE FALLUNTERSCHEIDUNG (SWITCH CASE DEFAULT) switch(c) { case konst_1: {statement_1; break;} case konst_2: {statement_2; break;}... case konst_n: {statement_n; break;} default: {statement_d;} } statement_i wird ausgeführt, falls c == konst_i gilt konst_i müssen Konstanten sein DIE BREAK-ANWEISUNG AM ENDE JEDER CASE-ZEILE BEWIRKT DAS SOFORTIGE VERLASSEN DER SWITCH-ANWEISUNG Falls das break fehlt, wird der nachfolgende case-fall mit ausgeführt, ohne Test ob seine Bedingung zutrifft!!! 28
29 Schleifen-Anweisungen DAS KONSTRUKT while (condition) statement; DIE ANWEISUNG do statement while (condition); führt statement aus, solange der Ausdruck in condition zu true evaluiert führt statement aus und prüft danach anhand von condition, ob der Schleifendurchgang wiederholt werden soll. Oftmals wird es sich bei statment um einen Block handeln. Bei do-anweisungen ist statement fast immer ein Block 29
30 Unterschied WHILE-SCHLEIFE (KOPFGESTEUERTE ZEILE) vor der Ausführung des Anweisungsblocks wird die Bedingung (condition) gerüft, ob der Anweisungsblock überhaupt ausgeführt werden soll Anweisungsblock muss daher nicht unbedingt ausgeführt werden DO-WHILE-SCHLEIFE (FUSGESTEUERTE SCHLEIFE) nach der Ausführung des Anweisungsblocks wird die Bedingung (condition) geprüft, ob der Anweisungsblock nochmals ausgeführt werden soll Anweisungsblock wird mindestens einmal ausgeführt, selbst wenn die Bedingung falsch ist 30
31 Take-Home-Message ALGORITHMENENTWURF Aufgabe Algorithmus Programm Eigentliche Entwicklung der Verfahrensidee Codierung Konzeptionell getrennte Schritte (bei kleineren Aufgaben oft verschmolzen) ALGORITHMUS Anleitung, wie ein bestimmtes Ziel zu einem Problem bzw. einer Aufgabe erreicht werden kann Anleitung ist dabei in der Art einer Liste von Anweisungen, die abgearbeitet werden müssen je Kontext sind die Anweisungen hinreichend primitiv zu halten eine Anweisung wie z.b. löse das Problem sind unzulässig 31
Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
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)
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
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung
MehrJava Anweisungen und Ablaufsteuerung
Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Wiederholung Anweisungen durch Methodenaufrufe Ausgabe
Mehr2. JAVA-Programmierung. Informatik II für Verkehrsingenieure
2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie
MehrJava Ablaufsteuerung (Beispiele)
Informatik 1 für Nebenfachstudierende Grundmodul Java Ablaufsteuerung (Beispiele) Kai-Steffen Hielscher Folienversion: 16. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Blöcke Anweisungen
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung
MehrEinstieg in die Informatik mit Java
Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere
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
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen
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.
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,
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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung
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
Mehr2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
MehrArbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
MehrEINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18
EINI LogWing/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf
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).
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15
EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
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
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrGrundlagen der Programmierung Teil1 Einheit III Okt. 2010
Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrImperative Programmierung in Java: Kontrollfluß II
2 Imperative Programmierung in va: Kontrollfluß II Martin Wirsing Ziele Lernen imperative Programme in va mit Zuweisung, Block, Fallunterscheidung, Iteration zu schreiben Lernen Kontrollflußdiagramme zur
MehrEINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrEinfache Rechenstrukturen und Kontrollfluss
Einfache Rechenstrukturen und Kontrollfluss Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw 2 Ziele Verstehen der Grunddatentypen von
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Anweisungen, Blöcke und Programmfluss Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung
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
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrVorlesung Programmieren
Vorlesung Programmieren 3. Kontrollstrukturen 09.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND
MehrVorlesung Programmieren
Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
MehrEin erstes Java-Programm
Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println
MehrWenn... dann... if (condition) statement. if (kontostand < 0) System.out.println("Oops..."); false. condition. true. statement
Wenn... dann... if (condition) statement condition false true statement if (kontostand < 0) System.out.println("Oops..."); 31 ... sonst... if (condition) statement1 else statement2 condition false true
MehrGrundlagen der Programmierung Teil1 Einheit III Okt. 2009
Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen
MehrObjektorientierte Programmierung OOP Programmieren mit Java
Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1
MehrGrundlagen der Modellierung und Programmierung, Übung
Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak
MehrImperative Programmierung in Java. Algorithmen und Datenstrukturen II 1
Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
MehrAufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:
Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: o Klasse 0: kein Rabatt o Klasse 1: 4,5 % Rabatt o Klasse 2: 8,75% Rabatt
MehrKapitel 04: Was ist ein Algorithmus? Software Entwicklung 1
Kapitel 04: Was ist ein Algorithmus? Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller In diesem Abschnitt beschäftigen wir uns dem Begriff des Algorithmus, der in der Informatik eine
MehrAbschnitt 5. Grundlagen der funktionalen & imperativen Programmierung
Übersicht Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Einführung in die Programmierung 5. Grundlagen der funktionalen & imperativen Programmierung 1 Übersicht 5.1 Sorten und Abstrakte
MehrProgrammieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen Neben der Sequenz (Aneinanderreihung von Anweisungen)
MehrPROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
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,
MehrJava für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel
Java für Anfänger Teil 4: Anweisungen Programmierkurs 11.-15.10.2010 Manfred Jackel Anweisungen Werzuweisung (hatten wir schon) Verzweigung Fallunterscheidung Schleifen Methodenaufruf Wiederholung: Klassendeklaration
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
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2017/18 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrJava-Applikationen (Java-Programme)
Java-Applikationen (Java-Programme) Eine erste Applikation: 1 2 3 4 5 6 7 8 9 10 // Quelltext HalloWelt.java // Programm gibt den Text Hallo Welt aus public class HalloWelt public static void main(string[]
MehrJava - Programmierung - Prozedurale Programmierung 1
Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,
MehrProgrammiervorkurs Einführung in Java Tag 1
Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,
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):
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrWo sind wir? Kontrollstrukturen
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
MehrKontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung
Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets, Sicherheit
MehrWas ist ein Algorithmus? Software Entwicklung 1
Was ist ein Algorithmus? Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller In diesem Abschnitt beschäftigen wir uns dem Begriff des Algorithmus, der in der Informatik eine zentrale Rolle
MehrEinführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrJava: Eine kurze Einführung an Beispielen
Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse
MehrVorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken
Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean
Mehr2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben
MehrProgrammieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen Neben der Aneinanderreihung von Anweisungen (Sequenz)
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
MehrJava: Syntax-Grundlagen III
Java: Syntax-Grundlagen III Verzweigungen, bedingte Anweisungen Eines der wesentlichen Merkmale einer Programmiersprache ist ihre Fähigkeit, Operationen situationsbedingt ausführen zu können, d.h. eine
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrArbeitsblätter für Algorithmierung und Strukturierung C #
Prof. Dr.- Ing. Ch. Wahmkow Fachbereich Maschinenbau Fachhochschule Stralsund Arbeitsblätter für Algorithmierung und Strukturierung C # Inhalt : Struktogramme, Beispiele und Erläuterungen - Sequenz - vollständige
MehrInformatik Vorkurs - Vorlesung 2
Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
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
MehrKontrollstrukturen und Logik
Programmieren mit Java Modul 2 Kontrollstrukturen und Logik Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 1.1 Anweisungen und Blöcke........................... 3 2 Operatoren (Teil II) 4 2.1 Relationale
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Bei
MehrKapitel 4: Anweisungen und Kontrollstrukturen
inführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 4: Anweisungen und Kontrollstrukturen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
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
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
Mehr