Prinzipielle Ausführungsvarianten I
|
|
- Barbara Ursler
- vor 8 Jahren
- Abrufe
Transkript
1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Unser erstes Java Programm AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World! /* Ausgabe von " Hello World!" auf der Kommandozeile */ public class Hello { public static void main ( String [] args ) { System. out. println (" Hello World!"); } } Prinzipielle Ausführungsvarianten I 1 Mittels Übersetzung: Gespeichert in Textdatei namens Hello.java Einfaches Java-Programm main() - Methode Folge von Anweisungen, durch ; voneinander getrennt, bilden den Rumpf der Methode System.out.println() ruft eine Bibliotheksfunktion auf, die einen Text auf der Konsole ausgibt Befehlszeilenargumente können mittels String[] args übergeben werden ( siehe nächste Vorlesung) Bieniusa/Poetzsch-Heffter Software Entwicklung 1 3/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 4/ 39
2 Prinzipielle Ausführungsvarianten II 2 Mittels direkter Interpretation: Prinzipielle Ausführungsvarianten III 3 Mischformen aus Übersetzung und Interpretation (Beispiel): Bieniusa/Poetzsch-Heffter Software Entwicklung 1 5/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 6/ 39 Programmieren in Java Bemerkung: Schritte: Programm schreiben Programm übersetzen / compilieren Programm ausführen Editor Hello.java Compiler Hello.class JVM Hello, World! Zwei Schritte wurden zunächst vernachlässigt: Integration/Komposition mehrerer Programmteile Installation der Programme In der Praxis gewinnen diese Schritte an Bedeutung. Implementierung von Softwaresystemen heißt also: Verfassen von Programmen bzw. Anfertigen von Beschreibungen in Sprachen, die von Maschinen verarbeitet werden können. Bieniusa/Poetzsch-Heffter Software Entwicklung 1 7/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 8/ 39
3 Datentypen Integrierte Datentypen Literaturhinweis: Kapitel 1.2 aus R. Sedgewick, K. Wayne: Einführung in die Programmierung mit Java. 2011, Pearson Studium. Programme verarbeiten Informatinen in Form von Daten Art der Daten wird durch den entsprechenden Datentyp festgelegt Ein Datentyp hat einen Wertebereich und eine dazugehörige Menge an Operationen Beispiel: Texte und Zeichenfolgen als String; können z.b. zusammengefügt oder in Großbuchstaben umgewandelt werden Messwerte als Zahlen; können z.b. addiert, multipliziert, verglichen werden Bieniusa/Poetzsch-Heffter Software Entwicklung 1 9/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 10/ 39 Begriffsklärung: Wert Begriffsklärung: Typ Werte (engl. values) in Java sind elementare Daten (Zahlen, Wahrheitswerte, Zeichen,... ) Referenzen auf Objekte ( Vorlesung zum Thema Objekte ) Wie für abstrakte Objekte oder Begriffe typisch, besitzen Werte keinen Ort, keine Lebensdauer, keinen veränderbaren Zustand, kein Verhalten. Ein Typ (engl. type) charakterisiert Werte, auf denen die gleichen Operationen zulässig sind. Typisierte Sprachen besitzen ein Typsystem, das für jeden Wert festlegt, von welchem Typ er ist. Bieniusa/Poetzsch-Heffter Software Entwicklung 1 11/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 12/ 39
4 Bemerkungen Ganze Zahlen / Integer I Wir betrachten zunächst die Basisdatentypen und elementare Operatoren für Elemente dieser Datentypen, wie man sie in jeder Programmier-, Spezifikations- und Modellierungssprache findet. Die Basisdatentypen (engl. basic / primitive data types) bilden die Grundlage zur Definition weiterer Typen und Datenstrukturen. Dem Typbezeichner int ist in Java eine Wertemenge zugeordnet, die die ganzen Zahlen von bis enthält. Typbezeichner int Werte ganzen Zahlen von 2 31 bis Typische Literale 1, 0, (Addition) - (Subtraktion) Operationen * (Multiplikation) / (Division) % (Modulo) Bieniusa/Poetzsch-Heffter Software Entwicklung 1 13/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 14/ 39 Ganze Zahlen / Integer II / 3 1 Ganzzahlige Division! 5 % / 0 Laufzeitfehler Linksassoziativ 3 - (5-4) 2 3 * Priorität Überlauf! Innerhalb der Wertemenge sind die Operatoren auf beschränkten ganzen Zahlen gleich mit den üblichen mathematischen Operatoren. Außerhalb der Wertemenge ist ihr Verhalten nicht definiert. Weitere Datentypen für ganze Zahlen: long (64-bit Integer), short (16-bit Integer), byte (8-bit Integer) Gleitkommazahlen I Dem Typbezeichner double ist in Java die (endliche!) Wertemenge der Gleitkommazahlen zugeordnet. Typbezeichner double Werte reelle Zahlen (nach IEEE-Standard 754) Typische Literale , 1.98e20, (Addition) Operationen - (Subtraktion) * (Multiplikation) / (Division) Bieniusa/Poetzsch-Heffter Software Entwicklung 1 15/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 16/ 39
5 Gleitkommazahlen II / / 0.0 Infinity Boolesche Werte I Dem Typbezeichner boolean ist die Wertemenge der Wahrheitswerte {true, false} zugeordnet. Die ganzen Zahlen sind in der Programmierung keine Teilmenge der reellen Zahlen! Keine exakten Berechnungen möglich Näherung an reelle Zahlen, aber nur endliche Darstellung Präzision! Spezielle Werte: Infinity (wenn Darstellung zu groß), NaN (not a number; wenn Berechnung undefiniert) Weiterer Datentyp für Gleitkommazahlen: float (32-bit Gleitkommazahlen) Typbezeichner Werte Literale Operationen boolean wahr, falsch true, false && (Und) (Oder)! (Nicht) Bieniusa/Poetzsch-Heffter Software Entwicklung 1 17/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 18/ 39 Boolesche Werte II Vergleichsoperatoren Semantik der Operationen: a && b ist true, wenn beide Operanden true sind; sonst false a b ist false, wenn beide Operanden false sind; sonst true!a ist true, wenn a false ist; und false, wenn true ist Frage: Zu welchen Werten ergeben sich folgende Ausdrücke? 7 >= 45 == true sein! sein für geeignete Variable sein Die folgenden Operatoren vergleichen primitive numerische Werte gleichen Typs miteinander und liefern als Ergebnis einen boolschen Wert. == Gleichheit!= Ungleichheit >, >= größer bzw. größer gleich <, <= kleiner bzw. kleiner gleich Bieniusa/Poetzsch-Heffter Software Entwicklung 1 19/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 20/ 39
6 Begriffsklärung: Überladen I Strings I Wenn unterschiedliche Funktionen oder andere Programmelemente den gleichen Bezeichner haben, spricht man vom Überladen des Bezeichners (engl. overloading). Dem Typbezeichner String ist in Java die Wertemenge der Zeichenketten zugeordnet. Wie in den obigen Datentypen gezeigt, können Operatorbezeichner in Java überladen werden, d.h. in Abhängigkeit vom Typ ihrer Argumente bezeichnen sie unterschiedliche Funktionen. + arbeitet z.b. auf int und double == arbeitet z.b. auf int und boolean Typbezeichner Werte Literale Operation String Zeichenketten, Text "Hallo", "Die 7 Zwerge", + (Konkatenation, Verkettung) Bieniusa/Poetzsch-Heffter Software Entwicklung 1 21/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 22/ 39 Strings II Zu welchen Werten ergeben sich folgende Ausdrücke? "Hello, "+ "World!" "Hello, World!" "12 "+ "34" "12 34" "12"+ "34" "1234" "Die "+ 7 + SZwerge" "Die 7 Zwerge" Wenn primitive Datentypen mit einem String konkateniert werden, werden sie automatisch in Strings umgewandelt. Strings sind in Java keine primitiven Datentypen, jedoch in die Sprachdefinition fest integriert. Strings können auf der Kommandozeile direkt ausgegeben oder auch von dort eingelesen werden. "4" + "5" "" "7" + "+" + "5" ergibt sich zu ergibt sich zu ergibt sich zu Bieniusa/Poetzsch-Heffter Software Entwicklung 1 23/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 24/ 39
7 Wann ist ein Jahr ein Schaltjahr? Bestimme für eine eingegebene Jahreszahl, ob es sich um ein Schaltjahr handelt! Praxisbeispiel: Schaltjahre Aus Wikipedia-Artikel Schaltjahr: Die durch 4 ganzzahlig teilbaren Jahre sind Schaltjahre. [...] Die durch 100 ganzzahlig teilbaren Jahre (z.b. 1700, 1800, 1900, 2100 und 2200) sind keine Schaltjahre. [...] Schließlich sind die ganzzahlig durch 400 teilbaren Jahre doch Schaltjahre. Damit sind 1600, 2000, 2400,... jeweils wieder Schaltjahre. [...] Bieniusa/Poetzsch-Heffter Software Entwicklung 1 25/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 26/ 39 Implementierung: Schaltjahr.java Bezeichner in Java public class Schaltjahre { public static void main ( String [] args ) { String eingabe ; int jahr ; boolean istschaltjahr ; } } eingabe = args [0]; jahr = Integer. parseint ( eingabe ); istschaltjahr = ( jahr % 4 == 0) && ( jahr % 100!= 0); istschaltjahr = istschaltjahr ( jahr % 400 == 0); System. out. println ( istschaltjahr ); Variablen werden über Bezeichner (engl. identifier) referenziert. Für Bezeichner muss in Java gelten: Bezeichner bestehen aus beliebig vielen Unicode-Zeichen (insbesondere Buchstaben, Ziffern und Unterstrich ). Sie starten nicht mit einer Ziffer. Bezeichner dürfen nicht mit Schlüsselwörtern oder Konstanten übereinstimmen. Bezeichner sind case-sensitive, d.h. es wird zwischen Groß- und Kleinschreibung unterschieden. Bieniusa/Poetzsch-Heffter Software Entwicklung 1 27/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 28/ 39
8 Variablendeklarationen Zuweisungen Eine Variablendeklaration hat in Java die Form: < Typbezeichner > < Variablenbezeichner > ; Sie definiert eine neue Variable vom angegebenen Typ mit dem angegebenem Bezeichner. int a; boolean b; double meinegleitkommavariable ; Syntax in Java: < Variable > = < Ausdruck > ; Semantik: Werte den Ausdruck aus und weise das Ergebnis der Variablen zu. a = 27 % 23; b = true ; meinegleitkommavariable = 3. 14; Sprechweise: Variable b ergibt sich zu true oder Variable b wird true zugewiesen. Bieniusa/Poetzsch-Heffter Software Entwicklung 1 29/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 30/ 39 Begriffsklärung: Ausdruck I Begriffsklärung: Ausdruck II Ausdrücke sind das Sprachmittel zur Beschreibung von Werten. Ein Ausdruck (engl. expression) in Java ist (u.a.) ein Literal, ein Bezeichner (Variable, Name), die Anwendung einer Operation auf einen oder mehrere Ausdrücke, oder aufgebaut aus Sprachmitteln, die erst später behandelt werden. Jeder Ausdruck hat einen Typ: Der Typ eines Literals ergibt sich aus dem Wertebereich. Der Typ eines Bezeichners ergibt sich aus dem Wert, den er bezeichnet. Der Typ einer Operation ist der Ergebnistyp der Operation. Bieniusa/Poetzsch-Heffter Software Entwicklung 1 31/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 32/ 39
9 Präzedenzregeln I Präzedenzregeln II Wenn Ausdrücke nicht vollständig geklammert sind, ist im Allg. nicht klar, wie ihr Syntaxbaum aussieht und wie die Auswertung zu erfolgen hat. 3 == 5 == true false == true true false && true true Präzedenzregeln legen fest, wie Ausdrücke zu strukturieren sind: Am stärksten binden unäre Operatoren in Präfixform. Binäre Infix-Operatoren in Java sind (in der Regel) linksassoziativ. Präzedenzregeln für Infix-Operatoren: *, /,\% binden stärker als + und -! bindet stärker als &&, und && stärker als Boolsche Operatoren && und sind nicht-strikt. Bieniusa/Poetzsch-Heffter Software Entwicklung 1 33/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 34/ 39 Eingabe/Ausgabe In unseren Beispielen verwenden wir zunächst die Eingabe auf Kommandozeilenebene bei Programmstart. Das erste Argument ist in der main-methode unter args[0] verfügbar; das zweite Argument unter args[1] verfügbar, etc. Da die Argumente als String-Werte übergeben werden, müssen sie evtl. in einen anderen Datentyp umgewandelt werden ( siehe Explizite Typumwandlung ) Beispiel: Compilieren und Ausführen von LeapYear mit Parameter > javac Schaltjahr.java > java Schaltjahr 2004 true > java Schaltjahr 1900 false Typumwandlungen: Explizite Typumwandlung Bisweilen muss man Werte eines Types in einen anderen Typen umwandeln. Zur Umwandlung von Strings in numerische Werte gibt es spezielle Bibliotheksmethoden: int Integer.parseInt(String s) double Double.parseDouble(String s) boolean Boolean.parseBoolean(String s) Wandelt s in int-wert um Wandelt s in double-wert um Wandelt s in boolean-wert um Fehlt der Parameter beim Aufruf, wird ein Fehler ausgegeben! Bieniusa/Poetzsch-Heffter Software Entwicklung 1 35/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 36/ 39
10 Typumwandlungen: Expliziter Cast Typumwandlungen: Automatische Promotion für Zahlen Java bietet integrierte Typumwandlung für primitive Datentypen Achtung: Informationsverlust Auf Klammerung achten, da Casts stärker binden als arithmetische Operationen Beispiel: (int) ergibt den int-wert 2 Hinweis: Runden mittels der Bibliotheksfunktion long Math.round(double d) und explizitem Cast von long auf int Beispiel: (int) Math.round( ) liefert 3 Daten von primitiven numerischen Typen können in einem Kontext verwendet werden, wenn in dem ein Wert eines Datentyps verwendet wird, der einen größeren Wertebereich abdeckt kein Informationsverlust! Beispiel: Bei der Auswertung von 4.0 * 3 wird 3 zunächst automatisch in einen double-wert umgewandelt, dannach wird die Multiplikation auf double durchgeführt Beispiel: Bei der Auswertung von "Ocean s " + 11 wird 11 zunächst automatisch in einen String-Wert umgewandelt, dannach wird die Konkatenation auf String durchgeführt Bieniusa/Poetzsch-Heffter Software Entwicklung 1 37/ 39 Bieniusa/Poetzsch-Heffter Software Entwicklung 1 38/ 39 Zusammenfassung Compilieren und Ausführen von Java-Programmen Integrierte Datentypen Primitive Datentypen (int, double, boolean) Strings Ausdrücke Variablen: Deklaration und Zuweisung Typkonversion Bieniusa/Poetzsch-Heffter Software Entwicklung 1 39/ 39
Software Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Unser erstes Java Programm Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!
Grundelemente der Programmierung: Basisdatentypen Software Entwicklung 1
Grundelemente der Programmierung: Basisdatentypen Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller In diesem Kapitel werden wir erste Programme in der Programmiersprache Java schreiben.
Diana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
Hello 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
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
Computeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
Einführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
Einfü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)
Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Java Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen
Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig
5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
Gliederung. 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.
Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
Ein 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
Übungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,
II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11
Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16
Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier
Numerische Datentypen. Simon Weidmann
Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die
Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
Java Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!
Kapitel 03: Grundelemente der Programmierung Software Entwicklung 1
Kapitel 03: Grundelemente der Programmierung Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller In diesem Kapitel werden wir erste Programme in der Programmiersprache Java schreiben.
1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
Programmierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
Modellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder
Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte
5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
Modul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
Kontrollstrukturen und Funktionen in C
Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren
Vorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm
Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,
Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen
Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Prof. Dr. Volker Schulz Universität Trier / FB IV / Abt. Mathematik 8. November 2010 http://www.mathematik.uni-trier.de/ schulz/elan-ws1011.html
Computerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
Klausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
Deklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
25 kann ohne Rest durch 5 geteilt werden! ist wahr
Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen
Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und
Vorkurs 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
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
Java Kurs für Anfänger Einheit 2 Datentypen und Operationen
Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis
Primitive 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.
Erwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
Kontrollstrukturen, Pseudocode und Modulo-Rechnung
Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1
Testklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten
Matrikelnummer: Punkte: Testklausur 1 zur Vorlesung Modellierung und Programmierung I Dr. Monika Meiler Zeit: 60 Minuten Bemerkungen: Jedes Blatt ist mit der Matrikelnummer zu versehen. Jede Aufgabe ist
Zählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
Vorkurs 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
Einführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife
Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben
1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
IT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692
Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
Graphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen
Einfü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
II.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
Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Delegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
Java: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
Einführung in die Programmierung II. 2. Fundamentale Datentypen, Ausdrücke
Einführung in die Programmierung II 2. Fundamentale Datentypen, Ausdrücke Stefan Zimmer 3. 5. 2006-1- Objekte im Speicher Ein Objekt ist für uns zunächst einfach ein fester Bereich im Speicher unseres
Rundung und Casting von Zahlen
W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für
Lineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
I.1 Die Parrot Assemblersprache
I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen
Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
Excel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
Java Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
Vorkurs 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
Auswahlabfragen mit ACCESS
Auswahlabfragen mit ACCESS Abfragekriterien und Operatoren Beim Entwerfen von ACCESS-Auswahlabfragen (queries) sind definierte Abfragekriterien bzw. Operatoren zu benutzen. Ein Abfragekriterium ist eine
Dr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
Einführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
Übungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
public class SternchenRechteckGefuellt {
Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und
Javakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10
Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist