DIN FB Technologie und Management DIN DIN 66001

Ähnliche Dokumente
DPM_flowcharts.doc Page F-1 of 9 Rüdiger Siol :28

Labor Software-Entwicklung 1

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Grundlagen der Informatik I (Studiengang Medieninformatik)

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin

Konzepte der Informatik

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

2. Algorithmenbegriff

FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen

Algorithmen & Programmierung. Rekursive Funktionen (1)

BKTM - Programmieren leicht gemacht.

Grundwissen Natur und Technik Informatik Klasse 6/7

Konzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.

1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Algorithmen und Datenstrukturen ITS(B)-B 2016

ALP I Turing-Maschine

Flussdiagramm / Programmablaufplan (PAP)

Einführung in die Informatik I (autip)

Programmieren lernen mit Perl

Definition Compiler. Bekannte Compiler

Struktogramme. Hinweise 1 Stand:

Programmentwurf Prof. Metzler

Vorkurs Informatik SoSe 15 Algorithmen 1

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Kapitel 1: Informationsverarbeitung durch Programme

Programmierkurs II. C und Assembler

1 Karol stellt sich vor

4.5 Nassi-Schneidermann Diagramm

Termin 2: Grundlagen der Programmierung - Algorithmen. Folien im Web:

Grundlagen der Informatik

2. Programmierung in C

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Methoden zur Interpretation LISPähnlicher. Programmiersprachen. Seminarvortrag / 53 FH AACHEN FACHBEREICH 9 TOBIAS STUMM MATR.-NR.

7. Syntax: Grammatiken, EBNF

Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen

Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen

Einführung in die Programmierung mit Java

Javakurs für Anfänger

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen und Datenstrukturen

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Beispiel: Schriftliche Addition

11. Rekursion, Komplexität von Algorithmen

Programmiersprachen und Übersetzer

Lineare Algebra I (WS 13/14)

Einstieg in die Informatik mit Java

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement

Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002

Zwischencodeerzeugung Compiler II

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen

Dr. Monika Meiler. Inhalt

Intensivübung zu Algorithmen und Datenstrukturen

2 Teilbarkeit in Z. (a) Aus a b folgt a b und a b und a b und a b. (b) Aus a b und b c folgt a c.

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Labor Industrielle Netzwerke. Versuch 2: Tastaturentprellung

Einführung in die Informatik 1

VBA-Programmierung: Zusammenfassung

Kapitel III Ringe und Körper

2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben

Technische Informatik II Rechnerarchitektur

Informatik. Teil 1 - Sommersemester Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Grundlagen der Programmierung - Algorithmen

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

Einführung in die Programmierung

Compiler: Einführung

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Praktische Eine Einführung

Deterministischer Kellerautomat (DPDA)

Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Algorithmen und Datenstrukturen 1

2. Programmierung in C

Einführung in die Informatik I

Einführung in die Algebra

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) stoyan@informatik.uni-erlangen.

In Java: Schleifen 1. Art: Vorabprüfung: while. Wiederholungen (Kapitel 8) Schleife mit Vorabprüfung. Schleifen 2. Art: Endprüfung: do while

Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]

einseitige Selektion zweiseitige Selektion

Lösungsvorschlag Serie 2 Rekursion

Modellierung und Programmierung 1

Theoretische Informatik I

Algorithmus: Kochrezept

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7

2. Programmierung in C

Grundlagen der Mathematik

Abschnitt 4: Daten und Algorithmen

Der Euklidische Algorithmus

Hochschule Fakultät Technologie und Management Informationsverarbeitung Ravensburg-Weingarten PT & TM Softwareentwicklung Inhaltsverzeichnis

Grundbegriffe Algorithmen

Formale Sprachen und Automaten

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Algorithmen versus Programmiersprachen

C - PRÄPROZESSOR. Seminar effiziente C Programmierung WS 2012/13. Von Christian Peter

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Definition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:

Transkript:

FB Technologie und Management Datenverarbeitung (D 1) (Kapitel 7 Programmierung) Darstellungsarten (DF) Datenflußplan (PA) Programmablaufplan (PN) Programmnetz (DN) Datennetz (PH) Programmhierarchie (DH) Datenhierarchie (KP) Konfigurationsplan 1 2 erarbeitung / erarbeitungseinheiten erarbeitungseinheit, allgemein (processing unit) Manuelle erarbeitung (manual operation) erzweigung (decision) Daten (Begriffe nach DIN 44 300) Daten, allgemein (data) Maschinell zu verarbeitende Daten (data to be processed by machine) Manuell zu verarbeitende Daten (data to be processed by manual operation) 3 4

erbindungen erbindung (line) erarbeitungsfolge Zugriffsmöglichkeit Zugriffsweg Über-/Unterordnung Zusammenfassung / Unterteilung Datenübertragungsweg (communication link) Darstellungshilfen Grenzstelle - zur Umwelt (terminator) (z.b. Beginn oder Ende einer Folge, Herkunft oder erbleib von Daten) erbindungsstelle (connector) Eine erbindung kann durch eine erbindungsstelle unterbrochen und an anderer Stelle derselben Darstellung mit einer erbindungsstelle mit gleicher Innenbeschriftung fortgesetzt werden. 5 6 Darstellungshilfen Bemerkung (annotation) Mit diesem Sinnbild kann erläuternder Text jedem anderen Sinnbild dieser Norm zugeordnet werden. Die durchbrochene Linie zum erläuternden Sinnbild darf durch eine olllinie ersetzt werden. DIN 66261 Struktogramme nach Nassi-Shneiderman G = Gemeinsamer Bedingungsteil B = Bedingung = erarbeitung N = Bezeichner des zu verlassenden umfassenden Sinnbildes n = natürliche Zahl größer oder gleich 2 7 8

DIN 66261 - Sinnbilder DIN 66261 - Sinnbilder 5.1 erarbeitung allgemein process 5.2 Folge serial 5.1.1 erarbeitung imperative 1 Folge serial 5.1.2 Block block 2 9 10 DIN 66261 - Sinnbilder 5.4 DIN 66261 - Sinnbilder Alternative selective choice 5.3 5.3.1 5.3.2 5.3.3 B B Wiederholung Wiederholung mit vorausgegangener Bedingungsprüfung Wiederholung mit nachfolgender Bedingungsprüfung Wiederholung ohne Bedingungsprüfung iterative pre-tested iteration post-tested iteration continuous iteration 5.4.1 5.4.2 B B1 1 G G 2 B2 5.4.3 B 1 G 1 B i i n-1 bedingte erarbeitung einfache Alternative n B n mehrfache Alternative monadic selective dyadic selective multiple exclusive selective 11 12

Compiler Binder und Lader 5 Bearbeitungsschritte (Übersetzungsphasen) Frontend Backend Lexikalische Analyse Syntaxanalyse Semantische Analyse Optimierungen Codeerzeugung Quellprogramm Folge von Symbolen Syntaxbaum Symbolliste, Zwischensprache Symbolliste, optimierte Zwischensprache Maschinenprogramm Übersetzer (Compiler) Quelldatei Quelldatei Quelldatei Binder (Linker) Gebundene Lader (Loader) ausführbares Programm im Hauptspeicher 13 14 Linker (Binder) Adressraum eines ablauffähigen Programms on der Aufgabe zum Ergebnis Adressen main() Sub1() Sub2()... Sub n () Bibliotheks-funktionen / Laufzeitsystem selbst geschriebene Funktionen A.) B.) C.) D.) E.) F.) Aufgabenstellung Algorithmische Aufbereitung Strukturdiagramm C-Programm Ergebnis Auswertungen globale ariablen Stack Heap 15 16

Programm Ein Programm ist eine eindeutige, formalisierte Beschreibung von Algorithmen und Datenstrukturen, die durch einen automatischen Übersetzungsprozess auf einem Computer ablauffähig werden. Den zur Formulierung eines Programms verwendeten Beschreibungsformalismus bezeichnen wir als Programmiersprache Algorithmus Ein Algorithmus ist eine endliche Menge von genau beschriebenen Anweisungen, die unter Benutzung von vorgegebenen Anfangsdaten in einer genau festgelegten Reihenfolge auszuführen sind, um die Lösung eines Problems in endlich vielen Schritten zu ermitteln. 17 18 Algorithmen Bestandteile und Eigenschaften, die zu einem Algorithmus gehören: 1. eine Menge von Objekten, die durch den Algorithmus bearbeitet werden. 2. eine Menge von Operationen, die auf den Objekten ausgeführt werden 3. ein ausgezeichneter Anfangszustand, in dem sich die Objekte zu Beginn befinden 4. ein gewünschter Endzustand, in dem sich die Objekte nach der Lösung des Problems befinden sollen. Euklidischer Algorithmus Beispiel: Gesucht ist der größte gemeinsame Teiler von m = 376 und n = 24 Schritt 1 [Restbildung] Dividiere m durch n und nenne den Rest r. (Es ist 0 <= r < n) Schritt 2 [Ende? ] Wenn r = 0 ist, dann ist n der gesuchte größte gemeinsame Teiler und der Algorithmus ist zu Ende. Schritt 3 [Ersetzung] Setze m = n und n = r und gehe zurück nach Schritt 1 Schritt m n r Start 376 24 - Gehe nach Schritt 1 Nach Schritt 1 376 24 16 Gehe nach Schritt 2 Nach Schritt 2 376 24 16 Gehe nach Schritt 3 Nach Schritt 3 24 16 16 Gehe nach Schritt 1 Nach Schritt 1 24 16 8 Gehe nach Schritt 2 Nach Schritt 2 24 16 8 Gehe nach Schritt 3 Nach Schritt 3 16 8 8 Gehe nach Schritt 1 Nach Schritt 1 16 8 0 Gehe nach Schritt 2 Nach Schritt 2 Der größte gemeinsame Teiler von 376 und 24 ist 8. Ende 19 20

GgT bestimmen Euklidischer Algorithmus und Bestimmung des Kg ertausche M und N Initialisiere M und N Nein z1 = 0 ODER z2 = 0 Abs(z1)<Abs(z2) Ja Nein r = z1 z1 = z2 z2 = r n = Abs(z1); r = Abs(z2); Ja Solange r > 0 m = n n = r r = Rest(m/n) Es gibt keine Lösung GgT = n 21