Softwareentwicklung 1
|
|
- Karin Lange
- vor 6 Jahren
- Abrufe
Transkript
1 Softwareentwicklung 1 Dr. Herbert Prähofer Institut für Systemwissenschaften Johannes Kepler Universität Linz Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 1 Vortragender Dr. Herbert Praehofer Systems Science Institute Johannes Kepler University Altenbergerstrasse 69 A-4040 Linz / Austria Tel.: ++43 (732) Fax.: ++43 (732) hp@cast.uni-linz.ac.at http: Raum: T0758 (TNF Turm 7. Stock) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 2
2 Ziel und Inhalt Ziel Einführung des Programmieren in Java Inhalte Grundlagen der Programmierung Programmieren in Java Einfache Algorithmen Grundlagen der Objektorientierung Programmentwurf Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 3 Motivation programmieren zu lernen Software erstellen können Grundlagen der Programmierung verstehen Java kennen komplexe Software entwerfen sich neue Gebiete der Softwaretechnik erarbeiten können Software verstehen wie arbeitet Software was kann Software leisten wie sind Programme aufgebaut wie wird Software erstellt Kreativität erleben Programmieren kann viel Spaß machen Programmieren ist eine Herausforderung Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 4
3 Organisation der LVA Softwareentwicklung 1 Vorlesung Stoff wird theoretisch vorgetragen Mit eingebauten Programmierbeispielen ca mal im Semester jeweils ca. 3 4 LVA-Stunden Übung Stoff wird geübt Programmieraufgaben sind wöchentlich zu programmieren 2 Unterrichtsstunden für Wiederholung Praktische Beispiele Besprechung der Programmieraufgaben Übungsleiter: Hr. DI Peter Hamader Programmieren ist eine Fähigkeit, die nur mit viel Übung erlernt werden kann!! Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 5 Webpage der LVA Alle wichtigen Infos wie Termine Unterlagen Studienmaterial findet man auf dieser Seite Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 6
4 Literatur P. Mössenböck, Sprechen Sie Java?, 2. Auflage, dpunkt.verlag, 2005 (Lehrbuch zur VL!) G. Krüger, GoTo Java 2, Addison-Wesley, 2000 On-Line Buch für Java Online Version hier Download ( M. Campione, K.Walrath: The Java Tutorial Online Edition ( Java-Einführungskurs ( Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 7 Einheit 1: Grundlagen der Programmierung Programmierung und Ausführung von Programmen Algorithmen und Algorithmendarstellung Programmiersprachen und Java Das Java-Entwicklungssystem Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 8
5 Worum geht es? Programmieren Problem so exakt beschreiben, dass es ein Computer lösen kann kreative Tätigkeit Ingenieurtätigkeit Nur wenige Leute können gut programmieren Programm = Daten + Befehle Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 9 Von-Neumann Architektur eines Computers aus: A. Ferscha, Skriptum Softwareentwicklung 1, JKU Linz Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 10
6 Wiederholung von der VL: RISC-Programm aus: A. Ferscha, Skriptum Softwareentwicklung 1, JKU Linz Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 11 Verarbeitungseinheit Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 12 aus: A. Ferscha, Skriptum Softwareentwicklung 1, JKU Linz
7 Typische Befehle load: Laden von Daten aus Hauptspeicher store: Schreiben von Daten in Hauptspeicher move: Speicheroperationen add, sub, mult, : Arithmetsiche Operationen cmp: Vergleichsoperationen: Vergleich auf 0 jmp, jeq; Sprünge und bedingte Sprünge im Ablauf Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 13 Daten und Befehle Daten Menge adressierbarer Speicherzellen x y z Name Wert Daten sind binär gespeichert (z.b. 17 = 10001) Binärspeicherung ist universell (Zahlen, Texte, Bilder, Ton,...) 1 Byte = 8 Bit 1 Wort = 2 Byte (oder 4 Byte) 1 Doppelwort = 2 Worte Befehle Operationen mit den Speicherzellen Maschinensprache ACC x ACC ACC + y z ACC // Lade Zelle x // Addiere Zelle y // Speichere Ergebnis in Zelle z Hochsprache z = x + y; Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 14
8 Variablen Programme arbeiten mit Variablen. Sind benannte Behälter für Werte. x y 99 3 Variablen können ihren Wert ändern x x + 1 x 100 Beispiel: byte x = 10 Charakterisiert durch Name oder Bezeichner Wert Adresse (im Hauptspeicher) Adresse x Wert (byte) Datentyp int, char, byte, float,... Name Datentyp Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 15 Datentypen Variablen haben einen Datentyp == Menge erlaubter Werte Variablentyp Zahl Zeichen Werte 'a' 'x'... Typ Form - in eine Zahlenvariable passen nur Zahlen - in eine Zeichenvariable passen nur Zeichen Beispiele von Datentypen: char (2 Byte) [ a-z][a-z][0-9][sonderzeichen] int (4 Byte) ~-2,147 Mrd. ~+2,147 Mrd. boolean true, false float Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 16
9 Algorithmus Ein Algorithmus ist ein endliches, schrittweises Verfahren zur Berechnung gesuchter aus gegebenen Größen, in dem jeder Schritt aus einer Anzahl eindeutig ausführbarer Operationen und einer Angabe über den nächsten Schritt besteht. Berechnungsvorschrift schrittweise endlich ausführbare Operationen Angabe der Reihenfolge der Schritte (Der Name Algorithmus ist abgeleitet von Al Chwarizmi, arabischer Mathematiker, ca. 800 n.chr.) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 17 Beispiel: Algorithmus Sum Algorithmus Sum zum Berechnen der Summe einer Zahlenfolge Aufgabenstellung: Gegeben: Eine Zahl n größer 0 Gesucht: Die Summe dieser Zahlen von 1 bis n Algorithmus: 1. Addiere alle Zahlen von 1 bis n 2. Gib das Ergebnis aus Diese Formulierung ist für einen Computer noch zu wenig genau! Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 18
10 Algorithmus Sum als Verfahren in mehreren Schritten Name Parameter Ergebnis Sum ( n, sum) 1. sum 0 2. zahl 1 3. Wiederhole, solange zahl n 3.1 sum sum + zahl 3.2 zahl zahl + 1 Folge von Schritten Diese Formulierung ist einem Computerprogramm schon sehr nahe. Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 19 Anweisungen: Wertzuweisung und Sequenz Wertzuweisung Variable x x + 1 Ausdruck 1. werte Ausdruck aus 2. weise seinen Wert der Variablen zu Anweisungsfolge (auch Sequenz) "Ablaufdiagramm" x 3 y 4 z x + y x == 3, y == 4, z == 7 Assertion Assertion (Zusicherung) Aussage über den Zustand des Algorithmus an einer bestimmten Stelle Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 20
11 Anweisungen: Verzweigung Auswahl (auch Verzweigung, Abfrage, Selektion) j x < y? n x y min x min y min == Minimum von x und y Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 21 Anweisungen: Wiederholung Wiederholung (auch Schleife, Iteration) Alternative Darstellung d 1 n > 9? j n d 1 n > 9 n n / 10 d d + 1 n < 10 d == Anzahl der Ziffer von n n n / 10 d d + 1 n < 10 d == Anzahl der Ziffer von n Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 22
12 Anweisungen: Wiederholung Wiederholung (auch Schleife, Iteration) n 0 x > 1? j n x x / 2 n n + 1 x 1 n = log2 x n 0 x > 1 x x / 2 n n + 1 Alternative Darstellung x 1 n = log2 x Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 23 Beispiel: Vertauschen zweier Variableninhalte Swap ( x, y) h = x x = y y = h Schreibtischtest x y h Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 24
13 Beispiel: Maximum dreier Zahlen bestimmen Max ( a, b, c, max) j a > b? n a b j n j n a > c? b > c? c a > b a b c max a max c max b max c Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 25 Beispiel: Maximum dreier Zahlen bestimmen Max ( a, b, c, max) j a > b? n a b j n j n a > c? b > c? c a > b a b c max a max c max b max c Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 26
14 Beispiel: Anzahl der Ziffern einer Dezimalzahl Zahl solange durch 10 dividieren, bis Zahl < 10 Anzahl der Divisionen + 1 = Anzahl der Ziffern Digits( n, d) d 1 n > 9 n n / 10 d d + 1 n < 10 d == Anzahl der Ziffer von n Schreibtischtest n d Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 27 Beispiel: Quadratwurzel von x berechnen 1. Näherung: -root (a x / + 2root) / 2 -a a x // root a 2 root 2 0 a x 1 root 1 x SquareRoot ( x, root) root x / 2 a x / root a * root == x a root a * root == x root (root + a) / 2 a x / root Schreibtischtest x root a a * root == x & a == root root * root == x Kommazahlen sind meist nicht exakt gleich, daher besser a - root > Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 28
15 Beispiel: Euklidscher Algorithmus Berechnet den größten gemeinsamen Teiler zweier Zahlen x und y GGT ( x, y, ggt) rest Rest von x / y Beobachtung: (ggt teilt x) & (ggt teilt y) ggt teilt (x - y) ggt teilt (x - q*y) ggt teilt Rest von x/y (rest) GGT(x, y) = GGT(y, rest) rest 0 x y y rest rest Rest von x / y ggt y rest = 0 Schreibtischtest x y rest Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 29 Algorithmenschreibweisen Ablaufdiagramm (schon bekannt) Struktogramm GGT ( x, y, ggt) ja x y x < y? rest Rest von x / y while rest 0 ggt y x y y rest rest Rest von x / y nein + erzwingen strukturiertes Programmieren (ohne beliebige Sprünge) - aufwendig zu zeichnen schwer zu ändern Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 30
16 Algorithmenschreibweisen: Stilisierte Prosa Stilisierte Prosa GGT ( x, y, ggt) S1 Mache x y. Wenn x < y ist, vertausche x und y S2 Bilde Rest. Dividiere x durch y und nenne den Rest rest S3 Ende? Wenn rest null ist, gehe zu S5 S4 Ersetze. Ersetze x durch y und y durch rest Gehe nach S2 S5 Fertig. Das Ergebnis ggt ist y + größtmögliche Freiheit in der Formulierung - schreibaufwendig - unpräzise - Ablaufstrukturen (Schleifen, Verzweigungen) nicht sichtbar Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 31 Algorithmenschreibweisen: Java Java-Programm public class GGTProgram { + vom Computer lesbar und verarbeitbar + eindeutig und präzise + von Menschen lesbar - exakt, ohne Freiheitsgrade - aufwendig zu schreiben public static void main(string[] args) { int x; int y; int ggt; static int GGTEuklid(int x, int y) { int rest; int ggt; Out.print("Bitte x eingeben: "); x = In.readInt(); Out.print("Bitte y eingeben: "); y = In.readInt(); ggt = GGTEuklid(x, y); Out.print("Der GGT von x und y ist: "); Out.println(ggt); // %-Operator bildet den Rest rest = x % y; while (rest!= 0) { x = y; y = rest; rest = x % y; // rest == 0 ggt = y; return ggt; // end GGTProgram Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 32
17 Algorithmenschreibweisen: Java + Prosa Prosa + Java int GGTEuklid(x, y) { Java-Kontrollstrukturen mit Anweisungen in Prosa rest = Rest von x/y while (rest nicht 0 ist) x = y y = rest rest = Rest von x/y ggt = y return ggt + nahe einem Java-Programm + beliebige Freiheit bei der Formulierung von Anweisungen + muss nicht syntaktisch korrekt sondern nur verständlich sein + daraus kann schrittweise ein Java- Programm entwickelt werden Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 33 Algorithmen und Programmierung Programm Ein für die Lösung einer bestimmten Aufgabe mit einer Datenverarbeitungsanlage geeigneter Algorithmus d.h. Elementare Operationen sind die durch den Computer ausführbaren Befehle Programm muss in einer für den Computer lesbaren Form definiert sein (==> Programmiersprache) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 34
18 Höhere Programmiersprachen Höhere Programmiersprachen dienen der Formulierung von Programmen Sind für den Computer lesbar und verarbeitbar können vom Computer gelesen werden können vom Computer in ein ausführbares Programm übersetzt werden (Compiler) für den Menschen wesentlich einfacher lesbar und schreibbar als Maschinensprache Programmieren wird wesentlich erleichtert Programme können vom Experten gelesen und verstanden werden Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 35 Programmerstellung Idee Mensch Spezifikation Algorithmus Aufgabenstellung Lösungsverfahren Programm Codiertes Lösungsverfahren Compiler Maschinenprogramm Lader Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 36
19 Geschichte der Programmiersprachen Jahr Sprache Fortran Algol-60 Cobol Basic APL Lisp PL/I Algol-68 Pascal Prolog C Modula-2 Ada Smalltalk C++ Oberon Java C# Bemerkung technische Anwendungen Algol-Familie kaufmännische Anwendungen Anfänger-Sprache Vektoren und Matrizen funktionale Sprache Allzwecksprache Nachfolger von Algol-60 Einfluß auf spätere Sprachen Wissen und Schlußregeln Unix-Sprache Nachfolger von Pascal Allzwecksprache; DoD objektorientierte Sprache objektorientierte Erweiterung von C Weiterentwicklung von Modula-2 Weiterentwicklung von C++; WWW Weiterentwicklung von Java durch Microsoft Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 37 Programmiersprache Java Java ist eine höhere, problemorientierte Programmiersprache, die laut Sun durch folgende Eigenschaften charakterisiert ist: Simple: einfacher als C++ Architecture-neutral: läuft auf Windows-Rechner als auch auf Unix/Linux, Mac Object-oriented Portable Distributed High-performance Interpreted Multithreaded Robust Secure Dynamic Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 38
20 Java Virtual Machine Java-Programme werden nicht direkt auf dem Computer ausgeführt sondern von einen speziellen Programm, nämlich der Java Virtual Machine (JVM) Vorteile: Java-Programme laufen kontrolliert in der JVM ab Erhöhte Sicherheit und Zuverlässigkeit Kann auf jede Plattformen portiert werden. Vom Super Computer bis zu Handys Von Unix bis Windows-CE Selbes Programm läuft (mit Einschränkungen) auf alle diesen Plattformen ohne nochmals übersetzt oder portiert zu werden, da sich die VM auf jeder Plattform gleich verhält Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 39 Unterschied normale Prgrammausführung Virtuelle Machine (VM) normale Prgrammausführung Virtuelle Machine Application Application Systemlibraries Operating-System Hardware JNI-Bereich Systemlibraries Operating-System Hardware Virtual Machine Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 40
21 Java Runtime Environment (JRE) Eine Plattform ist die Hard- und Softwareumgebung auf der ein Programm läuft. Die meisten Plattformen bestehen aus Hardware und Betriebssystem. Die Java-Plattform unterscheidet sich von den meisten anderen Plattformen dadurch, das sie eine reine Software-Plattform ist, die für verschiedenste Hardware und Betreibssysteme verfügbar ist. Die Java Runtime Environment besteht aus zwei Teilen: Die Java Virtual Machine (Java VM) Das Java Application Programming Interface (Java API) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 41 Java Development Tookit (JDK) == Programmwerkzeuge zum Erstellen, Übersetzen und Testen von Java-Programmen Java Compiler javac Übersetzt den Quellcode in Java Byte-Code Java Debugger jdb Tool zur Fehlersuche Java Disassembler javap Erzeugt aus Byte-Code lesbaren Quellcode Weitere Tools jar, javah, javadoc, javakey, serialver,... Java Dokumentation (separates Download) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 42
22 Erstellen und Ausführen von Java-Programmen Beispielprogramm HelloWorld Erstellen von Java-Programm mit Editor Quellcode (Sourcecode) in Java Erstellen von Programm HelloWorld mit Editor Datei HelloWorld.java mit Java-Source Java Compiler (javac) javac HelloWorld.java Java Zwischencode (Byte Code) Datei HelloWorld.class mit Byte-Code Java Runtime (java) java HelloWorld Programmausführung Ausführung von Programm HelloWorld Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 43 Programm schreiben (Wordpad) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 44
23 Programm kompilieren (javac) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 45 Programm starten (java) Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 46
24 Java: Deklaration von Variablen In Java müssen alle Variablen vor der Verwendung deklariert werden Deklaration von Variablen Angabe des Datentyps Angabe des Namens (eindeutig) [Angabe eine Anfangswertes (optional)] int i; int j = 0, k; boolean positive = false; float x; char ch = ' '; Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 47 Java: Zuweisungsoperation x = 1 + 2; x = a + b; x = x + b; x = x + 1; Weist einer Variable einen Wert zu. Wichtig! Zuweisung ungleich Gleichheitsoperator (==) Der Wert der Variablen auf der rechten Seite geht dabei nicht verloren. Der Zuweisungsoperator ist nicht mit der Gleichheitsrelation der Mathematik zu verwechseln. Die Hauptanwendung des Zuweisungsoperators liegt in der Zuweisung eines Ergebnisses eines Ausdruckes an eine Variable. Verschiedene Schreibweisen in unterschiedlichen PrgmSprachen m = n C/C++, Java, FORTRAN, Basic,... m < n APL m := n Pascal, Algol, Modula-2 Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 48
25 Java: Sequenz int number; number = readint(); number = number + 1; writeint(number);... Folge von Anweisungen werden nacheinander (sequentiell) ausgeführt Ist nichts anderes spezifiziert, werden Anweisungen immer nacheinander - man sagt sequentiell - ausgeführt Während der Ausführung werden Werte von Variablen verändert Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 49 Java: Verzweigungen Eine Verzweigung führt Anweisungen in Abhängigkeit einer Bedingung aus. Bedingung Einseitig: wenn x < 0 ist, dann x = -x Anweisungen Zweiseitig: wenn x < y ist, dann min = x, max = y sonst /* x >= y */ min = y, max = x Java if (x < 0) { x = -x if (x < y) { min = x; max = y; else { /* x >= y */ min = y; max = x; Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 50
26 Java: Schleifen Schleifen führen Anweisungen in Abhängigkeit einer Bedingung kein- oder mehrmals aus. Beispiel: Berechnung der Fakultät Abweiseschleife Bedingung Java x = 3, i = 1, f = 1 solange i < x ist, wiederhole i = i + 1, f = f * Anweisungen i Durchlaufschleife x = 3, i = 1, f = 1; wiederhole f = f * i, i = i + 1 solange i <= x x = 3; i = 1; f = 1; while (i < x) { i = i + 1; f = f * i; x = 3; i = 1; f = 1; do { f = f * i; i = i + 1; while (i <= x); Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 51 Grundstruktur von Java-Programmen class ProgramName { public static void main (String[] arg) {... // Deklarationen... // Anweisungen Text muß in einer Datei namens ProgramName.java stehen main-methode stellt den Anfang des Programms dar Beispiel: class Sample { public static void main (String[] arg) { Out.print("Geben Sie 2 Zahlen ein:"); int a = In.readInt(); int b = In.readInt(); Out.println("Summe = " + (a + b)); Text steht in Datei Sample.java Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 52
27 Beispiel Java-Programm public class GGTProgram { public static void main(string[] args) { int x; int y; int ggt; Out.print("Bitte x eingeben: "); x = In.readInt(); Out.print("Bitte y eingeben: "); y = In.readInt(); ggt = GGTEuklid(x, y); Out.print("Der GGT von x und y ist: "); Out.println(ggt); static int GGTEuklid(int x, int y) { int rest; int ggt; // %-Operator bildet den Rest rest = x % y; while (rest!= 0) { x = y; y = rest; rest = x % y; // rest == 0 ggt = y; return ggt; // end GGTProgram Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 53 Java-Programm "Sum" (Sum.java) public class Sum { public static void main(string[] args) { int sum = 0; int number; Out.print("Bitte Zahlen eingeben: "); number = In.readInt(); while (number > 0) { sum = sum + number; number = In.readInt(); Out.print("Die Summe ist:"); Out.printLn(sum); Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 54
28 Schritte des Algorithmenentwurfs und der Programmierung Problem erfassen und beschreiben Lösungsidee erarbeiten und niederschreiben Lösungsidee in einen schrittweisen Ablauf überführen (= Algorithmus) Algorithmus so weit verfeinern und konkretisieren, dass Umsetzung in Java direkt möglich ist Programmierung in Java Überlegen von Testfällen (dabei alle möglichen Sonderfälle, Grenzfälle betrachten) Testen und Verbessern Dokumentieren der Ergebnisse Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 55 Einige Hinweise Es ist wichtig, klar und einfach zu denken Hat man das Problem einmal richtig erfasst (niederschreiben), so ist meist auch die Lösung klar. Die besten Lösungen sind (fast immer) die einfachsten und kürzesten. Sonderfälle und Grenzfälle betrachten (z.b. Division durch 0) Fehler treten meist bei den Sonderfällen und Grenzfällen auf; an diese denken und im Algorithmus vorsehen. Der Mensch berücksichtigt Sonderfälle meist intuitiv; Intuition fehlt dem Computer aber völlig. Java-Programme müssen absolut exakt, verständlich und übersichtlich sein Keine Syntaxfehler Klare Namensgebung Genaue Konventionen für das Format und die Zeichensetzung (Einrückungen, Leerzeichen etc.) Kommentare für Verständnis wichtig Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 56
Softwareentwicklung 1
Softwareentwicklung 1 Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Research and teaching network Softwareentwicklung 1 (UZR) Systemsoftware, JKU Linz 1 Vortragender
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software
MehrSoftwareentwicklung 1
Softwareentwicklung 1 Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Research and teaching network Softwareentwicklung 1 (UZR) Systemsoftware, JKU Linz 1 Vortragender
MehrAllgemeines zu Programmieren I
Allgemeines zu Programmieren I Webseite zur Vorlesung http://informatik.unibas.ch/ -> lehre -> grundlagen-der-programmierung hier gibt es alle Folien zur Vorlesung alle Übungsblätter aber auch sonstige
MehrJava Einführung Programmcode
Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java
MehrI) Grundlagen der Programmierung. II) Erweiterte Grundlagen der Programmierung
Allgemeines zu: I) Grundlagen der Programmierung VV-Nr.: 10890-01 II) Erweiterte Grundlagen der Programmierung VV-Nr.: 45398-01 Webseiten zur Vorlesung http://informatik.unibas.ch/hs2016/ ->Grundlagen
MehrAllgemeines zu Programmieren I
Allgemeines zu Programmieren I Webseite zur Vorlesung http://informatik.unibas.ch/lehre/hs11/cs101/ hier gibt es alle Folien zur Vorlesung alle Übungsblätter aber auch sonstige aktuelle Informationen Page
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
MehrVorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
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)
MehrJava: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder
Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform
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.
MehrKlausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 8 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 ( / 10 Pkt.) a) Geben
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 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
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
MehrEmpfehlenswerte Literatur
Empfehlenswerte Literatur 1 Flanagan, David: Java in a Nutshell, O Reilly, UK, 2002 (50 ) Online Referenzen unter http://www.wi3.uni-erlangen.de/lehre/ http://java.sun.com http://www.javaworld.com/ Online
MehrSprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren
Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrEinführung in Java. Ausgewählte Quellen zu Java
Einführung in Java Wesentliche Eigenschaften und Merkmale der Programmiersprache Java Prof. Dr. Stefan Böttcher Universität Paderborn im Rahmen der Vorlesung: Webbasierte Informationssysteme SS 2004 Einführung
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrSimulation und Testen von Algorithmen
Simulation und Testen von Algorithmen Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 1 Handsimulation von Algorithmen Man versteht einen Algorithmus, wenn man genau weiß, wie er arbeitet.
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
MehrEinführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.
Small History Machine Virtual Machine (VM) Komponenten der VM Entwicklungswerkzeuge JDK Woher bekommt man JDK Wie installiert man JDK Wie benutzt man JDK Entwicklungsumgebungen Java 23. May 1995: John
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
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
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
MehrGrundlagen der Informatik für Ingenieure I
2 Java: Java-Einführung 2 Java: Java-Einführung 2.1 Java-Entwicklungsgeschichte 2.2 Java Eigenschaften 2.3 Java-Entwicklungsumgebung 2.4 Application vs. Applet 2.5 Ein erstes Programm 2.1 2.1 Java - Entwicklungsgeschichte
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
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
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
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrVorkurs: Java-Einführung
1 Vorkurs: Java-Einführung Dr. Hui Shi 11. Oktober 2017 Überblick 1 Organisatoriches 2 Von Algorithmen zu Programmen Intuitiver Algorithmusbegriff 3 Grundlegende Konzepte der Programmiersprache Java Syntax
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
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
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 2. Einfache Programme
Grundlagen der Programmierung Prof. H. Mössenböck 2. Einfache Programme Grundsymbole Namen bezeichnen Variablen, Typen,... in einem Programm - bestehen aus Buchstaben, Ziffern und "_" - beginnen mit Buchstaben
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe
1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik
MehrEinführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
Mehr6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
MehrÜbung Softwareentwicklung 1, WS0910 Gemeinsame Einführung
Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Informatik, Informationselektronik, Wirtschaftsinformatik, Lehramt Informatik, Chemie, etc. Dipl.-Ing. Institute for Pervasive Computing Johannes
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrVorlesung Programmieren
Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache
MehrKlausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik
Seite 1 von 8 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 ( / 15 Pkt.) Für eine
MehrVorkurs Informatik WiSe 15/16
Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan
MehrProgrammierkurs. Manfred Jackel
Java für Anfänger Teil 1: Intro Programmierkurs 12.-16.10.2009 10 2009 Manfred Jackel 1 1. Handwerkszeug Notwendige Software Java Runtime Environment JRE 6 von http://java.sun.com/javase/downloads/index.js
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
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
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
Mehr6. Iteration (Schleifenanweisungen)
Schwerpunkte While-: "abweisende" Schleife 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java Do-while-: "nichtabweisende" Schleife For-: zählergesteuerte Schleife Klassifikation
MehrEine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate
COMA Eine Einführung Quellcode: Anweisung(en)1 Wiederhole: T.Bosse Anweisung(en) 2 Einfache Schleifen (z.b. for-loop) Wiederhole: Falls (Bedingung) wahr, tue: Anweisung(en) 2 sonst führe Verzweigungen
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrJava Programmierung auf der Konsole / unter Eclipse
Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:
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
MehrEinführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden
Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
MehrKapitel 3. Mein erstes C-Programm
Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL
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
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include int main() { printf( hello world\n ); return 0; } Peter Sobe 1 Verschiedene Sprachkonzepte
MehrInhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?
Liebe Leserin, lieber Leser 10 Kapitel i: Schnelleinstieg 13 Kapitel 2: Was sind Programme? 17 Was ist ein Programm? 18 Sprechen Sie Computer? 18 Von der Idee zum Programm 19 Von Windows, Fenstern und
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
MehrSchwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen
Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung
MehrGrundlagen der Informatik Übungen 1.Termin
Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen
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
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe
1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrProgrammierung. Programme, Compiler, virtuelle Maschinen, Java
Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i
MehrJava für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel
Java für Anfänger Teil 1: Intro Programmierkurs 11.-15.10.2010 Manfred Jackel 1 1. Handwerkszeug Eclipse Workbench mit Java-Compiler Java Runtime Environment Notwendige Software Java Runtime Environment
MehrII.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
MehrJAVA als erste Programmiersprache Semesterkurs
JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik
MehrBeispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
MehrErster Kontakt mit Java und Pseudocode
Erster Kontakt mit Java und Pseudocode CoMa-Übung II TU Berlin 23.10.2013 CoMa-Übung II (TU Berlin) Erster Kontakt mit Java und Pseudocode 23.10.2013 1 / 27 Themen der Übung 1 Java auf meinem Rechner 2
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
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 Welche Arten von Anweisungen gibt es? Anweisungen
MehrAufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi
Grundlagen der Programmierung 1 WS 2012/2013 Prof. Dr. Stefan Böttcher Aufgabenblatt 1: - Präsenzübung für die Übungen Do. 11.10.- Mi. 17.10.2012 Ausgabe Mi. 10.10.2012 1.1. Zahlen vertauschen mit wenigen
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrProgrammiertechnik. Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1
Programmiertechnik Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150 Oliver Haase Hochschule Konstanz 1 Organisatorisches Vorlesung: montags, 8:00 9:30h, Raum C-109 freitags, 8:00
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
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
MehrKapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 02 Java was, wann, warum, wieso Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems.
MehrÜbung Grundlagen der Programmierung WS 2008/09. Übung 04: Methoden. Abgabetermin: Prosabeschreibung Java-Programm.
Übung 04: Methoden Abgabetermin: 11. 11. 2008 Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 4.1 12
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner
MehrProgrammieren I. Die Programmiersprache Java. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Programmiersprachen, Übersicht 2 Quelle: heise.de W. Geiger, W. Süß, T. Schlachter, C.
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
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
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.
MehrGrundlagen von C# - 1
Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften
MehrPraktische Informatik 1
Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode
MehrJ.5 Die Java Virtual Machine
Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 4. Schleifen
Grundlagen der Programmierung Prof. H. Mössenböck 4. Schleifen While-Schleife Führt eine Anweisungsfolge aus, solange eine bestimmte Bedingung gilt i 1 sum 0 i n sum sum + i i i + 1 i = 1; sum = 0; while
Mehr