i

Eine neue Liste aufbauen

Alle Elemente über einem Schwellenwert

Manchmal möchte man wissen, welche Dax-Werte an welchen Tagen über einem bestimmten vorgegebenen Schwellenwert lag.

Im folgenden Beispiel beträgt der Schwellenwert 11000. In einer neuen Liste werden hier alle Dax-Werte gesammelt, die über dem vorgegeben Schwellenwert liegen.

Meist ist man an den Tagen interessiert, an denen der Dax-Wert über dem vorgegeben Schwellenwert liegt. In einer neuen Liste sollen hierzu die jeweiligen Indexwerte gesammelt werden.

Aufgabe 1

Teste die vorgegebenen Programme. Implementiere das wiederholte Einfügen in die neue Liste jeweils mit einer geeigneten Wiederholungsanweisung.

Dein Algorithmus muss Folgendes leisten:

  1. Die gesamte Liste wird durchlaufen, damit jedes Listenelement (jeder Kurswert) untersucht werden kann. Wie das geht, hast du in diesem Projekt bereits gelernt (Schleifen).
  2. Für jedes Element muss überprüft werden, ob es größer ist als der Schwellenwert. Du brauchst also in der Schleife eine Fallunterscheidung.
  3. Falls das Element den Schwellenwert übersteigt, musst du es (oder im zweiten Teil seinen Index) zu einer neuen Liste hinzufügen. Wie das geht, hast du auch gerade gelernt.

Entwicklung von Funktionen zum Erzeugung der Über-Schwellenwert-Listen

Die Erzeugung der Listen mit den Werten bzw. deren Indexwerten, die über einem vorgegebenen Schwellenwert liegen, sollen jetzt mit Hilfe geeigneter Funktionen implementiert werden. Die Funktionen können dabei verallgemeinernd (ohne Bezug zum Kontext "DAX") konzipiert werden.

black-Box-Diagramm black-Box-Diagramm

Aufgabe 2

Implementiere die Funktionen und teste sie auch mit DAX-Werten.

Entwicklung einer Funktion zur Erzeugung der Zu-Und-Abnahmen-Liste

Für die Auswertung der DAX-Entwicklung ist es interessant zu wissen, wann der DAX zugelegt oder abgenommen hat. Hierfür sollen jetzt sämtliche Zu- und Abnahmen automatisiert berechnet werden. Wir konzipieren hierfür eine Funktionen listeDifferenzen, die die gewünschte neue Liste erzeugt und zurückgibt.

<Black-Box-Diagramm><Funktionsname>listeDifferenzen</Funktionsname><Übergaben><Übergabe><Wert>[10944.97, 11083.20, 11492.43, 11473.13, 11471.26]</Wert><Variable>zahlenListe</Variable><Typ>list</Typ></Übergabe></Übergaben><Rückgabe><Typ>list</Typ><Wert>[138.23, 409.23, -19.3, -1.87]</Wert></Rückgabe></Black-Box-Diagramm>

Aufgabe 3

Entwickle zunächst einen geeigneten Algorithmus. Achte auf die Grenzen der Indexwerte. Berücksichtige auch den Fall, dass in der übergebenen Liste weniger als 2 Elemente sind. Entwickle anschließend eine entsprechende Funktionsdefinition und teste sie ausgiebig.

Zum Testen kannst du wieder diese Liste mit allen DAX-Werten aus dem Jahr 2020 benutzen.

daxListe2020 = [13451.52, 13456.49, 13432.3, 13429.43, 13526.13, 13548.94, 13555.87, 13515.75, 13388.42, 13576.68, 13204.77, 13323.69, 13345.0, 13157.12, 12981.97, 13045.19, 13281.74, 13478.33, 13574.82, 13513.81, 13494.03, 13627.84, 13749.78, 13745.43, 13744.21, 13783.89, 13681.19, 13789.0, 13664.0, 13579.33, 13035.24, 12790.49, 12774.88, 12367.46, 11890.35, 11857.87, 11985.39, 12127.69, 11944.72, 11541.87, 10625.02, 10475.49, 10438.68, 9161.13, 9232.08, 8742.25, 8939.1, 8441.71, 8610.43, 8928.95, 8741.15, 9700.57, 9874.26, 10000.96, 9632.52, 9815.97, 9935.84, 9544.75, 9570.82, 9525.77, 10075.17, 10356.7, 10332.89, 10564.74, 10696.56, 10279.76, 10301.54, 10625.78, 10675.9, 10249.85, 10415.03, 10513.79, 10336.09, 10659.99, 10795.63, 11107.74, 10861.64, 10466.8, 10729.46, 10606.2, 10759.27, 10904.48, 10824.99, 10819.5, 10542.66, 10337.02, 10465.17, 11058.87, 11075.29, 11223.71, 11065.93, 11073.87, 11391.28, 11504.65, 11657.69, 11781.13, 11586.85, 12021.28, 12487.36, 12430.56, 12847.68, 12819.59, 12617.99, 12530.16, 11970.29, 11949.28, 11911.35, 12315.66, 12382.14, 12281.53, 12330.76, 12262.97, 12523.76, 12093.94, 12177.87, 12089.39, 12232.12, 12310.93, 12260.57, 12608.46, 12528.18, 12733.45, 12616.8, 12494.81, 12489.46, 12633.71, 12799.97, 12697.36, 12930.98, 12874.97, 12919.61, 13046.92, 13171.83, 13104.25, 13103.39, 12838.06, 12838.66, 12835.28, 12822.26, 12379.65, 12313.36, 12646.98, 12600.87, 12660.25, 12591.68, 12674.88, 12687.53, 12946.89, 13058.63, 12993.71, 12901.34, 12920.66, 12881.76, 12977.33, 12830.0, 12764.8, 13066.54, 13061.62, 13190.15, 13096.36, 13033.2, 12945.38, 12974.25, 13243.43, 13057.77, 12842.66, 13100.28, 12968.33, 13237.21, 13208.89, 13202.84, 13193.66, 13217.67, 13255.37, 13208.12, 13116.25, 12542.44, 12594.39, 12642.97, 12606.57, 12469.2, 12870.87, 12825.82, 12760.73, 12730.77, 12689.04, 12828.31, 12906.02, 12928.57, 13042.21, 13051.23, 13138.41, 13018.99, 13028.06, 12703.75, 12908.99, 12854.66, 12736.95, 12557.64, 12543.06, 12645.75, 12177.18, 12063.57, 11560.51, 11598.07, 11556.48, 11788.28, 12088.98, 12324.22, 12568.09, 12480.02, 13095.97, 13163.11, 13216.18, 13052.95, 13076.72, 13138.61, 13133.47, 13201.89, 13086.16, 13137.25, 13126.97, 13292.44, 13289.8, 13286.57, 13335.68, 13291.16, 13382.3, 13313.24, 13252.86, 13298.96, 13271.0, 13278.49, 13340.26, 13295.73, 13114.3, 13223.16, 13362.87, 13565.98, 13667.25, 13630.51, 13246.3, 13418.11, 13587.23, 13790.29, 13761.38, 13718.78]

Suche

v
6.3.1.4.1.7
inf-schule.de/imperative-programmierung/python/projekte/datenstrukturen/aktienkurse/aufbauen
inf-schule.de/6.3.1.4.1.7
inf-schule.de/@/page/RvG8u6CP1FBMyGDr

Rückmeldung geben