Wie könnte man diese Aufgabe angehen? (Verständnisproblem Hausaufgabe)
-
Ich weiß gar nicht, was ein "Datenflussdiagramm" ist, nie gehört. Ist damit ein PAP gemeint?
Ich verlange von euch auch keine Komplettlösung... Mehr einen Tipp in die richtige Richtung. Danke
Mein Versuch:
wert(i) = menge(i) x aktueller_kurs_usd(i) x umrechnungskurs_usd_eur
Aber das erscheint mir zu einfach.
-
Bei solchen Aufgaben war mir der Sinn nie klar. Eine einefache Formel oder sogar eine einfache Funktion ist doch viel einfacher zu verstehen als irgendein Diagramm.
-
Eigentlich wäre ein Datenflussdiagramm so etwas wie "Die Kundendaten werden von Datenbank A über Server B zu Applikationsmaschine C geleitet, wo sie mit den Inventardaten von Datenbank D verschnitten werden, das Ergebnis geht zurück über B nach A." Das ist offensichtlich nicht gemeint. Vom Kontext her ist wohl tatsächlich ein Programmablaufplan gemeint. Das war vor 50 Jahren so ein fehlgeleiteter Versuch von Didaktikern, irgendwie Struktur in die Programmierung zu bekommen. Entsprechend wirst du kaum noch lebende Programmierer finden, die sich das antun wollten. Ich zähle auch nicht dazu, aber ich kann dich zumindest darauf hinweisen, dass du bei deinem Ansatz vergessen hast, dass das Depot mehrere verschiedene Aktien beinhalten kann. Somit hast du 1. die Aufsummierung der Werte und 2. die Kursumrechnung, was vermutlich die zwei gemeinten Rechenschritte sind.
-
@SeppJ sagte in Wie könnte man diese Aufgabe angehen? (Verständnisproblem Hausaufgabe):
Das war vor 50 Jahren so ein fehlgeleiteter Versuch von Didaktikern, irgendwie Struktur in die Programmierung zu bekommen.
Danke. Das war vor meiner Zeit (obwohl ich auch schon mal mit PAPs in Berührung gekommen bin, allerdings finde ich diese sogar etwas schwerer verständlich als beispielsweise Pseudocode...), aber es beruhigt mich etwas, dass ich nicht der Einzige bin, dem diese Aufgabenstellung etwas, wie soll ich sagen ... "befremdlich" erscheinen mag.
Mit der Formel war so etwas gemeint:
Summe += Aktie[i].Menge mal Aktie[i].UsdPreis mal Umrechnungskurs ...
-
@wob sagte in Wie könnte man diese Aufgabe angehen? (Verständnisproblem Hausaufgabe):
Bei solchen Aufgaben war mir der Sinn nie klar. Eine einefache Formel oder sogar eine einfache Funktion ist doch viel einfacher zu verstehen als irgendein Diagramm.
Ditto
-
Wenn sowas gemeint ist: https://en.wikipedia.org/wiki/Data-flow_diagram
...dann könnte man das als zwei "Systeme" mit 3 Quellen zeichnen:Das erste System bekommt die Positionen sowie die aktuellen Kurse gefüttert und berechnet die Summe in USD. Das 2. System bekommt die Summe in USD vom 1. System sowie den aktuellen USD -> EUR Umrechnungskurs und konvertiert den Betrag nach EUR.
-
@NoIDE sagte in Wie könnte man diese Aufgabe angehen? (Verständnisproblem Hausaufgabe):
Ditto
Wobei ich noch ergänzen möchte: Diagramme können schon hilfreich sein. Meiner Erfahrung nach aber nur, wenn es um ein komplexes* Problem geht und man erstmal alle Teile kennenlernen will. Aber dann reichen auch Kästchen, die man einfach mal mit einem Pfeil oder einer Linie verbindet. Also so: was haben wir eigentlich alles für Probleme, welche Datenquellen haben wir, wer braucht das Ergebnis und wann, wer kann was machen. In diesen Fällen helfen mir Diagramme schon. Aber wie gesagt, ich formalisiere die nicht - viel zu viel Arbeit mit fragwürdigem Nutzen.
* was komplex ist, kann natürlich variieren - eine einfache gewichtete Summe ist das aber auf keinen Fall.
-
@hustbaer
Also wäre es so gedacht?Aber dann würde sich ja auch die Berechnung/Formel/Term ändern.
Vorher:
function umrechnen(menge, preisUsd, umrechnungskursUsdEur) { return menge * preisUsd * umrechnungskursUsdEur; } function gesamtwert(mengePreisArray, umrechnungskursUsdEur) { let sum = 0; for (let index = 0; index < mengePreisArray.length; index++) { sum += umrechnen(mengePreisArray[index][0], mengePreisArray[index][1], umrechnungskursUsdEur); } return sum; }
Nachher:
function umrechnen(menge, preisUsd) { return menge * preisUsd; } function gesamtwert(mengePreisArray, umrechnungskursUsdEur) { let sum = 0; for (let index = 0; index < mengePreisArray.length; index++) { sum += umrechnen(mengePreisArray[index][0], mengePreisArray[index][1]); } return sum * umrechnungskursUsdEur; }
function demo() { mengePreisArray = [ [10, 1.2], [20, 4.2], [30, 3.0], ]; umrechnungskursUsdEur = 0.95; console.log(gesamtwert(mengePreisArray, umrechnungskursUsdEur)); // 176.7 EUR } demo();
-
@wob sagte in Wie könnte man diese Aufgabe angehen? (Verständnisproblem Hausaufgabe):
Diagramme können schon hilfreich sein. Meiner Erfahrung nach aber nur, wenn es um ein komplexes* Problem geht und man erstmal alle Teile kennenlernen will. Aber dann reichen auch Kästchen, die man einfach mal mit einem Pfeil oder einer Linie verbindet. Also so: was haben wir eigentlich alles für Probleme, welche Datenquellen haben wir, wer braucht das Ergebnis und wann, wer kann was machen. In diesen Fällen helfen mir Diagramme schon. Aber wie gesagt, ich formalisiere die nicht - viel zu viel Arbeit mit fragwürdigem Nutzen.
- was komplex ist, kann natürlich variieren - eine einfache gewichtete Summe ist das aber auf keinen Fall.
Der Ansicht bin ich auch ... Aber anscheinend ist es möglich, auch eine ganz einfache gewichtete Summe noch einmal zusätzlich zu modellieren ...
-
@NoIDE sagte in Wie könnte man diese Aufgabe angehen? (Verständnisproblem Hausaufgabe):
@hustbaer
Also wäre es so gedacht?Möglich. Ich war nicht in eurer Vorlesung und weiss daher nicht was ihr dort für eine Notation gelernt habt. Auf der Wikipedia-Seite sieht es etwas anders aus - dort müsstest du um die Quellen noch Boxen machen, bzw. wenn es Datenbanken sind dann so "halbe" Boxen wo die linke und rechte Linie weggelassen wird. Die Pfeile in deinem Diagramm sehen auch anders aus.
Die Bezeichnung "Gesamtsumme" (vs "Summe") für den Endbetrag in EUR finde ich auch nicht optimal.
-
@hustbaer sagte in Wie könnte man diese Aufgabe angehen? (Verständnisproblem Hausaufgabe):
Ich war nicht in eurer Vorlesung und weiss daher nicht was ihr dort für eine Notation gelernt habt.
Mhm ... um genau zu sein ... habe ich diese Aufgabenstellung nur "zufällig" im Internet gefunden, und mich dafür interessiert ... Gott sei Dank ist das nix, was in einer meiner aktuellen Vorlesungen dran kommt. (Will diese Notation auch net lernen )