Grundlagen der Programmierung - Datenstrukturen
|
|
- Ute Koch
- vor 7 Jahren
- Abrufe
Transkript
1 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 Aufbau von Programmiersprachen Datentypen in Python Hauptlernziele: Die grundlegenden Datentypen in Python kennen lernen (ähnlich zu vielen anderen Programmiersprachen) Syntaktischen Aufbau der Literale verschiedener Datentypen verstehen Operationen kennen lernen, die auf Objekte verschiedener Datentypen angewendet werden können 1
2 Daten, Datentypen, Datenstrukturen Daten: Objekte, mit denen ein Programm umgehen soll Datentypen z.b. Zahlen, Zeichenketten, Wahrheitswerte, Felder, ( in vielen Programmiersprachen vordefiniert) z.b. Bilder, Musikstücke, Videos, ( definierbar; z.tl. in Programmbibliotheken definiert) Unterstützung unterschiedlicher Operationen z.b. Addition von Zahlen, aber nicht von Bildern z.b. Komprimierung von Bildern, aber nicht von Zahlen Datenstruktur: Datentyp + Operationen Datenstruktur: Eine Menge gleichartiger Daten, auf denen eine Sammlung von Operationen definiert ist. Eine Operation ist dabei eine Verknüpfung, die einer festen Anzahl von Eingabedaten ein Ergebnis zuordnet. Bsp: Datentypen und Operationen (am Beispiel Python) Eingabe-Prompt Eingabe eines Ausdrucks Ausgabe: Wert des Ausdrucks >>> >>> '1' + '2' '12' >>> Addition von Zahlen Addition von Zahlen Konkatenation von Zeichenketten Konkatenation von Zeichenketten >>> 5 / 2 2 >>> 5.0 / Division von Integer-Zahlen Division von Integer-Zahlen Division von Gleitkommazahlen Division von Gleitkommazahlen 2
3 Wdh: Einfache Datentypen (am Beispiel Python; ähnlich in vielen anderen Programmiersprachen) Ganze Zahlen ("integer"): 1, 2, 5, -100,... auch im Hexadezimalsystem spezifizierbar: 0xA1, 0xFF, 0x3B, Reelle Zahlen ("float"): 0.1, 3.14, 10.0, ,... auch in Exponentialschreibweise: 1.0e-5, 0.5e10, Zeichenketten ("string"): "TU Bergakademie Freiberg",... 'Grundlagen der Informatik' Listen: [1,2,3], ["eins", "zwei", drei"],... Boolean: true, false... EBNF Notation zur Beschreibung von Grammatiken insbesondere Syntax von Programmiersprachen EBNF Extended Backus Naur Form John Backus (1956) Beschreibung von der Syntax von Fortran Peter Naur (1958) Beschreibung von der Syntax von Algol Niklas Wirth (1976) Erweiterte BNF zur Beschreibung von Pascal ISO/ICE-Norm (1996) Standard für EBNF Grammatiken 3
4 EBNF Komponenten von EBNF-Grammatiken Terminalsymbole in Python z.b. "1", "2", "print", "for", "if" Nichtterminalsymbole ein Startsymbol (aus der Menge der Nichtterminalsymbole) Regeln der Form: LHS ::= RHS, wobei LHS (left-hand-side) ist Nichtterminalsymbol RHS (right-hand-side) ist Ausdruck aus Terminal, Nichtterminalsymbolen, Operatoren und Klammern Bedeutung: LHS kann durch RHS ersetzt werden z.b. Regel digit ::= "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" d.h. digit kann durch eines der Zeichen "0"... "9" ersetzt werden EBNF - Operatoren Auswahl senkrechter Strich bezeichnet Auswahlmöglichkeit lies als "oder" z.b. digit ::= "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" oder abkürzend digit ::= "0" "9" d.h. eine Ziffer (digit) ist das Zeichen 0, oder das Zeichen 1, oder das Zeichen 2, usw. 4
5 EBNF - Operatoren Wiederholung + Pluszeichen + bezeichnet das mehrfache Vorkommen eines Symbols z.b. ba+ steht für ba, baa, baaa, baaaa, Sternoperator * Der Stern * bedeutet, dass ein Symbol n-mal, n 0, vorkommt z.b. ba* steht für b, ba, baa, baaa, baaaa, Option [] Kennzeichnung optionaler Symbole in einem Ausdruck z.b. a[b]c steht für ac oder abc Gruppierung () Runde Klammern dienen der Gruppierung von Symbolen z.b. a(b B)c steht für abc oder abc EBNF - Beispiel Gegeben seien die Regeln (R1) fraction ::= "." digit+ (R2) digit ::= "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" Ableitung von ".14" aus fraction Start: fraction Anwendung von (R1): "." digit+ Expansion +-Operator: "." digit digit Anwendung von (R2): "." "1" digit Anwendung von (R2): "." "1" "4" Vereinfachte Schreibweise: ".14" 5
6 Übersicht: Die wichtigsten Datentypen in Python Datentypen Zahlen Kollektionen bool, False NoneType None Ganze Zahlen float complex j Sequenzen Mengen Abbildungen int Unveränderbaderbar Verän- set dict 123 set( [1,2]) ( A :65, B :66) long str unicode tuple L Wort u Wort (1, a, [2]) list [1, a, [2]] frozenset frozenset( [1,2]) Datentyp bool Darstellung von Wahrheitswerten Literale False Operationen and, or, not gleich (==), ungleich (!=) Verwendung oft in Bedingungen >>> >>> not False >>> and >>> and False False >>> or >>> or False >>> 12 > 9 >>> 2*3 == 6 >>> 2*3 == 5 False >>> if 2 == 2:... print 'gleich'... gleich 6
7 Datentyp bool and False False False False False or False False False >>> >>> not False >>> and >>> and False False >>> or >>> or False Datentypen int und long Darstellung ganzer Zahlen Datentyp int Werte repräsentiert durch mind. 32 Bit (neue Prozessoren auch 64 Bit) Wertebereich (oder höher bei 64 Bit) Datentyp long beliebig lange Zahlen Syntax: Ziffernfolge mit angehängtem 'l' oder 'L' Ganze Zahlen größer als (bzw. kleiner als ) werden von Python automatisch als long interpretiert >>> >>> 12L 12L >>> type(12) <type 'int'> >>> type(12l) <type 'long'> >>> >>> L >>> type( ) <type 'int'> >>> type( ) <type 'long'> Die Standardfunktion type() liefert den Datentyp eines Ausdrucks oder einer Variable. 7
8 Darstellung ganzer Zahlen: Datentypen int und long Darstellung ganzer Zahlen in unterschiedlichen Zahlensystemen Dezimalsystem Literale fangen nie mit 0 an außer 0 selbst z.b. 11, 9 Oktalsystem Literale beginnen mit 0 Ziffern 0 7 z.b. 011 Hexadezimalsystem Literale beginnen mit 0x oder 0X Ziffern 0 9, A F z.b. 0x11, 0xA9 >>> 9 9 >>> >>> 09 Traceback ( File "<interactive input>", line 1 09 ^SyntaxError: invalid token >>> 0xA 10 Datentypen int und long EBNF longinteger ::= integer ("l" "L") integer ::= decimalinteger octinteger hexinteger decimalinteger ::= nonzerodigit digit* "0" octinteger ::= "0" octdigit+ hexinteger ::= "0" ("x" "X") hexdigit+ digit ::= "0"..."9" nonzerodigit ::= "1"..."9" octdigit ::= "0"..."7" hexdigit ::= Prof. B. Jung Einführung digit in die Informatik, "a"..."f" WS 2007/08 "A"..."F" TU Bergakademie Freiberg 8
9 Darstellung rationaler Zahlen: Datentyp float Darstellung rationaler Zahlen "Gleitkommazahlen" Darstellungsformen: als Dezimalbruch (pointfloat) z.b. 3.12, 0.1, 1.0 in Exponentialschreibweise falls Zahl sehr nahe bei Null oder sehr groß z.b. 1.0e-5 (entspricht ) z.b. 1e2 (entspricht 100) begrenzte Genauigkeit interne Darstellung von Gleitkommazahlen ist begrenzt auf feste Anzahl von Stellen >>> >>> >>> >>> 1e >>> 1e >>> 1e-8 1e-008 >>> e-008 >>> Datentypen float EBNF floatnumber ::= pointfloat exponentfloat pointfloat ::= [intpart] fraction intpart "." exponentfloat ::= (intpart pointfloat) exponent intpart ::= fraction ::= digit+ "." digit+ exponent ::= ("e" "E") ["+" "-"] digit+ 9
10 Datentyp complex Darstellung komplexer Zahlen in Mathematik: Summe aus Real- und Imaginärteil, z.b. 1+2i Buchstabe i bezeichnet Wurzel von -1 in Python: 1 + 2j Realteil kann weggelassen werden, falls 0 EBNF (Imaginärteil) imagnumber ::= (floatnumber intpart) ("j" "J") Beispiele >>> j ( j) >>> 20j 20j Operationen auf Zahlen Operator Erläuterung Beispielterm Ergebnis ** Potenz 2**3 8 - Negatives Vorzeichen (unär) Positives Vorzeichen (unär) +1 1 * Multiplikation 2.0*2 4.0 / Division 4.0 / % Rest der ganzzahligen Division (modulo) 5 % Addition (2+2j) + (3+4j) (5 + 6j) - Subtraktion
11 Sequenzen Sequenz Container-Objekt (Kollektion), in dem eine Folge von Objekten zusammengefasst ist Elemente sind von 0 beginnend durchnummeriert s[2] s[5] s index Arten von Sequenzen in Python: Zeichenketten, Tupel, Listen Darstellung von Zeichenketten: Datentyp str Darstellung von Zeichenketten nur ASCII-Zeichen erlaubt Kurze Zeichenketten Definition in einer Programmzeile eingeschlossen in Hochkommata ' oder Anführungszeichen " Lange Zeichenketten können sich über mehrere Programmzeichen erstrecken eingeschlossen in dreifache Hochkommata ''' oder Anführungszeichen """ >>> "eins zwei drei" 'eins zwei drei' >>> 'vier fuenf sechs' 'vier fuenf sechs' >>> type("vier fuenf sechs") <type 'str'> >>> """Die Ewigkeit dauert lange, besonders gegen Ende. (Woody Allen)""" 'Die Ewigkeit dauert lange,\nbesonders gegen Ende. (Woody Allen)' 11
12 Darstellung von Zeichenketten: Datentyp unicode Darstellung von Zeichenketten mit Unicode-Strings auch nicht-ascii-zeichen erlaubt Darstellung von Literalen wie bei str-zeichenketten, mit vorangestelltem u >>> type(u'unicode-string') <type 'unicode'> >>> print u"\n{cyrillic CAPITAL LETTER ZHE}" Ж Datentyp tuple Tupel fasst mehrere Objekte, u.u. unterschiedlichen Typs, zu einem komplexen Objekt zusammen mathematische Schreibweise: z.b. (1,2,3) Beispiele >>> (1,2,3) (1, 2, 3) >>> ("Ampel", 3, ("rot", "gelb", "gruen") ) ('Ampel', 3, ('rot', 'gelb', 'gruen')) >>> type( (1,2,3) ) <type 'tuple'> >>> () # leerer Tupel () 12
13 Datentyp list Darstellung von Listen Listen enthalten oft Elemente vom gleichen Typ können aber auch Elemente unterschiedlichen Typs enthalten Inhalt von Listen kann zur Laufzeit verändert werden i.ggs. zu Tupeln, Zeichenketten Darstellung in Python durch eckige Klammern [] Beispiele >>> [1,2,3,4,5] [1, 2, 3, 4, 5] >>> ["Morgen", "Mittag", "Abend"] ['Morgen', 'Mittag', 'Abend'] >>> ["Abend", 2, 1.0, ['a', 'b'] ] ['Abend', 2, 1.0, ['a', 'b']] >>> type([1,2]) <type 'list'> Einige Operationen auf Sequenzen Zugriff auf Elemente mittels Index in eckigen Klammern Konkatenation mittels Operator + Bestimmung der Länge mittels Standardfunktion len() Vervielfältigung mittels Multiplikations-operator * >>> rgb = ("rot", "gruen", "blau") >>> rgb[1] 'gruen' >>> "Informatik"[0] 'I' >>> primzahlen = [2,3,5,7,11,13] >>> primzahlen[5] 13 >>> 'Berg' + 'akademie' 'Bergakademie' >>> [1,2,3]+[4] [1, 2, 3, 4] >>> len( [1,2,3] ) 3 >>> len('bergakademie') 12 >>> 20*'.' '...' >>> ('an','aus') * 3 ('an', 'aus', 'an', 'aus', 'an', 'aus') 13
14 Datentypen set und frozenset Darstellung von Mengen Menge = ungeordnete Kollektion ohne Duplikate set-objekte sind veränderbar frozenset-objekte sind unveränderbar Operationen Durchschnitt & Vereinigung Differenz Beispiele >>> set( [1,2]) set([1, 2]) >>> set([1,2,1,2]) # Duplikate? set([1, 2]) >>> set([1,2]) & set([2,3]) # Durchschnitt set([2]) Datentyp dict Dictionary Kollektion von Schlüssel-Wert-Paaren d.h. Abbildung von Schlüsseln auf Werte Zugriff auf Elemente der Kollektion über Schlüssel >>> woerterbuch = {"sun":"sonne", "moon":"mond", "star":"stern"} >>> woerterbuch["sun"] 'Sonne' >>> type(woerterbuch) <type 'dict'> 14
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
MehrKapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 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.ä. 2
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
MehrKapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
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 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
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
MehrSprachen sind durch folgenden Aufbau gekennzeichnet:
BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder
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
MehrJava für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner
MehrJava für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
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
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
MehrPython Einführung. Monica Selva Soto. 24 März Mathematisches Institut
Mathematisches Institut mselva@math.uni-koeln.de 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Variablen Datentypen Werte Ausdrücke Operatoren
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
MehrKapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
Mehr3.4 Struktur von Programmen
3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*
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
Mehr7. Syntax: Grammatiken, EBNF
7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik
Mehr1. 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
Mehr1. 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
Mehr1 Syntax von Programmiersprachen
1 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 Programmier-Sprache Festlegung, wie Programme
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).
MehrAbschnitt 4: Daten und Algorithmen
Abschnitt 4: Daten und Algorithmen 4. Daten und Algorithmen 4.1 4.2 Syntaxdefinitionen 4.3 Eigenschaften von Algorithmen 4.4 Paradigmen der Algorithmenentwicklung Peer Kröger (LMU München) Einführung in
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrEinfü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
MehrBeispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen
Beispiele elementarer Datentypen Ganze Zahlen (integer) - Werte sind ganze Zahlen in vorgegebenen Bereich (z. B. -2 31 bis 2 31-1) - Übliche Operationen: Arithmetik (z. B. +,-,*, Division mit Rest, Rest
MehrAlphabet, 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
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
MehrGrundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs
Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Über diesen Kurs 2. Der Python Interpreter 3. Python Scripte 4. Grundlagen der Sprache 5. Das erste Programm 6. Operatoren
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)
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.
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrProgrammierkurs I. Gliederung: Deklarationsteil als BNF 2. Blöcke in Ada95 (Lebenszeit, Sichtbarkeit von Variablen)
Programmierkurs I 11.11.2002 Gliederung: 1. Deklarationsteil als BNF 2. Blöcke in Ada95 (Lebenszeit, Sichtbarkeit von Variablen) EBNF: Wiederholung Die EBNF (Erweiterte Backus-Naur-Form) wurde in der Vorlesung
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Mengen)
WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Mengen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16
MehrAlgorithmen und ihre Programmierung
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines
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.
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
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",
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
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
MehrEinstieg in die Informatik mit Java
1 / 30 Einstieg in die Informatik mit Java Datentypen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 30 1 Überblick 2 Ganzzahlige Typen 3 Gleitkommatypen 4 Zeichen, char
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrFunktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik
MehrKapitel IV Formale Sprachen und Grammatiken
Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist
MehrEinführung in die Informatik. Programming Languages
Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Cyrill Stachniss 1/15 Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens
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
MehrTag 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
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
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
MehrAlgorithmen und Programmieren II Einführung in Python (Teil 2)
Einführung in Python Algorithmen und Programmieren II Einführung in Python (Teil 2) SS 2012 Prof. Dr. Margarita Esponda ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 1 Variablen in Python Variablen
MehrEinführung in die Programmierung EBNF. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung EBNF Thomas R. Gross Department Informatik ETH Zürich Übersicht Es gibt vier elementare Ausdrucksmöglichkeiten in EBNF Sie lernen EBNF Beschreibungen zu lesen
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
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE3-Syntaxdiagramme (Stand 05.11.2010) Aufgabe 1: Entwickeln Sie Regeln zur Übersetzung von EBNF in Syntaxdiagramme. Aufgabe 2: Eine Zahl ist entweder
MehrFormale Sprachen, reguläre und kontextfreie Grammatiken
Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache
MehrKapitel 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
MehrPraktische Eine Einführung
Gregor Büchel Praktische Eine Einführung Lehr- und Arbeitsbuch mit Tafelbildern Mit 65 Abbildungen und Tabellen Springer Vorwort V 1 Was ist Informatik? 1 1.1 Datenflusspläne 2 1.1.1 Symbole eines 2 1.1.2
MehrInhalt Kapitel 11: Formale Syntax und Semantik
Inhalt Kapitel 11: Formale Syntax und Semantik 1 Abstrakte und konkrete Syntax 2 Lexikalische Analyse 3 Formale Sprachen, Grammatiken, BNF 4 Syntaxanalyse konkret 266 Abstrakte und konkrete Syntax Abstrakte
MehrProgrammierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014
Programmierung Tina Wegener, Ralph Steyer 2. Ausgabe, 1. Aktualisierung, April 2014 Grundlagen PG 6 Programmierung - Grundlagen 6 Grundlegende Sprachelemente In diesem Kapitel erfahren Sie was Syntax und
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
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
MehrEinfü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
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
MehrFunktionale Programmierung Grundlegende Datentypen
Grundlegende Datentypen Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 06.11.2017 16:45 Inhaltsverzeichnis Typen........................................
Mehr4. Induktives Definieren - Themenübersicht
Induktives Definieren 4. Induktives Definieren - Themenübersicht Induktives Definieren Natürliche Zahlen Operationen auf natürlichen Zahlen Induktive Algorithmen Induktiv definierte Mengen Binärbäume Boolesche
MehrGrundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
MehrEinführung in die Informatik I
Einführung in die Informatik I Einige wichtige Datenstrukturen: Vektor, Matrix, Liste, Stapelspeicher, Warteschlange Prof. Dr. Nikolaus Wulff Datenstruktur / Datentyp Programme benötigen nicht nur effiziente
MehrGrundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke
Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher
MehrInhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen
2. Grundlagen Inhalt 2.1 Darstellung von Zahlen 2.2 Darstellung von Zeichen 2.3 Boolesche Algebra 2.4 Aussagenlogik 2 2.1 Darstellung von Zahlen Im Alltag rechnen wir gewöhnlich im Dezimalsystem, d.h.
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.
Mehr2. Vorlesung: Boolesche Algebra
2. Vorlesung: Boolesche Algebra Wiederholung Codierung, Decodierung Boolesche Algebra UND-, ODER-Verknüpfung, Negation Boolesche Postulate Boolesche Gesetze 1 Wiederholung 2 Bits und Bitfolgen Bit: Maßeinheit
MehrVorlesung Programmieren
Vorlesung Programmieren 2. Typen und Variablen 27.10./03.11.2014 Prof. Dr. Ralf H. Reussner Version 1.2 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
MehrGrunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken
Typkonversion, Überprüfen und Auswerten von Ausdrücken Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Grunddatentypen
MehrTheorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie
Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung
MehrEinstieg in die Informatik mit Java
1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrWo sind wir? Übersicht lexikale Struktur von Java
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
MehrMotivation und Überblick
Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ
MehrEinleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
MehrVariablen, Konstanten und Datentypen
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick
Mehr\\//_. 18. Mai Goethe-Gymnasium Sebnitz. Datenstrukturen und Datentypen \\//_. Datentypen und. Datenstrukturen. einfache Datentypen
und und und Goethe-Gymnasium Sebnitz 18. Mai 2014 Gliederung und und 1 und 2 3 Sinn und Zweck und und Für das Programmieren und auch das Benutzen von Anwendungsprogrammen ist es von Bedeutung, welcher
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
MehrReguläre Ausdrücke. Michael Jäger. 4. April 2017
Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,
MehrJAVA 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
MehrInformationsdarstellung 2.2
Beispiele für die Gleitkommadarstellung (mit Basis b = 2): 0,5 = 0,5 2 0-17,0 = - 0,53125 2 5 1,024 = 0,512 2 1-0,001 = - 0,512 2-9 3,141592... = 0,785398... 2 2 n = +/- m 2 e Codierung in m Codierung
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
Mehr7. Formale Sprachen und Grammatiken
7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)
Mehr1. Informationsdarstellung. Darstellung und Bedeutung. Darstellung und Bedeutung. Interpretation ??? 1. Kapitel
Wintersemester 207/208. Informationsdarstellung Äquivalente Information in verschiedenen Darstellungen: Schrift: Die Katze sitzt am Fenster Bild Sprache Zeichensprache. Kapitel Prof. Matthias Werner Professur
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
MehrZahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär
Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten
Mehr