Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Größe: px
Ab Seite anzeigen:

Download "Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder"

Transkript

1 Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2. Impliziert gleiche Syntax auch gleiche Semantik? Geben Sie ein Beispiel. 3. Erläutern Sie folgende Aussage: Ein syntaktisch korrektes Programm ist nicht immer korrekt. 1. Die Syntax einer Programmiersprache bezeichnet die Regeln, welche festlegen, ob eine Zeichenkette ein strukturell korrektes Programm ist, d.h. vom Compiler oder Interpreter der Programmiersprache eingelesen und ausgeführt werden kann. In der Regel wird die Syntax einer Programmiersprache durch eine Grammatik (beispielsweise in EBNF) skizziert. Oftmals beschreibt eine solche Grammatik allerdings eine Obermenge der vom Compiler oder Interpreter akzeptierten Programme, da dieser weitere Kriterien fordert (beispielsweise könnte er nur wohlgetypte Programme akzeptieren). Die Semantik einer Programmiersprache gibt ihren syntaktisch korrekten Programmen eine Bedeutung. Sie legt somit fest, was das Ergebnis und nach außen sichtbare Verhalten einer Ausführung eines Programms ist. 2. Nein. Zwei syntaktisch identische Programme (d.h. die gleiche Zeichenkette) können mit verschiedener Semantik verschieden interpretiert werden. Beispielsweise könnte man festlegen, dass die Division div(x,y) zweier Integer x und y in Sprache A definiert ist als x y und in Sprache B als x y. Somit hat der Ausdruck div(3,2) in Sprache A die Semantik 1 und in Sprache B die Semantik Die Aussage ist richtig. Ein Programm ist korrekt, wenn es genau die Anforderungen erfüllt, für die es entwickelt wurde. Lautet die Anforderung, dass das Programm die ersten eintausend Primzahlen ausgeben soll, so ist ein syntaktisch korrektes Programm welches stattdessen Hello world! ausgibt nicht korrekt. Tutoraufgabe 2 (Formale Sprachen und Grammatiken): Gegeben sei die folgende Sprache: L = {w {a, b Es existiert ein y {a, b mit w = ay oder b (w) = 2 Hierbei bezeichnet b (w) die Anzahl der b-s in dem Wort w. Das heißt, L enthält genau die endlichen Wörter, die mit a beginnen oder genau zwei b-s enthalten. Die folgenden Wörter sind beispielsweise in der Sprache enthalten: bab ababba abba Folgende Wörter sind nicht Bestandteil der Sprache: baa babaab b ε a) Geben Sie eine kontextfreie Grammatik an, welche die Sprache L erzeugt. b) Geben Sie eine Grammatik in EBNF mit nur einer Regel an, die L definiert. Um die Lesbarkeit zu erhöhen, dürfen Sie Anführungszeichen um Terminalsymbole weglassen. c) Geben Sie ein Syntaxdiagramm ohne Nichtterminalsymbole an, das die Sprache L definiert. 1

2 a) Die kontextfreie Grammatik G = (N, T, P, S) mit N = {S, A, B, T = {a, b und P definiert wie folgt: S AbAbA S ab A aa A ε B ab B bb B ε erzeugt genau die Sprache L. Mit dem Nonterminal S wählt man, ob man ein Wort mit zwei b-s erzeugen möchte oder eines, das mit a beginnt. Das Nonterminal A erzeugt beliebig viele a-s. Dadurch bleibt die Anzahl der b-s im Wort konstant. B erzeugt beliebige Wörter aus {a, b, da nach dem Wortanfang a beliebige Folgen von a und b folgen können. Es ist auch möglich, die Lösung leicht abzuwandeln. Die erste Regel, S AbAbA, dient eigentlich zur Konstruktion eines Wortes, das genau zwei b-s enthält. Nutzt man aber das erste A zur Ableitung eines a, ist das Wort wegen der zweiten Bedingung in der Sprache enthalten und könnte genauso mithilfe der zweiten Regel abgeleitet werden. Es ist daher möglich, die erste Regel durch S baba zu ersetzen. b) Die folgende Grammatik in EBNF mit nur einer Regel definiert genau L. S = ({ab{ab{a a{(a b) ) {{{{ 1 2 Diese Konstruktion ist ähnlich zu der Grammatik aus Teilaufgabe a). In der ersten Hälfte wird ein Wort mit genau zwei b-s erzeugt. Im zweiten Teil wird ein Wort erzeugt, das mit a beginnt und mit einem beliebigen Wort aus {a, b endet. Analog zur alternativen Lösung in Teilaufgabe a) kann hier eine Vereinfachung vorgenommen werden: S = (b{ab{a a{(a b) ) {{{{ 1 2 c) Das folgende Syntaxdiagramm definiert die Sprache L: a b a b a a a b Auch hier gibt es wie in Teilaufgaben a) und b) eine etwas weniger komplexe 2

3 b a b a a a b Aufgabe 3 (Formale Sprachen und Grammatiken): Gegeben sei die folgende Sprache: ( = 9 Punkte) L = {w {a, b Es existiert ein y {a, b mit w = yb oder a (w) % 2 = 1 Hierbei bezeichnet a (w) die Anzahl der a-s in dem Wort w. Das heißt, L enthält genau die endlichen Wörter, die mit b enden oder ungerade viele a-s enthalten. Die folgenden Wörter sind beispielsweise in der Sprache enthalten: bab aaaab abbbbaa aaa Folgende Wörter sind nicht Bestandteil der Sprache: babababa abba ɛ a) Geben Sie eine kontextfreie Grammatik an, welche die Sprache L erzeugt. b) Geben Sie eine Grammatik in EBNF mit nur einer Regel an, die L definiert. Um die Lesbarkeit zu erhöhen, dürfen Sie Anführungszeichen um Terminalsymbole weglassen. c) Geben Sie ein Syntaxdiagramm ohne Nichtterminalsymbole an, das die Sprache L definiert. a) Die kontextfreie Grammatik G = (N, T, P, S) mit N = {S, A, B, T = {a, b und P definiert wie folgt: S Cb S Aa A BaBaA A B B bb B ε C ac C bc C ε erzeugt genau die Sprache L. Mit dem Nonterminal S wählt man, ob man ein Wort mit b am Ende, oder ein Wort mit einem a am Ende aber einer geraden Anzahl von a-s davor, erzeugen möchte. Das Nonterminal A erzeugt ein Wort mit beliebig viele b-s, aber einer geraden Anzahl von a-s. B erzeugt Wörter mit beliebig vielen b-s. 3

4 b) Die folgende Grammatik in EBNF mit nur einer Regel definiert genau L. S = ({(a b)b {{ba{ba{ba) {{{{ 1 2 Diese Konstruktion ist analog zu der Grammatik aus Teilaufgabe a). In Teil (1) wird ein Wort erzeugt, das mit b endet. In Teil (2) wird ein Wort erzeugt, das ungerade viele a-s enthält und mit einem a endet. c) Das folgende Syntaxdiagramm definiert die Sprache L: a b b b a b a b a Tutoraufgabe 4 (Zweierkomplement): a) Erklären Sie im Detail, wie die beiden Ausgaben des folgenden Programms berechnet werden. public class Test { public static void main ( String [] args ) { int zahl = ; System. out. println ( zahl + 1); System. out. println ( zahl - 1); Hinweis: 2 31 = b) Welche Zahlen repräsentieren die folgenden Bitfolgen im 5-Bit Zweierkomplement? c) Sei x eine ganze Zahl. Wie unterscheidet sich die Zweierkomplement-Darstellung von x und x? a) Im Folgenden werden Binärzahlen mit einem Z markiert, wenn die Zahl im Zweierkomplement verstanden werden muss. Die Zahl 1111Z ist also als 1 zu verstehen, während 1111 für die Zahl 15 steht. Der Datentyp int benutzt 32 Bit. Die Darstellung der Zahl im Zweierkomplement ist Z (31 Nullen) Das Ergebnis der Addition zahl + 1 berechnet sich wie folgt: 4

5 Z Z Z Auch hier gibt die führende 1 an, dass die dargestellte Zahl negativ ist. Den Dezimalwert der dargestellten Zahl erhält man durch Invertieren und Addieren von was für steht. Mit der Vorzeicheninformation von oben ergibt sich Berechnet man zahl - 1, berechnet sich das Ergebnis durch die Addition mit -1. Die Zahl -1 ist im Zweierkomplement dargestellt durch Z Die Addition (-1) ergibt demzufolge Z Z Z Das Ergebnis ist also nicht negativ (angedeutet durch die führende 0) und entspricht der Dezimalzahl Dieses Ergebnis wird auch durch das Java-Programm ausgegeben. b) Bitfolge 5-Bit Zweierkomplement c) Ausgehend von der Zweierkomplement-Darstellung von x erreicht man durch die folgenden beiden Schritte die Zweierkomplement-Darstellung von x. a) vertausche alle 0 und 1en b) addiere 1 Mit diesen beiden Schritten ist es auch die Rückrichtung ( x zu x) möglich. In der folgenden Tabelle finden Sie alle Binärzahlen mit drei Ziffern. Man erkennt, dass das genannte Verfahren funktioniert

6 Aufgabe 5 (Zweierkomplement): a) Welche Zahlen repräsentieren die folgenden Bitfolgen im 10-Bit Zweierkomplement? (2,5 + 3,5 = 6 Punkte) b) Die zwei folgenden Java-Ausdrücke werten jeweils zu true aus, obwohl dies auf den ersten Blick nicht offensichtlich erscheint. Geben Sie dafür jeweils eine kurze informelle Begründung. 1) > 0 2) ( ) < 0 a) Bitfolge 10-Bit Zweierkomplement b) 1) Die Berechnung von hat als Ergebnis Bei der weiteren Berechnung , also der Addition zweier negativer Zahlen, werden intern die Zweierkomplement-Darstellungen mittels normaler Binärzahl-Rechnung addiert. Hierbei ist das Ergebnis zu groß, um mit 32 Stellen dargestellt zu werden (ein Überlauf passiert). Das zusätzliche Bit wird ignoriert und das restliche Ergebnis wird als Zahl im Zweierkomplement interpretiert. Bei dieser konkreten Berechnung ergibt sich eine Binärzahl, bei der das vorderste Bit eine 0 ist, weshalb das Ergebnis der Berechnung eine positive Zahl ist. 2) Der Wert in der Klammer ist , also Bei der Berechnung von ( ) wird der entsprechende Bitvektor zunächst invertiert (was ergibt), und dann noch 1 auf diesen Bitvektor addiert (was den Bitvektor ergibt). Der entstandene Bitvektor ist genau derselbe, von dem wir ursprünglich ausgegangen sind und insbesondere negativ. Tutoraufgabe 6 (Typkonversion): Bestimmen Sie, falls möglich, den Typ und das Ergebnis der folgenden Java-Ausdrücke. Dabei seien die Variablen x, y und z wie folgt deklariert: int x = 1; int y = 2; int z = 3; a) false && true b) 10 / 3 c) 10 / 3. d) x == y? x > y : y < z e) (byte) ( ) f) x + y + z g) x + y + "z" h) 1 0 6

7 int x = 1; int y = 2; int z = 3; a) false && true Der Ausdruck liefert den Wert false vom Typ boolean. b) 10 / 3 Der Ausdruck liefert den int-wert 3. c) 10 / 3. Der Ausdruck liefert den double-wert , da der int-wert 10 für die double-division erst zu double konvertiert wird. d) x == y? x > y : y < z Der Ausdruck liefert den boolean-wert true, da zuerst der boolean-vergleich x == y zu false und anschließend y < z zu true ausgewertet wird. Der Typ von x > y ist ebenfalls boolean, weshalb kein Fehler auftritt. e) (byte) ( ) Der Ausdruck liefert das Ergebnis -128, da zuerst die int-addition durchgeführt wird und das Ergebnis +128 anschließend in den byte-datentypen konvertiert wird, wobei dieser den Wert allerdings nicht darstellen kann. Hierbei werden nur die letzten 8 Bit berücksichtigt (alle zusätzlichen Bits werden also abgeschnitten ). f) x + y + z Durch die Auswertung von links nach rechts wird zuerst x + y ausgewertet. Dafür wird das Zeichen x zuerst in die int-zahl 120 konvertiert. Dies ergibt also 120+2=122. Dieser Wert wird dann mit der int-zahl 3 addiert, und somit wird der Gesamtausdruck zu 125 vom Typ int ausgewertet. g) x + y + "z" Durch die Auswertung von links nach rechts wird zuerst x + y zur int-zahl 3 ausgewertet. Dieser Wert wird dann mit dem String "z" verkettet, und somit wird der Gesamtaudruck zu "3z" vom Typ String ausgewertet. h) 1 0 Der Ausdruck liefert einen Fehler, da 1 und 0 vom Typ int sind und damit der boolean-vergleich nicht möglich ist. 7

8 Aufgabe 7 (Typkonversion): (8 0,5 = 4 Punkte) Bestimmen Sie, falls möglich, den Typ und das Ergebnis der folgenden Java-Ausdrücke. Dabei seien die Variablen x, y und z wie folgt deklariert: int x = 1; int y = 2; int z = 3; Begründen Sie Ihre Antwort. a) "x" - y b) y < z false c) 9 / 3f d) x + "y" + z e) 9d / 3f f) y!= y? x : z / x g) h) (byte) 256 * int x = 1; int y = 2; int z = 3; a) "x" - y Der Ausdruck liefert einen Fehler, da der Operator - nicht auf Strings arbeitet und ein String auch nicht implizit zu int konvertiert werden kann. b) y < z false Der Ausdruck liefert true vom Typ boolean, da der Vergleich zu true auswertet und damit der logische Oder-Ausdruck ebenfalls. c) 9 / 3f Der Ausdruck liefert 3.0 vom Typ float, da der Divident 3 erst in einen float-wert konvertiert wird und anschließend eine float-division durchgeführt wird. d) x + "y" + z Da von links nach rechts ausgewertet wird, ist das erste + als String-Konkatenation zu verstehen. Hierfür wird der int-wert von x in den String "1" konvertiert, als Zwischenergebnis ergibt sich also "1y". Anschließend wird auch der int-wert von z in einen String konvertiert und schließlich konkateniert, was dann den String "1y3" ergibt. e) 9d / 3f Der Ausdruck liefert 3.0 vom Typ double, da der Divisor 3f erst in einen double-wert konvertiert wird und anschließend eine double-division durchgeführt wird. f) y!= y? x : z / x Der Ausdruck liefert 3 vom Typ int, da der Vergleich zu false und die Ganzzahldivision zu 3 auswertet. g) Der Ausdruck liefert einen Fehler, da die Zahl nicht als int dargestellt werden kann. h) (byte) 256 * Der Ausdruck liefert 0 vom Typ int. Der Cast von 256 auf byte ergibt den Wert 0, denn die letzten 8 Bits von 256 sind alle 0. Anschließend wird dieses Zwischenergebnis wieder zu einem int konvertiert (mit dem Wert 0) und die Multiplikation mit dem int ergibt schließlich 0. 8

9 Tutoraufgabe 8 (Einfache Programmierung): Schreiben Sie ein einfaches Java-Programm, welches den Benutzer auffordert, eine positive Zahl ganze Zahl (d. h. größer als 0) einzugeben. Danach soll das Programm eine durch die Return-Taste beendete Zahl einlesen. Diese Eingabeaufforderung mit anschließendem Einlesen soll solange wiederholt werden, bis der Benutzer eine positive Zahl eingibt. Anschließend soll der Benutzer aufgefordert werden, ein Wort einzugeben. Dieses soll ebenfalls durch die Return-Taste beendet werden. Das Wort soll eingelesen und schließlich so oft hintereinander in einer Zeile ausgeben werden, wie durch die eingegebene positive Zahl festgelegt. public class Multiecho { public static void main ( String [] args ) { int zahl = 0; while ( zahl < 1) { System. out. println (" Bitte geben Sie eine positive Zahl ein :"); zahl = Integer. parseint ( System. console (). readline ()); System. out. println (" Bitte geben Sie ein Wort ein :"); String wort = System. console (). readline (); int i = 0; while (i < zahl ) { System. out. print ( wort ); i ++; Aufgabe 9 (Einfache Programmierung): (6 Punkte) Schreiben Sie ein einfaches Java-Programm, welches ein Spiel für zwei Spieler realisiert. Zunächst soll Spieler 1 um die Eingabe einer Zahl zwischen 0 und 100 gebeten und diese verdeckt eingelesen werden (die Eingabe soll durch die Return-Taste beendet werden). Diese Eingabeaufforderung mit anschließendem Einlesen soll so lange wiederholt werden, bis die eingegebene Zahl zwischen 0 und 100 (jeweils einschließlich) liegt. Danach soll Spieler 2 aufgefordert werden, die von Spieler 1 eingegebene Zahl zu erraten. Spieler 2 soll also so lange zur (nicht-verdeckten) Eingabe von Zahlen aufgefordert und seine Eingaben eingelesen werden, bis die von Spieler 2 eingegebene Zahl mit der ursprünglich von Spieler 1 eingegebenen Zahl übereinstimmt. Stimmt die von Spieler 2 eingegebene Zahl nicht mit der gesuchten Zahl überein, so soll das Programm ausgeben, ob die gesuchte Zahl kleiner oder größer als die eingegebene Zahl ist. Sobald die gesuchte Zahl erraten worden ist, soll das Programm die Anzahl an Rateversuchen ausgeben, die Spieler 2 zum Erraten der Zahl benötigt hat. Ein beispielhafter Ablauf des Programms könnte wie folgt aussehen (wobei Spieler 1 die verdeckte Eingabe 73 macht): Spieler 1, geben Sie eine Zahl zwischen 0 und 100 ein : Spieler 2, raten Sie die eingegebene Zahl : 50 Die gesuchte Zahl ist groesser! Spieler 2, raten Sie die eingegebene Zahl : 75 Die gesuchte Zahl ist kleiner! 9

10 Spieler 2, raten Sie die eingegebene Zahl : 73 Spieler 2, Sie haben die gesuchte Zahl in 3 Versuchen erraten. Hinweise: Um in Java eine Zahl verdeckt einlesen zu lassen, kann der Aufruf Integer.parseInt(String.valueOf(System.console().readPassword())) verwendet werden. public class ZahlenRaten { public static void main ( String [] args ) { // vorgegebene Zahl int ziel ; do { System. out. println ( " Spieler 1, geben Sie eine Zahl zwischen 0 und 100 ein :" ); ziel = Integer. parseint ( String. valueof ( System. console (). readpassword ()) ); while ( ziel < 0 ziel > 100); // benoetigte Anzahl an Rateversuchen int anzahl = 0; // geratene Zahl int versuch ; do { System. out. println ( " Spieler 2, raten Sie die eingegebene Zahl :" ); versuch = Integer. parseint ( System. console (). readline ()); if ( versuch > ziel ) { System. out. println (" Die gesuchte Zahl ist kleiner!"); else if ( versuch < ziel ) { System. out. println (" Die gesuchte Zahl ist groesser!"); anzahl ++; while ( versuch!= ziel ); System. out. print (" Spieler 2, Sie haben die gesuchte Zahl "); if ( anzahl == 1) { System. out. print (" sofort "); else { System. out. print ("in " + anzahl + " Versuchen "); System. out. println (" erraten."); 10

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Tutoraufgabe 1 (Typcasting):

Tutoraufgabe 1 (Typcasting): Prof. aa Dr. J. Giesl Programmierung WS18/19 S. Dollase, M. Hark, D. Korzeniewski Tutoraufgabe 1 (Typcasting: Bestimmen Sie den Typ und das Ergebnis der folgenden Java-Ausdrücke. Begründen Sie Ihre Antwort

Mehr

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

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

Mehr

Vorkurs Informatik WiSe 16/17

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

Mehr

Vorkurs Informatik WiSe 17/18

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

Mehr

JAVA-Datentypen und deren Wertebereich

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

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 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

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Tutoraufgabe 1 (Casting): Programmierung WS17/18 Übungsblatt 2 (Abgabe ) Allgemeine Hinweise:

Tutoraufgabe 1 (Casting): Programmierung WS17/18 Übungsblatt 2 (Abgabe ) Allgemeine Hinweise: Prof. aa Dr. J. Giesl Programmierung WS17/18 M. Hark, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet

Mehr

Programmierkurs Java

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

Mehr

System.out.println("TEXT");

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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblä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

Mehr

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt: Technische Informatik für Ingenieure WS 00/0 Übungsblatt Nr. 0. Januar 0 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin Koch Dominik Lüke

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

2 Eine einfache Programmiersprache

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

Mehr

2 Eine einfache Programmiersprache

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

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

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

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

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche 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

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

2 Eine einfache Programmiersprache

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

Mehr

Java I Vorlesung Imperatives Programmieren

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

Mehr

2 Eine einfache Programmiersprache

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

Mehr

Ein erstes Java-Programm

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

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

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

Mehr

Tag 3 Repetitorium Informatik (Java)

Tag 3 Repetitorium Informatik (Java) Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung

Mehr

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuÿ, Henning Timm Übungsblatt 2

Mehr

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Einfü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

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Übungsblatt 2. Thema: Formale Sprachen & Grammatiken, Boolesche Logik, Zahlendarstellung, Java

Übungsblatt 2. Thema: Formale Sprachen & Grammatiken, Boolesche Logik, Zahlendarstellung, Java Informatik I WS 05/06 Prof. Dr. W. May Dipl.-Inform. Oliver Fritzen Dipl.-Inform. Christian Kubczak Übungsblatt 2 Ausgegeben am: 04.11.2005 Abgabe bis: 15.11.2005 Thema: Formale Sprachen & Grammatiken,

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. Januar 2018 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 17. Februar

Mehr

Tag 2 Repetitorium Informatik (Java)

Tag 2 Repetitorium Informatik (Java) Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und

Mehr

Lösungshinweise/-vorschläge zum Übungsblatt 3: Software-Entwicklung 1 (WS 2017/18)

Lösungshinweise/-vorschläge zum Übungsblatt 3: Software-Entwicklung 1 (WS 2017/18) Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 3: Software-Entwicklung 1 (WS 2017/18)

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einfü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)

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable 1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem

Mehr

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke Informatik I: Einführung in die Programmierung 3. Werte,, n und Albert-Ludwigs-Universität Freiburg Peter Thiemann 30. Oktober 2018 1 30. Oktober 2018 P. Thiemann Info I 3 / 39 Bits Der Computer repräsentiert

Mehr

2.2 Syntax, Semantik und Simulation

2.2 Syntax, Semantik und Simulation 2.2 Syntax, Semantik und Simulation Ein Java Programm ist eine Folge von Buchstaben. Nicht jede Folge von Buchstaben ist ein korrektes Java Programm! Wie kann man alle korrekten Java Programme beschreiben?

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einfü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

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen 121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;

Mehr

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte while-statement erneut ausgeführt. Ist die Bedingung

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

Abschnitt 11: Korrektheit von imperativen Programmen

Abschnitt 11: Korrektheit von imperativen Programmen Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961

Mehr

Die Klasse MiniJava ist in der Datei MiniJava.java definiert:

Die Klasse MiniJava ist in der Datei MiniJava.java definiert: Die Klasse MiniJava ist in der Datei MiniJava.java definiert: import javax.swing.joptionpane; import javax.swing.jframe; public class MiniJava { public static int read () { JFrame f = new JFrame (); String

Mehr

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme Schwerpunkte Vollständige und unvollständige Auswertung 8. Ausdrücke, Operatoren (einfache Typen) Teil 1 Seiteneffekte Overloading: Überladung von Operatoren Implizite und explizite (cast) Typumwandlung

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

Einführung in die Informatik. Programming Languages

Einführung in die Informatik. Programming Languages Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Kapitel 3. Grunddatentypen, Ausdrücke und Variable Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen

Mehr

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public

Mehr

Einstieg in die Informatik mit Java

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

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen

Mehr

Übung Informatik I - Programmierung - Blatt 2

Übung Informatik I - Programmierung - Blatt 2 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

Mehr

Programmiervorkurs Einführung in Java Tag 1

Programmiervorkurs 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,

Mehr

Informatik I Übung, Woche 41

Informatik I Übung, Woche 41 Giuseppe Accaputo 9. Oktober, 2014 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

Grunddatentypen in Java. Kapitel 3: Grunddatentypen, Ausdrücke und Variablen. Ganze Zahlen in Java. Grammatik für Grunddatentypen in Java

Grunddatentypen in Java. Kapitel 3: Grunddatentypen, Ausdrücke und Variablen. Ganze Zahlen in Java. Grammatik für Grunddatentypen in Java Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 3: Grunddatentypen, Ausdrücke und Variablen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

JAVA für Nichtinformatiker - Probeklausur -

JAVA für Nichtinformatiker - Probeklausur - JAVA für Nichtinformatiker - Probeklausur - Die folgenden Aufgaben sollten in 150 Minuten bearbeitet werden. Aufgabe 1: Erläutere kurz die Bedeutung der folgenden Java-Schlüsselwörter und gib Sie jeweils

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Kapitel 3: Grunddatentypen, Ausdrücke und Variablen

Kapitel 3: Grunddatentypen, Ausdrücke und Variablen Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 3: Grunddatentypen, Ausdrücke und Variablen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

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. 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

Mehr

Datentypen und Operatoren

Datentypen und Operatoren Programmiervorkurs SS 2013 Datentypen und Operatoren Termin 2 Wiederholung: Einfache Datentypen Welche Datentypen kennt Ihr bereits? Einfache Datentypen Zeichen public class MyCharTest { char c1 = 'a';

Mehr

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen Einführung in die Programmierung für NF Rückgabewerte, EBNF, Fallunterscheidung, Schleifen FUNKTIONEN UND PROZEDUREN 3 Rückgabewerte, EBNF, Fallunterscheidung, Schleifen 2 Funk@on und Prozedur Methoden

Mehr

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

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

Mehr

2.5 Primitive Datentypen

2.5 Primitive Datentypen 2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",

Mehr

hue12 January 24, 2017

hue12 January 24, 2017 hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Die Programmiersprache C Eine Einführung

Die 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

Mehr

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration

Mehr

Ausdrücke der Programmiersprache Java

Ausdrücke der Programmiersprache Java Ausdrücke der Programmiersprache Java Hamburg 1 Ablauf des Vortrags 01. Eigenschaften von Ausdrücken 02. Arithmetische Operatoren 03. Relationale Operatoren 04. Logische Operatoren 05. Bitweise Operatoren

Mehr

Kapitel 3: Variablen

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

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Einführung in die Programmierung für NF. Übung

Einführung in die Programmierung für NF. Übung Einführung in die Programmierung für NF Übung 03 06.11.2013 Inhalt Methoden in Java Gültigkeitsbereiche EBNF Einführung in die Programmierung für NF Übung 03 2 Methoden in Java In Methoden werden Ausdrücke

Mehr

Informatik I Übung, Woche 41

Informatik I Übung, Woche 41 Giuseppe Accaputo 8. Oktober, 2015 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung

Mehr

Die einfachsten Anweisungen

Die einfachsten Anweisungen 2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser

Mehr

Programmierpraktikum

Programmierpraktikum TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

Einstieg in die Informatik mit Java

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

Mehr

Software Entwicklung 1

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!

Mehr

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Dipl.-Ing. Klaus Knopper 21.12.2006 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und Ihre Matrikelnummer,

Mehr

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002 Prof. H. Herbstreith 30.01.2002 Fachbereich Informatik Leistungsnachweis Informatik 1 WS 2001/2002 Bearbeitungszeit 120 Minuten. Keine Hilfsmittel erlaubt. Aufgabe 1: 20 Punkte Vervollständigen Sie folgende

Mehr

Übung 1: Installation + Test von Eclipse. Übung 2: Hello World

Übung 1: Installation + Test von Eclipse. Übung 2: Hello World Übung 1: Installation + Test von Eclipse Es soll die Installation der Entwicklungsumgebung Eclipse durchgeführt werden gemäss Dokument "InstallationTest.Eclipse.15.0.pdf" auf der DVD im Verzeichnis Eclipse.

Mehr

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

2.1 Fundamentale Typen

2.1 Fundamentale Typen 2. Elementare Typen 2.1 Fundamentale Typen C++ stellt die wichtigsten Datentypen mit passender Form der Abspeicherung und zugehörigen Rechenoperationen zur Verfügung : Boolscher Datentyp (bool) für logische

Mehr