ALP I. Funktionale Programmierung
|
|
- Jobst Albrecht
- vor 8 Jahren
- Abrufe
Transkript
1 ALP I Funktionale Programmierung Sortieren und Suchen (Teil 1) WS 2012/2013
2 Suchen 8 False unsortiert False sortiert
3 Suchen in unsortierten Listen search :: Integer -> [Integer] -> Bool search b [] = False search b (a:xs) (a/=b) = search b xs otherwise = True >>> search3 2 (take [1,3..]) False (1.51 secs, bytes) search :: Integer -> [Integer] -> Bool search b [] = False Probleme: >>> search 2 (take [1,3..]) False (2.24 secs, bytes) search b (a:xs) = (a==b) search b xs search 'a' "bla blue..." geht nicht! search :: a -> [a] -> Bool Probleme: search b [] = False search b (a:xs) = (a==b) search b xs No instance for (Eq a)... Probable fix: add (Eq a) to the type signature(s) for `search'...
4 Suchen in sortierten Listen Für alle Typen a, für denen eine Gleichheit-Operation definiert ist. search :: Eq a => a -> [a] -> Bool search b [] = False search b (a:x) = (a==b) search b x search :: Ord a => a -> [a] -> Bool search b [] = False search b (a:x) a<b = search b x a==b = True otherwise = False Für alle Typen a, für denen Vergleichsoperationen definiert sind. >>> search 2 (take [1,3..]) False (0.01 secs, bytes)
5 Suchen in sortierten Listen Binärsuche sortiert 8 8 < 7? 8 < 18? n n n 4 2 False nur 4 Schritte Gut für imperative Programmiersprachen!
6 Maximale Schrittanzahl mit Arrays n = 128 = = log 2 ( 128 ) = 2 6 = 2 5 = 2 4 Im schlimmsten Fall log 2 (n) Schritte 8 = = = = 2 0 Anzahl der Elemente , ,073,741,824 Lineare Suche Binäre Suche , ,073,741,824 30
7 Binärsuche binsearch :: (Ord a) => a -> [a] -> Bool binsearch b [] = False binsearch b [x] = b==x binsearch b xs b<mitte = binsearch b links b>mitte = binsearch b rechts b==mitte = True where half = (length xs) `div` 2 links = take half xs rechts = drop half xs mitte = head rechts
8
9
10
11
12
13
14
15 Sortierte Bereich
16 Sortierte Bereich
17 Sortierte Bereich
18 Sortierte Bereich
19
20 Größer als alle Elemente auf der linken Seite Es ist kein weiterer Vergleich notwendig
21 Kleiner als alle Elemente der linken Seite Schlimmster Fall
22 Alle Elemente müssen verschoben werden
23
24 isort :: (Ord a) => [ a ] -> [ a ] isort [] = [] isort (a:x) = ins a (isort x) where ins :: (Ord a) => a -> [a] -> [a] ins a [] = [a] ins a (b:y) a<= b = a:(b:y) otherwise = b: (ins a y)
25 Quick-Sort-Algorithmus Der Quicksort-Algorithmus (1962 von Hoare entwickelt) ist einer der beliebtesten Sortieralgorithmen, weil er sehr effizient und einfach zu implementieren ist. Grundidee: 1) Ein Element (Pivot) aus dem Array wird gewählt 2) Alle Zahlen des Arrays werden mit dem Pivot-Element verglichen und während des Vergleichsdurchlaufs in zwei Bereiche umorganisiert (Partitionierung). Der erste Bereich beinhaltet die Zahlen, die kleiner als das Pivot-Element sind und der zweite alle, die größer oder gleich sind. Am Ende des Durchlaufs wird das Pivot-Element in der Mitte beider Bereiche positioniert. 3) Nach jeder Partitionierung wird der Quicksort-Algorithmus rekursiv mit beiden Teilbereichen ausgeführt (solange die Teilbereiche mehr als ein Element beinhalten).
26 Quick-Sort-Algorithmus < < < < < < <
27 Quick-Sort-Algorithmus < < < < < < < Der Quicksort-Algorithmus funktioniert am besten, wenn die Teilbereiche fast gleich gross sind.
28 Quick-Sort-Algorithmus Im schlimmsten Fall! sind alle Elemente bereits sortiert
29 Quick-Sort-Algorithmus quicksort :: [Integer] -> [Integer] quicksort [] = [] quicksort (x:xs) = quicksort [ y y <- xs, y <= x ] ++ [x] ++ quicksort [ y y <- xs, y > x ] Das Problem in Haskell ist der Speicherverbrauch und die Komplexität der Verkettungsfunktion (++).
30 Quick-Sort-Algorithmus Quicksort-Algorithmus mit Hilfe der filter-funktion qsort :: (Ord a) => (a -> a -> Bool) -> [a] -> [a] qsort p [] = [] qsort p [x] = [x] qsort p (x:xs) = qsort p (filter (p x) xs) ++ [x] ++ qsort p (filter (np x) xs) where np x y = not (p x y)
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
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
MehrWas bisher geschah Funktionale Programmierung in Haskell: Algebraische Datentypen Pattern Matching Polymorphie Typklassen Rekursive Datentypen:
Was bisher geschah Funktionale Programmierung in Haskell: Algebraische Datentypen Pattern Matching Polymorphie Typklassen Rekursive Datentypen: Peano-Zahlen, Listen, Bäume Rekursive Funktionen strukturelle
MehrProgrammieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrSortierverfahren. Sortierverfahren für eindimensionale Arrays
Sortierverfahren Sortierverfahren Sortieren durch Einfügen Sortieren durch Auswählen Sortieren durch Vertauschen (Bubblesort) Quicksort Sortierverfahren für eindimensionale Arrays 1 Gegeben ist eine beliebige
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
MehrNachtrag zu binären Suchbäumen
Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement
MehrCodes und Informationsgehalt
Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
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
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrSortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
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
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. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrFunktionale Programmierung ALP I. Funktionen höherer Ordnung SS Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
ALP I SS 2011 Funktionstypen Funktionen haben einen Datentyp, der folgende allgemeine Form hat: functionname :: T 1 -> T 2, wobei T 1, T 2 wiederum beliebige Datentypen sind Beispiel: T 1 T 2 Der Datentyp
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrProf. Dr. Margarita Esponda
Analyse von Algorithmen Die O-Notation WS 2012/2013 Prof. Dr. Margarita Esponda Freie Universität Berlin 1 Korrekte und effiziente Lösung von Problemen Problem Wesentlicher Teil der Lösung eines Problems.
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrKurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i
MehrSortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block
Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in
MehrInstallation des Add-Ins für Lineare Algebra in Microsoft Excel
Installation des Add-Ins für Lineare Algebra in Microsoft Excel Matrix 2.2 by The Foxes Team http://digilander.libero.it/foxes/ Download der Matrix 2.2 Im Browser die Seite http://digilander.libero.it/foxes/download.htm
Mehr[10] Software Transactional Memory in Haskell, Tortenwurf und Aufgabenblatt 7
Haskell Live [10 Software Transactional Memory in Haskell, Tortenwurf und Aufgabenblatt 7 Bong Min Kim e0327177@student.tuwien.ac.at Christoph Spörk christoph.spoerk@inode.at Bernhard Urban lewurm@gmail.com
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrSimplex-Umformung für Dummies
Simplex-Umformung für Dummies Enthält die Zielfunktion einen negativen Koeffizienten? NEIN Optimale Lösung bereits gefunden JA Finde die Optimale Lösung mit dem Simplex-Verfahren! Wähle die Spalte mit
MehrSpam filtern mit dem Webmail-Interface
Zentrum für Bildungsinformatik Muesmattstrasse 29 CH-3012 Bern T +41 31 309 22 61 F +41 31 309 22 99 bildungsinformatik@phbern.ch bildungsinformatik.phbern.ch Spam filtern mit dem Webmail-Interface Inhalt
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrWirtschaftsinformatik I
Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation
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.................................
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
Mehr1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.
Programmierung des Farbsteuergeräts 340-00112 für Nikobus Diese Bedienungsanleitung gilt auch für die Nikobus-Produkte 340-00111 und 340-00113. Achtung: einige der aufgeführten Betriebsarten sind nur auf
MehrBitte wenden. Name: KURSARBEIT NR. 4 (10 DIFF GA) 18.06.2002. Seite 1
Aufgabe 1: Gegeben ist das folgende Programm: PR figur :n :Länge WH 3 [ VW :Länge WENN :n>1 DANN ( RE 90 figur :n-1 :Länge/2 RW :Länge Seite 1 Zeichne das Bild, welches beim Aufruf der Prozedur mit figur
MehrPädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung
Variante 1 Swisscom-Router direkt ans Netzwerk angeschlossen fixe IP-Adressen (kein DHCP) 1. Aufrufen des «Netz- und Freigabecenters». 2. Doppelklick auf «LAN-Verbindung» 3. Klick auf «Eigenschaften» 4.
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrErfahrungen mit Hartz IV- Empfängern
Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November
MehrWas ich als Bürgermeister für Lübbecke tun möchte
Wahlprogramm in leichter Sprache Was ich als Bürgermeister für Lübbecke tun möchte Hallo, ich bin Dirk Raddy! Ich bin 47 Jahre alt. Ich wohne in Hüllhorst. Ich mache gerne Sport. Ich fahre gerne Ski. Ich
MehrDatenexport aus JS - Software
Datenexport aus JS - Software Diese Programm-Option benötigen Sie um Kundendaten aus der JS-Software in andere Programme wie Word, Works oder Excel zu exportieren. Wählen Sie aus dem Programm-Menu unter
MehrMit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.
Stundenverwaltung Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter. Dieses Programm zeichnet sich aus durch einfachste
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,
MehrTypdeklarationen. Es gibt in Haskell bereits primitive Typen:
Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,
Mehr1. Teilklausur. Modul "OOPM Vorlesung/Übung" 16.12.2008. Gruppe A
Objektorientierte Programmierung und Modellierung WS 2008/2009 Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel 1. Teilklausur Modul "OOPM Vorlesung/Übung" 16.12.2008 Gruppe A Name Vorname
MehrEin + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.
Ordner erstellen, Bilder ordnen Um neue Ordner zu erstellen und Bilddateien zu ordnen, bietet es sich an, sich zunächst die Hierarchie der bereits vorhandenen Ordner anzuschauen. Mit einem Klick auf Ordner
MehrAlgorithmen und Datenstrukturen I
Algorithmen und Datenstrukturen I Sortierverfahren D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10, 18. Januar 2010,
MehrAngebot. UVV-Prüfungen und Wartungen von mobilen Abfallpressen
Angebot UVV-Prüfungen und Wartungen von mobilen Abfallpressen Sehr geehrte Damen und Herrn, die Firma Allpress Ries führt UVV-Überprüfungen und Wartungen von Müllpressen seit ca. 1970 durch. Unsere Monteure
MehrFeiertage in Marvin hinterlegen
von 6 Goecom GmbH & Co KG Marvin How to's Feiertage in Marvin hinterlegen Feiertage spielen in Marvin an einer Reihe von Stellen eine nicht unerhebliche Rolle. Daher ist es wichtig, zum Einen zu hinterlegen,
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
MehrReferenzen Typo3. Blog der Internetagentur Irma Berscheid-Kimeridze Stand: Juni 2015
der Internetagentur Irma Berscheid-Kimeridze Stand: Juni 2015 Aktuelle Entwicklungen der Internetagentur Irma Berscheid-Kimeridze sollten auf der Webseite der Agentur dargestellt werden. Werkzeug der Wahl
MehrUniversität Zürich Informatikdienste. SpamAssassin. Spam Assassin. 25.04.06 Go Koordinatorenmeeting 27. April 2006 1
Spam Assassin 25.04.06 Go Koordinatorenmeeting 27. April 2006 1 Ausgangslage Pro Tag empfangen die zentralen Mail-Gateways der Universität ca. 200 000 E-Mails Davon werden über 70% als SPAM erkannt 25.04.06
MehrProgrammieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu
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
MehrFragen für die Klausuren
Fragen für die Klausuren Vom Quellcode zum ausführbaren Programm Was ist ein Quellcode? Ist der Quellcode von einem Programm auf unterschiedlichen Rechner gleich? Nennen Sie drei Programmiersprachen. Was
MehrProf. Dr. Margarita Esponda
Algorithmen und Programmieren II Sortieralgorithmen imperativ Teil I Prof. Dr. Margarita Esponda Freie Universität Berlin Sortieralgorithmen Bubble-Sort Insert-Sort Selection-Sort Vergleichsalgorithmen
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
MehrTeile und Herrsche Teil 2
Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,
MehrChristian Zahn. Perspektive der Krankenversicherung. bei der Präsentation des Sonderpostwertzeichens. 100 Jahre Reichsversicherungsordnung
Perspektive der Krankenversicherung bei der Präsentation des Sonderpostwertzeichens 100 Jahre Reichsversicherungsordnung Christian Zahn Vorsitzender des Verwaltungsrats des GKV-Spitzenverbandes Präsentation
MehrVorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner
MehrSchnellanleitung: Verbuchung von Studien- und Prüfungsleistungen
Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen Die folgenden Schritte sind für die Verbuchung von Studien- bzw. Prüfungsleistungen notwendig. Eine Online-Anleitung mit vielen weiterführenden
Mehr1. Weniger Steuern zahlen
1. Weniger Steuern zahlen Wenn man arbeitet, zahlt man Geld an den Staat. Dieses Geld heißt Steuern. Viele Menschen zahlen zu viel Steuern. Sie haben daher wenig Geld für Wohnung, Gewand oder Essen. Wenn
MehrTechnische Analyse der Zukunft
Technische Analyse der Zukunft Hier werden die beiden kurzen Beispiele des Absatzes auf der Homepage mit Chart und Performance dargestellt. Einfache Einstiege reichen meist nicht aus. Der ALL-IN-ONE Ultimate
MehrAnleitung für die Synchronisation aus einem iphone-backup
Anleitung für die Synchronisation aus einem iphone-backup Installation 1. Heruntergeladene.exe-Datei ausführen 2. Änderungen durch Kies müssen durch einen Klick auf «Ja» zugelassen werden. Seite 1 3. Sprache
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrBEISPIELKLAUSUR Softwareentwicklung:
Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
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?
MehrZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule
ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven
Mehr.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011
.procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrWhitebox-Tests: Allgemeines
-Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv
MehrFrühstück. Frühstück an Werktagen? Es frühstücken an einem normalen Werktag üblicherweise. jeden Tag ab und zu gar nicht *) % % %
Frühstück Datenbasis: 1.001 Befragte Erhebungszeitraum: 8. bis 13. August 2014 statistische Fehlertoleranz: +/- 3 Prozentpunkte Auftraggeber: DAK - Gesundheit 77 Prozent der Bundesbürger frühstücken werktags
MehrDokumentenverwaltung im Internet
Dokumentenverwaltung im Internet WS 09/10 mit: Thema: Workflow und Rollenverteilung im Backend Gruppe: DVI 10 Patrick Plaum und Kay Hofmann Inhalt 1. Benutzer und Benutzergruppen erstellen...2 1.1. Benutzergruppen...2
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrANWENDUNG DES WIENER STADTWERKE-LOGOS
ANWENDUNG DES WIENER STADTWERKE-LOGOS Dem Wiener Stadtwerke-Konzern ist es ein Anliegen, die Logos in optimaler Form darzustellen. Daher sind die Logos vorzugsweise in den Farbvarianten zu verwenden. Reduzierte
MehrDatentypen: Enum, Array, Struct, Union
Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrAngebot. UVV-Prüfungen und Wartungen von mobilen Abfallpressen
Angebot UVV-Prüfungen und Wartungen von mobilen Abfallpressen Sehr geehrte Damen und Herrn, die Firma Allpress Ries Hydraulikservice und Pressen GmbH führt UVV-Überprüfungen und Wartungen von Müllpressen
Mehr17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014
17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici 12.Übung 13.1. bis 17.1.2014 1 BEFRAGUNG http://1.bp.blogspot.com/- waaowrew9gc/tuhgqro4u_i/aaaaaaaaaey/3xhl 4Va2SOQ/s1600/crying%2Bmeme.png
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrBenutzerhandbuch - Elterliche Kontrolle
Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü
Mehr5.1.4.6 Übung - Datenmigration in Windows XP
5.0 5.1.4.6 Übung - Datenmigration in Windows XP Einführung Drucken Sie die Übung aus und führen Sie sie durch. In dieser Übung verwenden Sie Windows XP. Empfohlene Ausstattung Die folgende Ausstattung
MehrDie Invaliden-Versicherung ändert sich
Die Invaliden-Versicherung ändert sich 1 Erklärung Die Invaliden-Versicherung ist für invalide Personen. Invalid bedeutet: Eine Person kann einige Sachen nicht machen. Wegen einer Krankheit. Wegen einem
MehrName:... Vorname:... Matrikel-Nr.:... Unterschrift:...
Studiengang Bachelor of Computer Science Modulprüfung Praktische Informatik 1 Wintersemester 2010 / 2011 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und
MehrBinäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
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
MehrLocal Control Network
Netzspannungsüberwachung (Stromausfallerkennung) Die Aufgabe Nach einem Stromausfall soll der Status von Aktoren oder Funktionen wieder so hergestellt werden, wie er vor dem Stromausfall war. Die Netzspannungsüberwachung
MehrÜberblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
MehrKostenmaße. F3 03/04 p.188/395
Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);
MehrSimulation LIF5000. Abbildung 1
Simulation LIF5000 Abbildung 1 Zur Simulation von analogen Schaltungen verwende ich Ltspice/SwitcherCAD III. Dieses Programm ist sehr leistungsfähig und wenn man weis wie, dann kann man damit fast alles
MehrDokumentation für das Spiel Pong
Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
Mehr