Eingebettete Systeme
|
|
- Julius Biermann
- vor 5 Jahren
- Abrufe
Transkript
1 Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 05/11/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1
2 Programmierung 2
3 manuell/ Codegenerator Modell C Programm #include <stdio.h> int main(void) { char a = 3, b = 4, c; while(1) { a++, b++; c = a + b; Compiler } } printf( "%d ", c ); Assembler Programm Linker Binärcode a <main>: 12a: cf 93 push r28 12c: df 93 push r29 12e: 00 d0 rcall.+0 ; 0x130 <main+0x6> 130: cd b7 in r28, ; 61, SP low 0x3d 132: de b7 in r29, 0x3e ; 62, SP high (r28/r29 == Y) 134: 83 e0 ldi r24, 0x03 ; 3 (Wert für a) 136: std Y+1, r24 ; Variable a, auf Stack 138: 84 e0 ldi r24, 0x04 ; 4 (Wert für b) 13a: 8a 83 std Y+2, r24 ; Variable b, auf Stack 13c: ldd r25, Y+1 ; a 13e: 8a 81 ldd r24, Y+2 ; b 140: 89 0f add r24, r25 ; a + b 142: 8b 83 std Y+3, r24 ; Ergebnis in c, auf Stack 144: 8b 81 ldd r24, Y+3 ; c 146: 28 2f mov r18, r24 ; c in r18 148: 30 e0 ldi r19, 0x00 ; 0 in r19 14a: 00 d0 rcall.+0 ; 0x14c <main+0x22> 14c: 0f 92 push r0 14e: 8d b7 in r24, ; 61, SP low 0x3d 150: 9e b7 in r25, 0x3e ; 62, SP high 152: adiw r24, 0x01 ; SP-Kopie : 40 e0 ldi r20, 0x00 ; 0 156: 52 e0 ldi r21, 0x02 ; 2 158: fc 01 movw r30, r24 ; r24/25 in r30/31 (Z) 15a: std Z+1, r21 ; Parameter auf Stack 15c: st Z, r20 ; 15e: fc 01 movw r30, r24 ; 160: std Z+3, r19 ; Kopie von c auf Stack 162: std Z+2, r18 ; 164: 0e 94 b9 00 call 0x172 ; <printf> aufrufen 168: 0f 90 pop r0 ; Stack bereinigen 16a: 0f 90 pop r0 16c: 0f 90 pop r0 16e: 0f 90 pop r0 170: e5 cf rjmp.-54 ; 0x13c <main+0x12> : BBF02C007900D92A430B107D9F712E0DF : A4E0B2E001C01D92AA30B107E1F70E944D : C C940000CF93DF9300D0E1 : CDB7DEB783E E08A A81A1 : F8B838B81282F30E000D00F928DB7E1 : EB E052E0FC FC01D0 : E94B9000F900F900F900F905D : E5CFCF93DF93CDB7DEB7FE : AF010E94CB000D : DF91CF F923F924F925F926F928D :1001A0007F928F929F92AF92BF92CF92DF92EF9207 :1001B000FF920F931F93CF93DF93CDB7DEB72D97A9 :1001C0000FB6F894DEBF0FBECDBF3C017D876C87B4 :1001D0005A01FC FFC8C12E015A :1001E C511CF EC85FD8593FD1E :1001F FF8191FD87EC F4B3C132 : F493FD859193FF8191FD87EC87C1 : F490E0B3010E94E802E4CFFF2484 : EE2410E01032B0F48B3269F08C3228F4F6 : F F40BC08D3239F080334B : F411602CC C C0E6 : C017FD2EC0282F20532A3098F496 : FF08C08F2D880FF82EFF0CFF0CF80E1C : F20E15C08E2D880FE82EEE0CEE0CE80E57 : E20E10620CC08E3221F416FD6CC11064B7 : C08C3611F C F4EC851B :1002A000FD8593FD859193FF8191FD87EC878823E0 :1002B00009F0B8CF982F F E 3
4 Arduino Programme! C Programme (mit Bibliotheken)! Arduino nennt Programme Sketches! Programmstruktur:! Header Deklarationen, Einbinden von Bibliotheken, etc.! setup() wird einmal ausgeführt bei Programmstart! loop() wird immer wieder ausgeführt sobald das Ende erreicht wurde 4
5 Implementierung eines Mealy-Automaten 1/P k0 0/P 0 1 k0 k1 / P f1 / P f1 k1 k1 f2 / P k2 / P 0/P, 1/P 0/P 1/P k2 k3 / P f3 / P 0/P, 1/P f2 1/P k2 0/P 1/Ö k3 k0 / S k0 / Ö f1 f2 / P f2 / P 0/S 0/S,1/S f3 k3 f2 f3 / P f3 / P f3 k0 / S k0 / S 5
6 Schritt 1: Repräsentation von Zuständen und Eingabesymbolen! Zustände und Symbole können aufgezählt werden, wir können sie deshalb durch ganze Zahlen (integers) darstellen: #define STATE_k0 0 #define STATE_k1 1 #define STATE_k #define STATE_f3 6 int current_state; #define INPUT_0 0 #define INPUT_1 1 int current_input; 0 1 k0 k1 / P f1 / P k1 f2 / P k2 / P k2 k3 / P f3 / P k3 k0 / S k0 / Ö f1 f2 / P f2 / P f2 f3 / P f3 / P f3 k0 / S k0 / S 6
7 Schritt 2: Funktionen für Ausgaben! Ausgaben entsprechen bestimmten Aktionen (z.b. an einer Schnittstelle). Wir implementieren diese Aktionen als Funktionen. void action_p() { digitalwrite(led, HIGH); delay(1000); digitalwrite(led, LOW); delay(1000); } void action_s() {...} void action_oe() {...} 0 1 k0 k1 / P f1 / P k1 f2 / P k2 / P k2 k3 / P f3 / P k3 k0 / S k0 / Ö f1 f2 / P f2 / P f2 f3 / P f3 / P f3 k0 / S k0 / S 7
8 Schritt 3: Initialzustand! Der Initialzustand wird in setup() gesetzt. 1/P k0 0/P void setup() { current_state = STATE_k0; } 0/P, 1/P f1 0/P k1 1/P 0/P, 1/P f2 1/P k2 0/P 1/Ö 0/S 0/S,1/S f3 k3 8
9 Schritt 4: Transitionen! Für jede Eingabe wird, in Abhängigkeit vom Zustand, die entsprechende Ausgabeaktion durchgeführt und der neue Zustand gesetzt. void loop() { current_input = get_new_input(); switch(current_state) { case STATE_k0 : if (current_input==input_0) { action_p(); current_state = STATE_k1; } else if (current_input==input_1) { action_p(); current_state = STATE_f1; } case STATE_k1 : } } 0 1 k0 k1 / P f1 / P k1 f2 / P k2 / P k2 k3 / P f3 / P k3 k0 / S k0 / Ö f1 f2 / P f2 / P f2 f3 / P f3 / P f3 k0 / S k0 / S 9
10 4. StateCharts Ziele:! Erstellen von kompakten, lesbaren Modellen für diskrete Steuerungen mit Hilfe von Hierarchie und Variablen! Bewusstsein für semantische Schwierigkeiten (insbesondere Superstep Semantik)
11 StateCharts Automaten mit zusätzlichen Konstrukten! Hierarchie! Variablen mit komplexen Datentypen! Timer Achtung: Bedeutung (Semantik) von StateCharts nicht einheitlich (mehr dazu später).! Referenzsemantik: Statemate! StateFlow Semantik! UML!... 11
12 Beispiel: Anrufbeantworter 12
13 Hierarchie Wenn Zustand S aktiv ist, dann ist auch einer der Unterzustände aktiv (A oder B oder..) Superzustand (superstate) Unterzustände (substates) 13
14 Zustände! Zustände, die nicht aus weiteren Zuständen bestehen, heissen Basiszustände.! Zustände die aus weiteren Zuständen bestehen heissen Superzustände.! Die Superzustände eines Zustands sind seine Ahnen.! Superzustände können OR-Superzustände oder AND- Superzustände sein. Wann immer ein OR-Superzustand aktiv ist, ist auch genau einer seiner Unterzustände aktiv. Ahne von E 14
15 Hierarchie Statechart SC! Die Hierarchie kann durch einen Baum repräsentiert werden, in dem die Basiszustände als Blätter auftreten. S SC Z Transitionen sind zwischen allen Hierarchie-Ebenen möglich A B C D E Wenn ein Basiszustand aktiv ist, dann sind alle seine Ahnen aktiv. 15
16 Transitionen zu Superstates! Durch die Transition von Z nach S wird der Superzustand S aktiv.! Zusätzlich muss ein Basiszustand aktiv werden. Default State Mechanismus History Mechanismus 16
17 Beispiel: Digitalcamera [ 17
18 Default Konnektoren! Der gefüllte Kreis heißt default Konnektor und kennzeichnet den default state, der aktiv wird, wenn der Superzustand aktiv wird.! Der Konnektor ist selbst kein Zustand.! Die interne Struktur von S wird gegenüber der Außenwelt verborgen. 18
19 History Konnektoren! Durch die Transition von Z nach S wird der Zustand aktiv, der aktiv war als S zuletzt verlassen wurde.! Falls S zum ersten Mal besucht wird, wird der default state aktiv. 19
20 History und Default Konnektoren! Die History und Default State Konnektoren können in verschiedenen Hierarchieebenen unterschiedlich eingesetzt werden. 20
21 History und Deep History Default states Active states DC S CO ID OP SL FA H History connectors speichern Zustände die auf der gleichen Hierarchiestufe wie der History Konnektor angesiedelt sind. 21
22 History und Deep History Default states Active states DC S ID CO SL speichert OP OP FA H Welcher Zustand wird aktiv nach SENSOR_DISCONNECTED, SENSOR_CONNECTED? 22
23 History und Deep History * S Default states Active states DC ID CO OP H* Deep History Konnektor H* speichert den aktuellen Basiszustand SL FA 23
24 History und Deep History * Default states Active states DC S ID CO SL OP speichert OP, FA Welcher Zustand wird aktiv H* nach SENSOR_DISCONNECTED, SENSOR_CONNECTED? FA 24
25 AND Superzustände! Alle (direkten) Unterzustände eines aktiven AND- Superzustands sind aktiv! Beispiel: 25
26 AND-Superzustände! Beispiel für aktive Zustände: answ. Default states off on AND-super-state Active states l-m. k-m. L.w. L.p. K.w. K.p.! AND-Zustände können in normalen Automaten nur durch Produktzustände nachgebildet werden Strukturelle Information geht verloren Produktautomat ist viel größer 26
27 Eintritt und Austritt aus AND-Superzuständen incl.! Sowohl Line-monitoring als auch key-monitoring werden durch key-on and key-off betreten bzw. verlassen. 27
28 Variablen mit komplexen Datentypen Problem der klassischen Automaten:! Sowohl Kontrolle als auch Daten werden durch explizite Zustände dargestellt. Hier:! Getypte Variablen (z.b. integers, reals, strings, records) speichern Daten! Der Zustand setzt sich zusammen aus den explizit dargestellten Kontrollzuständen und den Variablenbelegungen! Terminologie: graphisch dargestellter Kontrollzustand = Zustand graphisch dargestellter Kontrollzustand + Variablenbelegung = Status 28
29 Beispiel: Alarmuhr P1 = alarm1_enabled (alarm2_disabled T1 T2) P2 = alarm2_enabled (alarm1_disabled T1 T2) P = alarm1_enabled alarm2_enabled T1=T2 [Harel: StateCharts: A visual formalism for complex systems. Science of Computer Programming, 1987] 29
30 Allgemeine Form der Kantenmarkierungen Ereignis [Bedingung] / Aktion Bedeutung:! Transition kann genommen werden, wenn Ereignis stattgefunden hat und Bedingung wahr ist.! Wenn Transition genommen wird, dann wird die Aktion ausgeführt. Bedingung:! Bedingung bezieht sich auf die Variablen Aktion:! Zuweisung und Generierung von Ereignis Beispiel:! a & [x = 1023] / overflow; x:=0 30
31 Timer! Timer können direkt in StateCharts modelliert werden.! Spezielle Kanten beschreiben Timeouts. Falls Ereignis a nicht innerhalb von 20 ms eintritt während das System im linken Zustand ist, dann tritt das Timeout-Ereignis ein. 31
32 Beispiel 32
33 Aufgabe! Modellieren Sie einen Aufzug für ein Haus mit zwei Stockwerken (EG und OG).! Vorschlag: Benutzen Sie einen AND-Superzuständen mit drei OR-Superzuständen, jeweils einen für die Anforderungstaster in den beiden Stockwerken, und einen für die Steuerung der Kabine 33
34 34
Eingebettete Systeme
Einführung in Eingebettete Systeme Vorlesung 2 Bernd Finkbeiner 23/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Letzte Woche: Modelle Ein Systemmodell
MehrEingebettete Systeme
Einführung in Eingebettete Systeme Vorlesung 2 Bernd Finkbeiner 29/10/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Systemmodell Ein Systemmodell (kurz:
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrEinführung: Zustandsdiagramme Stand:
Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische
MehrInformatik II Übung 04
Informatik II Übung 04 Michael Baumann mbauman@student.ethz.ch n.ethz.ch/~mbauman 23.03.2016 Ablauf 1) Nachbesprechung Serie 3 2) Stacks 3) Vorbesprechung Serie 4 4) Bytecode und Assembler 2 Ablauf 1)
MehrUML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich
UML / Fujaba Generierung von Java-Quellcode aus UML-Diagrammen Marcel Friedrich Agenda Einleitung Struktur Verhalten Klassendiagramme Storydiagramme Statecharts Action methods 2 Thema Codegenerierung mit
Mehr6. Grundlagen der Programmierung
Computeranwendung in der Chemie Informatik für Chemiker(innen) 6. Grundlagen der Programmierung Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL6 Folie 1 Dr. Jens Döbler Grundlagen
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
MehrSoftwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO
Statecharts / Historisches Softwaretechnik Kapitel 11 : Zustandsdiagramme Kurt Stenzel, Hella Seebach Statecharts entstanden als Verallgemeinerung von Automaten Beschreibung von Zustandsübergangsystemen
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
MehrDefinition von LR(k)-Grammatiken
Definition von LR(k)-Grammatiken Ziel: Ein Lookahead von k soll ausreichen um entscheiden zu können, welche Regel angewendet werden muss. Definition: FIRST k (w 1 w n ):= w 1 w k, falls n k, w 1 w n, sonst.
MehrLabor Modellgestütztes Software Engineering. Versuch 3
Labor Modellgestütztes Software Engineering Versuch 3 Sommersemester 2012 Dipl.-Ing. (FH) Joachim Hampel Version 5.0.1., 18. Oktober 2012 Inhaltsverzeichnis Inhalt 1 EINFÜHRUNG... 3 1.1 ZUSAMMENGESETZTE
MehrEinen elektronischen Würfel programmieren
Einen elektronischen Würfel programmieren In einer ersten Annäherung soll eine von sechs LEDs nach dem Zufallsprinzip zum Leuchten gebracht werden. Dazu muss eine Zahl zwischen 1 und 6 erzeugt und die
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrKlausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten
Klausur Softwareentwurf 22. März 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer: [
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrSoftwaretechnik 1 Übung 6
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Übung 6 16.07.2009 Aufgabe 1a) Gegebene Methode public static int getnumberofdays(int month, int year) { int days = -1;
MehrEingaben. Themen heute. Taster. Eingaben Zuweisungen Zeitmessung. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes
Eingaben Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Themen heute Eingaben Zuweisungen Zeitmessung Taster Wikipedia Ziel Wenn Taste gedrückt, soll LED leuchten Wir
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrWir hätten nie gedacht das drei Computer und Elektronik-Fans soweit kommen!! Mit diesem Video sagen wir vielen Dank!
Vielen Dank für über 170.000 Aufrufe und über 1000 Abonnenten!! Wir hätten nie gedacht das drei Computer und Elektronik-Fans soweit kommen!! Mit diesem Video sagen wir vielen Dank! Das CC8-Team 1. Bauteile:
MehrSystemnahe Programmierung in C (SPiC)
Systemnahe Programmierung in C (SPiC) 9 Funktionen Jürgen Kleinöder, Daniel Lohmann, Volkmar Sieh Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrSommersemester Analyse II: Verhalten (Zustandsautomaten)
Sommersemester 23 Analyse II: Verhalten (Zustandsautomaten) 8 Aufgabe 2 Analyse II: Verhalten (Zustandsautomaten) Umfang: 2 Wochen Punkte: P. Nachdem in der ersten Aufgabe die Systemstruktur mit Hilfe
MehrSprungbefehle und Kontroll-Strukturen
Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter
MehrTechnische Informatik I Übung 3: Assembler
Technische Informatik I Übung 3: Assembler Roman Trüb Computer Engineering Group, ETH Zürich 1 Lernziele Übung 3 Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Assembler Codeanalyse Aufgabe 2
MehrProgrammieren in Java
Programmieren in Java Vorlesung 07: Composite Classes Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 23 Inhalt
MehrAutomaten und das State Pattern
Automaten und das State Pattern Axel Böttcher 24. September 2012 (GUI-)Logik mittels Automaten realisieren Das Problem, komplizierte Logik zu implementieren tritt recht häufig auf. Smells: häufig wiederholte
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
MehrEine Mini-Shell als Literate Program
Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrC-Propädeutikum Anweisungen
C-Propädeutikum Anweisungen Stefan Freitag freitag@uni-leipzig.de Universitätsrechenzentrum Universitätsbibliothek Universität Leipzig basiert auf den Originalfolien von Jörn Hoffmann Ausdrücke Institut
MehrU4 Grundlagen der C-Programmierung
U4 Grundlagen der C-Programmierung U4 Grundlagen der C-Programmierung Makros Enums und Typedefs Deklaration und Definition Compileroptimierungen U4.1 U4-1 Makros U4-1 Makros Makros sind Textersetzungen,
MehrStatecharts in UML Grundlagen und Übersetzung in Colored Petri Nets
Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets von André Kaiser 25.10.2004 André Kaiser - Statecharts in UML 1 Überblick Statecharts Konzepte und Darstellung Übersetzung UML-Statechart-Model
MehrBisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:
Tasten abfragen Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: pinmode(pinnummer, OUTPUT) digitalwrite(pinnummer, HIGH) oder digitalwrite(pinnummer, LOW) Zum Abfragen
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
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
MehrVerwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrInstitut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März
MehrEinführung zum MS Visual Studio
0 Visual Studio Verzeichnispfade einstellen Stellen Sie nach dem Start von Visual Studio zunächst Ihr Home-Laufwerk, d.h. den Pfad für Ihre Projektverzeichnisse und Dateien ein. Beenden Sie Visual Studio
MehrNachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.
Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende
MehrProgrammieren in C++
Fakultät Elektronik und Infor matik Studiengang Infor matik Programmieren in C++ Vorlesung im Sommersemester 2018 Prof. Dr. habil. Christian Heinlein 2. Übungsblatt (22. März 2018) Aufgabe 2: Lange vorzeichenlose
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete
Grundlagen der Programmierung Prof. H. Mössenböck 15. Pakete Idee Paket = Sammlung zusammengehöriger Klassen (Bibliothek) Zweck mehr Ordnung in Programme bringen bessere Kontrolle der Zugriffsrechte (wer
MehrC- Kurs 04 Anweisungen
C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm
MehrLösung Übungszettel 6 Aufgabe 1-4
Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 Aufgabe 1-4 1 Aufgabe 1 und 2 1.1 Die Bibliothek
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 3. Vorlesung 18.04.2018 1 Elemente von Programmiersprachen Operatoren Kontrollstrukturen Bibliotheksfunktionen 2 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben,
MehrInhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 2 Sommersemester 2017 Verwendung von int Sichtbarkeit & Lebensdauer Typdefs & Enums Nutzen Beispiel Schlüsselwort
MehrEntwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!
Projekt: Artikelverwaltung Seite 1 von 5 Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben! Legen Sie global einen benutzerdefinierten Datentyp artikel an:
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
MehrPropädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer
Propädeutikum 2016 Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer Vorbereitungskurs Informatikstudium Programmieren (C-Kurs) Erfolgreich Studieren Dipl.-Inf. Frank Güttler f.guettler@quapona.com / guettler@informatik.uni-leipzig.de
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
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrVorkurs Informatik WiSe 17/18
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 10.10.2017 Technische Universität Braunschweig, IPS Überblick Einleitung Türme von Hanoi Rekursion Beispiele 10.10.2017 Dr. Werner Struckmann
MehrZiele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Reihentyp (Array)
Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Aufgabe 3: Diese Aufgabe baut auf der 2. Aufgabe auf und erweitert diese. Die Funktionalität der 2. Aufgabe wird also
MehrZeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch
darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
MehrEinführung in die Programmierung Wintersemester 2008/09
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Funktionen Inhalt Funktionen - mit / ohne Parameter
MehrAssembler-Unterprogramme
Assembler-Unterprogramme Rolle des Stack Prinzipieller Ablauf Prinzipieller Aufbau Unterprogramme void main(void) int sub(int i) { { int i,k; return i*2; i = sub(13); } k = sub(14); } Wie macht man das
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrEin kleiner Blick auf die generische Programmierung
TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen
MehrC++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13
C++ Teil 7 Sven Groß 30. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 30. Nov 2015 1 / 13 Themen der letzten Vorlesung Zeiger, Felder (Wdh.) dynamische Speicherverwaltung Sven Groß (IGPM, RWTH Aachen)
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:
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
MehrKlausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert
MehrC++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
MehrGirls Day 2017 Programmierung
Girls Day 2017 Programmierung Anke Brocker Quality Management Würselen, 27. April 2017 www.lancom-systems.de Programmierung 27.04.2017 - Übersicht Programmieren mit der Arduino IDE Die Arduino IDE Der
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)
MehrTeil II. Literatur zur C-Programmierung:
Teil II 2Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan, Ritchie. The C Programming Language.
MehrÜbersetzung von Statecharts nach AspectJ
Übersetzung von Statecharts nach AspectJ Projektarbeit Liu, Yu Matrikelnummer: 22495 26.Juli 2006 Betreuer der Arbeit Prof. Dr. Ralf Möller STS TUHH M.Sc. Miguel GARCIA STS - TUHH 1 Deklaration Ich deklariere:
Mehr1. Aufgabe (6 Punkte)
Nachname:... Vorname:... MatrNr.:... Klausur PR2 HAW-Hamburg, Fakultät Technik und Informatik, Department Informations- und Elektrotechnik Dr. Robert Heß, 1.2.2008 Bearbeitungsdauer: 90 min Hilfsmittel:
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrEinleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn
C: Funktionen Philip Gawehn Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Do., 22.05.2014 1 / 23 Gliederung
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrTechnische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrInformatik II Übung 5 Gruppe 4
Informatik II Übung 5 Gruppe 4 (Folien teils von Christian B. und Christelle G.) Lukas Burkhalter lubu@inf.ethz.ch Informatik II Übung 5 Lukas Burkhalter 27. März 2018 1 Nachbesprechung Letzte Übung (4)
MehrBei jedem Arduino-Projekt muss man ein Grundgerüst "bauen". Das sieht dann so aus:
Arduino 1/5 Was ist die Syntax? Die Syntax ist die Rechtschreibung. Ganz wichtig ist, dass (fast) jeder Befehl mit einem Semikolon (;) beendet wird. Bei Codeblöcken müssen immer geschweifte Klamern ({)
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrSyntax und Kontrollstrukturen
Syntax und Kontrollstrukturen Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-29
MehrC++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14
C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Mehr2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen
Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen
MehrÜbungen zur Vorlesung EidP (WS 2015/16) Blatt 6
Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrÜbungen zu Systemnahe Programmierung in C (SPiC) Wintersemester 2018/19
Übungen zu Systemnahe Programmierung in C (SPiC) Wintersemester 2018/19 Übung 3 Rebecca Felsheim Benedict Herzog Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für
Mehr