KryptoCore-Entwurf und Funktionale Programmierung
|
|
- Klara Hochberg
- vor 8 Jahren
- Abrufe
Transkript
1 KryptoCore-Entwurf und Funktionale Programmierung Tobias Häberlein und Matthias Brettschneider Hochschule Albstadt-Sigmaringen Studiengang Kommunikations- und Softwaretechnik Tübingen, T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
2 Übersicht 1 Funktionale HDLs 2 Haskell Crash Kurs 3 ForSyDe Crash Kurs 4 MD5 in ForSyDe 5 MD6 in Haskell 6 Literatur T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
3 Funktionale HDLs Warum funktionale Programmierung? 1 (rein) Funktionale Programme sind zustandsfrei Der Programmierer schreibt die Befehlsreihenfolge nicht vor. Nebenläufigkeit braucht nicht speziell modelliert zu werden, sondern ist implizit da. Referentielle Transparenz 2 Funktions-Komposition Schaltkreis-Komposition 3 Funktionen höherer Ordnung Schaltkreis-Strukturen 4 Lazy infinite lists Stream-Modelling 5 Typsysteme (insb. Haskell s) sind ausdrucksstärker. T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
4 Funktionale HDLs Stand der Technik Existierende Funktionale HDLs Hydra (Haskell-DSEL) Lava (Haskell-DSEL) ForSyDe (Haskell-DSEL) [Sander et al, 2004] Cryptol (Haskell-artig; parametrisch getypt) [Cryptol, 2008] Viele weitere SAFL (Statically Allocated Functional Language) Reflect (Reflexive Programmiersprache; entwickelt bei Intel 2003 [O Leary et al, 2006]) HML (ML-DSEL) MyHDL (Python-DSEL) Problem:... die meisten Ansätze sind nicht industrial-strength T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
5 Funktionale HDLs Unsere MERSES Forschungs-Mission Modellierung von CryptoCores... Da Krypto-Anwendungen sehr algorithmisch besser abstrakter modellieren. HW/SW Co-Design hier besonders sinnvoll.... mit funktionalen HDLs Funktionale SW-Sprachen abstrakter (als Prozedurale) Funktionale HW-Sprachen abstrakter (als Prozedurale) Ziel: Verwendung / Weiterentwicklung von 1 ForSyDe 2 Cryptol T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
6 Haskell Crash Kurs Typen und Funktionen Funktionsapplikation = Leerzeichen double :: Int Int double x = x x Jede Funktion hat einen (statischen) Typ (+) :: Int Int Int T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
7 Haskell Crash Kurs Funktionen höherer Ordnung... sind Funktionen, die als Parameter Funktionen erwarten und / oder als Rückgabewert Funktionen liefern, das Mittel, um Programme zu kombinieren. Bsp: Funktionskomposition (.) :: (b c) (a b) (a c) (.) f g x = f (g x) T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
8 Haskell Crash Kurs Listen... die wichtigste Datenstruktur der Funktionalen Programmierung. Einige wichtige Listenfunktionen head :: [a] a tail :: [a] [a] reverse :: [a] [a] T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
9 Haskell Crash Kurs Iteration: map und fold Funktionale Sprachen kennen keine Schleifen Stattdessen: Funktionen höherer Ordung: map... wendet eine Funktion auf eine Liste von Werten an. map :: (a b) [a] [b] Bsp: map (+2) [3, 10, 12] ergibt [5, 12, 14] fold... kombiniert Elemente einer Liste mit beliebiger Operation fold :: (b a b) b [a] b Bsp: fold e [e 0,..., e n ] ergibt ( ((e e 0 ) e 1 )... e n ) T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
10 ForSyDe Crash Kurs ForSyDe s Algebra (1) Ein Prozess bildet Signale (=unendliche Liste von Werten) auf Signale ab: Prozess Bausteine process zipsy unzipsy mapsy procfun 1 delaysy procfun 1 zipwithsy procfun 2 zipwith3sy procfun 3... ProcFun = normale Haskell-Funktion mit AST-Infos. T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
11 ForSyDe Crash Kurs ForSyDe s Algebra (2) Die wichtigsten Prozessbausteine: mapsy : Bildet beliebige Haskell-Funktion auf Prozess ab mapsy :: ProcId ProcFun (a b) Signal a Signal b delaysy : Sequentielles Element; verzögert Eingabesignal delaysy :: ProcId a Signal a Signal a zipsy / unzipsy : Gruppiert Signale / löst Gruppe auf. zipsy :: ProcId Signal a Signal b Signal (a, b) unzipsy :: ProcId Signal (a, b) (Signal a, Signal b) zipwithsy : Bildet 2-stellige Haskell-Fkt auf Prozess ab. T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
12 ForSyDe Crash Kurs SysDef s newsysdef : Erzeugen einer SysDef. newsysdef :: (SysFun f ) f SysId [PortId] [PortId] SysDef f instantiate : Erzeugen von Kopien einer SysDef. instantiate :: (SysFun f ) ProcId SysDef f f T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
13 ForSyDe Crash Kurs Erstes Beispiel 1 funcf beschreibt Teil des MD5 f-block s: funcf :: ProcFun (Int32 Int32 Int32 Int32) funcf = λ x y z (x.&. y).. ((complement x).&. z) 2 Mit zipwith3sy wird aus funcf ein Process: funcfproc :: Signal Int32 Signal Int32 Signal Int32 Signal Int32 funcfproc = zipwith3sy funcfproc funcf 3 Erzeugen einer SysDef : newsysdef funcfproc f [ x, y, z ] [ x, y, z ] T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
14 MD5 in ForSyDe Die MD5 Hash-Funktion T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
15 MD5 in ForSyDe Eine Round / ein Block f round f round = 16 sequentiell verschaltete identische f blocks. x block x {f, g, h, i} T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
16 MD5 in ForSyDe Implementierung eines Block In ForSyDe = f block :: Int32 Int8 Int32 Signal (Int32, Int32, Int32, Int32) Signal (Int32, Int32, Int32, Int32) f block k s i abcd = abcd where (a sig, b sig, c sig, d sig) =unzip4sy abcd abcd f out =funcfproc b sig c sig d sig plus out =plus4consts k i f out a sig shift out =rotlconst s plus out cout sig =plus2proc b sig shift out abcd =zip4sy out d sig cout sig b sig c sig T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
17 MD5 in ForSyDe Implementierung eines x Block Besser: Eine Implementierung für alle Runden: x block :: (Signal Int32 Signal Int32 Signal Int32 Signal Int32) Int32 Int8 Int32 Signal (Int32, Int32, Int32, Int32) Signal (Int32, Int32, Int32, Int32 x block x func k s i abcd = Parameter: Ein Prozess (mit drei Signalen aus Eingabe und einem als Ausgabe) 2-4. Parameter: Konstanten einer x Round. Ergebnis: Prozess (mit 4er-Bündel von Signalen als Eingang und 4er-Bündel von Signalen als Ausgang). T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
18 MD5 in ForSyDe Implementierung einer x Round (1) Eine Round = 16 sequentiell verschaltete Blocks. Wir erzeugen zunächst eine Liste von 16 f Blocks: f blocks :: [ Signal (Int32, Int32, Int32, Int32) Signal (Int32, Int32, Int32, Int32) ] f blocks = map mkinstantiation [15..0] f blocks = mkinstantiation : Bildet Zahl n auf einen f Block mit Namen f n ab.... und stellt die Rundenkonstanten zur Verfügung. T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
19 MD5 in ForSyDe Implementierung einer x Round (2) Sequentielles Verschalten der 16 Blöcke: f round = foldl (.) id f blocks foldl (.) id kombiniert die 16 Blöcke durch Funktionskomposition: Wirkung von foldl (.) id T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
20 MD6 in Haskell MD6 in Haskell 1/3 Stand der Technik parallelisierbar einfache Beschreibung mittels map/fold parallele Berechnung sequentielle Berechnung parallele Berechnung mittels map: map4 :: ((Chunk, Chunk, Chunk, Chunk) Chunk) [Chunk] [Chunk] map4 f (x1 : x2 : x3 : x4 : xs) = f (x1, x2, x3, x4) : map4 f xs T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
21 MD6 in Haskell MD6 in Haskell 2/3 compress kryptografischer Kern compress : (Chunk, Chunk, Chunk, Chunk) Chunk input der compress Funktion T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
22 MD6 in Haskell MD6 in Haskell 3/3 Haskells MD6-Version auf einem QuadCore: T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
23 Literatur Literatur Jim Grundy, Tom Melham, and John OLeary. A reflective functional language for hardware design and theorem proving. Journal on Functional Programming, 16(2): , Galois, Inc., Portland, Oregon. From Cryptol to FPGA, October Tutorial.pdf Ingo Sander and Axel Jantsch. System modeling and transformational design refinement in ForSyDe. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23(1):17 32, January Ronald L Rivest. The MD6 hash function A proposal to NIST for SHA md6-report.pdf T. Häberlein, M. Brettschneider () KryptoCore-Entwurf Tübingen, / 23
Funktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel
MehrFragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?
Fragen f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Wozu evaluiert [f [ ], f [ ]]? Weiteres Beispiel: f [ ] y = [
MehrFunktionale Programmierung ALP I. Funktionen höherer Ordnung. Teil 2 SS 2013. Prof. Dr. Margarita Esponda. Prof. Dr.
ALP I Funktionen höherer Ordnung Teil 2 SS 2013 Funktionen höherer Ordnung Nehmen wir an, wir möchten alle Zahlen innerhalb einer Liste miteinander addieren addall:: (Num a) => [a -> a addall [ = 0 addall
MehrKontrollstrukturen - Universität Köln
Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrCGI Programmierung mit Ha. Markus Schwarz
CGI Programmierung mit Ha Markus Schwarz Überblick Was ist funktionale Programmierung Einführung in Haskell CGI-Programmierung mit Haskell Ein etwas größeres Beispiel Was ist funktionale Programm Ein Programm
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrRSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:
RSA-Verschlüsselung Das RSA-Verfahren ist ein asymmetrisches Verschlüsselungsverfahren, das nach seinen Erfindern Ronald Linn Rivest, Adi Shamir und Leonard Adlemann benannt ist. RSA verwendet ein Schlüsselpaar
MehrFunktionale Programmierung
Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 2 Teil II Typen mit Werten und Ausdruck, sogar listenweise 3 Haskell Programme Programm Module ein
MehrProgrammieren Lernen mit BYOB. Gerald Futschek 5. November 2012
Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrDie Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff
Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrAnforderungen an die HIS
Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrEingabe einer E-Learning Fortbildung im DFP-Kalender
1 Eingabe einer E-Learning Fortbildung im DFP-Kalender Als ärztlicher Fortbildungsanbieter haben Sie nach erfolgter Registrierung auf www.dfpkalender.at die Möglichkeit, Fortbildungen selbstständig im
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrDigitale Magazine ohne eigenen Speicher
Stefan Lucks Digitale Magazine ohne eigenen Speicher 1 Digitale Magazine ohne eigenen Speicher Wie man die Integrität fremdgespeicherter Archivalien sicherstellen kann Stefan Lucks Professur für Mediensicherheit
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrSymbole und Schnittvorlagen aus www.kerzen-basteln.de
Hinweis: Die folgenden Grafiken sind als Vorlagen für Ihre eigenen Entwürfe gedacht. Sie finden hier keine fertigen Schnittmuster, sondern können Ihrer Fantasie freien Lauf lassen und die Elemente beliebig
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrHow to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
MehrXcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X
Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrAlgorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.
Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8
MehrTest-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
Mehrschnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv
Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag
MehrKeine Disketteneinreichung ab 1. Februar 2014
Keine Disketteneinreichung ab 1. Februar 2014 Sehr geehrte Damen und Herren, die nationalen Lastschrift- und Überweisungsverfahren werden ab 1. Februar 2014 zu Gunsten der SEPA-Zahlungsaufträge eingestellt.
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 ZPL Prof. Dr. Walter F. Tichy Dr. Victor Pankratius Ali Jannesari Agenda 1. ZPL Überblick 2. Konzepte von ZPL Regionen, Region Specifiers
MehrALP I. Funktionale Programmierung
ALP I Funktionale Programmierung Sortieren und Suchen (Teil 1) WS 2012/2013 Suchen 8 False unsortiert 21 4 16 7 19 11 12 7 1 5 27 3 8 False sortiert 2 4 6 7 9 11 12 18 21 24 27 36 Suchen in unsortierten
MehrSoftwareentwicklungsprozess im Praktikum. 23. April 2015
Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit
MehrGrundlagen der Informatik
Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................
MehrTestklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten
Matrikelnummer: Punkte: Testklausur 1 zur Vorlesung Modellierung und Programmierung I Dr. Monika Meiler Zeit: 60 Minuten Bemerkungen: Jedes Blatt ist mit der Matrikelnummer zu versehen. Jede Aufgabe ist
MehrDas Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin
Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?
MehrEinführung in die Programmierung
: Inhalt 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 - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrVerkäufer/-in im Einzelhandel. Kaufmann/-frau im Einzelhandel. belmodi mode & mehr ein modernes Unternehmen mit Tradition.
Eine gute Mitarbeiterführung und ausgeprägte sind dafür Das ist sehr identisch des Verkäufers. Eine gute Mitarbeiterführung und ausgeprägte sind dafür Das ist sehr identisch des Verkäufers. Eine gute Mitarbeiterführung
MehrEine Logikschaltung zur Addition zweier Zahlen
Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrProgrammieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.
Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner
MehrEs können nur Werte ausgelesen werden, Es kann -NICHT- geschaltet werden!!
Es können nur Werte ausgelesen werden, Es kann -NICHT- geschaltet werden Vorhanden auf Geräten der V3 Version ab Patch Level 1008 und V2 Versionen ab Patch Level 1001. Bei Geräte der V2 Versionen werden,
MehrErmittlung von IBAN und BIC anhand von Kontonummer und Bankleitzahl in der Sparkassen-Finanzgruppe
Ermittlung von IBAN und BIC anhand von Kontonummer und Bankleitzahl Vorwort: Die Ermittlung einer IBAN anhand der im Inlandszahlungsverkehr gebräuchlichen Kontound Bankidentifikationen - in Deutschland
MehrAdressen. Praktikum Funktionale Programmierung Organisation und Überblick. Termine. Studienleistung
Adressen Adressen, Termine Studienleistung Praktikum Funktionale Programmierung Organisation und Überblick Dr. David Sabel Büro und Email Raum 216, Robert-Mayer-Str. 11-15 sabel@ki.informatik.uni-frankfurt.de
MehrMotivation. Motivation
Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten
MehrElektrische Logigsystem mit Rückführung
Mathias Arbeiter 23. Juni 2006 Betreuer: Herr Bojarski Elektrische Logigsystem mit Rückführung Von Triggern, Registern und Zählern Inhaltsverzeichnis 1 Trigger 3 1.1 RS-Trigger ohne Takt......................................
MehrWindows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt
MehrProgrammierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
MehrProgrammieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen
Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung
MehrInformatikgrundlagen (WS 2015/2016)
Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrTutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) (30.10.02)
Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang Aufgabenblatt 3 (KW 44) (30.10.02) Aufgabe 1: Preisdiskriminierung dritten Grades (20 Punkte) Ein innovativer Uni-Absolvent plant,
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrFelder. November 5, 2014
Felder Universität Bielefeld AG Praktische Informatik November 5, 2014 Felder: Datenstrukturen mit konstantem Zugriff Felder nennt man auch, Vektoren, Matrizen,... Konstanter Zugriff heisst: Zugriff auf
Mehr1. Einführung. 2. Weitere Konten anlegen
1. Einführung In orgamax stehen Ihnen die gängigsten Konten des Kontenrahmens SKR03 und SKR04 zur Verfügung. Damit sind im Normalfall alle Konten abgedeckt, die Sie zur Verbuchung benötigen. Eine ausführliche
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrHochschule Ravensburg-Weingarten. Technik Wirtschaft Sozialwesen. Projektarbeit
Hochschule Ravensburg-Weingarten Technik Wirtschaft Sozialwesen Projektarbeit Entwicklung eines Reitmoduls mit Reitstundenverwaltung für eine existierende Homepage eines Reitvereins vorgelegt von: Tobias
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrVHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010
VHDL Einleitung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung 1/17 2010-04-14 Inhalt Entwurfsebenen und -sichten
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl
MehrPTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN
PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,
Mehr6.2 Scan-Konvertierung (Scan Conversion)
6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster
MehrSie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?
Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung
MehrSummenbildung in Bauteiltabellen mit If Then Abfrage
Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle
MehrWEBSEITEN ENTWICKELN MIT ASP.NET
jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm
MehrHinweise zur Online-Datenbank
Hinweise zur Online-Datenbank Sie erreichen die Online Übersicht zu den Datensätzen über den Menüpunkt Daten in der oberen Navigationsleiste des BioEnergieDat Portals. Wählen Sie dann anschließend links
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrAbamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER
Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit
MehrGrundlagen der Verschlüsselung und Authentifizierung (2)
Grundlagen der Verschlüsselung und Authentifizierung (2) Benjamin Klink Friedrich-Alexander Universität Erlangen-Nürnberg Benjamin.Klink@informatik.stud.uni-erlangen.de Proseminar Konzepte von Betriebssystem-Komponenten
MehrSage Start Zahlungsmethoden Anleitung. Ab Version 2015 09.10.2014
Sage Start Zahlungsmethoden Anleitung Ab Version 2015 09.10.2014 Inhaltsverzeichnis 1.0 Einleitung 3 2.0 Unterscheidung von Zahlungsverbindung und Zahlungsmethode 4 3.0 Definieren von Standardwerten 5
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
MehrKeine Disketteneinreichung ab 1. Februar 2014
Keine Disketteneinreichung ab 1. Februar 2014 Sehr geehrte Damen und Herren, die nationalen Lastschrift- und Überweisungsverfahren werden ab 1. Februar 2014 zu Gunsten der SEPA-Zahlungsaufträge eingestellt.
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrGeben Sie in dem offenen Suchfeld den Namen Ihrer Einrichtung ein und klicken Sie auf Suchen.
Erläuterungen zur Online-Pflege im Weiterbildungsportal Die Online-Pflege erlaubt sowohl das Bearbeiten bereits vorhandener Kurse als auch das Anlegen neuer Kurse. Wichtig ist, dass ein Kurs, der an mehreren
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrInstallationshinweise und Systemvoraussetzungen
Installationshinweise und I. Angaben zu den Klett-Langenscheidt Moodle Kursdateien Typ: Kurs Format: Moodle 2 Erstellt mit Moodle Version: 2.0.7 Die Kursdateien wurden mit Moodle 2.0.7 erstellt. Wenn Sie
MehrPSRDesigner. Punkt und Streifenrasterplatinen Designer
PSRDesigner Punkt und Streifenrasterplatinen Designer PSRDesigner ist ein Programm um auf einfache Art und Weise die Bestückung von Punkt und Streifenrasterplatinen zu realisieren. Es können beliebig viele
MehrAbitur - Grundkurs Mathematik. Sachsen-Anhalt 2002. Gebiet G1 - Analysis
Abitur - Grundkurs Mathematik Sachsen-Anhalt Gebiet G - Analsis Aufgabe.. Der Graph einer ganzrationalen Funktion f dritten Grades mit einer Funktionsgleichung der Form f a b c d a,b,c,d, R schneidet die
Mehr8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen
Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)
MehrÜbung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrR. Brinkmann http://brinkmann-du.de Seite 1 30.11.2013 Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007
R. Brinkmann http://brinkmann-du.de Seite 1 30.11.2013 Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007 SG15/25D NAME: Lösungen 1. In einer Packung sind Glühbirnen, davon sind zwei
MehrAbschnitt 16: Objektorientiertes Design
Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen
MehrChangePoint-Analysen - ein Überblick
ChangePoint-Analysen - ein Überblick Gliederung Motivation Anwendungsgebiete Chow Test Quandt-Andrews Test Fluktuations-Tests Binary Segmentation Recursive circular and binary segmentation algorithm Bayesscher
Mehr10. Vorlesung Spieltheorie in der Nachrichtentechnik
10. Vorlesung Spieltheorie in der Nachrichtentechnik Vorlesung: Eduard Jorswieck Übung: Rami Mochaourab Sommersemester 2010 Kooperative Spiele - Stabile Paarungen Wir studieren Märkte mit zweiseitigen
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrICCS SSP 10. Merkmale. Anwendungsbeispiele
ICCS Standard Switch Panel mit 10 Tasten (SSP10) gehört zu der ICCS (Intelligent Control and Command Systems) Produktgruppe. Es kann entweder als selbständiges Modul oder als Erweiterung zu bestehenden
MehrGrundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer
Institut für Kommunikationsnetze und Rechnersysteme Grundlagen der Technischen Informatik Paul J. Kühn, Matthias Meyer Übung 2 Sequenzielle Netzwerke Inhaltsübersicht Aufgabe 2.1 Aufgabe 2.2 Prioritäts-Multiplexer
MehrÜbersicht Handy-Adapter Stand 08/2013
Übersicht Handy-Adapter Stand 08/2013 Sehr geehrte Damen und Herren anbei erhalten Sie eine Liste der aktuell erhältlichen Handyadapter für die werkseitige Freisprecheinrichtung der Škoda Fahrzeuge. Achtung!
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrInformatik für Ökonomen II HS 09
Informatik für Ökonomen II HS 09 Übung 5 Ausgabe: 03. Dezember 2009 Abgabe: 10. Dezember 2009 Die Lösungen zu den Aufgabe sind direkt auf das Blatt zu schreiben. Bitte verwenden Sie keinen Bleistift und
Mehr