Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.
|
|
- Jobst Fromm
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 1
2 Ein Algorithmus ist eine mit formalen Mitteln endlich beschreibbare, mechanisch nachvollziehbare Verarbeitungsvorschrift zur Lösung einer Klasse von Aufgaben (Problemen). Endliche, präzise Verarbeitungsvorschrift, die so formuliert ist, dass sie von einer mechanisch oder elektronisch arbeitenden Maschine in endlicher Zeit bearbeitet werden kann. Ein Algorithmus ist eine endliche Menge von Regeln, die eine endliche Folge von Operationen zur Lösung eines Problems beschreibt.
3 Ist das ein Algorithmus?? Anweisung für die Polizei: Wenn die gesuchte Person die im Fahndungsplakat abgebildete ist, dann sofort verhaften. P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 3
4 Kein Algorithmus Wenn die gesuchte Person die im Fahndungsplakat abgebildete ist, dann sofort verhaften. Vergleich zwischen Bild und Person ist so nicht automatisierbar. Biometrie untersucht solche Vergleichs-Algorithmen mittels Messungen, Ähnlichkeitsmaßen u.ä. Abgleich mittels: Fingerabdruck, genetischer Fingerabdruck, Iris-Erkennung, Gesichtsmessung, Spracherkennung, etc. P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 4
5 Beispiel für einen Algorithmus Schriftliche Addition von zwei beliebigen Binärzahlen Eingabe Wert Eingabe Wert Übertrag Ergebnis Wert 10 P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 5
6 Algorithmus als Funktion Viele Algorithmen sind Verarbeitungsvorschriften, die eine Eingabe erwarten, daraus eine Ausgabe berechnen Eingabedaten Algorithmus Ausgabedaten Algorithmus ist eine (Berechnungs-) Funktion: Eingabe Ausgabe Algorithmus berechnet immer eine Klasse von Aufgaben P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 6
7 Programmiersprachen Präzisierungen des Begriffs Algorithmus: Programm einer Programmiersprache Turingmaschine und zugehörige Turingprogramme Lambda-Kalkül von Church P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 7
8 Das Turingmaschinenmodell Ist ein einfaches formales Maschinenmodell: Besteht aus: unendlichem Band, in Zellen unterteilt, deren Inhalt kann gelesen und geschrieben werden Schreib-Lesekopf: Liest und schreibt den Inhalt einer Zelle und kann sich um eins nach links oder rechts bewegen. Turingprogramm: Steuert die Aktionen des Schreib- Lesekopfes. Beispiel einer Programmzeile: 123: If Z = 0 then Z = 1; goto 125 else Z = 0 ; goto 124 P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 8
9 Lambda-Kalkül von A. Church: logisch-algebraisches Modell Formalisiert Funktionen: Z.B. Identität ist λx.x Anwendung von Funktionen auf Argumente Operation: Berechnung des Ergebnisses durch iteriertes Einsetzen Beispiel: (λx.x + 1)(2) ergibt 2 + 1, somit 3. P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 9
10 Church-Turing-Hypothese: Alle denkbaren Formalisierungen des Algorithmusbegriffs sind äquivalent Folgende Formalismen haben nachweislich äquivalente Berechnungsfähigkeiten: das Turingmaschinenmodell der Lambda-Kalkül Programmiersprache Haskell Programmiersprache... P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 10
11 Erweiterter Algorithmusbegriff Nichtdeterministische Schritte sind erlaubt Zufallsprozesse können integriert sein reaktive Verfahren, die ständig neue Eingaben verarbeiten P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 11
12 Spezifikation Beschreibt Eigenschaften eines Berechnungsverfahrens Z.B. Beziehung der Eingabewerte zu den Ausgabewerten ist oft Vorstufe bei der Entwicklung eines Algorithmus Spezifikation: Algorithmus: Formalisierungsstufen: WAS soll erreicht werden WIE soll es erreicht werden informell (umgangssprachlich oder unscharf) oder formal exakt Gilt Algorithmus Spezifikationen? Antwort mittels Verifikation bzw. Test P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 12
13 Kriterien zur Bewertung von Algorithmen Terminierung Der Algorithmus hält für jedes Problem der Problemklasse an. (totale) Korrektheit Der Algorithmus terminiert und berechnet das gewünschte Ergebnis (bzgl. einer Spezifikation). (partielle) Korrektheit Wenn der Algorithmus einen Wert berechnet, dann ist der Wert das gewünschte Ergebnis (bzgl. einer Spezifikation). Effizienz Der Algorithmus ist effizient (schnell, wenig Speicher, wenig Kommunikation, billig, wenig Handarbeit, usw.) P raktische Informatik 1, W S 2004/05, F olien Algorithmus,(20. Oktober2004) Seite 13
14 Einfachheit Verständlichkeit, Wartungsfreundlichkeit Robustheit Abgesichert gegen viele Fehlermöglichkeiten. Sicherheit Abgesichert gegen ungewollte Eingriffe und Einbrüche von außen
1 Vom Problem zum Programm
1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist
MehrTheoretische Informatik 1
Theoretische Informatik 1 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Allgemein Teilgebiete der Informatik ohne Theoretische Grundlagen 2 Fragen an
Mehr3. Ziel der Vorlesung
3. Ziel der Vorlesung Der Zweck der Vorlesung ist das Studium fundamentaler Konzepte in der Algorithmentheorie. Es werden relevante Maschinenmodelle, grundlegende und höhere Datenstrukturen sowie der Entwurf
MehrAlgorithmen und Programmierung
Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie
MehrRekursive Auswertungsprozesse in Haskell
Rekursive Auswertungsprozesse in Haskell Auswertungsprozess, der durch eine rekursive Funktion bewirkt wird Beispiel: Auswertung der rekursiven Fakultätsfunktion 0! := 1 n! := n (n 1)! fakultaet x = if
MehrFormale Sprachen, reguläre und kontextfreie Grammatiken
Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
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
Mehr3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:
FORMALISIERUNG VON ALGORITHMEN Wegen der beobachteten Zusammenhänge zwischen Berechnungs-, Entscheidungs- und Aufzählungsverfahren genügt es Berechnungsverfahren zu formalisieren. Weiter genügt es Verfahren
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Turing-Maschine, Berechenbarkeit INSTITUT FÜR THEORETISCHE 0 KIT 07.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrAlgorithmen & Programmierung. Aspekte von Algorithmen
Algorithmen & Programmierung Aspekte von Algorithmen Algorithmus (Wdh.) Aufgabe Beschreibung einer Abfolge von Schritten zur Lösung eines Problems in einer beliebigen Sprache Charakteristika eines Algorithmus
Mehreffektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)
effektive Verfahren Ein Verfahren ist effektiv, wenn es für jeden Fall, der in einem zuvor abgegrenzten Bereich von eindeutigen Unterscheidungen auftreten kann, eine eindeutige und ausführbare Handlungsanweisung
MehrMathematische Maschinen
Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische
MehrEinführung in die Informatik I
Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen
MehrDie Informatik als junge Wissenschaft
Die Informatik als junge Wissenschaft Die Informatik ist die Wissenschaft von der automatischen Informationsverarbeitung. Die Informatik befasst sich mit den Gesetzmäßigkeiten und Prinzipien informationsverarbeitender
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrEinführung in die Programmierung WS 2014/15. 2. Algorithmus, Berechenbarkeit und Programmiersprachen 2-1
Einführung in die Programmierung WS 2014/15 2. Algorithmus, Berechenbarkeit und Programmiersprachen 2-1 2. Alg., Ber. & PS Inhalt 1. Algorithmen 2. Programmiersprachen Algorithmus und Programm(iersprache)
MehrSpezifikation der zulässigen Parameter. Bemerkungen: Bemerkungen: (2) Design by Contract:
Spezifikation der zulässigen Parameter Bemerkungen: Bei jeder (partiellen) Funktion muss man sich überlegen und dokumentieren, welche aktuellen Parameter bei einer Anwendung zulässig sein sollen. Der Anwender
MehrGTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de
GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 6. Juni - 13. Juni 1 / 49 Die Turingmaschine war das erste (bzw. zweite) formale Modell der Berechenbarkeit. Sie wurden bereits 1936 (also lange
Mehr5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur
5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur In der Literatur findet sich eine Vielzahl von Varianten des Turingmaschinen-Konzeptes, die sich alle als äquivalent zum Grundkonzept
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrWas bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):
Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel
MehrDeterministische Turing-Maschinen (DTM) F3 03/04 p.46/395
Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle
MehrEinführung in die Programmierung
Einführung in die Programmierung 1. Einführung 1.1. Ziele der Vorlesung Einblicke und Überblicke zu den Mitteln (Hardware, Software) und Methoden (Analysieren, Entwerfen, Algorithmieren, Programmieren,
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
Mehrb) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel
2. Turingmaschinen Zur Formalisierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes, die sich in der Literatur finden, greifen wir das Konzept der on-line
Mehreinfache Dokumentation des Programmentwurfs Nullstellen bestimmt reelle Nullstellen von und Problemklasse: Was sind die reellen Nullstellen der
C Grundlagen C.2 Programm C.2 Programm Programmierung Programmerstellung und -ausführung Organisation eines Rechners Klassischer Universalrechner Datendarstellung im Rechner Dateien Benutzerumgebung Programmierumgebung
MehrGrundlagen der Informatik
: : : : : : : : : : : : : : : : : : : : : : Grundlagen der Informatik Unter Verwendung von Folien von Prof. Helmut Balzert MICHAEL M. RESCH (HLRS) Rechnersysteme II : : : : : : : : : : : : : : : : : :
MehrKapitel 11: Wiederholung und Zusammenfassung
Wiederholung und Zusammenfassung 1: Begriff und Grundprobleme der Informatik Begriff Informatik Computer als universelle Rechenmaschine Grenzen der Berechenbarkeit Digitalisierung Problem der Komplexität
MehrTeil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik
Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für
MehrBrainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
MehrMinimalismen in der. Informatik
Minimalismen in der Informatik Andreas Schwill Institut für Informatik Universität Potsdam Überblick Einstieg Maschinenbegriff Bausteinsätze Modellierung Phantasien zu Komplexität und Kompliziertheit 2
MehrZusammenfassung Grundzüge der Informatik 4
Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1
MehrÜbung 8: VB-Programmierung: Aufgabe
Übung 8: VB-Programmierung: Aufgabe Sachverhalt: Erstellen Sie ein fehlerfrei lauffähiges Programm in Visual Basic zu folgendem Algorithmus: Berechnung des Benzinverbrauchs Eingabewerte: - KM-Stand alt
Mehr2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik
Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,
MehrTheoretische Informatik SS 04 Übung 1
Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die
MehrInformatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2008/09. Universität Freiburg, Germany
Informatik I Grundlagen der systematischen Programmierung Peter Thiemann Universität Freiburg, Germany WS 2008/09 Organisatorisches Vorlesung Di und Do, 11-13 Uhr, HS 101-00-036 Dozent Prof. Dr. Peter
MehrEinführung in die Informatik
Einführung in die Informatik 1. Einleitung / Grundbegriffe 1.1 Was ist Informatik? Informatik ist eine Wissenschaft, die sich befaßt mit - Methoden der Informationsverarbeitung und deren Realisierung auf
MehrProgrammiertechnik II
Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen
MehrProgrammieren Formulierung eines Algorithmus in einer Programmiersprache
Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:
MehrEntscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen
Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,
Mehr1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in
MehrZusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur
MehrZum Einsatz von Operatoren im Informatikunterricht
Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Professur für Didaktik der Informatik/Mathematik Claudia Strödter E-Mail: claudia.stroedter@uni-jena.de Zum Einsatz von Operatoren
MehrIdeen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann
Ideen der Informatik Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann Was ist ein Computer? 2 Übersicht Was ist ein Computer, ein Programm? Turings Antwort
MehrL1 Programmiersprachen
1 Einführung Delphi 1.1 Wie erstelle ich eigene Software? Um spezielle Problemlösungen zu erstellen bzw. Unterstützung durch den Computer zu erfahren, bedient sich der Anwender spezifischer Softwareprogramme,
MehrEinführung in die Informatik
Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard 1.1 Vorlesung Zeit und Ort: Dienstags 10:00-12:00 Uhr Donnerstags 10:00-12:00 Uhr Gebäude 101 HS
MehrGrundprinzipien der funktionalen Programmierung
Grundprinzipien der funktionalen Programmierung Funktionen haben keine Seiteneffekte Eine Funktion berechnet einen Ausgabewert der nur von den Eingabewerten abhängt: 12 inputs + output 46 34 2 Nicht nur
MehrFormale Methoden: Ein Überblick
Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, 2004-09-16, p. 1 Formale Methoden: Ein Überblick Heinrich Rust Lehrstuhl für Software-Systemtechnik BTU Cottbus 2004-09-16
MehrTheoretische Informatik
Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,
MehrÜbungsaufgaben mit Computer-Algebra-Software Mathematik
Übungsaufgaben mit Computer-Algebra-Software Mathematik machen, statt nachmachen Uta Priss ZeLL, Ostfalia Dezember, 2015 Meine Lehrerfahrung mit Mathe Vor 5 Jahren neuer Kurs: Mathematik für Informatiker
MehrProgrammieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm
Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende
MehrKapitel 5: Applikative Programmierung
Kapitel 5: Applikative Programmierung In der applikativen Programmierung wird ein Programm als eine mathematische Funktion von Eingabe-in Ausgabewerte betrachtet. Das Ausführen eines Programms besteht
MehrQualitätssicherung. Was ist Qualität?
Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was
MehrDer Advanced Encryption Standard (AES)
Der Advanced Encryption Standard (AES) Prof. Dr. Rüdiger Weis TFH Berlin Sommersemester 2008 Geschichte des AES Die Struktur des AES Angriffe auf den AES Aktuelle Ergebnisse DerAdvanced Encryption Standard
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrI. Einführung. 1. Ziel und Motivation. Ingenieur, Programmieren?? Ingenieur, Programmieren?? Technische Informatik für Ingenieure (TIfI) WS 2005/2006
Technische Informatik für Ingenieure (TIfI) WS 2005/2006 I. Einführung Ekkart Kindler Ziel und Motivation Grundbegriffe Praxis Zwischendurch: Organisatorische Hinweise und Ablauf der Veranstaltung 1. Ziel
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrAusarbeitung des Interpreter Referats
Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache
MehrZur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:
Informatik 13: Gierhardt Theoretische Informatik III Berechenbarkeit Nicht-berechenbare Funktionen Nach der Church-Turing-These kann alles, was berechenbar ist, mit einer Turing-Maschine oder einer While-Maschine
MehrGrundlagen Programmierung
13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf
MehrInfovorkurs, Teil III: Maschinenabstraktion & Ausblick
Infovorkurs, Teil 09.10.2015 Webseite Die neuen Folien, die Übungen und Umfrageergebnisse stehen online; außerdem die Turingmaschinen-Quelltexte. www.geile-hirnbude.de/vorkurs Algorithmen Laufzeitabschätzung
MehrTesten. Robert Binder: Software Testing is the execution of code using combinations of input and state selected to reveal bugs.
Einführung in das systematische Testen ÿmotivation ÿkorrektheit von Software ÿtesten ist Handwerkszeug ÿpositives und Negatives Testen ÿäquivalenzklassen und Grenzwerte ÿblack-box-, White-Box- und Schreibtischtests
MehrKapitel 7: Formaler Datenbankentwurf
7. Formaler Datenbankentwurf Seite 1 Kapitel 7: Formaler Datenbankentwurf Die Schwierigkeiten der konzeptuellen Modellierung sind zu einem großen Teil dadurch begründet, dass sich die relevanten Strukturen
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
MehrSynchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.
OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...
Mehr2. Lernen von Entscheidungsbäumen
2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse
MehrKapitel 1: Einführung und formale Grundlagen
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Informatik I Wintersemester 2006 Kapitel 1: Einführung und formale Grundlagen
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
MehrGrundlagen der Programm- und Systementwicklung
Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Alexander Malkis,
MehrDr. Monika Meiler. Inhalt
Inhalt 1 Algorithmen und Programme... 1-2 1.1 Algorithmus... 1-3 1.2 Programm... 1-4 1.2.1 Hauptkomponenten des Aufbaus eines Rechners... 1-4 1.2.2 Ein Programm für einen Algorithmus... 1-6 1.2.3 Rekursion...
Mehr1 Syntax von Programmiersprachen
1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme
MehrGrundlagen der Informatik II. Teil I: Formale Modelle der Informatik
Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende
MehrFakultät Wirtschaftswissenschaft
Fakultät Wirtschaftswissenschaft Matrikelnr. Name Vorname KLAUSUR: Entwurf und Implementierung von Informationssystemen (32561) TERMIN: 11.09.2013, 14.00 16.00 Uhr PRÜFER: Univ.-Prof. Dr. Stefan Strecker
MehrSchulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand: 18.09.2011
Bezug zu den Leitideen der Bildungsstandards und den Kompetenzen, Inhalte Bemerkungen welche die Schülerinnen und Schüler erwerben Klasse 11 Informatik 4-stündig Einführung in die objektorientierte Modellierung
MehrIdeen der Informatik. Wie funktionieren Computer? Kurt Mehlhorn
Ideen der Informatik Wie funktionieren Computer? Kurt Mehlhorn Übersicht Wie funktionieren Computer? Der von Neumann Rechner. Universalität von Rechnern: Basis für Siegeszug der Informatik. Jeder Rechner
MehrUebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Uebersicht Administratives Einleitung Ein einführendes Beispiel Matthias Zwicker Universität Bern Frühling 2010 2 Administratives Dozent Prof. Zwicker, zwicker@iam.unibe.ch
Mehrwww.wiinf-hfh.de.ms 4 WIINF A 1.2 (Klausur 04/07, Aufgabe 2)
4 WIINF A 1.2 (Klausur 04/07, Aufgabe 2) 12 Punkte Die Top-Down-Entwicklung und schrittweise Verfeinerung ist ein zentrales Prinzip zur Konstruktion von Algorithmen. 1 Erläutern Sie diese Entwicklungsprinzip
Mehr1. Entwicklung der Datenverarbeitung
1. Entwicklung der Datenverarbeitung 1.1. Vom Abakus zum Pentium Schon im Altertum war man bestrebt, sich Hilfsmittel zu schaffen, die das Zählen und Rechnen erleichterten. Formulierung mechanischer Abläufe
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
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
MehrDatenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrInteraktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
MehrSOMA Reverse Engineering
SOMA Reverse Engineering Univ.Prof. Dr. Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt Was versteht man unter Reverse Engineering? Techniken/Methoden Probleme VU Software Maintenance
Mehr4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls
4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,
MehrGrenzen der Berechenbarkeit
M. Jakob Gymnasium Pegnitz 3. Mai 2015 Inhaltsverzeichnis Experimentelle Laufzeitabschätzung ausgewählter Algorithmen Historische Kryptographie Moderne Kryptographie Das Halteproblem In diesem Abschnitt
MehrSOI 2013. Die Schweizer Informatikolympiade
SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen
MehrKontrollstrukturen, Pseudocode und Modulo-Rechnung
Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
Mehr1. Grundlegende Konzepte der Informatik
1. Grundlegende Konzepte der Informatik Inhalt Algorithmen Darstellung von Algorithmen mit Programmablaufplänen Beispiele für Algorithmen Aussagenlogik Zahlensysteme Kodierung Peter Sobe 1 Algorithmen
Mehrallgemeine Eigenschaften von Algorithmen (zur Erinnerung): Terminierung: Ergebnis liegt nach endlich vielen Schritten vor
Kapitel A := α ω λ Programmierung A.1 Programm und Algorithmus A.2 Algorithmusdarstellungen A.3 Eigenschaften von Algorithmen O 2007 Andreas Behrend Informatik I 1 Eigenschaften von Algorithmen (1) allgemeine
MehrAutomatentheorie Berechnungsmodell für logische Sprachen
Automatentheorie Berechnungsmodell für logische Sprachen Thorsten Haupt Betreuer: Tim Priesnitz -Proseminar Theorie kommunizierender Systeme SS 24- Prof. Gert Smolka, PS-Lab, Universität des Saarlandes
MehrAchtjähriges Gymnasium. Lehrplan Informatik. für die Einführungsphase der gymnasialen Oberstufe. Februar 2006
Achtjähriges Gymnasium Lehrplan Informatik für die Einführungsphase der gymnasialen Oberstufe Februar 2006 LEHRPLAN INFORMATIK FÜR DIE EINFÜHRUNGSPHASE DER GYMNASIALEN OBERSTUFE Vorbemerkungen Zu Beginn
MehrInformation in einem Computer ist ein
4 Arithmetik Die in den vorhergehenden Kapiteln vorgestellten Schaltungen haben ausschließlich einfache, Boole sche Signale verarbeitet. In diesem Kapitel wird nun erklärt, wie Prozessoren mit Zahlen umgehen.
Mehr