Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

Größe: px
Ab Seite anzeigen:

Download "Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1"

Transkript

1 Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä Überblick Python interaktiv Zahlen Ausdrücke Typen Typen in Programmiersprachen

2 2.7 Zusammenfassung Abbildungsverzeichnis 2.1 Read-Evaluate-Print-Schleife Syntax-Fehler Liste von Definitionen u.ä. 2.1 Definition (Interpreter) Definition (Arithmetischer Ausdruck) Definition (Semantik von + bei Zeichenketten) Definition (Datentyp) Beispiel (Datentyp: Ganze Zahlen) Beispiel (Datentyp: Reelle Zahlen) Beispiel (Datentyp: str) Beispiel (Datentyp: bool) Beispiel (Datentyp: Ganze Zahlen (ergänzt)) Achtung (Semantik von Operatoren ist typabhängig) Definition (Typisierte Programmiersprache) Definition (Schwach typisierte Programmiersprache) Definition (Stark typisierte Programmiersprache)

3 2.1. Überblick Überblick Dieses Kapitel Erste Schritte mit Python Interaktive Nutzung Grundkonzepte: Zahlen, Ausdrücke,... Fehler 2.2 Python interaktiv Interaktiv? Interaktive Software: Eingabe während der Ausführung entgegennehmen und verarbeiten Interaktive Programmierung? Die Sprache wird ausgeführt? Genauer: Ein Interpreter Definition 2.1 (Interpreter). Ein Interpreter ist ein Programm, das Programme (oder Programmfragmente) entgegennimmt und ausführt. Die Ergebnisse der Ausführung werden unmittelbar ausgegeben. Beispiele für Interpreter Beispiele für Interpreter gibt es viele, wenn man den Begriff des eingegebenen Programms etwas weiter fasst. Tabellenkalkulationen sind typische Beispiele: Man gibt ein Programm ein, das aus Formeln besteht. Die Berechnungsergebnisse werden sofort angezeigt. Fasst man den Begriff noch offener, dann ist auch eine Textverarbeitung (wie etwa OpenOffice oder Word) ein Interpreter Python als Interpreter Graue Box erwartet Eingaben: In Result wird darunter erscheinen: Out Mit # werden Kommentare markiert

4 4 Liste von Definitionen u.ä. 1 # Ihre Anweisungen? Read-Evaluate-Print (REP) Verhalten des Interpreters: Warte auf Eingabe, lies sie ein (read) Werte die Eingabe aus, berechne ein Ergebnis (evaluate) Gib das Ergebnis aus (print) Beginne wieder von vorne (Schleife, loop) Abbildung 2.1: Read-Evaluate-Print-Schleife Abbildung 2.1 zeigt die Read-Evaluate-Print-Schleife eines Interpreters. Beachten Sie die Analogie zu einem Maschinenmodell: Ein Interpreter ist in gewissem Sinne eine (sehr abstrakte) Form einer Maschine. 2.3 Zahlen Eingaben? Zahlen 1 # Zahlen? Gültige Zahlen (Version 1) Jede Ziffer ist eine Zahl: 0, 1,..., 9 Jede Folge von Ziffern ist eine Zahl Aber nicht mit einer Null beginnen Eine Zahl darf einen Dezimalpunkt. enthalten Eine Zahl darf mit einem Vorzeichen + oder - beginnen

5 2.3. Zahlen Ungültige Zahlen Mehrere Dezimalpunkte Fehlermeldung SyntaxError: Eine Regel der Sprache wurde verletzt Abbildung 2.2: Syntax-Fehler Ungültige Zahlen Führende Null Ungültige Zahlen Mehrere Vorzeichen Ungültig? Nein... aber unerwartet? Text wie wird nicht als Zahl interpretiert Sondern als arithmetischer Ausdruck Wert wird ausgerechnet 2.4 Ausdrücke

6 6 Liste von Definitionen u.ä Arithmetischer Ausdruck Syntax Jede Zahl ist ein arithmetischer Ausdruck Verbindet man zwei arithmetische Ausdrücke durch +, -, * oder /, so entsteht ein arithmetischer Ausdruck Setzt man um einen arithmetischen Ausdruck ein Klammerpaar (... ), so entsteht ein arithmetischer Ausdruck Beispiel 1 (5*3) Arithmetischer Ausdruck Syntax Was ist dann ((627)( ))? Definition vorherige Folie: Keine Aussage Was fehlt? Und nur das sind arithmetische Ausdrücke Typische rekursive Definition Details: VL Modellierung Arithmetischer Ausdruck Semantik? Bis jetzt: Nur Syntax, aber keine Bedeutung der Ausdrücke Was ist der Wert eines Ausdrucks? Beispiel: Ist = 21? Oder = 11? 1 5+2* Arithmetischer Ausdruck Semantik Klar für Zahlen: Der Wert einer Zahl ist die Zahl Klar für binäre Ausdrücke Sind a 1 und a 2 arithmetische Ausdrücke und besteht der arithmetische Ausdruck a aus a 1 + a 2, so ist der Wert von a die Summe der Werte von a 1 und a 2.

7 2.4. Ausdrücke Eindeutigkeit? Und analog für -, *, / Ist ein binärer Ausdruck? Ja, mit zwei möglichen Interpretationen * Einerseits: a 1 = 5 * Andererseits: a 1 = Problem: tertiäre Ausdrücke a 1 a 2 a 3 Vorrangregeln: Punkt vor Strich * Also: 5 + (2 3) Links-nach-rechts: Bei gleichem Vorrang, von links lesen Formal durch Vorrangregeln festgelegt Details: Kompliziert; später Arithmetischer Ausdruck Definition Definition 2.2 (Arithmetischer Ausdruck). Arithmetische Ausdrücke verknüpfen Zahlen und arithmetische Ausdrücke zu neuen arithmetischen Ausdrücken. Dazu legt eine Programmiersprache syntaktisch Verknüpfungen fest und beschreibt semantisch den Wert eines solchen verknüpften Ausdrucks. Verknüpfungen werden häufig durch spezielle Zeichen wie +, * u.ä. angegeben. Diese Zeichen heißen Operatoren Nur Zahlen? Text? Zahlen sind toll, aber was ist mit Text? Text direkt? 1 Hallo Text mit Anführungszeichen 1 "Hallo" 1 Hallo Syntaxregel: Text als Zeichenkette Text wird durch eine Kette von einzelnen Zeichen, kurz Zeichenkette, dargestellt

8 8 Liste von Definitionen u.ä. Zeichenkette muss in Anführungszeichen eingeschlossen sein Ausdrücke mit Zeichenketten? Zahlen kann man addieren - was ist mit Zeichenketten? Erwartung? 1 "Hallo" + " GP1" Definition 2.3 (Semantik von + bei Zeichenketten). Sind t 1 und t 1 Zeichenketten, so ist t 1 +t 2 eine Zeichenkette. Der Wert von t 1 +t 2 ist die Zeichenkette die entsteht, indem an t 1 unmittelbar t 2 angehängt wird Andere Verknüpfungen für Zeichenketten Subtraktion? 1 "Hallo" - " GP1" Multiplikation? 1 "Hallo" * " GP1" Division? 1 "Hallo" / " GP1" Nein, nur Addition! Keine sinnvolle Semantik, also Fehler 2.5 Typen Fehlermeldungen: TypeError Bei den sinnlosen Kombinationen gab es die Fehlermeldung: TypeError: unsupported operand type(s) TypeError: can t multiply sequence by non-int

9 2.5. Typen 9 Type? Datentypen Was könnte ein Typ bedeuten? Die Fehlermeldung bei Multiplikation klingt interessant Offenbar sind Zahlen und Zeichenketten ja etwas unterschiedliches Unterschiedliche Werte, unterschiedliche Verknüpfungen erlaubt, unterschiedliche Interpretation (+ bei Zahlen vs. bei Zeichenketten) Beobachtung formalisiert in der Vorstellung eines Datentyps Definition 2.4 (Datentyp). Ein Datentyp oder kurz Typ legt eine Menge möglicher Werte fest. Literale sind die konkreten Notationen möglicher Werte. Zusätzlich legt ein Datentyp erlaubte Verknüpfungen fest. Er erklärt sowohl die Syntax als auch die Semantik dieser Verknüpfungen Datentyp: Ganze Zahlen Beispiel 2.1 (Datentyp: Ganze Zahlen). Ganze Zahlen haben den Wertebereich { -,..., -3, -2, -1, 0, 1, 2, 3,...+ }. Die Verknüpfungen +, -, * sind nach üblichen Rechenregeln erklärt. Die Verknüpfung / ist als ganzzahlige Division erklärt Literale für ganze Zahlen Üblicherweise bestehen Literale für ganze Zahlen aus arabischen Ziffern: 0, 1, 2,..., 4711,... Denkbar wäre auch, römische Zahlen zu benutzen: I, II, III, IV, Datentyp: Reelle Zahlen Beispiel 2.2 (Datentyp: Reelle Zahlen). Reelle Zahlen sind die rationalen, algebraischen und transzendenten Zahlen. Die arithmetischen Verknüpfungen sind wie üblich erklärt Datentypen: Zahlen in Rechnern Problem: Die gerade definierten Datentypen können in einem realen Rechner nicht dargestellt werden Jeder Rechner ist endlich

10 10 Liste von Definitionen u.ä. Kann keine unendlich großen Zahlen speichern Endliche Ausschnitte Datentypen in vielen (nicht allen) Programmiersprachen sind immer nur endliche Ausschnitte aus entsprechenden, konzeptionellen Datentypen. Oft ist die Unterscheidung egal Aber manchmal wichtig: Endliche Präzision, endliche Werte Verletzung von Rechenregeln Beispiel: Assoziativitätsgesetz gilt nicht mehr! Zahldarstellung Darstellung von numerischen Datentypen in Rechnern nicht trivial Vorzeichen? Genauigkeit? Platzbedarf?...? Details: Vorlesung Grundlagen technische Informatik Datentyp: str Beispiel 2.3 (Datentyp: str). Strings (kurz: str) sind Aneinandereihungen einzelner Zeichen; sie formalisieren Zeichenketten. Die leere Reihe ist ebenfalls ein String. Zeichen sind durch eine Aufzählung definiert (a, b, c,...). Zwei Strings können durch Addition miteinander verknüpft werden Datentyp: bool Beispiel 2.4 (Datentyp: bool). Der Datentyp bool kennt nur die beiden Werte wahr und falsch, notiert als Literale True bzw. False. Zwei Werte dieses Types können mit and, or,!= verknüpft werden; dies liefert einen Wert vom Typ bool. Auf einen Wert bool kann not angewendet werden. Die Semantik dieser Verknüpfungen ist in den folgenden Tabellen definiert.

11 2.5. Typen Datentyp: bool Semantik der Verknüpfungen Verknüpfung: and b 1 b 2 b 1 and b 2 False False False False True False True False False True True True Siehe auch Vorlesung Modellierung Vergleiche zwischen Werte Viele Datentypen erlauben Vergleiche zwischen Werten Meist: Gleichheit ==, Ungleichheit!= Oft: Kleiner/größer Vergleich Strikt: <, > Mit Gleichheit: <=, >= Definition der Datentypen von oben: ergänzen! Datentyp mit Vergleich Beispiel 2.5 (Datentyp: Ganze Zahlen (ergänzt)). Ganze Zahlen haben den Wertebereich { -,..., -3, -2, -1, 0, 1, 2, 3,...+ }. Die Verknüpfungen +, -, * sind nach üblichen Rechenregeln erklärt. Die Verknüpfung / ist als ganzzahlige Division erklärt. Zwei Zahlen können mit <, <=, >, >=, ==,!= miteinander verglichen werden. Das Resultat eines Vergleichs ist ein Wert des Datentyps bool Beispiel: Vergleich arithmetischer Ausdrücke 1 pingo_title = "Was ist ((5+3*2) < 17-5) and ((1*1) > -1)" 2 pingo_type = "single" 3 pingo_questions = ["Wahr (True)", "Falsch (False)"] 4 pingo_duration = "30" 5 6 %pingo Vereinfachen? Darf man das vereinfachen zu:

12 12 Liste von Definitionen u.ä *2 < 17-5 and 1*1 > -1 Was fehlt? Welche Festlegung fehlt für so eine Vereinfachung? Zusammenfassung: Einfache Datentypen Numerisch: int, float, complex Mit üblichen arithmetischen Operationen Unterschiedliche Repräsentation im Speicher Und bit-für-bit Operationen für int Siehe Details Zeichenkette: str Folge von Unicode-Zeichen Siehe Details Folgen von Bytes, Verknüpfungen unterschiedlicher Typen? Bisher: nur typreine Verknüpfungen betrachtet str und str, int und int Was passiert, wenn wir mischen? Beispiel: Zeichenkette und Zahl 1 "Hallo GP1" Sinnvolle Verknüpfungen? Was wären denn Verknüpfungen mit sinnvoller Semantik? Zeichenkette und Zahl? Multiplikation: Zeichenkette mehrfach hintereinander Zeichenkette oder Zahl und bool???? Zahl und Zahl, genauer: unterschiedliche Zahlen? Ja Zeichenkette und Zahl str und int 1 "Hallo GP1!" * 5

13 2.5. Typen 13 str und float 1 "Hallo GP1!" * Semantik? Sinnlose Semantik, also Fehler Operatoren: Verschiedene Semantik! Achtung 2.1 (Semantik von Operatoren ist typabhängig). Der gleiche Operator kann in Kombination mit unterschiedlichen Typen auftreten. Dadurch erhält der Operator jeweils eine andere Semantik. Man spricht dann von Operator Overloading. Beispiel: Multiplikation 1 3 * 5 1 "Hallo" * Arithmetik? int und float? Implizite Umwandlung, weitgehend problemlos In Python3; andere Programmiersprachen hier ggf. kompliziert Explizite Umwandlung: Runden u.ä. später 1 10 * / // 3

14 14 Liste von Definitionen u.ä. 2.6 Typen in Programmiersprachen Typen in Python 3 Alles hat einen Typ in Python 3 Literale haben stets einen eindeutigen Typ Verknüpfungen zwischen zwei Werten produzieren Wert mit Typ Eindeutig durch Typ der Werte und Verknüpfung bestimmt Folge: Man kann nichts ohne Typ hinschreiben... Typ eines Werts wird im Interpreter explizit repräsentiert Man muss den Typ aber nicht explizit hinschreiben Typisierte Programmiersprache Definition 2.5 (Typisierte Programmiersprache). Eine Programmiersprache heißt typisiert wenn für jeden Wert und Ausdruck nicht nur der Wert selbst sondern auch der Datentyp bekannt ist. Beispiel Python (2 & 3) Java Konvertierung zwischen Typen Typen sind unterschiedlich, aber was, wenn das gleiche Datum repräsentiert wird? Beispiel: int: 9 string: 9 Wie kommt man von string 9 zu int 9? Umgekehrt? Möglich Details: später Bemerkung: Starke vs. schwache Typisierung Definition 2.6 (Schwach typisierte Programmiersprache). Eine Programmiersprache ist schwach typisiert wenn Werte unterschiedlicher, nicht verwandter Typen miteinander verknüpft werden können, ohne dass sie explizit konvertiert werden müssen.

15 2.7. Zusammenfassung 15 Beispiel Eine schwach typisierte Sprache würde erlauben. Aber bedeutet das dann 99 oder 18? Sprache: Perl, C (alte Versionen) Bemerkung: Starke vs. schwache Typisierung (2) Definition 2.7 (Stark typisierte Programmiersprache). Eine Programmiersprache ist stark typisiert wenn Werte unterschiedlicher, nicht verwandter Typen nur dann miteinander verknüpft werden können, wenn sie explizit konvertiert werden. Beispiel Bei starker Typisierung ist nicht möglich Beispiel: Python, Java Ausdrücke und Zustand? Und was ist mit Zustand? Vorheriges Kapitel: Lange Diskussion, Ausführungsmodell,... Ausdrücke verändern den Zustand nicht Und nun? 2.7 Zusammenfassung Zusammenfassung Datentypen legen Werte und Verknüpfungen fest Werte werden durch Literale angegeben Durch Verknüpfungen werden Ausdrücke gebildet Ausdrücken erzeugen neue Werte aus vorhandenen Werten Python ist ein Beispiel für eine Sprache/Umgebung mit einer read-evaluate-print-schleife eine stark typisierte Programmiersprache

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2018/2018. Inhaltsverzeichnis 1

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2018/2018. Inhaltsverzeichnis 1 Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2018/2018 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

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

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

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

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

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

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2017 1 und der Typ bool Typ bool Typ bool Vergleichsoperationen

Mehr

Teil II. Datentypen. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/

Teil II. Datentypen. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/ Teil II Datentypen T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/2018 25 Konzept von Teil II: Datentypen Hinweis: Die Erklärung des Konzepts im Sinne des Constructive

Mehr

Informatik I Information & Daten Repräsentation von Daten

Informatik I Information & Daten Repräsentation von Daten Informatik I Information & Daten Repräsentation von Daten G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Daten & Informationen Menschen sind an Informationen interessiert Computer verarbeiten

Mehr

Informatik Vorkurs - Vorlesung 2

Informatik Vorkurs - Vorlesung 2 Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Teil 3: Daten und Algorithmen Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Übersicht 1. Datendarstellung durch Zeichenreihen 2. Syntaxdefinitionen

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

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

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

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

Mehr

Semantik von Ausdrücken

Semantik von Ausdrücken Ausdrücke Semantik von Ausdrücken Da nun die Syntax von Ausdrücken eindeutig definiert ist, widmen wir uns nun (zunächst wieder informell) deren Semantik. Um die Bedeutung (Semantik) eines Ausdrucks festzulegen,

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

Operatoren in C/C++ und Java:

Operatoren in C/C++ und Java: Operatoren in C/C++ und Java: C/C++/Java hat eine riesige Anzahl von Operatoren (im Vergleich zu anderen Programmiersprachen). Außer den üblichen arithmetischen Operatoren +, -, *, / (und % für Ganzzahlen)

Mehr

Programmieren in Python

Programmieren in Python Ausgaben und Zahlen Programmieren in Python 2. Ausgaben und Zahlen Malte Helmert Albert-Ludwigs-Universität Freiburg In dieser Lektion geht es darum, ein erstes Gefühl für Python zu bekommen. Wir beschränken

Mehr

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp

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

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

Kapitel 2: Ausdrücke. 1. Sorten und abstrakte Datentypen. 2. Ausdrücke 2.1 Syntax 2.2 Semantik 2.3 Ausdrücke in Java. 3. Funktionale Algorithmen

Kapitel 2: Ausdrücke. 1. Sorten und abstrakte Datentypen. 2. Ausdrücke 2.1 Syntax 2.2 Semantik 2.3 Ausdrücke in Java. 3. Funktionale Algorithmen Kapitel 2: Ausdrücke 1. Sorten und abstrakte Datentypen 2. Ausdrücke 2.1 Syntax 2.2 Semantik 2.3 Ausdrücke in Java 3. Funktionale Algorithmen 4. Variablen, Anweisungen, Prozeduren 5. Prozeduraufrufe 54

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin 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 } } Beispiele für Anweisungen Wiederholung Ausgabe

Mehr

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz

Mehr

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Algorithmen & Programmierung. Ausdrücke & Operatoren (1) Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck

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

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

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

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

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Daten und Algorithmen

Daten und Algorithmen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 3 Daten und Algorithmen Skript zur Vorlesung Einführung in die Programmierung g im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

Abschnitt 5: Grundlagen der funktionalen und imperativen Programmierung

Abschnitt 5: Grundlagen der funktionalen und imperativen Programmierung Abschnitt 5: Grundlagen der funktionalen und imperativen Programmierung 5. Grundlagen der funktionalen und imperativen Programmierung 5.1 Sorten und abstrakte Datentypen 5.2 5.3 in Java 5.4 EXKURS: Funktionale

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs C++ Variablen und Datentypen Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =

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

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13 Python Intro Vorsemesterkurs Informatik Praktischer Teil WS2012/13 2.Oktober 2012 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!

Mehr

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.

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

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

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

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder 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.

Mehr

Abschnitt 5: Grundlagen der funktionalen Programmierung

Abschnitt 5: Grundlagen der funktionalen Programmierung Abschnitt 5: Grundlagen der funktionalen Programmierung 5. Grundlagen der funktionalen Programmierung 5.1 Sorten und abstrakte Datentypen 5.2 5.3 in Java 5.4 Funktionale Algorithmen Peer Kröger (LMU München)

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

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

WS2017/ Oktober 2017

WS2017/ Oktober 2017 Ronja Düffel WS2017/18 05. Oktober 2017 mit Python Programmieren (vereinfacht) 1 Problem beschreiben und analysieren 2 Enwicklung und Beschreibung einer Lösung 3 Übertragung/Umsetzung in eine Programmiersprache

Mehr

Grundlagen der Programmierung - Datenstrukturen

Grundlagen der Programmierung - Datenstrukturen Kapitel 6: Grundlagen der Programmierung - Datenstrukturen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Einleitung EBNF Ein Darstellungsmittel für den syntaktischen

Mehr

Operatoren und Ausdrücke

Operatoren und Ausdrücke Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 5. Vorlesung 06.11.2018 1 Zahlendarstellungen 2 Speicherinhalte: Bits Hardware Spannung Ladung Magnetisierung Codierung 0V ungeladen unmagnetisiert 0 5V geladen magnetisiert

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben Zwischenklausur Informatik, WS 206/7 4.2.206 Lösungen zu den Aufgaben. Gegeben sind folgende Dualzahlen in Zweierkomplementdarstellung. Geben Sie den jeweils zugehörigen Dezimalwert an! a) entspricht der

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14

Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14 Python Intro I Vorsemesterkurs Informatik Praktischer Teil WS 2013/14 1.Oktober 2013 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!

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

Kapitel 15: Von dynamischen zu statischen Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

Kapitel 15: Von dynamischen zu statischen Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1 Kapitel 15: Von dynamischen zu statischen Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen

Mehr

3 Syntax von Programmiersprachen

3 Syntax von Programmiersprachen 3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

1. Referenzdatentypen: Felder und Strings

1. Referenzdatentypen: Felder und Strings 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Übung Praktische Informatik I

Übung Praktische Informatik I Übung Praktische Informatik I HWS 2008/2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 24.10.08 6-1 Heutige große Übung Hinweise

Mehr

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

EIGENSCHAFTEN VON SPRACHEN

EIGENSCHAFTEN VON SPRACHEN Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler EIGENSCHAFTEN VON SPRACHEN EWS, WS 2016/17, Pfahler C-1 Einführung Sprachen in der Informatik werden für bestimmte Zwecke

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

Kapitel 4. Programmierung. Skript zur Vorlesung Einführung in die Programmierung. im Wintersemester 2012/13 Ludwig-Maximilians-Universität München

Kapitel 4. Programmierung. Skript zur Vorlesung Einführung in die Programmierung. im Wintersemester 2012/13 Ludwig-Maximilians-Universität München LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Kapitel 4 Grundlagen der funktionale und imperativen Programmierung Skript zur Vorlesung Einführung in die Programmierung g im

Mehr

5.3 Auswertung von Ausdrücken

5.3 Auswertung von Ausdrücken 5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n

Mehr

Kapitel 5: Daten und Operationen

Kapitel 5: Daten und Operationen Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter

Mehr

Quick-Start Informatik Programmieren in Python Teil 1

Quick-Start Informatik Programmieren in Python Teil 1 Quick-Start Informatik 2011 Programmieren in Python Teil 1 Alles zum Praxisteil } Skript, Übungen, auf Folien... http://vorkurs.cs.uni-frankfurt.de Bücher: Gratis: http://learnpythonthehardway.org/ Fragen,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

Kapitel 15: Von dynamischen zu statischen Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2018/2018. Inhaltsverzeichnis 1

Kapitel 15: Von dynamischen zu statischen Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2018/2018. Inhaltsverzeichnis 1 Kapitel 15: Von dynamischen zu statischen Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2018/2018 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen

Mehr

Einführung in die Programmierung Wintersemester 2008/09

Einführung in die Programmierung Wintersemester 2008/09 Einführung in die Programmierung Wintersemester 28/9 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen

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

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren 1 und der Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2015 27. Oktober 2015 B. Nebel Info I 3 / 21 Der Vergleichsoperatoren

Mehr

Projekt 3 Variablen und Operatoren

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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Teil 4: Grundlagen der Programmierung Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Übersicht i 1. Sorten und abstrakte Datentypen 2. Ausdrücke

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen 3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......

Mehr

Einführung in die Informatik. Processing Numbers

Einführung in die Informatik. Processing Numbers Einführung in die Informatik Processing Numbers Wolfram Burgard 5/1 Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Einführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden

Einführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden Motivation Einführung in die Informatik Processing Numbers Wolfram Burgard Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Database Systems Group Prof. Dr. Peer Kröger. Übung 00. Einführung in die Programmierung WS 2016/17

Database Systems Group Prof. Dr. Peer Kröger. Übung 00. Einführung in die Programmierung WS 2016/17 Database Systems Group Prof. Dr. Peer Kröger Übung 00 Einführung in die Programmierung WS 2016/17 Aufgabe 0-4 public class Addition System.out.print("Dieses Programm addiert drei Zahlen. ), int x = 3;

Mehr

WS2018/ Oktober 2018

WS2018/ Oktober 2018 Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts

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

4. Zahlendarstellungen

4. Zahlendarstellungen Bin are Zahlendarstellungen Binäre Darstellung ("Bits" aus {0, 1) 4. Zahlendarstellungen bn bn 1... b1 b0 entspricht der Zahl bn 2n + + b1 2 + b0 Wertebereich der Typen int, float und double Gemischte

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Literalkonstanten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Kapitel 3: Variablen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1. Abbildungsverzeichnis 2

Kapitel 3: Variablen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1. Abbildungsverzeichnis 2 Kapitel 3: Variablen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2 3.1 Überblick...............................

Mehr

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung 2 Wiederholung: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time

Mehr