Folien zur Vorlesung. Informatik II. im Sommersemester Prof. Dr. Hans-Peter Kriegel H.-P. Kriegel, T. Seidl
|
|
- Klaus Dressler
- vor 6 Jahren
- Abrufe
Transkript
1 Ludwig-Maximilians-Universität München, Department Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Prof. Dr. Hans-Peter Kriegel Folien zur Vorlesung Informatik II im Sommersemester 2002 Prof. Dr. Hans-Peter Kriegel 2002 H.-P. Kriegel, T. Seidl Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -1 Organisatorisches Vorlesung: Di. 9 11, Hauptgebäude 201 Do. 9 11, Hauptgebäude 101 Pause: ja, Beginn? Folien: Die Vorlesung basiert auf dem Buch: Hanspeter Mössenböck: Sprechen Sie Java? dpunkt.verlag, ISBN Übungen:
2 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -2 Literaturhinweise Hanspeter Mössenböck: Sprechen Sie Java? dpunkt.verlag, ISBN Klaus Echtle und Michael Goedicke: Lehrbuch der Programmierung mit Java. dpunkt.verlag ISBN Judith Bishop: Java TM lernen. 2. Auflage, Addison-Wesley, ISBN Ken Arnold, James Gosling, David Holmes: The Java TM Programming Language. 3. Auflage, Addison-Wesley, ISBN Mary Campione et al.: The Java TM Tutorial: A Short Course on the Basics, 3. Auflage, Hermann Engesser, Volker Claus, Andreas Schwill: Duden Informatik. Ein Fachlexikon für Studium und Praxis. 3. Auflage, Bibliographisches Institut Mannheim, ISBN Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -3 Kapitel 1: Einführung Zentraler Begriff Algorithmus Eigenschaften von Algorithmen Programme und Prozesse Notation von Algorithmen
3 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -4 Zentraler Begriff Algorithmus Ein Algorithmus ist ein Verfahren mit einer präzisen (d.h. in einer genau festgelegten Sprache formulierten), endlichen Beschreibung unter Verwendung effektiver (d.h. tatsächlich ausführbarer) elementarer Verarbeitungsschritte. Zu jedem Zeitpunkt der Abarbeitung des Algorithmus benötigt der Algorithmus nur endlich viele Ressourcen. Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -5 Beispiel für Algorithmus Aufgabe: Berechne die Summe der Zahlen von 1 bis n. Algorithmus SummeBis(n): setze summe := 0 setze zähler := 1 solange zähler n: setze summe := summe + zähler erhöhe zähler um 1 gib aus: Die Summe ist: und summe
4 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -6 Bestandteile von Algorithmen Ein Algorithmus verarbeitet Daten mit Hilfe von Anweisungen. Programm = Daten + Befehle Daten Werte: Zahlen (im Bsp. 0, 1), Strings ( Die Summe ist: ), Zeichen ( a ), Variablen: Benannte Behälter für Werte (summe, zähler, n) Anweisungen Zuweisung: setze n := 1 bedingte Anweisung: falls Bedingung : Anweisung Folgen von Anweisungen: Anweisung 1 ; ; Anweisung k Schleifen: solange Bedingung : Anweisung Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -7 Basiseigenschaften von Algorithmen Allgemeinheit Lösung einer Klasse von Problemen, nicht eines Einzelproblems. Operationalität Einzelschritte sind wohldefiniert und können auf entsprechend geeigneten Rechenanlagen ausgeführt werden. Endliche Beschreibung Die Notation des Algorithmus hat eine endliche Länge. Funktionalität Ein Algorithmus reagiert auf Eingaben und produziert Ausgaben.
5 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -8 Weitere Eigenschaften von Algorithmen Terminierung Alg. läuft für jede Eingabe nur endlich lange Vollständigkeit Alg. liefert alle gewünschten Ergebnisse Korrektheit Alg. liefert nur richtige Ergebnisse Determinismus Ablauf ist für dieselbe Eingabe immer gleich Determiniertheit Ergebnis ist festgelegt für jede Eingabe Effizienz Alg. ist sparsam im Ressourcenverbrauch Robustheit Alg. ist robust gegen Fehler aller Art Änderbarkeit Alg. ist anpassbar an modifizierte Anforderungen Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -9 Algorithmen: Terminierung Ein terminierender Algorithmus läuft für jede (!) beliebige Eingabe jeweils in endlicher Zeit ab. Gegenbeispiel fak(n): falls n = 0, liefere 1 sonst liefere n *fak(n 1) Ergebnis von fak(2)? Ergebnis von fak( 3)?
6 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -10 Algorithmen: Vollständigkeit Ein vollständiger Algorithmus gibt die gewünschten Ergebnisse vollständig aus. Gegenbeispiel Teilermenge (n): setze i := 1; solange i < n: falls n/i ganzzahlig, gib i und n/i aus; erhöhe i um 1; Ausgabe von Teilermenge(12)? Ausgabe von Teilermenge(9)? Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -11 Algorithmen: Korrektheit Ein korrekter Algorithmus liefert nur richtige Ergebnisse. Gegenbeispiel Teilermenge (n): setze i := 1; solange i sqrt(n): gib i und n/i aus; erhöhe i um 1; Ausgabe von Teilermenge (12)? Ausgabe von Teilermenge (9)?
7 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -12 Algorithmen: Determinismus Ein deterministischer Algorithmus läuft für ein- und dieselbe Eingabe immer auf dieselbe Art und Weise ab. Ein nichtdeterministischer Algorithmus kann für ein- und dieselbe Eingabe unterschiedlich ablaufen. Beispiel: Absolutbetrag (x): wähle Fall falls x 0, liefere x falls x 0, liefere x Ergebnis von Absolutbetrag(3)? Ergebnis von Absolutbetrag(-5)? Ergebnis von Absolutbetrag(0)? Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -13 Algorithmen: Determiniertheit Ein determinierter Algorithmus liefert für ein- und dieselbe Eingabe immer dasselbe Ergebnis. Gegenbeispiel RotGrünBlau (n): falls n/2 ganzzahlig: liefere rot wähle Fall: falls n/3 ganzzahlig: liefere grün sonst: liefere blau Ergebnis von RotGrünBlau(5)? Ergebnis von RotGrünBlau(6)? Wichtiges nicht-determiniertes Beispiel: Zufallszahlengenerator
8 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -14 Algorithmen: Effizienz Für eine gegebene Eingabe sollen die benötigten Ressourcen möglichst gering (oder sogar minimal) sein. Betrachtung von Speicherplatz und Rechenzeit (Anzahl Einzelschritte). Ggf. auch Analyse von Plattenzugriffen (I/Os) oder Netzzugriffen. Beispiel Die iterative Berechnung der Summe von 1 bis n benötigt n Schritte. Verwende Summenformel n*(n+1)/2 für einen effizienteren Algorithmus. Unterscheide Effizienz und Effektivität Effektivität ist Grad der Zielerreichung (Vollständigkeit, Korrektheit). Effizienz ist Wirtschaftlichkeit der Zielerreichung. Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -15 Beispiel: Suche in einem Array Aufgabe Sei A[1] A[n] eine Reihung ( Array ) von n verschiedenen Zahlen. Suche die Position i einer gegebenen Zahl x, also das i mit A[ i ]=x. Algorithmus SequentielleSuche (A, x): Durchlaufe das Array A der Reihe nach für i := 1,..., n: Falls A[ i ]=x, gibi aus und beende den Durchlauf. Falls x nicht gefunden, gib Fehlermeldung nicht gefunden aus. Anzahl der Vergleiche (= Analyse der Laufzeit) Erfolgreiche Suche: n Vergleiche maximal, n/2 im Durchschnitt Erfolglose Suche: n Vergleiche
9 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -16 Beispiel: Binäre Suche Falls das Array sortiert ist, kann man auch wie folgt suchen: BinäreSuche (A, x) Vergleiche den Eintrag A[i mitte ] in der Mitte von A mit x: Falls x = A[i mitte ], gib i mitte aus und beende die Suche. Falls x < A[i mitte ], suche in der linken Hälfte von A weiter. Falls x > A[i mitte ], suche in der rechten Hälfte von A weiter. In der jeweiligen Hälfte wird ebenfalls mit BinäreSuche gesucht. Falls die neue Hälfte des Arrays leer ist, gib die Fehlermeldung nicht gefunden aus. Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -17 Beispiel für die binäre Suche Beispiel Entscheidungsbaum Analyse der Laufzeit Entscheidungsbaum hat Höhe h = log 2 (n+1). Suche benötigt maximal h viele Vergleiche. 37 Vergleich der Suchverfahren Beispiel n = Sequentiell: Vergleiche Binäre Suche: 10 Vergleiche Beispiel n = Sequ.: Vergleiche Binäre Suche: 20 Vergleiche
10 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -18 Algorithmen: Robustheit Der Ablauf soll auch für fehlerhafte Eingaben oder Daten wohldefiniert sein. Beispiele Bedienfehler Leere Eingaben in (grafische) Eingabefelder Eingabe von Strings in Eingabefelder für Zahlen Systemfehler Zugriff auf Ressourcen (Dateien, Netz, etc.) nicht möglich Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -19 Algorithmen: Änderbarkeit Einfache Anpassung an veränderte Aufgabenstellungen. Beispiele Erweiterung einer Adressenverwaltung für inländische Kunden auf Kunden im Ausland Umstellung der PLZ von vier auf fünf Stellen Einführung des EURO Jahr 2000 Problem (vierstellige statt zweistellige Jahreszahlen)
11 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -20 Programme und Prozesse Programm Beschreibung eines Ablaufes, der auf einer Rechenanlage durchgeführt werden kann (= Algorithmus, statisch). Programme sind (meist) in Dateien gespeichert. Programme entstehen durch Konstruktion. Prozess Konkreter Ablauf eines Programms (dynamisch). Prozesse benötigen Betriebsmittel (Rechenzeit, Speicher, Dateizugriffe). Prozesse werden durch das Betriebssystem verwaltet. Prozesse entstehen durch Aufrufe von Programmen. Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -21 Übersetzung von Programmen Problemstellung Programme werden meist in höheren Programmiersprachen formuliert. Die Hardware kann nur Programme in Maschinensprache ausführen. Abbildung höherer Programmiersprachen in Maschinensprachen nötig. Zwei Vorgehensweisen Übersetzung: Programme werden vor dem Ablauf übersetzt (compiliert). Interpretation: Programme werden während des Ablaufs interpretiert.
12 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -22 Übersetzung und Interpretation Übersetzung Das Programm wird nur einmal analysiert (statisch). Das resultierende (Maschinen-)Programm wird gespeichert. Die Ausführung ist in der Regel schneller als bei Interpretation. Interpretation Das Programm wird bei jeder Ausführung analysiert (dynamisch). Die Ausführung ist in der Regel langsamer als bei Übersetzung. Die Zyklen Programmänderung Ausführung sind kürzer. Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -23 Übersetzungs- und Interpretationshierarchie Die Abbildung auf maschinennähere Sprachen kann sich über mehrere Stufen erstrecken. Beispiel Java: Programm in Java-Quellcode (nicht unmittelbar ausführbar) Übersetzung Programm in Java-Bytecode (läuft auf Java Virtual Machine) Interpretation Programm in Maschinensprache (läuft auf konkreter Hardware)
13 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -24 Hardware und Software Hardware Harte Ware : Geräte Prozessor, Speicher (flüchtig/nicht-flüchtig), Ein-/Ausgabegeräte Modellbeispiel: von Neumann-Rechner Software Weiche Ware : Programme Systemprogramme zur Steuerung der Hardware Anwendungsprogramme zur Bearbeitung von Nutzeraufgaben Firmware In Hardware gegossene Software (Gerätesteuerungen, Mikroprogramme) Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -25 Rechnermodell von John von Neumann Eingabegeräte Tastatur Maus Scanner Prozessoren Steuereinheiten Ganzzahlarithmetik Gleitzahlarithmetik Ausgabegeräte Bildschirm Projektor (Beamer) Drucker Kommunikationskanäle (Steuerbus, Adreßbus, Datenbus) Speichereinheiten flüchtige: Hauptspeicher, Cache, nichtflüchtige: Platten, Disketten, Bänder, CD,
14 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -26 Notationen für Algorithmen Informell Natürliche Sprache Pseudocode (halbformell) Graphische Darstellungen Programmablaufplan (Flussdiagramm, DIN 66001) Struktogramm (Nassi-Shneiderman-Diagramm, DIN 66261) Formale Sprachen (Programmiersprachen) Programm als formaler Text Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -27 Beispielalgorithmus SummeBis(n) Aufgabe: Berechne die Summe der Zahlen von 1 bis n. Natürliche Sprache Initialisiere eine Variable summe mit 0. Durchlaufe die Zahlen von 1 bis n mit einer Variable zähler und addiere zähler jeweils zu summe. Gib nach dem Durchlauf den Text Die Summe ist: und den Wert von summe aus. Pseudocode setze summe := 0; setze zähler := 1; solange zähler n: setze summe := summe + zähler; erhöhe zähler um 1; gib aus: Die Summe ist: und summe;
15 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -28 Programmablaufplan für SummeBis(n) Beispiel: Beginn Symbole: sum 0 i 1 Aktion i n? nein? nein Verzweigung ja ja sum sum + i i i +1 Ein-/Ausgabe Ausgabe Die Summe ist:, sum Ende Beginn Ende Anfangs- und Endpunkt Ablauflinien Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -29 Struktogramm für SummeBis(n) Beispiel: Symbole: sum 0 i 1 Strukturblock while i n false bedg. true Verzweigung sum sum + i i i +1 print ( Die Summe ist:, sum) while bedingung until bedingung abweisende Schleife ( solange noch ) Durchlauf-Schleife ( solange bis )
16 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -30 Programmiersprache Java class SummeBis { public static void main (String[] arg) { int n = Integer.parseInt(arg[0]); } } int sum = 0; int i = 1; while (i <= n) { sum = sum + i; i=i+1; } System.out.println ( Die Summe ist: + sum); Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -31 Schreibtischtest für Algorithmen Veranschaulichung der Funktionsweise eines Algorithmus durch ein Ablaufprotokoll der Variableninhalte. Beispiel: Vertausche die Inhalte der Variablen x und y Versuch: Lösung: mit Hilfsvariable x y y x x 3 5 y 5 5 h x x y y h x 3 5 y 5 3 h 3
17 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -32 Anzahl der Dezimalziffern einer Zahl Algorithmus NumDigits(n) Schreibtischtest d 1 while n >9 n n /10 d d +1 n d Ausgabe von d Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -33 Korrektheit: Euklidischer Algorithmus Aufgabe: größter gemeinsamer Teiler zweier Zahlen Lösung von Euklid (um 300 v.chr.) Euklid (in a, inb, outggt): Nachweis der Korrektheit rest a mod b while rest 0 a b b rest rest a mod b ggt b (ggt teilt a) (ggt teilt b) ggt teilt (a b) ggt teilt (a k*b) ggt teilt rest GGT (a,b) = GGT(b,rest)
18 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -34 Verwendung von Zusicherungen Beispiel: Maximum dreier Zahlen max(a,b,c) Beginn ja a > b? nein a b ja a > c? nein c a > b ja b > c? nein a b c max = a max = c max = b max = c Ausgabe max Ende Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -35 Nicht-ganzzahlige Arithmetik Bsp: Berechnung der Quadratwurzel durch schrittweise Näherung 0 a 1 a 2 root 2 root 1 x root x/2 a x / root while a root //-- a * root = x root (root + a) / 2 a x / root //-- a * root = x //-- a = root Ausgabe root x 10 root Problem mit Terminierung: a = root wird (fast) nie erreicht, besser a root > 1.0e-8 testen. a
19 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -36 Formale Sprachen Syntax Regeln, nach denen Programme aufgeschrieben werden dürfen. Beispiel: Zuweisung ::= Variable Ausdruck A 3+5 B Semantik Bedeutung von korrekt gebildeten Programmen. Im Beispiel: Weise den Wert des Ausdrucks an die Variable zu Nach A enthält A den Wert der Summe 3+5, also 8. Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -37 EBNF: Erweiterte Backus-Naur-Form EBNF: einfache textuelle Darstellung von Grammatiken John Backus: Entwickler der Programmiersprache Fortran Peter Naur: Herausgeber des Algol60-Reports Metazeichen für EBNF-Regeln Bsp. steht für = trennt Regelseiten. schließt Regel ab trennt Alternativen x y x, y ( ) klammert Alternativen (x y) z xz, yz [ ] wahlweises Vorkommen [x] y xy, y {} 0..n-maliges Vorkommen {x} y y, xy, xxy,
20 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -38 Beispiel: Grammatiken für Zahlen Beispiel: Grammatik für ganze Zahlen (ohne Vorzeichen: 1, 4711, ) Ziffer = Zahl = Ziffer { Ziffer }. Aufbau von Regeln für Grammatiken Terminalsymbole werden nicht mehr weiter zerlegt (im Bsp. in ). Nichtterminalsymbole werden ersetzt (im Bsp. kursiv). Auf der linken Seite einer Regel steht immer ein Nichtterminalsymbol. Rechte Seite kann Terminalsymbole und Nichtterminalsymbole enthalten. Beispiel: Gleitkommazahlen (ohne Vorzeichen: 1.0E-2, E0, ) Gleitkommazahl = Zahl. Zahl [( E e ) [ + ] Zahl ]. Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -39 Grafische Alternative: Syntaxdiagramme Ziffer Zahl Ziffer Gleitkommazahl Zahl. Zahl E e + Zahl
21 Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -40 Programmierung und Softwareentwicklung Programmierung im Kleinen Konstruktion von Teilprogrammen Anweisungen, Prozeduren, Objekte, Klassen Zusammenfassung in Bibliotheken Programmierung im Großen Software Engineering Konstruktion großer Programmsysteme mit Hilfe von Bibliotheken Vorgehensmodelle zur Zerlegung und Integration Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -41 Paradigmen der Programmierung Imperative Programmierung Folgen von Anweisungen, Verzweigungen, Schleifen, Prozeduraufrufe Beispiele: BASIC, Pascal, Modula2, Objektorientierte Programmierung Klassen beschreiben Struktur und Verhalten interagierender Objekte Beispiele: Simula, Smalltalk, C++, Java, Logik- oder deklarative Programmierung Automatische Ableitung der Lösung aus der Beschreibung der Aufgabe Beispiele: Prolog, Funktionale oder applikative Programmierung Rekursive Anwendung von Funktionen Beispiele: LISP, SML, Scheme,
Organisatorisches. Informatik II. Kapitel 1: Einführung. Literaturhinweise
Ludwig-Maximilians-Universität München, Department Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Prof. Dr. Hans-Peter Kriegel Universität München, Hans-Peter Kriegel und Thomas
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
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
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
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
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information
Simulation und Testen von Algorithmen
Simulation und Testen von Algorithmen Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 1 Handsimulation von Algorithmen Man versteht einen Algorithmus, wenn man genau weiß, wie er arbeitet.
1. 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
Grundlagen der Modellierung und Programmierung, Übung
Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak
Kapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
Einführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
Flussdiagramm / Programmablaufplan (PAP)
Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze
Einführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
Softwareentwicklung 1
Softwareentwicklung 1 Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Research and teaching network Softwareentwicklung 1 (UZR) Systemsoftware, JKU Linz 1 Vortragender
Grundlagen der Informatik I (Studiengang Medieninformatik)
Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de
Einführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum
Algorithmen und Datenstrukturen Sommersemester 2007
Algorithmen und Datenstrukturen Sommersemester 2007 Steffen Reith reith@informatik.fh-wiesbaden.de Fachhochschule Wiesbaden 4. April 2007 Steffen Reith Algorithmen und Datenstrukturen 4. April 2007 1 /
Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen
Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2005 1-1 Inhalt (1) Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke 4. Ablaufsteuerung (Kontrollstrukturen)
Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen
Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2005 1-1 Inhalt (1) Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke 4. Ablaufsteuerung (Kontrollstrukturen)
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe
1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik
Abschnitt 11: Korrektheit von imperativen Programmen
Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961
Syntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Beispiele für Algorithmen Im folgenden Abschnitt sollen ausgewählte
Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.
Übersicht 4.1 Ausdrücke 4.2 Funktionale Algorithmen 4.3 Anweisungen 4.4 Imperative Algorithmen 4.4.1 Variablen und Konstanten 4.4.2 Prozeduren 4.4.3 Verzweigung und Iteration 4.4.4 Globale Größen Einführung
Einführung in die Informatik 1
Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,
Einstieg in die Informatik mit Java
1 / 28 Einstieg in die Informatik mit Java Algorithmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick 2 Algorithmus 3 Grundalgorithmen in Java 4 Flussdiagramme
Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen
Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Wiederholung Anweisungen durch Methodenaufrufe Ausgabe
6. Funktionen, Parameterübergabe
6. Funktionen, Parameterübergabe GPS-6-1 Themen dieses Kapitels: Begriffe zu Funktionen und Aufrufen Parameterübergabearten call-by-value, call-by-reference, call-by-value-and-result in verschiedenen Sprachen
Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -
II.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
Allgemeines zu Programmieren I
Allgemeines zu Programmieren I Webseite zur Vorlesung http://informatik.unibas.ch/ -> lehre -> grundlagen-der-programmierung hier gibt es alle Folien zur Vorlesung alle Übungsblätter aber auch sonstige
Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1
Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische
Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 10 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
Vorkurs Informatik WiSe 16/17
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,
Programmierkurs II. C und Assembler
Programmierkurs II C und Assembler Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2003 1-1 Inhalt Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe
1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik
Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung
Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik
Willkommen zur Vorlesung. Algorithmen und Datenstrukturen
Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:
Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe
Inhaltsverzeichnis Einführende Bemerkungen 11 Das Fach Informatik 11 Zielsetzung der Vorlesung 12 1. Grundbegriffe 1 3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Information und Nachricht 1.1.1 Information 1.1.2 Nachricht
Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen
Einführung in die Programmierung für NF Rückgabewerte, EBNF, Fallunterscheidung, Schleifen FUNKTIONEN UND PROZEDUREN 3 Rückgabewerte, EBNF, Fallunterscheidung, Schleifen 2 Funk@on und Prozedur Methoden
Kapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III
Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil
6. Iteration (Schleifenanweisungen)
Schwerpunkte While-: "abweisende" Schleife 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java Do-while-: "nichtabweisende" Schleife For-: zählergesteuerte Schleife Klassifikation
Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren
Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen
Javakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Informatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 15.11.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Review / Organisatorisches o Probleme bei Foliendownload?
! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -
! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation! Spezifikation: Angabe, was ein Programm
2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:
2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden
Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger
Einführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von
Algorithmen versus Programmiersprachen
Coma I Einleitung Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen
Kapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
7. Syntax: Grammatiken, EBNF
7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik
Vorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
Abschnitt 4: Daten und Algorithmen
Abschnitt 4: Daten und Algorithmen 4. Daten und Algorithmen 4.1 4.2 Syntaxdefinitionen 4.3 Eigenschaften von Algorithmen 4.4 Paradigmen der Algorithmenentwicklung Peer Kröger (LMU München) Einführung in
Intensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
Klassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
Software Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Der Begriff des Algorithmus Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 48 Der Begriff
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Martin Wirsing 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum als Programmiersprache verwenden? Ein einfaches -Programm erstellen, übersetzen
Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
Sprachen und Programmiersprachen
Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten
Präzedenz von Operatoren
Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit
Einführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
Prof. H. Herbstreith 10. Juli Uhr bis 11:00 Uhr Leistungsnachweis Informatik 1 SS 2001
Prof. H. Herbstreith 10. Juli 2001 9.30 Uhr bis 11:00 Uhr Leistungsnachweis Informatik 1 SS 2001 Aufgabe 1: Vervollständigen Sie folgende Sätze und schreiben die Ergänzungen auf das Prüfungspapier und
Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 1.0 EBNF 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Graphische Darstellung von EBNF Regeln Syntax Graph: graphische Darstellung
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
1 Funktionale vs. Imperative Programmierung
1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.
3. Grundanweisungen in Java
3. Grundanweisungen in Java Die Grundanweisungen entsprechen den Prinzipien der strukturierten Programmierung 1. Zuweisung 2. Verzweigungen 3. Wiederholungen 4. Anweisungsfolge (Sequenz) Die Anweisungen
Abstrakte Algorithmen und Sprachkonzepte
Abstrakte Algorithmen und Sprachkonzepte Thomas Röfer Begriff des Algorithmus Algorithmenaufbau Programmiersprachliche Grundkonzepte Interative und rekursive Algorithmen Rückblick Aufbau und Funktionsweise
Einführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin
Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm 1 Organisation 2 Einführung Ziele und Inhalt
Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig
Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig schwer verständlich nicht portabel, d.h. nicht auf Rechner
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem
Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung
5.1 Algorithmen Der Algorithmenbegriff
5.1 Algorithmen 5.1.1 Der Algorithmenbegriff Duden: Algorithmus nach einem bestimmten Schema ablaufender Rechenvorgang Brockhaus: Algorithmus systematisches Rechenverfahren, das zu einer Eingabe nach endlich
Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2. Proseminar - 1 -
Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2 Proseminar - 1 - Lernziele des Proseminars Wie komme ich zu gesicherten Ergebnissen? Stimmen Angaben? Andere Quellen? Neuere Entwicklungen?
Alphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
Modellierung 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,
11. Rekursion, Komplexität von Algorithmen
11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel
Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales
Einführung in die Programmierung für NF. Arrays
Einführung in die Programmierung für NF Arrays ARRAY (REIHUNG) 4 Arrays 2 Array In der Programmierung werden o: Tupel verschiedener Länge benutzt. Beispiel: Vektoren (1.0, 1.0) (0.2, 1.2, 7.0) Beispiel:
Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften
Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung