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

Wei­te­re Array-Al­go­rith­men

Feh­ler­su­che

Mög­lich­kei­ten

  1. Setze einen Hal­te­punkt an der in­ter­es­san­ten Stel­le (d.h. du musst dir si­cher sein, dass vor­her alles stimmt. Kon­trol­lie­re die Werte der Va­ria­blen im De­bug­ger.

  2. Gib in der Kon­so­le Mel­dun­gen aus, wenn du nicht si­cher bist, dass das Pro­gramm über­haupt an die rich­ti­ge Stel­le kommt:

    z.B. System.out.println("Stelle 1 wurde erreicht.");

  3. Gib in der Kon­so­le Werte von Va­ria­blen aus, wenn in einer Schlei­fe nicht klar ist, ob die Be­rech­nun­gen kor­rekt aus­ge­führt wer­den.

    z.B. System.out.println("x ist "+x+ ", y ist "+y);

Wei­te­re Array-Al­go­rith­men:

Lade die Vor­la­ge al­g14a_zei­tungs­mel­dung

News

Im­ple­men­ta­ti­on:

  1. Um den Sie­ger des Klas­sen­wett­be­werbs zu er­mit­teln, wurde eine Me­tho­de im­ple­men­tiert. Lei­der ent­hält sie zwei Feh­ler. Finde diese Feh­ler in der Me­tho­de berechneSumme, indem du eine der Mög­lich­kei­ten zur Feh­ler­su­che an­wen­dest.

  2. Die An­zahl der Spie­le wird auch noch mit 0 aus­ge­ge­ben. Über­le­ge dir, wie du die An­zahl der Spie­le er­mit­teln kannst und setze die Va­ria­ble in der Me­tho­de schreibeZeitungsmeldung() rich­tig.

  3. Die Klas­se 9b fühlt sich un­ge­recht be­han­delt, da sie der Mei­nung ist, im Durch­schnitt viel bes­ser ge­we­sen zu sein. Um die Be­haup­tung be­stä­ti­gen zu kön­nen, musst du eine Me­tho­de double berechneDurchschnitt(int[] zahlen) im­ple­men­tie­ren, die den Durch­schnitt aller Werte be­stimmt und zu­rück­gibt. Spei­che­re den Wert in der vor­ge­se­he­nen Va­ria­blen und er­set­ze das "XX" in der Text­aus­ga­be durch die Va­ria­ble.

    Tipp: Ver­wen­de die Me­tho­de aus Auf­ga­be 1, um die Summe zu be­rech­nen und teile diese Summe durch die An­zahl der sum­mier­ten Werte.

  4. *** Im­ple­men­tie­re eine Me­tho­de int an­zahl­Spie­ler(String[] namen), die be­stimmt, wie viele ver­schie­de­ne Spie­ler am Spiel teil­ge­nom­men haben (es gibt keine zwei Spie­ler mit glei­chem Namen, aber jeder Spie­ler kann mehr­fach ge­spielt haben). Ver­glei­che dazu jeden Spie­ler­na­men mit den vor­an­ge­gan­ge­nen. Nur wenn es ein neuer ist, darf er ge­zählt wer­den. Man muss sich also in einer boo­le­an-Va­ria­ble mer­ken, wenn der Name schon vor­kam.

    Tipp: Zwei String ver­gleicht man so:

    if (string1.equals(string2)) {... }

High­s­core-Ta­bel­le

Highscore-Tabelle

Ge­ge­ben ist fol­gen­des Array. Der obige Al­go­rith­mus wird dar­auf an­ge­wen­det.

i 0 1 2 3 4 5
zah­len[i] 45 23 21 12 34 56
  1. Gib an, wel­chen Wert die Ar­ray­zel­len haben, wenn akt = 3 ist und die Zei­len 4-6 aus­ge­führt wer­den. Zur Ver­deut­li­chung kannst du dir das Video "Kluge Vögel - Die Werk­zeug­ma­cher" (https://​www.​youtube.​com/​watch?​v=bvW​Wpah​wMOc von Zeit­punkt 1:16 - 2:18 Min) an­schau­en. Be­schrei­be die Aus­wir­kung der drei Zei­len all­ge­mein.

  2. Über­le­ge dir, wel­che Aus­wir­kung die Aus­füh­rung des ge­sam­ten Al­go­rith­mus hat. In wie weit sind wir un­se­rem Ziel nä­her­ge­kom­men, eine High­s­core­lis­te zu er­zeu­gen?

    Lade das Pro­gramm al­g14b_high­s­core­ta­bel­le und star­te die Ani­ma­ti­on (siehe Hin­weis im Quell­text). Kon­trol­lie­re, ob deine Vor­her­sa­gen rich­tig waren.

  3. Pro­bie­re aus, wie oft du die Ani­ma­ti­on star­ten musst, bis du eine kor­rek­te High­s­core-Ta­bel­le hast. Trifft das nur für die­sen Fall zu oder würde die An­zahl der Durch­gän­ge auch bei an­de­ren Punkt­zah­len aus­rei­chen? Über­le­ge dir, wie viele Durch­gän­ge du ma­xi­mal im schlech­tes­ten Fall brau­chen wür­dest.

  4. Im­ple­men­tie­re den so­ge­nann­ten "Bub­ble­sort", indem du mit Hilfe einer Schlei­fe dafür sorgst, dass ge­nü­gend Durch­gän­ge durch­ge­führt wer­den. Kom­men­tie­re die Me­tho­de aus­sa­ge­kräf­tig.

 

 

Wei­te­re Array-Al­go­rith­men: Her­un­ter­la­den [odt][142 KB]

Wei­te­re Array-Al­go­rith­men: Her­un­ter­la­den [pdf][189 KB]

 

Wei­ter zu XY-Dia­gramm