Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
AufgabenStruktogramme(informatikZentrale)–Lösungen(17.11.2017)
1
LosungenStruktogrammeHinweise:
WirverwendenfürdieAufgabendasProjekt„Girokonto“(Abi-Projekt2014,Aufgabe2.3(Girokonten,Kundenbetreuer…)).AlleAufgabensindinderKlasseKundenbetreuerdurchzuführen.
+++Aufgaben+++
BitteIMMERZUERSTeinStruktogrammanfertigen,bevorSiezuprogrammierenbeginnen!
AlleprogrammiertenMethodenaufkorrekteLauffähigkeitprüfen(viaStartklasse).
StruktogrammundProgrammcodeinein(neues,altes?)Vorlagendokumenteinfügen(Codeals"code"formatieren),korrekteÜberschriftenzuweisen,zwischendurchabspeichern.
-----(A)Einsteigeraufgaben-----A1)ProgrammierenSieeineMethodedatenAusgeben(kontoinhaber:Kontoinhaber):void,diedieDateneinesKundenausgibtinForm
HeiniMüller-Kontostand:3000Euro
A2)WieA1,nurwirdderStringnichtAUSGEGEBEN,sondernZURÜCKGEGEBEN.DieMethodeheißtdanndatenZurueckgeben(kontoinhaber:Kontoinhaber):String
odermitlokalerVariable,diedenRückgabewertspeichert:
AufgabenStruktogramme(informatikZentrale)–Lösungen(17.11.2017)
2
A3)ProgrammierenSieeineMethodeanzahlInhaber():int,diedieAnzahldervoneinemBetreuerbetreutenKontoinhaberzurückgibt.
A4)ProgrammierenSieeineMethodelisteMeinerBetreutenKunden():ArrayList<Kontoinhaber>,dieeineListeallerbetreutenKundenZURÜCKGIBT.
(WennSiedasinderStartklasseausprobieren,benötigenSiefürdieAnzeigeeineforeach-Schleife.)
-----(B)Einfacheif-Verzweigungen------B1)ProgrammierenSieeineMethodeheisstKundeMetz(kontoinhaber:Kontoinhaber):boolean,dieprüft,obderNachnameeinesKunden"Metz"ist.ZurErinnerung:VerwendenSiebeiString-Vergleichennicht"==",sondern"equals(…)",alsobspw.kundename.equals("Metz")
Möglichkeit1:LokaleVariableverwenden,diedenRückgabewertspeichert:
Möglichkeit2:RückgabedirektimBedingungszweigvornehmen.
AufgabenStruktogramme(informatikZentrale)–Lösungen(17.11.2017)
3
B2)ProgrammierenSieeineMethodekundePruefungAusgabe(kontoinhaber:Kontoinhaber):void,dieabhängigvomKontostandausgibt:
HeiniMüllerhatmehrals5000EuroaufdemKonto.
oder
HeiniMüllerhat5000EurooderwenigeraufdemKonto.
B3)ProgrammierenSieeineMethodekundePruefung(kontoinhaber:Kontoinhaber):boolean,dieabhängigvomKontostandeinesKundentrue(beimehrals5000Euro)oderfalse(bei5000oderweniger)zurückgibt.
-----(C)EinfacheSchleifen-----
-----(C1)For-SchleifenC1-1)ProgrammierenSieeineMethodezaehleBis(ende:int),dievon0bisendezähltunddieZahlenausgibt.
AufgabenStruktogramme(informatikZentrale)–Lösungen(17.11.2017)
4
C1-2)ProgrammierenSieeineMethodezaehleVonBis(start:int,ende:int),dievonstartbisendezähltunddieZahlenausgibt.
C1-3)ProgrammierenSieeineMethodezaehleVonBisAbstand(start:int,ende:int,abstand:int),dievonstartbisendezähltunddieZahlenausgibt.
-----(C2)While-SchleifenC2-1)ProgrammierenSieeineMethodewhileZaehlen(),dievon0bis20zähltunddieZahlenausgibt.Verwendungeinerwhile-Schleife.
C2-2)ProgrammierenSieeineMethodewhileZaehlenVon(start:int),dievonstartbis20zähltunddieZahlenausgibt.Verwendungeinerwhile-Schleife.
AufgabenStruktogramme(informatikZentrale)–Lösungen(17.11.2017)
5
C2-3)ProgrammierenSieeineMethodewhileZaehlenVonBis(start:int,ende:int),dievonstartbisendezähltunddieZahlenausgibt.Verwendungeinerwhile-Schleife.
C2-4)ProgrammierenSieeineMethodewhileZaehlenVonBisSchritt(start:int,ende:int,abstand:int),dievonstartbisendeinSchrittweiteabstandzähltunddieZahlenausgibt.Verwendungeinerwhile-Schleife.
-----(D)Einfacheforeach-Schleifen------D2)Kundenliste
D2-1)ProgrammierenSieeineMethodelisteMeinerBetreutenKundenAlsString():void,dieeineListeallerbetreutenKundenAUSGIBT(name,vorname,kontonummer,Kontostand).Spaltenmit\terzeugen.
Name Vorname KtoNr. KtoStand
----------------------------------
Schmitt Heini 3321314 45Euro
Müller Bilal 587373 28348Euro
(EskanndabeizuVerschiebungenkommen,wennElementebesonderslangoderkurzsind)
AufgabenStruktogramme(informatikZentrale)–Lösungen(17.11.2017)
6
D2-2)ProgrammierenSieeineMethodelisteMeinerBetreutenKundenAlsStringRueckgabe():String,dieeineListewieobenZURÜCKGIBT.SiemüssendazuD2-1nurgeringfügigumarbeiten.
D3)Wirwollenwissen,werdenhöchstenKontostandhat.
D3-1)ProgrammierenSieeineMethodereichsterMannKontostand():double,diedenKontostanddesKontoinhabersmitdemhöchstenKontostandzurückgibt.
D3-2)ProgrammierenSieeineMethodereichsterMann():Kontoinhaber,diedenKontoinhabermitdemhöchstenKontostandzurückgibt.
AufgabenStruktogramme(informatikZentrale)–Lösungen(17.11.2017)
7
-----(E)Kombination:Schleife/if------ProgrammierenSieeineMethodelisteMeinerBetreutenReichenKunden():String,dieeineListewieinAufgabeD2-1ZURÜCKGIBT(alsString!),allerdingssinddortnurdieKontoinhabermiteinemKontostandvonmehrals500Euroenthalten.
-----(F)SchwierigeAufgaben------F1)ProgrammierenSieeineMethodereichsteKunden():ArrayList<Kontoinhaber>,dieeineListeallerKundenzurückgibt,derenKontostandüberdemdurchschnittlichenKontostandallerKundenliegt.