Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

Ma­xi­mum­su­che

Me­tho­den mit Rück­ga­be­wert

Methoden mit Rückgabewert

Me­tho­den mit Rück­ga­be­wert er­mit­teln ein Er­geb­nis und geben die­ses an die auf­ru­fen­de Me­tho­de zu­rück. Dazu dient der Be­fehl return. Die auf­ru­fen­de Me­tho­de war­tet, bis die Be­rech­nung ab­ge­schlos­sen ist. und spei­chert dann z.B. den zu­rück­ge­ge­be­nen Wert in der Va­ria­ble erg.

Array-Al­go­rith­men: Ma­xi­mum­su­che

Du sollst nun die Ma­xi­mum­su­che im­ple­men­tie­ren. Wäh­rend der Suche soll das ak­tu­el­le Ma­xi­mum (hier lila) und das ak­tu­ell un­ter­such­te Ar­ray­ele­ment (hier grün) farb­lich her­vor­ge­ho­ben wer­den. Ver­wen­de die Vor­la­ge alg13_maximumsuche.

Array-Algorithmen: Maximumsuche

Auf­ga­be Im­ple­men­ta­ti­on:

  1. Füge zwei Hilfs­va­ria­blen für das ak­tu­ell größ­te Ele­ment und das ak­tu­ell un­ter­such­te Ele­ment ein. Setze ihren Start­wert auf -1.

  2. Passe die Me­tho­de zeich­ne­Bal­ken() so an, dass die Farbe des Bal­ken ge­än­dert wird, wenn er der ak­tu­ell größ­te oder der ak­tu­ell un­ter­such­te Wert ist.

  3. Teste die An­pas­sung, indem du die Start­wer­te der bei­den Va­ria­blen ver­än­derst und die Aus­wir­kung auf die Dar­stel­lung kon­trol­lierst.Der aus­ge­wähl­te Bal­ken soll­te je­weils farb­lich her­vor­ge­ho­ben sein.

  4. Im­ple­men­tie­re die Me­tho­de ma­xi­mum­su­che(). Nach jeder Än­de­rung einer der bei­den Va­ria­blen muss die Dar­stel­lung neu ge­zeich­net und ei­ni­ge Zeit ge­war­tet wer­den. Be­ach­te dazu die Hin­wei­se zum Neu­zeich­nen der Bal­ken, die im Quell­text ste­hen. Am Ende der Me­tho­de muss die Po­si­ti­on des Ma­xi­mums zu­rück­ge­ge­ben wer­den. Ist das Array leer, gibt es keine ma­xi­ma­le Po­si­ti­on und es wird -1 zu­rück­ge­ge­ben.

  5. Teste deine Im­ple­men­ta­ti­on. Ver­glei­che mit den Daten in der Datei, ob das Er­geb­nis stimmt. Teste ei­ni­ge wei­te­re Test­da­tei­en (im Quell­text steht wie). In der Kon­so­le wird an­ge­zeigt, ob deine Me­tho­de die Test­fäl­le kor­rekt ab­ge­ar­bei­tet hat.

  6. * Im­ple­men­tie­re eine Me­tho­de, die das Mi­ni­mum der Array-Werte er­mit­telt. Passe vor­her die Tests an.

  7. ** Im­ple­men­tie­re eine Me­tho­de, die das Ma­xi­mum der Array-Werte mit Hilfe einer for-Schlei­fe statt einer While-Schlei­fe er­mit­telt.

  8.  

     

    Ma­xi­mum­su­che: Her­un­ter­la­den [odt][141 KB]

    Ma­xi­mum­su­che: Her­un­ter­la­den [pdf][146 KB]

     

    Wei­ter zu Puz­zle