19
Informatik 10 – 4. Modellieren und Diagrammarten Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse AMPEL . a) Erzeuge ein Objekt von AMPEL und mach dich mithilfe des Objektinspektors und dem Quelltext über die Funktionsweise kundig. b) Beschreibe in Worten, welche Objekte beim Ausführen der Methode ausschalten() beteiligt sind und wie sie miteinander kommunizieren. Das aktuelle Objekt der Klasse AMPEL gibt an die Objekte gruen, gelb und rot der Klasse LAMPE die Botschaft, die Methode aus() aufzurufen. 1 Übung 1 – Ampel

Ö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

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

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