i

Minimale und maximale Kurswerte

Minimum und Maximum bestimmen

Der Aktionindex DAX unterliegt vielen Schwankungen. Bei der Analyse ist es manchmal von Interesse, den maximalen oder minimalen Kurswert zu bestimmen. Ziel im Folgenden ist es, hierfür geeignete Funktionen zu entwickeln.

Die Funktionen maxListe soll das Maximum einer übergebenen Liste mit Zahlen bestimmen und zurückgeben. Wenn die übergebene Liste leer ist, dann soll sie den Wert None zurückgeben.

<Black-Box-Diagramm><Funktionsname>maxListe</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>float</Typ><Wert>11492.43</Wert></Rückgabe></Black-Box-Diagramm>

Die Funktionen indexMaxListe soll den Index des maximalen Listenelements bestimmen und zurückgeben. Wenn die übergebene Liste leer ist, dann soll sie den Wert -1 zurückgeben.

<Black-Box-Diagramm><Funktionsname>indexMaxListe</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>int</Typ><Wert>2</Wert></Rückgabe></Black-Box-Diagramm>

Aufgabe 1

Überlege dir jeweils zunächst einen geeigneten Algorithmus. Entwickle anschließend entsprechende Funktionsdefinitionen und teste sie ausgiebig. Entwickle auch Funktionen, mit denen man das Minimum und dessen Index bei einer Zahlenliste bestimmen kann.

Der 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 das bisher größte Element. Du brauchst also in der Schleife eine Fallunterscheidung.
  3. Um sich das bisher größte Element zu „merken“, brauchst du eine Variable. Vor der Schleife musst du der Variable einen geeigneten Wert zuweisen.
  4. Falls das gerade betrachtete Element größer ist als die Variable, musst du den Wert der Variable verändern: Sie muss nun so groß sein wie dieser Wert.
  5. Nach der Schleife hat die Variable den größten Kurswert angenommen.

Zum Testen kannst du diese Liste mit allen DAX-Werten des Jahres 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]

Aufgabe 2

Entwickle eine Funktion, mit der man den Durchschnittswert aller Kurswerte bestimmen kann.

Suche

v
6.3.1.4.1.5
dev.inf-schule.de/imperative-programmierung/python/projekte/datenstrukturen/aktienkurse/minmax
dev.inf-schule.de/6.3.1.4.1.5
dev.inf-schule.de/@/page/46S9nRP2r8xTbaOl

Rückmeldung geben