Informatik in der Mittelstufe 9.1. Funktionale Modellierung

Werbung
Prof. Dr. Peter Hubwieser
Fachgebiet Didaktik der Informatik
Fakultät für Informatik der TU München
Informatik in der Mittelstufe
9.1. Funktionale Modellierung
http://ddi.in.tum.de
[email protected]
1. Didaktische und
fachliche
Vorüberlegungen
2
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Der Lehrplan G8 – 9.1
ƒ ausgewä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 („WennFunktion“) und logische Funktionen
ƒ Umsetzung von Datenflussdiagrammen in Terme eines
Tabellenkalkulationssystems
ƒ elementare Datentypen: Zahl, Text, Datum,
Wahrheitswert
3
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Brown et al. (1989)
Methodische Prinzipien
Moderne konstruktivistische Lernansätze fordern:
ƒ Einführung in die jeweilige Problematik an Hand
authentischer Probleme
ƒ Anordnung der Lernprozesse in größeren Projekten
NEIN!
ƒ Viel Eigentätigkeit der Schülerinnnen und Schüler
ƒ Möglichst kurze, aber dafür informative Lehrervorträge (510 Minuten pro Stunde).
ƒ Intensive Kooperation zwischen den Schülerinnen und
Schülern.
JA!
4
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Wie geht das in der Praxis?
1.
z.B. Konzept „mehrstellige
Funktionen“
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.
Schüler bearbeiten Lernaufgabe:
Bezug zur Erfahrungswelt
ƒ
Spannend, herausfordernd
=> Neue Konzepte erforderlich!
ƒ
2.
Schülergespräch, notfalls kurzer
Informationsinput durch Lehrkraft;
Hefteintrag
3.
Übungsaufgaben
4.
Zusammenfassung, Einordnung,
Ausblick
MÖGLICHST KEIN fragendentwickelnder Unterricht über
mehrere Lernstufen!
5
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
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
6
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Modellierungstechnik:
Datenflussdiagramme
Datenverarbeitung
Kunde
Werbung, Preise
Datenspeicherung
Marketing
Lieferzeiten, Preise
Lieferant
Preisgestaltung
Bestellung
Einkauf
Verkaufsdaten
Produktion
Produktdaten
Ausgaben
Rechnung
Bestellung
Kosten
Anforderung
Produktionsergebnis
Vertrieb
Bestand
Lagerhaltung
Anforderung
Lagerbestand
Ein- Ausgaben
Einnahmen
Buchhaltung
Überweisungen
Bank
Umsatzdaten
Steuererklärung
Kontostand
Steueranforderung
Finanzamt
7
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Sichtweise:
Verarbeitung von Information abstrakt
Eingabedaten
ƒ z.B. Steuerung eines
Geldautomaten:
•
•
Informationsverarbeitender
Prozess
Eingabedaten: Kontonummer,
PIN, Betrag
Ausgabedaten: Transaktion
OK, Abbuchung Konto
ƒ z.B. Antiblockiersystem
(ABS) im Auto:
•
•
Eingabe:
Rotationsgeschwindigkeit der
Räder
Ausgabe: Steuersignal an
Bremssystem
Ausgabedaten
8
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
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.
9
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Das Konzept ist stabil!
ƒ Spezielle
Standardsoftware für
mathematisch/
kaufmännische
Berechnungen
ƒ Entwickelt von
D. Bricklin,
B. Franston 1979
VisiCalc (Apple II),
ƒ später: Lotus 1-2-3,
Excel, StarCalc, etc.
10
VisiCalc Screen, early Alpha 1/4/79
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Datenflussdiagramme in Rechenblättern
ƒ Offensichtlich 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.
11
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Funktion als Spezialfall eines Prozesses
Eingabedaten
Informationsverarbeitender
Prozess
ƒ Funktionen können als
datenverarbeitende
Prozesse betrachtet werden
ƒ Sie dürfen aber nur genau
eine Ausgangsleitung
haben!
Ausgabedaten
12
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Literatur
ƒ P. Hubwieser, M. Spohrer, M. Steinert, S. Voß:
Informatik 2. Tabellenkalkulationssysteme,
Datenbanken. Klett, 2007. ISBN 978-3-12731668-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
13
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
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!
14
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Struktur der Dokumente
ƒ Dokumente einer
Tabellenkalkulation bestehen aus
Rechenblättern („Tabellen“)
15
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Struktur der Dokumente
ƒ
Ein Rechenblatt besteht aus
Zellen,
die in (endlich) vielen Zeilen
und 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.
16
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Aufbau eines Rechenblattes
ƒ Zellen enthalten:
•
Daten verschiedener Sorten
(Zahl, Währung, Datum, Text, ..) oder
•
Formeln, bestehen aus einem
Gleichheitszeichen und einem Term.
17
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Wert einer Zelle
ƒ Jede 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
18
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
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)
19
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Anpassung von Zellbezügen
ƒ 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
20
(C) Peter Hubwieser, 13.7.2007
3 Zeilen nach
unten kopieren
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
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
21
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Datentypen
ƒ Die Zellen beinhalten neben ihrem Wert auch die Angabe
der Art, wie dieser Wert darzustellen ist (Format),
z.B. einstellige Bruchzahl, Dezimalbruch, Datum, ..
22
ƒ 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.
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
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.
23
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Werte sind Zahlen oder Texte
ƒ Durch 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.
24
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
E-V-A Prinzip
(Eingabe-Verarbeitung-Ausgabe)
ƒ Mit Hilfe von Zellbezügen
kann man in einem
Rechenblatt das E-V-A
Prinzip realisieren:
Eingabe
•
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.
Verarbeitung
Ausgabe
25
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Funktionen und DV-Prozesse
ƒ Eine Funktion ist eine eindeutige
paarweise Zuordnung (Relation)
zwischen den Elementen zweier
Mengen:
•
Menge der Argumente (Definitionsmenge)
•
Menge der Funktionswerte (Wertemenge)
Argument
ƒ
12
RÖMISCH
A = Menge der
natürlichen Zahlen
Diese Zuordnung wird in der Informatik
durch informationsverarbeitende
Prozesse festgelegt:
•
RÖMISCH
1
2
3
4
5
6
...
•
Das Funktionsargument ist die Eingabe
der Funktionswert ist die Ausgabe des
Prozesses
XII
26
Funktionswert
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
I
II
III
IV
V
VI
...
B = Menge der römischen
Zahldarstellungen
Keine Funktion!
2
8
3
7
4
6
5
5
A
B
Berechnung von Funktionen
ƒ Mathematik: 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
27
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Automatische Erzeugung von
Funktionsgraphen
B
GANZZAHL(x)
4,0
3,0
2,0
1,0
0,0
keine Funktion!
GANZZAHL(x)
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
x
ABS(a)
12
10
8
6
ABS(a)
4
2
0
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
Linien- bzw. Balkendiagramme mit Hilfe der Tabellenkalkulation
28
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
A
Mehrstellige Funktionen
ƒ Viele 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
29
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Beispiel: Bruchberechnung
Eingabe
/
Verarbeitung
Ausgabe
30
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Reihenfolge der Argumente
ƒ Bei 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
31
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Infix- und Präfixnotation
ƒ Zweistellige Funktionen werden oft abgekürzt durch ein
Operatorsymbol zwischen den Argumenten dargestellt:
ƒ SUMME(2; 3)
Präfixnotation
ƒ PRODUKT(a; b)
=
2+3
=
a*b
Infixnotation
ƒ 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)
32
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Verkettung von Funktionen
ƒ Fü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.
33
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Fester Wert in
Formel!
Bereichsoperator
Linke obere
Ecke
ƒ Oft benötigt man als
Argument einer
Rechte untere
Funktion die Folge der
Ecke
Werte eines
zusammenhängenden
(rechteckigen)
Bereichs von Zellen
:
SUMME
34
(C) Peter Hubwieser, 13.7.2007
ƒ Bei Funktionen mit
einer variablen Anzahl
von Argumenten kann
man dafür den
Bereichsoperator :
(Infixnotation)
verwenden:
ƒ SUMME(B5:C16)
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Kompression von Berechnungen
Anstatt das Zwischenergebnis
bei einer Verkettung in einer
eigenen Zelle abzulegen ..
.. kann man auch die ganze
Berechnung in einer Zelle
ausführen.
35
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Terme aus Datenflussdiagrammen
ƒ Bei der Bildung des
komprimierten Terms aus
dem Datenflussdiagramm
beginnt man mit der zuletzt
ausgeführten Funktion,
ƒ RUNDEN(MITTELWERT(..).)
ƒ Die vorher berechneten
Funktionen erscheinen als
deren Argumente
36
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Beispiel: Diagonale im Rechteck
a
b
2
2
POTENZ
a
POTENZ
SUMME
WURZEL
d
37
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
d
b
Aufgabe: Term erstellen
Lösung: RUNDEN(BRTEIL(AD, ED)*((Z:100)*K)
AD
(Anfangsdatum)
ES
(Enddatum)
Z
(Zinnssatz)
100
ƒ Ein Geldbetrag liegt für
gewisse Zeit auf einem
verzinsten Konto (z.B.
3,75% pro Jahr).
:
BRTEIL
*
*
Setzen Sie dieses
Datenflussdiagramm
in einen Term um!
38
(C) Peter Hubwieser, 13.7.2007
K
(Kapital)
2
RUNDEN
ƒ Welcher Zinsbetrag wird
gutgeschrieben (ohne
Zinseszins)?
ƒ BRTEIL bezeichnet den
Bruchteil eines Jahres,
über den der Betrag auf
dem Konto war.
TUM-Informatiklehrertag 2007: Funktionale Modellierung
BRTEIL?
30
ƒ Wie berechnet man
BRTEIL?
ƒ Standardmäßig rechnen die
Banken dabei mit 30 Tagen
pro Monat und 360 Tagen
pro Jahr.
ƒ Erstellen Sie einen Term
aus dem nebenstehenden
Datenflussdiagramm!
AD
Wert
kopieren!
ED
TAG
MONAT
TAG
-
MONAT
-
30
*
SUMME 360
/
Lösung:
39 SUMME(30-TAG(A5);30*(MONAT(C5)-1-MONAT(A5));TAG(C5))/360
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
1
Datenverteiler
Zähler1 Nenner1 Zähler2 Nenner2
kgV
ƒ 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
Zähler3
40
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Nenner3
Ausgezeichneter
Preis
100 €
Bedingte Terme
ƒ Bei manchen Berechnungen
hängt die Struktur des
Terms von gewissen
25 €
Bedingungen ab, z.B.:
0,75
<
*
-
ƒ Ein Baumarkt gewährt in
einer Sonderaktion
•
•
WENN
Ermäßigter
Preis
41
(C) Peter Hubwieser, 13.7.2007
auf alle Preise unter 100€
einen Rabatt von 25%,
ab 100 € aufwärts jedoch
einen Nachlass von 25€.
ƒ Solche Aufgaben können
mit Hilfe der WENNFunktion gelöst werden.
WENN(Preis<100; Preis*0,75; Preis-25)
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Bedeutung
<Bedingung>
<Term1> <Term2>
ƒ Dreistellige WENN-Funktion:
WENN (<Bed>; <Term1>;<Term2>)
WA
HR
falls <Bed> =
WAHR
<Bedingung>
<Term1> <Term2>
FAL
S
CH
42
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
falls <Bed> =
FALSCH
Auswertung
<Bedingung>
<Term1> <Term2>
WA
HR
<Bedingung>
ƒ WENN (<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.
<Term1> <Term2>
FAL
S
ƒ ACHTUNG: Die Bedingung wird zu
einer Zahl ausgewertet:
CH
•
0 wird als FALSCH interpretiert
•
alle anderen Werte als WAHR!
43
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Problem: Striktheit
ƒ Eine Funktion heißt strikt, wenn ihr
Ergebnis nicht definiert ist, sobald
mindestens eines ihrer Argumente einen
nicht definierten Wert annimmt.
a
b
0
b=0
<>
ƒ 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!
44
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
/
FEHLER!
WENN
Ergebnis
Jahreszahl
4
100
ist Teiler
von
Beispiel: Schaltjahre
400
ist Teiler
von
ist Teiler
von
ƒ Nach dem Gregorianischen
Kalender ist ein Jahr ein
Schaltjahr, wenn die Jahreszahl
•
•
NICHT
•
durch 4 und nicht durch 100
oder
durch 400 teilbar ist.
ƒ Formalisiert: J ist Schaltjahr, falls
UND
(4 ist Teiler von J) UND
(NICHT (100 ist Teiler von J))
ODER (400 ist Teiler von J)
ODER
Schaltjahr?
45
(C) Peter Hubwieser, 13.7.2007
Im Rechenblatt berechnen wir “ist Teiler
von” durch:
NICHT(REST(Jahreszahl; Teiler))
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Logische Funktionen
ƒ Die Funktionswerte der Logischen Funktionen UND,
ODER bzw. NICHT lassen sich sehr übersichtlich in
Wahrheitstafeln darstellen:
46
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Gleichungen und Ungleichungen
A
B
<
Ergebnis
ƒ Eine Gleichung bzw. Ungleichung kann man als zweistellige
Funktion mit dem Infixoperator „=“ bzw. „<“ oder „>“
betrachten
ƒ die einen Wahrheitswert als Ergebnis liefert.
47
ƒ Diese Tatsache wird bei der WENN-Funktion angewandt,
wo oft Gleichungen und Ungleichungen als Bedingung
auftreten.
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Vollständige Funktionale Modellierung
Datenverarbeitung
Kunde
Werbung, Preise
Datenspeicherung
Marketing
Lieferzeiten, Preise
Lieferant
Preisgestaltung
Bestellung
Einkauf
Verkaufsdaten
Produktion
Produktdaten
Ausgaben
Rechnung
Bestellung
Kosten
Anforderung
Produktionsergebnis
Vertrieb
Bestand
Lagerhaltung
Anforderung
Lagerbestand
Ein- Ausgaben
Einnahmen
Buchhaltung
Überweisungen
Bank
Umsatzdaten
Steuererklärung
Kontostand
Steueranforderung
Finanzamt
48
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
DIN 66001
49
(C) Peter Hubwieser, 13.7.2007
ƒ
Datenflussdiagramme 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
Materialflüsse: PKW-Montageband
Karosserielager
Fahrgestelllager
Karosseriemontage
Fahrgestell
-montage
Endteilelager
Just-in-timeAnlieferung der
Räder
Radmontage
Endmontage
50
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Methode der schrittweisen Verfeinerung
ƒ Zunä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
51
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
PC-Rechenanlage: Datenflussdiagramm
Bildschirm
Lautsprecher
Joystick
Scanner
Drucker
Kartenleser
Maus
Tastatur
USB-Hub
LAN-Dose
Zentraleinheit
52
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Verfeinerung: PC-Zentraleinheit
DVD-Brenner
CPU
Festplatte
Bildschirm
Grafikkarte
Antenne
TV-Karte
Controller
53
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Vielen Dank für Ihre
Aufmerksamkeit!
Noch Fragen?
Andernfalls: guten Appetit
beim Mittagessen!
54
(C) Peter Hubwieser, 13.7.2007
TUM-Informatiklehrertag 2007: Funktionale Modellierung
Herunterladen