Post on 06-Feb-2018
Informatik in der Mittelstufe9.1. Funktionale Modellierung
Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik
Fakultät für Informatik der TU München
http://ddi.in.tum.de Peter.Hubwieser@in.tum.de
TUM-Informatiklehrertag 2007: Funktionale Modellierung
2
(C) Peter Hubwieser, 13.7.2007
1. Didaktische und fachliche
Vorüberlegungen
TUM-Informatiklehrertag 2007: Funktionale Modellierung
3
(C) Peter Hubwieser, 13.7.2007
Der Lehrplan G8 – 9.1ausgewählte Elemente von Datenflussdiagrammen (Funktion/Prozess, Datenfluss, Ein- und Ausgabe, Verteiler)
Funktion als informationsverarbeitende Einheit (Bezeichner, Eingangsparameter, Funktionswert, Zuordnungsvorschrift; Eindeutigkeit); vordefinierte Funktionen, insbesondere bedingte Funktion („Wenn-Funktion“) und logische Funktionen
Umsetzung von Datenflussdiagrammen in Terme eines Tabellenkalkulationssystems
elementare Datentypen: Zahl, Text, Datum, Wahrheitswert
TUM-Informatiklehrertag 2007: Funktionale Modellierung
4
(C) Peter Hubwieser, 13.7.2007
Methodische PrinzipienModerne konstruktivistische Lernansätze fordern:
Einführung in die jeweilige Problematik an Hand authentischer Probleme
Anordnung der Lernprozesse in größeren Projekten
Viel Eigentätigkeit der Schülerinnnen und Schüler
Möglichst kurze, aber dafür informative Lehrervorträge (5-10 Minuten pro Stunde).
Intensive Kooperation zwischen den Schülerinnen und Schülern.
Brown et al. (1989)
NEIN!
JA!
TUM-Informatiklehrertag 2007: Funktionale Modellierung
5
(C) Peter Hubwieser, 13.7.2007
Wie geht das in der Praxis?1. Schüler bearbeiten Lernaufgabe:
Bezug zur ErfahrungsweltSpannend, herausfordernd
=> Neue Konzepte erforderlich!
2. Schülergespräch, notfalls kurzer Informationsinput durch Lehrkraft; Hefteintrag
3. Übungsaufgaben
4. Zusammenfassung, Einordnung, Ausblick
MÖGLICHST KEIN fragend-entwickelnder Unterricht über mehrere Lernstufen!
Zahlenlotto gibt es in fast allen Ländern Europas. In Deutschland tippt man „6 aus 49“, in Österreich „6 aus 45“, in Italien „5 aus 90“ und in Schweden „7 aus 35“. Mithilfe der Funktion KOMBINATIONEN kannst du in einem Rechenblatt die Anzahl der möglichen Ergebnisse für diese Spiele berechnen. Stelle fest, in welchem Land man die größten Chancen auf einen Hauptgewinn hat.
z.B. Konzept „mehrstelligeFunktionen“
TUM-Informatiklehrertag 2007: Funktionale Modellierung
6
(C) Peter Hubwieser, 13.7.2007
Zentrale Fachmethode: „Teile und herrsche“
Problem:
• Komplexe Systeme können nicht im Ganzen bis ins Detail beschrieben werden
Lösung:
• Man gliedert das betrachtete System (z.B. einen Betrieb) in Teilsysteme (z.B. Einkauf, Vertrieb, Marketing, ..)
• beschreibt die Interaktion bzw. Kommunikation zwischen diesen Teilsystemen (Komponenten) durch ein Diagramm,
• Man beschreibt nicht die innere Struktur der Komponenten
TUM-Informatiklehrertag 2007: Funktionale Modellierung
7
(C) Peter Hubwieser, 13.7.2007
Modellierungstechnik: Datenflussdiagramme
Produktdaten
Kunde
Umsatzdaten
Bank Finanzamt
Lieferant
Einkauf
VertriebLager-haltung
Bestellung
Bestand
Buchhaltung
Lieferzeiten, Preise
Anforderung
Ausgaben
Einnahmen
SteuererklärungÜberweisungen
Kontostand
Marketing
Produktion
Steueranforderung
Anforderung
Produktionsergebnis
Werbung, Preise
Verkaufsdaten
Lagerbestand
Bestellung
Preisgestaltung
Kosten
Rechnung
Datenverarbeitung Datenspeicherung
Ein- Ausgaben
TUM-Informatiklehrertag 2007: Funktionale Modellierung
8
(C) Peter Hubwieser, 13.7.2007
Sichtweise:Verarbeitung von Information abstrakt
z.B. Steuerung eines Geldautomaten:
• Eingabedaten: Kontonummer, PIN, Betrag
• Ausgabedaten: Transaktion OK, Abbuchung Konto
z.B. Antiblockiersystem (ABS) im Auto:
• Eingabe: Rotationsgeschwindigkeit der Räder
• Ausgabe: Steuersignal an Bremssystem
InformationsverarbeitenderProzess
Ausgabedaten
Eingabedaten
TUM-Informatiklehrertag 2007: Funktionale Modellierung
9
(C) Peter Hubwieser, 13.7.2007
Warum Tabellenkalkulation?Solange alle Prozesse eines Datenflussdiagramms Funktionen sind, kann es gut durch ein Tabellenkalkulationssystem simuliert werden
Umgekehrt kann die Arbeitsweise von Tabellenkalkulationssystemen sehr gut durch Funktionen und Datenflüsse beschrieben (abstrahiert) werden.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
10
(C) Peter Hubwieser, 13.7.2007
Das Konzept ist stabil!Spezielle Standardsoftware für mathematisch/ kaufmännische Berechnungen
Entwickelt von D. Bricklin, B. Franston 1979VisiCalc (Apple II),
später: Lotus 1-2-3, Excel, StarCalc, etc.
VisiCalc Screen, early Alpha 1/4/79
TUM-Informatiklehrertag 2007: Funktionale Modellierung
11
(C) Peter Hubwieser, 13.7.2007
Datenflussdiagramme in RechenblätternOffensichtlich kann man (manche) Datenflussdiagramme in Rechenblätter abbilden
Mit den folgenden Einschränkungen:
• als Informationsverarbeitende Prozesse sind nur Funktionen mit einer Datenausgabeleitung zugelassen
• es gibt keine (dauerhaften) Datenspeicher
⇒ es kann also nicht jedes funktionale Modell in einer Tabellenkalkulation dargestellt werden.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
12
(C) Peter Hubwieser, 13.7.2007
Funktion als Spezialfall eines ProzessesFunktionen können als datenverarbeitendeProzesse betrachtet werden
Sie dürfen aber nur genau eine Ausgangsleitung haben!Informationsverarbeitender
Prozess
Ausgabedaten
Eingabedaten
TUM-Informatiklehrertag 2007: Funktionale Modellierung
13
(C) Peter Hubwieser, 13.7.2007
LiteraturP. Hubwieser, M. Spohrer, M. Steinert, S. Voß: Informatik 2. Tabellenkalkulationssysteme, Datenbanken. Klett, 2007. ISBN 978-3-12-731668-1
P. Brichzin, U. Freiberger, K. Reinold, A. Wiedemann: Informatik. Ausgabe für das G8 in Bayern. Schülerbuch I. Oldenbourg, 2007.ISBN: 978-3-486-00156-3
TUM-Informatiklehrertag 2007: Funktionale Modellierung
14
(C) Peter Hubwieser, 13.7.2007
2. Ein Unterrichtskonzept
Achtung: Hier werden die von den Schülern gelernten Konzepte dargestellt.
Diese sollten nicht ausschließlich von der Lehrkraft eingeführt werden!
TUM-Informatiklehrertag 2007: Funktionale Modellierung
15
(C) Peter Hubwieser, 13.7.2007
Struktur der Dokumente
Dokumente einer Tabellenkalkulation bestehen aus Rechenblättern („Tabellen“)
TUM-Informatiklehrertag 2007: Funktionale Modellierung
16
(C) Peter Hubwieser, 13.7.2007
Struktur der DokumenteEin Rechenblatt besteht aus Zellen, die in (endlich) vielen Zeilenund Spalten angeordnet sind.(z.B. Excel XP: 65.536 Zeilen mal 256 Spalten)
Eine dieser Zellen ist die aktuelle Zelle, deren Inhalt in der Kopfleiste angezeigt wird.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
17
(C) Peter Hubwieser, 13.7.2007
Aufbau eines Rechenblattes
Zellen enthalten:
• Daten verschiedener Sorten (Zahl, Währung, Datum, Text, ..) oder
• Formeln, bestehen aus einem Gleichheitszeichen und einem Term.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
18
(C) Peter Hubwieser, 13.7.2007
Wert einer ZelleJede nichtleere Zelle hat einen Wert:
Enthält eine Zelle ein Datum (Singular von Daten), so entspricht ihr Wert genau diesem Datum, z.B. der Zahl 5 oder dem Text „Hallo“
Enthält eine Zelle eine Formel, so muss deren Term zur Bestimmung Zellwertes ausgewertet werden, z.B.: Summe(3; 4; 5) = 3 + Summe(3; 4) = 3 + 4 + Summe(5) = 3 + 4 + 5 = 12
TUM-Informatiklehrertag 2007: Funktionale Modellierung
19
(C) Peter Hubwieser, 13.7.2007
Zellbezüge
Mit Hilfe von Zellbezügen kann man den Wert einer Zelle als Eingabe (Argument) in andere Zellen kopieren
6
Hier nutzen wir die Möglichkeit, anstatt ihrer Werte die Formeln in den Zellen anzeigen zu lassen (Extras – Optionen – Ansicht – Formeln)
TUM-Informatiklehrertag 2007: Funktionale Modellierung
20
(C) Peter Hubwieser, 13.7.2007
Anpassung von Zellbezügen
3 Zeilen nach unten kopieren
Beim Kopieren von Formeln von einer Zelle in eine andere werden die Zellbezüge entsprechend der relativen Lage der beiden Zellen zueinander angepasst:
Beim Kopieren um x Spalten nach rechts werden die Spaltenbezeichner um x erhöht
Beim Kopieren um y Zeilen nach unten werden die Zeilenbezeichner um y erhöht
Zeilenbezeichner um 3 erhöhen:
z.B. B4 → B7
Beim Transfer einer Formel über Ausschneiden – Einfügen werden die Zellbezüge nicht angepasst!
TUM-Informatiklehrertag 2007: Funktionale Modellierung
21
(C) Peter Hubwieser, 13.7.2007
Absolute Zellbezüge
Wenn man verhindern will, dass beim Kopieren Zellbezüge verändert werden (z.B., weil man immer auf dieselbe Zelle verweisen will), dann setzt man vor den jeweiligen Zeilen- oder Spaltenbezeichner ein $-Zeichen. Damit erzeugt man einen absoluten Zellbezug
TUM-Informatiklehrertag 2007: Funktionale Modellierung
22
(C) Peter Hubwieser, 13.7.2007
Datentypen
Die Zellen beinhalten neben ihrem Wert auch die Angabe der Art, wie dieser Wert darzustellen ist (Format), z.B. einstellige Bruchzahl, Dezimalbruch, Datum, ..
Wenn der Wert nicht genau als Wert eines bestimmten Formates dargestellt werden kann, wird er auf den nächstliegenden Wert gerundet:z.B. 0,30 -> 3/7 = 0,2857.. im einstelligen Bruchformat.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
23
(C) Peter Hubwieser, 13.7.2007
Addition?Wenn man versucht, die Inhalte von Zellen mit verschiedenen Formaten zu addieren, stellt man fest, dass man fast alle Typen außer Texten addieren kann.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
24
(C) Peter Hubwieser, 13.7.2007
Werte sind Zahlen oder TexteDurch Versuche mit Änderung des Formates einer Zelle stellt man fest:
• Eine Zelle enthält als Wert entweder eine Zahl oder einen Text; • Zahlenwerte kann man in sehr vielen unterschiedlichen
Formaten darstellen: Brüche, Währung, Datum, Uhrzeit, als logischen Wert usw.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
25
(C) Peter Hubwieser, 13.7.2007
E-V-A Prinzip (Eingabe-Verarbeitung-Ausgabe)
Mit Hilfe von Zellbezügen kann man in einem Rechenblatt das E-V-A Prinzip realisieren:
• Der Wert einer Zelle wird mittels Zellbezug einer Funktion als Argument übergeben (Eingabe)
• Der Wert der Funktion wir berechnet (Verarbeitung) und
• erscheint als Ausgabe in der Zelle, welche die Formel enthält.
Eingabe
Verarbeitung
Ausgabe
TUM-Informatiklehrertag 2007: Funktionale Modellierung
26
(C) Peter Hubwieser, 13.7.2007
Funktionen und DV-ProzesseEine Funktion ist eine eindeutige paarweise Zuordnung (Relation) zwischen den Elementen zweier Mengen:
• Menge der Argumente (Definitionsmenge)• Menge der Funktionswerte (Wertemenge)
123456...
IIIIIIIVVVI...
RÖMISCH
A = Menge dernatürlichen Zahlen
B = Menge der römischenZahldarstellungen
RÖMISCH
12
XII
Argument
Funktionswert
Diese Zuordnung wird in der Informatik durch informationsverarbeitendeProzesse festgelegt:
• Das Funktionsargument ist die Eingabe• der Funktionswert ist die Ausgabe des
Prozesses
2
3
4
5
67
8
5
BA
Keine Funktion!
TUM-Informatiklehrertag 2007: Funktionale Modellierung
27
(C) Peter Hubwieser, 13.7.2007
Berechnung von FunktionenMathematik: Zuordnungsvorschrift wird über mathematische Formeln eindeutig festgelegt
• oft wird kein Berechnungsverfahren angeben, • manchmal gibt es nicht einmal eines.
Informatik: Funktionen müssen durch Computer tatsächlich berechnet werden.
• Algorithmus: Ausführbares Verfahren, das auf präzise Weise beschreibt, wie zu jedem Argument der Funktionswert berechnet wird.
• Programm: maschinenlesbare Darstellung eines Algorithmus
TUM-Informatiklehrertag 2007: Funktionale Modellierung
28
(C) Peter Hubwieser, 13.7.2007
Automatische Erzeugung von Funktionsgraphen
GANZZAHL(x)
0,01,02,03,04,0
1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 2,0 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9 3,0
GANZZAHL(x)
x
B
A
keine Funktion!
Linien- bzw. Balkendiagramme mit Hilfe der Tabellenkalkulation
ABS(a)
0
2
4
6
8
10
12
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
ABS(a)
TUM-Informatiklehrertag 2007: Funktionale Modellierung
29
(C) Peter Hubwieser, 13.7.2007
Mehrstellige FunktionenViele Funktionen haben mehr als ein Argument: POTENZ, KGV, RUNDEN
Solche Funktionen heißen mehrstellig
Manche Funktionen können sogar eine variable Anzahl von Argumenten aufnehmen, z.B.: SUMME, MITTELWERT
TUM-Informatiklehrertag 2007: Funktionale Modellierung
30
(C) Peter Hubwieser, 13.7.2007
Beispiel: Bruchberechnung
Eingabe
/ Verarbeitung
Ausgabe
TUM-Informatiklehrertag 2007: Funktionale Modellierung
31
(C) Peter Hubwieser, 13.7.2007
Reihenfolge der ArgumenteBei den meisten mehrstelligen Funktionen führt eine Vertauschung der Reihenfolge der Argumente zu veränderten Ergebnissen:
POTENZ(2: 3) = 23 = 8
POTENZ(3; 2) = 32 = 9
Bei manchen Funktionen spielt die Reihenfolge der Argumente dagegen keine Rolle:
SUMME(a; b) = SUMME(b; a);
KGV(x; y) = KGV(y; x)
Solche Funktionen heißen kommutativ
TUM-Informatiklehrertag 2007: Funktionale Modellierung
32
(C) Peter Hubwieser, 13.7.2007
Infix- und PräfixnotationZweistellige Funktionen werden oft abgekürzt durch ein Operatorsymbol zwischen den Argumenten dargestellt:
SUMME(2; 3) = 2 + 3
PRODUKT(a; b) = a*b
Die linke Art der Darstellung heißt Präfix-, die rechte Infixnotation, weil das Funktionssymbol vor bzw. zwischen den Argumenten steht.
Manche Schreibweisen gehören weder zur einen noch zur anderen Art: z.B. xy für POTENZ(x; y)
Präfixnotation Infixnotation
TUM-Informatiklehrertag 2007: Funktionale Modellierung
33
(C) Peter Hubwieser, 13.7.2007
Verkettung von FunktionenFür viele Aufgabenstellungen muss man mehrere Funktionen kombinieren.
Oft wendet man dabei die Verkettung von Funktionen an: Eine Funktion übernimmt dabei die Werte einer anderen Funktion als Argument, hier z.B. RUNDEN das Ergebnis von MITTELWERT als 1. Argument.
Fester Wert in Formel!
TUM-Informatiklehrertag 2007: Funktionale Modellierung
34
(C) Peter Hubwieser, 13.7.2007
BereichsoperatorOft benötigt man alsArgument einerFunktion die Folge derWerte eineszusammenhängenden(rechteckigen)Bereichs von Zellen
Bei Funktionen miteiner variablen Anzahlvon Argumenten kannman dafür den Bereichsoperator : (Infixnotation) verwenden:
SUMME(B5:C16)
:
SUMME
Linke obere Ecke
Rechte untere Ecke
TUM-Informatiklehrertag 2007: Funktionale Modellierung
35
(C) Peter Hubwieser, 13.7.2007
Kompression von BerechnungenAnstatt das Zwischenergebnisbei einer Verkettung in einereigenen Zelle abzulegen ..
.. kann man auch die ganzeBerechnung in einer Zelleausführen.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
36
(C) Peter Hubwieser, 13.7.2007
Terme aus DatenflussdiagrammenBei der Bildung des komprimierten Terms ausdem Datenflussdiagrammbeginnt man mit der zuletztausgeführten Funktion,
RUNDEN(MITTELWERT(..).)
Die vorher berechnetenFunktionen erscheinen alsderen Argumente
TUM-Informatiklehrertag 2007: Funktionale Modellierung
37
(C) Peter Hubwieser, 13.7.2007
Beispiel: Diagonale im Rechteck
da
b
SUMME
POTENZ POTENZ
a b
WURZEL
d
2 2
TUM-Informatiklehrertag 2007: Funktionale Modellierung
38
(C) Peter Hubwieser, 13.7.2007
Aufgabe: Term erstellen
Ein Geldbetrag liegt fürgewisse Zeit auf einemverzinsten Konto (z.B. 3,75% pro Jahr).
Welcher Zinsbetrag wirdgutgeschrieben (ohneZinseszins)?
BRTEIL bezeichnet den Bruchteil eines Jahres, über den der Betrag auf dem Konto war.
BRTEIL
*
*
AD (Anfangsdatum)
ES(Enddatum)
Z(Zinnssatz)
K(Kapital)
:
100
RUNDEN
2Setzen Sie dieses Datenflussdiagrammin einen Term um!
Lösung: RUNDEN(BRTEIL(AD, ED)*((Z:100)*K)
TUM-Informatiklehrertag 2007: Funktionale Modellierung
39
(C) Peter Hubwieser, 13.7.2007
BRTEIL?Wie berechnet man BRTEIL?
Standardmäßig rechnen die Banken dabei mit 30 Tagenpro Monat und 360 Tagenpro Jahr.
Erstellen Sie einen Term aus dem nebenstehendenDatenflussdiagramm!
Lösung:SUMME(30-TAG(A5);30*(MONAT(C5)-1-MONAT(A5));TAG(C5))/360
MONATTAG MONATTAG
*
-
SUMME
-
30
AD ED
30
-
1
/
360
Wert kopieren!
TUM-Informatiklehrertag 2007: Funktionale Modellierung
40
(C) Peter Hubwieser, 13.7.2007
Datenverteiler
Meist komprimiert man die Terme soweit möglich in einer Zelle.
Ausnahmen:
• Ein Zwischenergebnis soll angezeigt werden.
• Ein Zwischenergebnis soll mehrfach verwendet werden.
Im zweiten Fall muss der Wert der Zelle, die das Zwischenergebnis enthält, kopiert werden (Symbol: Fetter Punkt).
Beispiel: Bruchaddition, z.B.
5/6 + 3/8 = (5*4 + 3*3)/24
/
kgV
Zähler1 Nenner1 Zähler2 Nenner2
/
* *
+
Zähler3 Nenner3
TUM-Informatiklehrertag 2007: Funktionale Modellierung
41
(C) Peter Hubwieser, 13.7.2007
Bedingte TermeBei manchen Berechnungenhängt die Struktur des Terms von gewissenBedingungen ab, z.B.:
Ein Baumarkt gewährt in einer Sonderaktion
• auf alle Preise unter 100€einen Rabatt von 25%,
• ab 100 € aufwärts jedocheinen Nachlass von 25€.
Solche Aufgaben könnenmit Hilfe der WENN-Funktion gelöst werden.
WENN
Ausgezeichneter Preis
Ermäßigter Preis
<
100 €
*
0,75
-
25 €
WENN(Preis<100; Preis*0,75; Preis-25)
TUM-Informatiklehrertag 2007: Funktionale Modellierung
42
(C) Peter Hubwieser, 13.7.2007
BedeutungDreistellige WENN-Funktion:
WENN (<Bed>; <Term1>;<Term2>)
WAHR
<Bedingung> <Term1> <Term2>
FALSCH
<Bedingung> <Term1> <Term2>
falls <Bed> = WAHR
falls <Bed> = FALSCH
TUM-Informatiklehrertag 2007: Funktionale Modellierung
43
(C) Peter Hubwieser, 13.7.2007
AuswertungWENN (<Bed>; <Term1>;<Term2>)
• Zunächst wird die Bedingung <Bed> zu einem Wahrheitswert (WAHR oder FALSCH) ausgewertet.
• Falls <Bed> = WAHR wird <Term1>ausgewertet und als Ergebnis der WENN-Funktion zurückgegeben.
• Andernfalls wird der <Term2>ausgewertet und als Ergebnis zurückgegeben.
ACHTUNG: Die Bedingung wird zu einer Zahl ausgewertet:
• 0 wird als FALSCH interpretiert• alle anderen Werte als WAHR!
WAHR
<Bedingung> <Term1> <Term2>
FALSCH
<Bedingung> <Term1> <Term2>
TUM-Informatiklehrertag 2007: Funktionale Modellierung
44
(C) Peter Hubwieser, 13.7.2007
Problem: StriktheitEine Funktion heißt strikt, wenn ihr Ergebnis nicht definiert ist, sobald mindestens eines ihrer Argumente einen nicht definierten Wert annimmt.
Die WENN-Funktion ist nicht strikt, z.B.:
WENN(b <> 0 ; a/b; „FEHLER“)
Hier ist Falle b = 0 das 1. Argument <Term1> der Funktion nicht definiert. Dennoch liefert die Funktion einen Text als definierten Wert zurück.
Ursache: <Term1> bzw. <Term2> werden nur dann ausgewertet, wenn die Bedingung den jeweiligen Wert (wahr bzw. falsch) aufweist!
WENN
a
FEHLER!
Ergebnis
/
<>
0
b
b = 0
TUM-Informatiklehrertag 2007: Funktionale Modellierung
45
(C) Peter Hubwieser, 13.7.2007
Beispiel: SchaltjahreNach dem GregorianischenKalender ist ein Jahr einSchaltjahr, wenn die Jahreszahl
• durch 4 und nicht durch 100 • oder• durch 400 teilbar ist.
Formalisiert: J ist Schaltjahr, falls
(4 ist Teiler von J) UND (NICHT (100 ist Teiler von J))
ODER (400 ist Teiler von J)
UND
Jahreszahl
NICHT
ist Teilervon
4
ist Teilervon
400
ist Teilervon
100
ODER
Schaltjahr?
Im Rechenblatt berechnen wir “ist Teilervon” durch:NICHT(REST(Jahreszahl; Teiler))
TUM-Informatiklehrertag 2007: Funktionale Modellierung
46
(C) Peter Hubwieser, 13.7.2007
Logische FunktionenDie Funktionswerte der Logischen Funktionen UND, ODER bzw. NICHT lassen sich sehr übersichtlich in Wahrheitstafeln darstellen:
TUM-Informatiklehrertag 2007: Funktionale Modellierung
47
(C) Peter Hubwieser, 13.7.2007
Gleichungen und Ungleichungen
Eine Gleichung bzw. Ungleichung kann man als zweistelligeFunktion mit dem Infixoperator „=“ bzw. „<“ oder „>“betrachten
die einen Wahrheitswert als Ergebnis liefert.
Diese Tatsache wird bei der WENN-Funktion angewandt, wo oft Gleichungen und Ungleichungen als Bedingungauftreten.
<
A B
Ergebnis
TUM-Informatiklehrertag 2007: Funktionale Modellierung
48
(C) Peter Hubwieser, 13.7.2007
Vollständige Funktionale Modellierung
Produktdaten
Kunde
Umsatzdaten
Bank Finanzamt
Lieferant
Einkauf
VertriebLager-haltung
Bestellung
Bestand
Buchhaltung
Lieferzeiten, Preise
Anforderung
Ausgaben
Einnahmen
SteuererklärungÜberweisungen
Kontostand
Marketing
Produktion
Steueranforderung
Anforderung
Produktionsergebnis
Werbung, Preise
Verkaufsdaten
Lagerbestand
Bestellung
Preisgestaltung
Kosten
Rechnung
Datenverarbeitung Datenspeicherung
Ein- Ausgaben
TUM-Informatiklehrertag 2007: Funktionale Modellierung
49
(C) Peter Hubwieser, 13.7.2007
DIN 66001Datenflussdiagramme wurden bereits 1966 in DIN 66001 genormt.
In der neuesten Fassung von Dezember 1983: „Ein Datenflussplan stellt Verarbeitungen und Daten sowie die Verbindungen zwischen beiden dar.“
In der DIN 66001 werden 19 verschiedene grafische Symbole zur Darstellung aufgeführt, heute wird eine wesentlich geringere Anzahl von Symbolen verwendet.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
50
(C) Peter Hubwieser, 13.7.2007
Materialflüsse: PKW-Montageband
Karosserie-montage
Fahrgestell-montage
Radmontage
Endmontage
Just-in-time-Anlieferung der
Räder
Karosserie-lager
Fahrgestell-lager
Endteile-lager
TUM-Informatiklehrertag 2007: Funktionale Modellierung
51
(C) Peter Hubwieser, 13.7.2007
Methode der schrittweisen VerfeinerungZunächst wählt man die Komponenten (Prozesse) relativ groß (und betrachtet sie als „black box“)
In weiteren Schritten gliedert man jede wichtige Komponente wiederum durch ein Datenflussdiagramme
Es folgt ein Beispiel dazu: PC-Rechenanlage
TUM-Informatiklehrertag 2007: Funktionale Modellierung
52
(C) Peter Hubwieser, 13.7.2007
PC-Rechenanlage: Datenflussdiagramm
Zentraleinheit
Bildschirm
Lautsprecher
Joystick
Maus
Karten-leser
Tastatur
DruckerScanner
USB-HubLAN-Dose
TUM-Informatiklehrertag 2007: Funktionale Modellierung
53
(C) Peter Hubwieser, 13.7.2007
Verfeinerung: PC-Zentraleinheit
Festplatte
DVD-Brenner
CPU
Grafikkarte
TV-Karte
Bildschirm
Antenne
Controller
TUM-Informatiklehrertag 2007: Funktionale Modellierung
54
(C) Peter Hubwieser, 13.7.2007
Vielen Dank für Ihre Aufmerksamkeit!
Noch Fragen?
Andernfalls: guten Appetit beim Mittagessen!