Algebraische Spezifikation von Software und Hardware II
|
|
- Nicolas Walter
- vor 6 Jahren
- Abrufe
Transkript
1 Algebraische Spezifikation von Software und Hardware II Markus Roggenbach Mai 2008
2 3. Signaturen
3 3. Signaturen 2 Grundlegende Frage Wie lassen sich Interfaces beschreiben? Signaturen = Sammlung aller bekannten Symbole
4 3. Signaturen 3 Mathematische Definition einer Signatur Eine Signatur Σ = (S, T F, P F, P ) besteht aus einer Menge S von Sortensymbolen einer Menge T F von totalen Funktionssymbolen einer Menge P F von partiellen Funktionssymbolen einer Menge P von Prädikatssymbolen wobei...
5 Mathematische Definition einer Signatur 4 die Elemente in T F, P F und P jeweils aus einem Namen und einem Profil bestehen und T F P F =.
6 Mathematische Definition einer Signatur 5 Namen und Profile Ein totales Funktionssymbol aus T F hat die Form: f : s 1 s 2... s n s Ein partielles Funktionssymbol aus P F hat die Form: f : s 1 s 2... s n?s Ein Pädikatssymbol aus P hat die Form: p : s 1 s 2... s n s 1, s 2,... s n, s S, n N, f und p sind Strings.
7 Mathematische Definition einer Signatur 6 wir schreiben oft Anmerkung f <s1,s 2,...,s n >,s anstelle von f : s 1 s 2... s n s oder auch f T F <s1,s 2,...,s n >, s f <s1,s 2,...,s n >,s anstelle von f : s 1 s 2... s n?s oder auch f P F <s1,s 2,...,s n >, s p <s1,s 2,...,s n > anstelle von p : s 1 s 2... s n oder auch p P <s1,s 2,...,s n >
8 3. Signaturen 7 Telephonbuch S = { Database, String, Number } T F = { initial: Database, update: Database String Number Database } P F = { look up: Database String? Number } P = {}
9 3. Signaturen 8 Signaturen von Java Datentypen byte, int, long are among Java s integral types. The Java programming language provides a number of operators that act on integral values: * The comparison operators, which result in a value of type boolean: o The numerical comparison operators <, <=, >, and >= o The numerical equality operators == and!= * The numerical operators, which result in a value of type int or long: o The unary plus and minus operators + and - o The multiplicative operators *, /, % (J.Gosling, et al: The Java Language Specification)
10 Signaturen von Java Datentypen 9 Negation ( in Gosling) For integer values, negation is the same as subtraction from zero. The Java programming language uses two s-complement representation for integers, and the range of two s-complement values is not symmetric, so negation of the maximum negative int or long results in that same maximum negative number. Overflow occurs in this case, but no exception is thrown.
11 Signaturen von Java Datentypen 10 Division ( in Gosling) Integer division rounds toward 0. That is, the quotient produced for operands n and d that are integers after binary numeric promotion is an integer value q whose magnitude is as large as possible... There is one special case that does not satisfy this rule: if the dividend is the negative integer of largest possible magnitude for its type, and the divisor is -1, then integer overflow occurs and the result is equal to the dividend. Despite the overflow, no exception is thrown in this case. On the other hand, if the value of the divisor in an integer division is 0, then an ArithmeticException is thrown.
12 Signaturen von Java Datentypen 11 Remainder operation ( in Gosling) The remainder operation for operands that are integers after binary numeric promotion produces a result value such that (a/b)*b+(aa. This identity holds even in the special case that the dividend is the negative integer of largest possible magnitude for its type and the divisor is -1 (the remainder is 0).... If the value of the divisor for an integer remainder operator is 0, then an ArithmeticException is thrown.
13 Signaturen von Java Datentypen 12 S = {byte, bool, int} Signatur von byte T F = { <, <=, >, <, ==,! = : byte byte bool, +, : byte int, : byte byte int, } P F = { /, % : byte byte?int} P = {}
14 3. Signaturen 13 Symbol- Klassifikation Sorten Klassifikation der vorkommenden Objekte Funktionssymbole Berechnungen, klassifiziert nach: liefert stets ein Resultat totales Funktionssymbol Berechnung kann auch fehlschlagen partielles Funktionssymbol Prädikate Tests
15 3. Signaturen 14 Logisches Und als Funktion und als Gatter S =? T F =? P F =? P =?
16 3. Signaturen 15 (Brett)Spiel S =? T F =? P F =? P =?
17 3. Signaturen 16 Editor S =? T F =? P F =? P =?
18 3. Signaturen 17 Java-Compiler S =? T F =? P F =? P =?
19 3. Signaturen 18 javac -help javac -help Usage: javac <options> <source files> where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,source} Generate only some debugging info...
20 3. Signaturen 19 javac: Fehlermeldung imp0]$ javac T_db2.java T_db2.java:191: cannot resolve symbol symbol : variable next location: class Db_aux db_ptr = db_ptr.next; ^ 1 error
21 3. Signaturen 20 Filtern von Web-Logs S =? T F =? P F =? P =?
22 3. Signaturen 21 CASL-Syntax NAMED-SPEC ::= spec SPEC-NAME = BASIC-SPEC end/ spec SPEC-NAME = SPEC-NAME then SPEC-NAME then... then BASIC-SPEC end/ BASIC-SPEC ::= BASIC-ITEMS...BASIC-ITEMS BASIC-ITEMS ::= SIG-ITEMS... SIG-ITEMS ::= sort/sorts SORT-ITEM ;...; SORT-ITEM ;/ op/ops OP-ITEM ;...; OP-ITEM ;/ pred/preds PRED-ITEM;...; PRED-ITEM;/
23 CASL-Syntax 22 SORT-ITEM ::= SORT,..., SORT OP-ITEM ::= OP-NAME,..., OP-NAME : OP-TYPE... OP-TYPE ::= SOME-SORTS -> SORT SOME-SORTS ->? SORT SORT? SORT SOME-SORTS ::= SORT *...* SORT PRED-ITEM ::= PRED-NAME,..., PRED-NAM : PRED-TYPE... PRED-TYPE ::= SORT *...* SORT ()
24 3. Signaturen 23 Konzepte versus Konstrukte Konzept: mathematische Definition Konstrukt: Phrase in CASL hat das Konzept als seine Semantik
25 Konzepte versus Konstrukte 24 S = { Database, String, Number } Telphonbuch in CASL T F = { initial: Database, update: Database String Number Database } P F = { look up: Database String? Number } P = {} spec Database = sorts Database; String; Number ops initial : Database; look up : Database String? Number; update : Database String Number Database end
26 Konzepte versus Konstrukte 25 Und das Ganze in ASCII spec Database = sorts Database, String, Number ops initial: Database; look_up: Database * String ->? Number update: Database * String * Number -> Database end
27 Konzepte versus Konstrukte 26 S = { Int } T F = { : Int Int, + : Int Int Int, : Int Int Int } P F = { / : Int Int? Int, div : Int Int? Int } Integer in CASL P = { even : Int ismultipleof : Int Int } spec Integer = sort Int ops : Int Int; +, : Int Int Int /, div : Int Int? Int preds even : Int; ismultipleof : Int Int end
28 4. Algebren
29 4. Algebren 28 Grundlegende Frage: Algebren Gegeben: Interface (= Signatur) Welche Programme passen zu einem Interface? Algebren
30 4. Algebren 29 Sigma-Algebra Sei Σ = (S, T F, P F, P ) eine Signatur. Eine Σ-Algebra A gibt Interpretationen der Symbole der Signatur. Konkret: A(s) ist eine Menge für s S. A(f) ist eine totale Funktion für f T F wobei A(f) : A(s 1 ) A(s 2 )... A(s n ) A(s) für f : s 1 s 2... s n s
31 4. Algebren 30 A(f) ist eine partielle Funktion für f P F wobei A(f) : A(s 1 ) A(s 2 )... A(s n ) A(s) für f : s 1 s 2... s n?s A(p) ist eine Menge für p P wobei für p : s 1 s 2... s n A(p) A(s 1 ) A(s 2 )... A(s n )
32 4. Algebren 31 Anmerkungen I 1. Sei f ein partielles Funktionssymbol. Dann darf darf überall definiert sein. 2. Die Menge A(f) A(p) enthält die gerade die Werte fuer die das Prädikatssymbol p in der Algebra A wahr ist.
33 4. Algebren 32 Anmerkungen II Jedes (sequentielle) Programm kann als Σ-Algebra aufgefa st werden.
34 4. Algebren 32 Anmerkungen II Jedes (sequentielle) Programm kann als Σ-Algebra aufgefa st werden. Nicht jede Σ-Algebra kann durch ein Programm repräsentiert werden.
35 4. Algebren 33 Anmerkungen III Spezifizieren ist allgemeiner als Programmieren.
36 4. Algebren 33 Anmerkungen III Spezifizieren ist allgemeiner als Programmieren. ABER: Spezifikationssprachen sind i.d.r. einfacher als Programmiersprachen.
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
MehrIntroduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016
to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you
MehrKonzepte von Programmiersprachen
Konzepte von Programmiersprachen Kapitel 3: Ausdrücke Phillip Heidegger Universität Freiburg, Deutschland SS 2009 Phillip Heidegger (Univ. Freiburg) Konzepte von Programmiersprachen KvP 1 / 17 Inhalt Let
MehrProgrammentwicklung ohne BlueJ
Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie
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
MehrÜbungsstunde: Informatik 1 D-MAVT
Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 21.03.2018 1 Ablauf Quiz und Recap Floating Point
MehrProgrammieren in Java
Programmieren in Java Vorlesung 01: I/O und einfache Operationen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrEXCEL VBA Cheat Sheet
Variable Declaration Dim As Array Declaration (Unidimensional) Dim () As Dim ( To ) As
MehrUnit 1. Motivation and Basics of Classical Logic. Fuzzy Logic I 6
Unit 1 Motivation and Basics of Classical Logic Fuzzy Logic I 6 Motivation In our everyday life, we use vague, qualitative, imprecise linguistic terms like small, hot, around two o clock Even very complex
MehrFundamentals of Electrical Engineering 1 Grundlagen der Elektrotechnik 1
Fundamentals of Electrical Engineering 1 Grundlagen der Elektrotechnik 1 Chapter: Operational Amplifiers / Operationsverstärker Michael E. Auer Source of figures: Alexander/Sadiku: Fundamentals of Electric
MehrUnit 4. The Extension Principle. Fuzzy Logic I 123
Unit 4 The Extension Principle Fuzzy Logic I 123 Images and Preimages of Functions Let f : X Y be a function and A be a subset of X. Then the image of A w.r.t. f is defined as follows: f(a) = {y Y there
MehrIntroduction FEM, 1D-Example
Introduction FEM, D-Example /home/lehre/vl-mhs-/inhalt/cover_sheet.tex. p./22 Table of contents D Example - Finite Element Method. D Setup Geometry 2. Governing equation 3. General Derivation of Finite
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
MehrÜbersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows
Übersicht Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Integer Overflows Format-String-Angriffe (SQL) Injection Cross Site Scripting
MehrWie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
Mehrp^db=`oj===pìééçêíáåñçêã~íáçå=
p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for
MehrWTFJS? EnterJS 2014. Matthias Reuter / @gweax
WTFJS? EnterJS 2014 Matthias Reuter / @gweax Grafik: Angus Croll @angustweets 0.1 + 0.2» 0.30000000000000004 CC-BY-SA https://www.flickr.com/photos/keith_and_kasia/7902026314/ Computer! Binärsystem! Endliche
MehrOrder Ansicht Inhalt
Order Ansicht Inhalt Order Ansicht... 1 Inhalt... 1 Scope... 2 Orderansicht... 3 Orderelemente... 4 P1_CHANG_CH1... 6 Function: fc_ins_order... 7 Plug In... 8 Quelle:... 8 Anleitung:... 8 Plug In Installation:...
MehrExercise 3. Data Types and Variables. Daniel Bogado Duffner - n.ethz.ch/~bodaniel. Informatik I für D-MAVT
Exercise 3 Data Types and Variables Daniel Bogado Duffner - bodaniel@student.ethz.ch n.ethz.ch/~bodaniel Informatik I für D-MAVT Agenda Quiz Feedback Übung 2/Recap Variables Declaration and assignment
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
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
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
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
Mehr2.3 Spezifikation von Abstrakten Datentypen
Abstrakte Datentypen (ADT) 2.3 Spezifikation von Abstrakten Datentypen Sichtbare Schnittstelle: Typbezeichner Signaturen der Operationen Spezifikation der Operationen Abstraktionsbarriere Implementierung
MehrDatentypen: integer, char, string, boolean
Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,
MehrBayesian Networks. Syntax Semantics Parametrized Distributions Inference in Bayesian Networks. Exact Inference. Approximate Inference
Syntax Semantics Parametrized Distributions Inference in Exact Inference Approximate Inference enumeration variable elimination stochastic simulation Markov Chain Monte Carlo (MCMC) 1 Includes many slides
MehrAusarbeitung Iteration I
Ausarbeitung Iteration I Domain Model siehe [Lar02], Kap. 0 2 Domain Model Illustriert relevante Konzepte des Problembereichs Das wichtigste Dokument in OOA (Use-Cases sind nicht OO; Use-Cases sind ein
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
MehrListElement (E i n f o, ListElement<E> prev, ListElement<E> next ) {
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 11 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
MehrÜbung 3: VHDL Darstellungen (Blockdiagramme)
Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei
MehrExercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrGrundlagen der Programmierung in C++ Kontrollstrukturen
Block Keine Kontrollstruktur im eigentlichen Sinn Grundlagen der Programmierung in C++ Kontrollstrukturen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Dient
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
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
Mehr19. STL Container Programmieren / Algorithmen und Datenstrukturen 2
19. STL Container Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen STL Container: Übersicht
MehrScala. Funktionale (Zustandslose) Objekte
Scala Funktionale (Zustandslose) Objekte Agenda Was sind Funktionale Objekte? veränderliche Objekte vs. unveränderliche Objekte Klassen Parameter Konstruktoren Private Member Methoden und Operatoren Overriding
MehrUnified-E Standard WebHttp Adapter
Unified-E Standard WebHttp Adapter Version: 1.5.0.2 und höher Juli 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Symbolische Adressierung... 3 3.1 ReadValues-Methode... 4 3.2 WriteValues
Mehrp^db=`oj===pìééçêíáåñçêã~íáçå=
p^db=`oj===pìééçêíáåñçêã~íáçå= How to Disable User Account Control (UAC) in Windows Vista You are attempting to install or uninstall ACT! when Windows does not allow you access to needed files or folders.
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
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
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
MehrKnowledge-Based system. Inference Engine. Prof. Dr. T. Nouri.
12.01.2008 Knowledge-Based system Inference Engine Prof. Dr. T. Nouri Taoufik.Nouri@FHN.CH 2 / 30 Inhalt Grundlagen Wozu Inference? Aufbau Knowledge Based System Strategien für Folgerungen Suchstrategien
MehrGrundlagen der Programmierung in C Klassen
Grundlagen der Programmierung in C Klassen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple address pointer reference structured integral
MehrUnit 6. Fuzzy Inference. Fuzzy Logic I 159
Unit 6 Fuzzy Inference Fuzzy Logic I 159 Motivation Our ultimate goal is to be able to proceed IF-THEN rules involving vague linguistic expressions which are modeled by fuzzy sets. Question: What is still
MehrSWP Funktionale Programme
SWP Funktionale Programme Berhard Aichernig und Alexander Felfernig Institut für Softwaretechnologie {bernhard.aichernig,alexander.felfernig}@ist.tugraz.at Institute for Software Technology Inhalt Einfache
MehrÜbersetzen des Quelltexts in ausführbaren Maschinen-Code Translation of source code into executable machine code
Informatik II D-BAUG Self-Assessment, 2. März 2017 Lösung Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
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
MehrExercise 4. Logical Operators and Branching. Daniel Bogado Duffner - n.ethz.ch/~bodaniel. Informatik I für D-MAVT
Exercise 4 Logical Operators and Branching Daniel Bogado Duffner - bodaniel@student.ethz.ch n.ethz.ch/~bodaniel Informatik I für D-MAVT Feedback/Quiz Branching (Bedingte Anweisung und Verzweigung) Relational
MehrEin Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten. Click here if your download doesn"t start automatically
Ein Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten Click here if your download doesn"t start automatically Ein Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten Ein Stern in dunkler
MehrDer Beginn einer wunderbaren Freundschaft von Stefan Schnell
Der Beginn einer wunderbaren Freundschaft von Stefan Schnell Polyglottes programmieren, also programmieren in mehreren Sprachen, ist ein eher ungewöhnliches Szenario. Programmiersprachen bieten im Regelfall
MehrShock pulse measurement principle
Shock pulse measurement principle a [m/s²] 4.0 3.5 3.0 Roller bearing signals in 36 khz range Natural sensor frequency = 36 khz 2.5 2.0 1.5 1.0 0.5 0.0-0.5-1.0-1.5-2.0-2.5-3.0-3.5-4.0 350 360 370 380 390
MehrBasiskonstrukte von Haskell
Basiskonstrukte von Haskell PD Dr. David Sabel Goethe-Universität Frankfurt am Main 29. September 2015 Basistypen und Operationen Ganzzahlen: Int = Ganzzahlen beschränkter Länge Integer = Ganzzahlen beliebiger
MehrObjektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer
Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;
MehrAutomatentheorie und formale Sprachen endliche Automaten
Automatentheorie und formale Sprachen endliche Automaten Dozentin: Wiebke Petersen 13.5.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 What we know so far about formal languages
MehrTeam Developer 6.3.NET
Team Developer 6.3.NET Helmut Reimann Team Developer 6.3.Net.Net Assemblies einbinden Exception Handling Web Services .Net Assemblies.Net Assemblies können in Win32 und in.net Anwendungen eingebunden werden.net
MehrÜbergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1
Übergang von funktionaler zu OOP Algorithmen und Datenstrukturen II 1 Imperative vs. funktionale Programmierung Plakativ lassen sich folgende Aussagen treffen: funktional: imperativ: Berechnung von Werten
MehrINE1 Bit-Operationen. Bit-Operationen Übungen Bits setzen, löschen, abfragen Beispiel: Bitmap
INE1 Bit-Operationen Bit-Operationen Übungen Bits setzen, löschen, abfragen Beispiel: Bitmap 1 Displays and I/O Binary Display & Input Output 2 von 39 Operationen für Bitmanipulation Bit - Operatoren Die
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
MehrLehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Debugging
Grundkurs C++ Debugging Berühmte Software-Bugs 1947: Fehlfunktion des Mark II Relay Calculator aufgrund einer Motte. Grundkurs C++ 6 Berühmte Software-Fehler 1996: Ariane 5 muss 40 Sekunden nach dem Start
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
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
MehrInformatik für Mathematiker und Physiker Woche 6. David Sommer
Informatik für Mathematiker und Physiker Woche 6 David Sommer David Sommer October 31, 2017 1 Heute: 1. Rückblick Übungen Woche 5 2. Libraries 3. Referenzen 4. Step-Wise Refinement David Sommer October
MehrData Structures and Algorithm Design
- University of Applied Sciences - Data Structures and Algorithm Design - CSCI 340 - Friedhelm Seutter Institut für Angewandte Informatik Contents 1. Analyzing Algorithms and Problems 2. Data Abstraction
MehrEinführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
MehrVisual Basic - Einführung Mathematische Funktionen und Operatoren Zeichenfolgenbearbeitung. 1.7 Schleifen, Arrays und Entscheidungen
Inhalt 1 Einführung 1.1 Begriffe und Notationen 1.2 Variablen und Datentypen 1.3 Funktionen und Prozeduren 1.4 Arithmetische Operationen 1.4.1 Mathematische Funktionen und Operatoren 1.5 Konstanten 1.6
Mehr3. Wahrheitswerte. Boolesche Funktionen; der Typ bool; logische und relationale Operatoren; Kurzschlussauswertung; Assertions und Konstanten
114 3. Wahrheitswerte Boolesche Funktionen; der Typ bool; logische und relationale Operatoren; Kurzschlussauswertung; Assertions und Konstanten Wo wollen wir hin? 115 int a; std::cin >> a; if (a % 2 ==
MehrComputational Models
- University of Applied Sciences - Computational Models - CSCI 331 - Friedhelm Seutter Institut für Angewandte Informatik Part I Automata and Languages 0. Introduction, Alphabets, Strings, and Languages
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,
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
MehrEinführung Programmierpraktikum C Michael Zwick
Einführung Programmierpraktikum C Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Tutorium Ab Dienstag: Auswahl Tutoriumsplatz auf www.ldv.ei.tum.de/lehre/computertechnik
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
MehrFIVNAT-CH. Annual report 2002
FIVNAT-CH Schweizerische Gesellschaft für Reproduktionsmedizin Annual report 2002 Date of analysis 15.01.2004 Source: FileMaker Pro files FIVNAT_CYC.FP5 and FIVNAT_PAT.FP5 SUMMARY TABLE SUMMARY RESULTS
MehrOptimierungen in einer formalen Semantik Konstantenfaltung und Konstantenpropagation
Optimierungen in einer formalen Semantik Konstantenfaltung und Konstantenpropagation http://pp.info.uni-karlsruhe.de/lehre/ss2011/tba/ LEHRSTUHL PROGRAMMIERPARADIGMEN 0 KIT SS Universität 2011 desdenis
MehrEinstieg in die Informatik mit Java
Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen
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).
Mehr12. Java Klassen. Klassen - Technisch. Beispiel: Erdbebendaten. Klassen - Konzeptuell
Klassen - Technisch Eine Klasse ist eine Einheit mit einem Namen, die Daten und Funktionalität beinhaltet 12. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, Kapselung,
MehrAlgorithmen und Programmierung
Algorithmen und Programmierung Kapitel 8 Abstrakte Datentypen A&P (WS 14/15): 08 Abstrakte Datentypen 1 Überblick Abstrakte Datentypen Signaturen und Algebren Spezifikation von ADTs Umsetzung von ADTs
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;
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
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.
MehrAutomatentheorie und formale Sprachen Pumping-Lemma für reguläre Sprachen
Automatentheorie und formale Sprachen Pumping-Lemma für reguläre Sprachen Dozentin: Wiebke Petersen 10.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Finite-state automatons accept
MehrJava Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation
Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/
MehrVerarbeitung unendlicher Datenstrukturen Jetzt können wir z.b. die unendliche Liste aller geraden Zahlen oder aller Quadratzahlen berechnen:
Verarbeitung unendlicher Datenstrukturen Jetzt können wir z.b. die unendliche Liste aller geraden Zahlen oder aller Quadratzahlen berechnen: take 1 0 ( f i l t e r ( fn x => x mod 2=0) nat ) ; val it =
MehrAutomatentheorie und formale Sprachen reguläre Ausdrücke
Automatentheorie und formale Sprachen reguläre Ausdrücke Dozentin: Wiebke Petersen 6.5.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Formal language Denition A formal language L
MehrTag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)
Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration
MehrTIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems
Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving
Mehrids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR
ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher
MehrA Classification of Partial Boolean Clones
A Classification of Partial Boolean Clones DIETLINDE LAU, KARSTEN SCHÖLZEL Universität Rostock, Institut für Mathematik 25th May 2010 c 2010 UNIVERSITÄT ROSTOCK MATHEMATISCH-NATURWISSENSCHAFTLICHE FAKULTÄT,
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
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
MehrFachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012
Testen Tutorial im Rahmen des Software(technik)praktikums SS 2012 Grundlagen (1) Software ist ein fundamentales Element in der Softwarequalitätssicherung Software wird am häufigsten eingesetzt Viele Organisationen
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
Mehr19. Vererbung und Polymorphie
667 19. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6
MehrAbstract State Machines
Abstract State Machines Patrick Köhnen Seminar Systementwurf Übersicht 1. Historie und Praxis 1.1 Yuri Gurevic 1.2 ASMs in der Praxis 2. Was sind ASMs 2.1 Transitionssystem 2.2 Signatur 2.3 -Algebra 2.4
MehrBeispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
Mehr