Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1
|
|
- Kristian Franke
- vor 6 Jahren
- Abrufe
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 Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2
MehrAbschnitt 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)
MehrInformatik 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
MehrKapitel 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
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrKapitel 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
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrJava 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.
MehrInformatik 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
MehrTeil 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
MehrInformatik 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
MehrInformatik Vorkurs - Vorlesung 2
Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs
MehrEinfü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
Mehr2.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",
MehrHello 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?
MehrProf. 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
MehrVariablen. 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
MehrSemantik 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,
MehrSchwerpunkte. 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
MehrOperatoren 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)
MehrProgrammieren 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
MehrKapitel 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
MehrAusdrü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
MehrEinfü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
MehrKapitel 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
Mehrfloat: 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
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe
MehrInformatik 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
MehrAlgorithmen & 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
MehrKapitel 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
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
Mehr2.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
MehrJavaprogrammierung 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
MehrDaten 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
MehrAbschnitt 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
MehrProgrammierkurs 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 Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =
Mehr4. 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;
MehrPython 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!
MehrGanze 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.
MehrTag 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
MehrEinheit 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
MehrProgrammierung 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.
MehrAbschnitt 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)
MehrAbschnitt 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
MehrOperatoren 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
MehrWS2017/ 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
MehrGrundlagen 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
MehrOperatoren 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
MehrGrundlagen 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
MehrModellierung 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
MehrProgrammierkurs 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
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrModul 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
MehrProblem: 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
MehrII. 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
MehrZwischenklausur 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
MehrC-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
MehrPython 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!
MehrGrundlagen 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,
MehrProgrammiervorkurs Einführung in Java Tag 1
Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,
MehrKapitel 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
Mehr3 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
Mehr1. 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
Mehr1. 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
MehrZahlendarstellungen 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 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
MehrTutoraufgabe 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
MehrEIGENSCHAFTEN 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
MehrSoftware 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!
MehrKapitel 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
Mehr5.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
MehrKapitel 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
MehrQuick-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,
MehrEinstieg 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
MehrKapitel 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
MehrEinfü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
Mehr2.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?
Mehr1 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
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrEinfü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
MehrAlgorithmen 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
MehrInhaltsangabe 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......
MehrEinfü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
MehrEinfü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
MehrDatabase 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;
MehrWS2018/ 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) 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
Mehr4. 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
MehrEinstieg 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
MehrPROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
MehrKapitel 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...............................
MehrProgrammieren 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