Download - Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Transcript
Page 1: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten

ÖffnedasBlueJ-Projekt„Ampel_Vorlage“undöffnedieKlasseAMPEL.a)ErzeugeeinObjektvonAMPELundmachdichmithilfedesObjektinspektorsunddemQuelltextüberdieFunktionsweisekundig.b)BeschreibeinWorten,welcheObjektebeimAusführenderMethodeausschalten()beteiligtsindundwiesiemiteinanderkommunizieren.

DasaktuelleObjektderKlasseAMPELgibtandieObjektegruen,gelbundrotderKlasseLAMPEdieBotschaft,dieMethodeaus()aufzurufen.

1

Übung1– Ampel

Page 2: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten

c)ImplementierediefehlendenMethoden,sodasseineeinfacheSimulationeinerAmpelschaltungentsteht.Überlege,wiedudieFunktionsweisederMethodenbeschreibenkönntestDieMethodengruenSetzen(),gelbSetzen(),rotSetzen()undrotGelbSetzen()arbeitenähnlichwiedieMethodeausschalten().ZurBeschreibungeignetsichjeweilseinSequenzdiagramm,damehrereObjektemiteinanderkommunizieren.

BeiderMethodeweiterschalten()findetkeineKommunikationzwischenverschiedenenObjektenstatt.ZurBeschreibungeignetsicheinStruktogrammodereinZustandsdiagramm.

2

Übung1– Ampel

Page 3: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten

ErstelleeinSequenzdiagrammfürdieMethoderotSetzen().

3

Übung2– Ampel

Page 4: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten

SequenzdiagrammfürdieMethoderotSetzen().

4

Übung2– AmpelLösung

Page 5: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten

SequenzdiagrammfürdieMethoderotSetzen().

erstelltmitwebsequencediagrams.com

Quelltext:

5

Übung2– AmpelLösung

title rotSetzen()user->+ampel1 : rotSetzen()ampel1->+gruen: aus()gruen-->-ampel1:ampel1->+gelb: aus()gelb-->-ampel1:ampel1->+rot: an()rot-->-ampel1:ampel1-->-user:

Page 6: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten

DieKlasseSpielautomaterzeugt(ähnlichwiedieKlasseAmpel)dreiLampen

lampe1(links),lampe2(Mitte)undlampe3(rechts)derKlasseLAMPE.

DiePositiondesSpielautomatenistfestgelegtdurchdiePositionvonlampe1.

DiePositioneinereinzelnenLampeistfestgelegtdurchdieKoordinatenderlinken

oberenEcke.InderZeichnungistalsodiePositiongleich(0,0).

(x-Achsenachrechts,y-Achsenachunten)

6

Übung3– Spielautomat

public class Spielautomat {int positionX, positionY;LAMPE lampe1, lampe2, lampe3;

public Spielautomat(){ lampe1= new LAMPE();lampe2 = new LAMPE();lampe3 = new LAMPE();

farbmusterSetzen("rot","blau","gelb");neuePosition(0,0);

}

public void farbmusterSetzen(String farbe1, String farbe2, String farbe3){

lampe1.FarbeSetzen(farbe1);lampe2.FarbeSetzen(farbe2);lampe3.FarbeSetzen(farbe3);

}

public void neuePosition( int xNeu, int yNeu){positionX = xNeu;positionY = yNeu;lampe1.PositionSetzen(positionX,positionY);lampe2.PositionSetzen(positionX+1,positionY);lampe3.PositionSetzen(positionX+2,positionY);

} }

Page 7: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 7

Übung3– SpielautomatLösung

a)ZeichneeinSequenzdiagrammvons1.neuePosition(2,1).(s1isteinObjektderKlasseSpielautomat)

Page 8: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 8

Übung3– Spielautomat

b)DieKlasseSpielhalleenthältzweiReferenzattributespA1undspA2derKlasseSpielautomat.ImKonstruktorderKlassewerdenzweiSpielautomaten(Farbmusterrot-blau-gelb)wieinderZeichnungerzeugt.IneinerMethodewerdendieLampenallerSpielautomatenaufdieFarbeschwarzgesetzt.SchreibedenQuelltextderKlasseSpielhalle.

Page 9: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 9

Übung3– SpielautomatLösung

b)public class Spielhalle {

Spielautomat spA1, spA2;public Spielhalle(){spA1 = new Spielautomat();spA1.neuePosition(1,1);

spA2 = new Spielautomat();spA2. neuePosition (-4,-2);

}

public void reset(){spA1.farbmusterSetzen("schwarz", "schwarz","schwarz");spA2.farbmusterSetzen("schwarz", "schwarz","schwarz");

}}

Page 10: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten

DieMethodeausschalten()solldieAmpelnurausderAmpelphase„gelb“indenZustand„aus“überführen.NurausdemZustand„aus“solldieMethodeeinschalten()dieAmpelwiederindenZustand„ein“überführen.

ErgänzedasZustandsdiagrammunddieImplementierung.

10

Übung4– AmpelZustandsdiagramm

Page 11: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 11

Übung4– AmpelZustandsdiagrammLösung

Page 12: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 12

Übung5 – Zustandsdiagramm,Stoppuhr

ZumModelliereneinerStoppuhrverwendetmaneinZustandsdiagrammmitdenZuständen„Bereit“,„Zeitmessungläuft“und„Zeitangehalten“.DrücktmanimStartzustand„Bereit“dieTaste„StartStopp“,startetdieZeitmessungunddieAnzeigewirdaktualisiert.DrücktmanimZustand„Zeitmessungläuft“dieTaste„StartStopp“,wirddieZeitmessungangehaltenunddieAnzeigeaktualisiert.DrücktmandieTaste„StartStopp“erneut,läuftdieZeitmessungweiterunddieAnzeigewirdaktualisiert.DieTaste„Reset“löstaufderUhrdieAnzeige„reset“ausundsetztsieindenStartzustand.WährendderZeitmessungkannmanauchdieTaste„Zwischenzeit“betätigen.DiesaktualisiertdieAnzeige.

ZeichnedasZustandsdiagramm.

Page 13: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 13

Übung5 – Zustandsdiagramm,StoppuhrLösung

Page 14: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 14

Übung6 – Zustandsdiagramm,SpülmaschineDieSpülmaschineistzuBeginnimZustand"StandBy".

NachWähleneinesProgrammsistsieimZustand"Programmgewählt".

DurchDrückenderTasteStartwechseltsienurdannindenZustand"InBetrieb",wenndie

Türgeschlossenist.IndiesemFallwirdderWasserzulaufgeöffnetunddasProgramm

gestartet.

ÖffnetmanwährenddeslaufendenProgrammsdieTür,wirdderWasserzulaufgestoppt

unddasProgrammangehalten.DieMaschineistdannimZustand"Pause" unddurch

DrückenderTaste"Abbrechen"gelangtmanindenZustand"StandBy".

DasAbbrechenistauchvomZustand"Programmgewählt"möglich.

SchließtmanimZustand"Pause"wiederdieTür,wirddasProgrammfortgesetzt.

ÖffnetmandieTürnachBeendendesProgramms,wechseltdieMaschineindenZustand

"StandBy".

ZeichneeinZustandsdiagramm.

Page 15: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 15

Übung6– Zustandsdiagramm,SpülmaschineLösung

Page 16: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 16

Übung7 – Zustandsdiagramm,Kühlschrank

EineinfacherKuhlschrankbesitzteinenEin-Aus-Schalter,derjederzeitbetatigtwerden

kann.ImeingeschaltetenZustandkanneraufdieKuhlstufen1,2oder3eingestellt

werden.DafurgibtesdieTasten▲zumHochschaltenund▼zumHerunterschaltender

Kuhlstufe.NachdemEinschaltenbefindetsichderKuhlschrankimmeraufKuhlstufe2.

a)ModellieredenbeschriebenenKühlschrankmithilfeeinesZustandsdiagramms.

b)ErstelleeineZustandsübergangstabelle:

Zustand\ auslösendeAktion einschalten hochschalten herunterschalten

aus

1

2

3

Page 17: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 17

Übung7 – Zustandsdiagramm,KühlschrankLösung

Jahrgangsstufe 10 125

4.2.1.2 Lösungsvorschlag zu Aufgabe 1a)

b)

auslösendeAktion

Zustand

einausschalten hochschalten herunterschalten

aus 2 aus aus

1 aus 2 1

2 aus 3 1

3 aus 3 2

c) public class Kuehlschrank { private int stufe; private boolean eingeschaltet;

public Kuehlschrank() { eingeschaltet = false; }

public void zustandAusgeben() { if (eingeschaltet) { System.out.println("Der Kühlschrank ist eingeschaltet, die eingestellte Kühlstufe ist " + stufe + "."); } else { System.out.println("Der Kühlschrank ist ausgeschaltet."); } }

public void hochschalten() { if (stufe < 3) { stufe = stufe + 1; } }

hoch-/herunterschalten

herunterschalten

hochschalten

aus 2

1

einausschalten

einausschalten

herunterschalten

hochschalteneinausschalten

3

einausschalten hochschalten

herun

terschalten

Page 18: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 18

Übung7 – Zustandsdiagramm,KühlschrankLösung

Zustand\ auslösendeAktion einschalten hochschalten herunterschalten

aus 2 aus aus

1 aus 2 1

2 aus 3 1

3 aus 3 2

Jahrgangsstufe 10 125

4.2.1.2 Lösungsvorschlag zu Aufgabe 1a)

b)

auslösendeAktion

Zustand

einausschalten hochschalten herunterschalten

aus 2 aus aus

1 aus 2 1

2 aus 3 1

3 aus 3 2

c) public class Kuehlschrank { private int stufe; private boolean eingeschaltet;

public Kuehlschrank() { eingeschaltet = false; }

public void zustandAusgeben() { if (eingeschaltet) { System.out.println("Der Kühlschrank ist eingeschaltet, die eingestellte Kühlstufe ist " + stufe + "."); } else { System.out.println("Der Kühlschrank ist ausgeschaltet."); } }

public void hochschalten() { if (stufe < 3) { stufe = stufe + 1; } }

hoch-/herunterschalten

herunterschalten

hochschalten

aus 2

1

einausschalten

einausschalten

herunterschalten

hochschalteneinausschalten

3

einausschalten hochschalten

herun

terschalten

Page 19: Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse

Informatik10– 4.ModellierenundDiagrammarten 19

Übung7 – Zustandsdiagramm,Kühlschrank(*)

c)

ImplementieredenKuhlschrankdurchDefinitioneinergeeignetenKlasse,wobeidie

moglichenZustandedesKuhlschranksdurchdieAttributestufeundeingeschaltetunddie

auslosendenAktionendurchdieMethodenhochschalten(),herunterschalten()und

einausschalten()realisiertwerdensollen.

TestedeineImplementierung,indemdudieZustandsubergangenachunterschiedlichen

MethodenaufrufenmitdemZustandsdiagrammvergleichst.DefinieredazueineMethode

zustandAusgeben(),diedenZustanddesKuhlschranksaufdemBildschirmausgibt.

Vgl.BlueJProjektkuehlschrank_1c