54
Informatik in der Mittelstufe 9.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 [email protected]

Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

Embed Size (px)

Citation preview

Page 1: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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 [email protected]

Page 2: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

TUM-Informatiklehrertag 2007: Funktionale Modellierung

2

(C) Peter Hubwieser, 13.7.2007

1. Didaktische und fachliche

Vorüberlegungen

Page 3: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 4: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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!

Page 5: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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“

Page 6: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 7: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 8: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 9: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 10: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 11: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 12: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 13: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 14: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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!

Page 15: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

TUM-Informatiklehrertag 2007: Funktionale Modellierung

15

(C) Peter Hubwieser, 13.7.2007

Struktur der Dokumente

Dokumente einer Tabellenkalkulation bestehen aus Rechenblättern („Tabellen“)

Page 16: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 17: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 18: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 19: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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)

Page 20: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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!

Page 21: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 22: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 23: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 24: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 25: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 26: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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!

Page 27: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 28: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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)

Page 29: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 30: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

TUM-Informatiklehrertag 2007: Funktionale Modellierung

30

(C) Peter Hubwieser, 13.7.2007

Beispiel: Bruchberechnung

Eingabe

/ Verarbeitung

Ausgabe

Page 31: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 32: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 33: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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!

Page 34: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 35: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 36: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 37: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 38: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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)

Page 39: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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!

Page 40: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 41: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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)

Page 42: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 43: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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>

Page 44: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 45: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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))

Page 46: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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:

Page 47: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 48: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 49: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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.

Page 50: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 51: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 52: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 53: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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

Page 54: Informatik in der Mittelstufe - ddi.edu.tum.de · PDF fileInformatik in der Mittelstufe 9.1. Funktionale Modellierung Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät

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!