'($)*'+ $, *$+*$'- $..$+/, 01.2$, 2*$0, - $'($)*'+ $, *$+*$

Größe: px
Ab Seite anzeigen:

Download "'($)*'+ $, *$+*$'- $..$+/, 01.2$, 2*$0, - $'($)*'+ $, *$+*$"

Transkript

1 !"# $ % & #

2 ... 4 "... 5 '($)*'+ $, *$+*$'- $..$+/, 01.2$, 2*$0, - $'($)*'+ $, *$+*$ 3+'0+1$+/, "" $0+4, - $*$2*'1/ " 4$+26 *... 8 Objektorientierung... 8 Kontrollstrukturen... 9 Projekt... 9 "7 0$3.1, *$+8$+.1/- $226 /. 1.(1 +$ /, *$++6 *2$, *5 /+9'($)*$:1**+/*$/, -, 2*1, ;$, Grobziele Feinziele !" # Tafelanschrift Folie 1 Beziehung von Entitäten und Objekten Spielzeugautos " /, *$++6 *2$, *5 /+9$, 4 +/, 08', $-, 0*$+/, -$5 16 *$+ 1, 5 $2/, Grobziele Feinziele !" # Folie 1- Struktogramm zu Bedingungen Folie 2 Umsetzung in Java-Quellcode Folie 3 Aufgabenstellung Folie 4 wichtige Methoden von KARA Folie 5 Lösung zur Aufgabe Folie 6 Zusatzaufgabe Folie 7 Lösung... 30

3 '($)*8$+0$5,, * $ %& Klasse VierGewinnt Klasse Spiel Klasse Spieler Klasse Spielfeld Klasse Chip Klasse Fenster ".*$+1*/

4 ; 1 $% %$ <% 3% %:= = % / = < > * 8%8%= %%%9 - % 2? % ) % : =! 5 < $ <% 3% % 8<%% - % % = %* = = = 9 $ <% < ; %% 0% + % :, $ % : ) &@A?: = (% < = = % ) 3% %><%5 %%:2< 36% %% $< 2< B% : 6 2.B%1% - 2 % = - * % * : = = < *C : = %<%< $ % 3% % % 0 % =.>% 2< %? * = %< -= *? = / = <:= * % 1D = 0 )? E7) 1%F <3 >=.

5 !"#$% " ' % $ % 3% % % = 2$ %G)H ) % G''H? = 3% % %<= ) = )?> % -$ % * = 1D%- = 1% = %% := ':) ; I3?- 2< ; % <% % - 0'' 91D: $= %- = 82 >%% + % 8% 3:= 1 := $ <%) = %+ - * '' > % < : 5?%.%= = 5 2= $= % 2= %: % 3% % 2= $= %>- 1D:- %$= % %* 2= 1 $ 5 % >? % 2 = : 1D $= > %< 3% % : < % 3 B% > E 1% %% = : 5 8 ;%? % 1D %>' ) 1 E 1 > ' % = ' : 2<':% %= $ / = % ) /.I- % B% 2<: %=

6 ' = % 2% > 2 %11% >% % - 1%>) = $%>' J % 1 = = >(% - $ <%) >(>)% = %'? (: 2< %= 3% %%? < "" %<2= - >= B"7%= - E $ <% 3% % := %0 ' %? %%%: - %3D - ' % 8? > ' ) %B % $ % 8 % $ = % % % = ) %%%: = 8% ()") % = := 2K % ; % 0< > > = : $%?%? ; )> B% - %&< %BE 0 3% = ) $ % / % %=? 3% : (> / + +% %: = 8= %>1D % > '% E 3 8 %= 1D >= : % ) C? > $ <%?)>%- 8= %>2 I2% <3 +: =?; -0 > % '? % (> 8% 3% %BE %:= / % 8? >)8= %>

7 B% 1 5 <% $%?% 3 =? % '? %1 %2: ' %> - > B% * ( = %B: = ; / - >? % 8= % B% > ( B %2> =

8 " 4 *+!" #$%& '()) +, -") ( *() #$%&'()).) /' 1 2 -)) ( 0/ ( ',0 3(/ 4/! 5 ' (" ( $ 0/ /$ ""/$ ( 6 $"/( *(7

9 $ 8 3!((,(!(,!!( 0/,0) (" " < 9( /:";" :";" = " *() ;" ; ()),+? A(! B >!" -)) (0/ #$%&'()),0 "7 082 $ 4 < 8 4 = - 3 2= <?= -.? 0% 1D: $= %: =?3 $ =? 1D 3 B: = % 2 8= % > ) B% - $?% % ' 1% 1D ' 2< 5

10 '% / = % ' 0 % ; :8? '>- = ' %<: = %?8? <1 %% < - ' + : = 2<? ' %2 % $ % ; : 2< % ) :'/ > - ' = $%?%' $?%; '$ % = $ <%>) >= - 2< ) 6 ) ' ': = = %;'%=.2 < ' >? ; - 0% < : ' ) % /.I- % = -5 =? - %%' ( 2 = 3 $= % 1 8= %/.I*/ %>/.I- % > = 2= 3 - > %D = 8%: 1%%% 1 >% = > % % %; % % > ' ) %B % $ %= / % 3% %%3 8 %B %- D%= - = 1 %- >-D 1= % %< = 1 E= >/.I- % %<% * %% 1% ) : $% ' - : = J > 1 = > 3% % % % = : =?%% = 6? ;% $ <%/ %%(>%= : = E% = ( $ <%* >? = 5 B% > ( ; %?=

11 1 E ' >'GH (% % = > ) <%%% = : 2< > $?% $ % ' %:= 8%>% $ = % 3 % =? %% 3 $ 2 $ <% < = %) 1 0 = %: / % 3 2<1% % %?= ; > ) = ( % '? (>)= 2 = 8= %% 5 % - $ <% > 2% $% > %% 2 = %8% % %=? 3 % 3 2< 2? %= B -3= >??E %%E 1 % : 3 D: $= % >.B%? / % 3% 2 8 %= % 1 1%= 3>% 'D%<:= >2< >? %/.I- % = - = 1D 4 % $= <.B% % > ( 0E 3% %= - 2<= % % 3 % B: = %?E % 5 % 2 %=? = - 1= < %%3 %E+ = <:= * 3% >%%: / %2 1D

12 &'(#) / = 9':1 ; % 3% % %? % >. % / %%?% 0%?) <18 = %: = = 4<% - ' 1 : B% 8<%> - > % / 2 3% %- >> B% 1?$ <% 3% %- / = : = < = : -: -: - D :0 1 2= > ' % ' %= % %-' %% 1 > 3% % : < = / * < I G) C?: 2 % : 2% : 0 :.% :H I G2= I$= %: 2= I$% %:- D : H I G; D :6 :2%% :H I %= G0 :- :H $ %3% I > I I % G= H I

13 % $ *+ % 0% : %: /% % 2= I $= % ' > $C >- %:3 % 5 8%= $ ' " ("% " - / %%1E '?: > ' - *+. $ %: ' > ' 1% $C ' :=? % 1 = -? '? $ '= % - $ % '= ') : 8 % >*&- ' - = $ % )1' ) 1 : 1 = ' :*&%: - %: ' / %%8<%%2 %?= 8'$ ' <*? % 2 1% 2 '<$ I 1% $ $ % 0 > - %:.= % % 5 ) 0 % > ' $ % 8 $ ) : ' %:%)! "## $%&'( )* +,-./0&( *1% ,* +,

14 /.I- % /. G/ %.%%H " L, % -% ) ; % - % %B ) % : ' % 7 : ) % & 2K %! ) ) 1 9- D M 1 G- H 1, 9- D, GH M, GH ' 9) 1 NM 1 "NM M 1, NM GH M, GH ' GH ' 9) 1 5!% + 5 * 16( 55 $1) 3 )* &)% -50& 55 %,50& 7' * %,50& 85)%! 316( )* & 91*)%: )1 '),&' 5 ),* ;%''5 <-)% *5 316(*%''5 )' 50&,: *)0& &0&50& )'')% * $%1 *5 35'5 )* * 50&,50&)% *)0& ;, 5* $1),5=) *51 %,50& 15 85)% '!( >0&5! 50&, -50& 316( )* 55: 50&, -* *)0& & 316( )* 55 *)0& %50&?5

15 / % (> *$$+$$, -.# /%#, 0)$' #1.+2$#32# +$$, 4#, #$ "2& (*3 /%8 "2&, 4#, #$ ) - %)0%/.I) % : = 1 % - ) 4 < >= -D- = )= ' %? ) '

16 = ) = ' / - 2< ': 1 %B %) %% 0-2< %B %1 ' B > %B %) ' B / >'%B

17 * - % ':1 %?= : 8<% * %%= - >: % $?% < >? / % "$ 9 G$ <%H 3 4 < > * %% = $ % %2 2 "$9G$ %H; 2<% 1 ' G 9 3H = : % / > ' 1% ) "$ 9 G5 %H - >%%% - = : 8<% % $?1 "$:9G4%H- 2<? % $ % = 'G 91H 0 "$:9 G %%H 1 $ 2 % / >'= = := %%?=

18 !" ; "$ " ##*"$)2#,. 8& " I%<E%:'% 3 I* < I$ 3 I)?%% ' / %? 1 I %1 3 & I %1 = 3GH I)?%% / %? & 3 I5 %>$? 1 I$?? & & I$ <%) I '.>% ) ' I8 %>2 % / %? I5 %% ' 2 % = / 2< & 38 I$ %1 ' 1 I, 1 ) I$ %1 = % I, 1 ' " I; % 1 38 I5 %% I)?%>% 3 2 % ) ' ) %? *

19 # "" 0 1 2! (. *+ $

20 & - 2 % $ %: > 1 1= : B% 1 2< = B

21 " / = 9 $ <% > % = 1= %, $ <% ' %% := 2< 0 )>% 1 1% $?%> %%: % 2% > E (>I3% %= - 3% %%= (>) : %% '? % % = 1% : 6 : >%%%2%?= - ; %= : * 1% = : %%2 B%.%1? - * / % %<= := 8= % %1= %G"I1= %H 8% 1= <8 / %% 3% = 1= %G)I1= %H% 1% $ 1% 3.B% 3 %> %: : < 2 - = K % %< < 1% =? %5 % 92 : 6 5 %> 2 > < < : %%:? = 2% 2% = B % 2K > 2B %: > % = - 8 % 8 : 1%?% % > 8 '5)% 1-0& $-5)% -* *!1 +)* 0&,% *0& 5 * +0&@5 15 *),!1 -*

22 3% % = B 1 5 2% = %0%< / %>1% >< 2 %3% %1= % - % 1= %: (> 2<= " % = : % = * 9 << %%= 1= %= 1= %: %<= := %% < 5 B %B1= %%<= : %%- = 2<= 4<% %% % = : 8% = % ' 1= % 2< H1= 1 > 2% - = & %= := '$$ 2*3%<:= %1= %> - & 1= % 5 *D - '$$ 2*3 E %>1= %1< / % (> )4&5 - ' $$ 2*3 7 H1= 1 >

23 2% - = & %= := '$$ 2*3%<: & " : = '$$ 2*3 <% '$$ 2*3 - %1= %= E> / % (> )4&5 - ' $$ 2*3 7 $ - ' $$ 2*3 7

24 H > 2% - 1= % % 1= % = % 1= % / % (> )4&5 - ' $$ 2*3 7 $ - )4& 5 - ' $$ 2*3 7 $ - ' $$ 2*3 7 7 = 1= % = 1= % >= %%: (> 2<= ) % = -

25 5 B% < 8 "I1= % - 3% < % 2% - $&#*3= %= - 5 $&#*3 < := '$$ <*3 %< - 5 $% > $&#*3 < <$2$ >:= '$$ 2*3%< > *D:: - : :M= ) *D:$&#*3 - E= = 1= %> / % (> $' *"4$&#*35 - *$9' $$ 2*3 *$ 9' $$ 2*3 6 *$=9' $$ 2*3 &)9' $$ 2*3&) 7

26 / - 2< 1% % = % %% (>?= B 2% B 0-2< 1% :2 :2 2K=?B "I)I1= % B 8% % 1< B - %> %% 2BB 2%.B%1% 2%? %(>I3% (>) - 8= % > % ' 8% 1 %= = : / % > %</ %3% = / % "$9; 2% = 2>>% "$ 9-1% I% = %=? = -= %8= % % %=? 1 = =, = % > 2 %%, = "I)I1= % %< "$9?2 = B1%%-= 2K > 2B > = %?: = %% 2% % = - E% / % (>IF

27 "$:9 3 = 3% %% (>) >%1 E 2< 1%%:? %(>I3% = - (>)= >%% O "$:9-3 2<: > $ 2.B 1% % 2 ; %: %=!" # "$ " ##*"$)2#,. 8& " 3 $ O & 3 $ % 38 %% 38 %% I%<E% I1 2= %% I5 % %% 1% I% I$ <%> %% I$?%> %% 2% I$ % %B %(>I6 I8% 3% B %= I/ %1% (>I3% I/ %; % (>I3% I1% %.>% / %?.>% / %?.>% B% 8 5 5*,%* A15 '' -* &BB---*)0&0&B,'(B(6!B6!(B

28 # !4 )4&5 - ' $$ 2*3 7 $ - ' $$ 2* '" -< 1= % (><)1+195 > : 3 :% 2 >:% 2 : 0 1 ) 5! $'6' +>+2,, &2$ +>$2# >GH GH.GH.GH + %GH + %GH.GH GH >.GH.GH

29 '" )4?3#@##245AA3#@, $"#22, #2455-3#@, 2B451 3#@#"451 7 $ - )4?3#@##2455-3#@#)451 3#@, 2B # 1 9" ) > 2%>)?:$ ) := ) : = %8=.B%1% 6:;: ) >: ) % 5 %<

30 0 < 1 78,%2#B+##2#, 1 **$$*"$ C&$ B+##2#, - B2&*"$45-3#@#"451 3#@, 2B451 3#@%)451 3#@#)451 3#@#)451 3#@, 2B451 3#@#"451 7 % *B2&,/#2#, 45 - )43#@2)455-*"$4517 '"4?3#@##2455-3#@, 2B451 )43#@2)455-*"$

31 " 7 38 %= $ 8 0= 2 L L2 GHL> 2 L6 L2 % 2 GH GHL %GHL6 % GHL2 % L2 L2 "L2 L2 2 GH GHL> %GHL> > = GHL> >%GHL 2 L6 P QP!Q 2 GH %= GHL2 %= GHL6 >GHL %= %GHL >%= GHL >%= GHL > %= %GH L GHL %GHL> GHL> > 2 GHL> > 6 GHL> > 06 GH L >

32 6 L2 L6 6 GH % GH L 2 %GHL6 % GH L > L3 L3 L L "L L 7L &L!L L L6 GH %GHL> 3 GHL> >= GHL> >%= GHL> > GHL> >%GHL>

33 %& $ -/) class VierGewinnt public static Spiel spiel = new Spiel(); //für die grafische Ausführung public static Fenster fenster = new Fenster(spiel.spielfeld); public static void main(string [] arg) //spiel.start(); $ & import java.awt.color; //ohne grafische Ausführung class Spiel //Attribute public Spielfeld spielfeld; public Spieler spieler1; public Spieler spieler2; public Spieler aktuellerspieler; //Konstruktor public Spiel() spielfeld = new Spielfeld(); spieler1 = new Spieler(Color.blue); spieler2 = new Spieler(Color.red); aktuellerspieler = spieler2; //Methoden public void start() spielausgabe(); int spalte; do spielerwechsel(); spalte = aktuellerspieler.chipsetzen(); spielfeld.chipsetzen(spalte, aktuellerspieler); spielausgabe(); while(!ueberpruefung(spalte)); private boolean ueberpruefung(int spalte) if(spielfeld.istvoll())

34 System.out.println("Das Spielfeld ist voll!"); return true; if (spielfeld.gewinnzug(aktuellerspieler, spalte)) Spieler spieler = spielfeld.gewinner(spalte); System.out.println("Der Spieler "+ spieler.getname() +" hat gewonnen"); return true; return false; private void spielerwechsel() if (aktuellerspieler == spieler1) aktuellerspieler = spieler2; else aktuellerspieler = spieler1; public void spielausgabe() spielfeld.spielfeldausgabe(); $ & import java.awt.color; public class Spieler //Attribute public Color farbe; public String name; //Konstruktor public Spieler (Color neuefarbe) farbe = neuefarbe; if(neuefarbe == Color.red) name = "Rot"; else name = "Blau"; //Methoden public Color getfarbe() return this.farbe; public String getname()

35 return this.name; public int chipsetzen() System.out.println("Bitte Spalte angeben, " + this.getname() + "!"); int spalte = Keyboard.readInt(); return spalte; $ &" import java.awt.color; import java.awt.panel; import java.awt.graphics; public class Spielfeld extends Panel //Attribute Chip[][] spielfeld; //Konstruktor public Spielfeld () spielfeld = new Chip[7][6]; for (int j=0; j<=5; j++) for (int i=0; i<=6; i++) spielfeld[i][j]=null; //Methoden public boolean istvoll() for (int i = 0; i < spielfeld.length; i++ ) if (spielfeld[i][0] == null) return false; return true; public void spielfeldausgabe() System.out.println(); Chip chip = null; for(int i = 0; i<6; i++) System.out.print(" ");

36 for(int j = 0; j<7; j++) chip = spielfeld[j][i]; if(chip == null) System.out.print(" "); else chip.chipausgabe(); System.out.print(" "); System.out.println(); System.out.println(" "); System.out.println(" "); System.out.println(); public boolean chipsetzen(int spalte, Spieler aktuellerspieler) for(int zeile = 5; zeile>=0; zeile--) if(spielfeld[spalte-1][zeile] == null) Chip chip = new Chip(aktuellerspieler); spielfeld[spalte-1][zeile] = chip; return true; return false; public Spieler gewinner(int spalte) int zeile = 0; while (spielfeld[spalte-1][zeile] == null) zeile++; Chip chip = spielfeld [spalte-1] [zeile]; return chip.getspieler(); public boolean gewinnzug (Spieler spieler, int spalte) Color farbe = spieler.getfarbe(); spalte = spalte - 1; //Feldindex spalte)) if (gewinnspalte (farbe, spalte) gewinnzeile (farbe, spalte) gewinndiagonale (farbe, return true; return false; private boolean gewinnspalte(color farbe, int spaltenindex) int j; for (j=0 ; j<3 ; j++) if (spielfeld [spaltenindex] [j]!= null)

37 return false; for (int i=j+1 ; i<=j+3 && i<6; i++) Chip chip = spielfeld [spaltenindex] [i]; if(chip.getfarbe()!= farbe) return false; System.out.println("Gewinn in Spalte"); return true; private boolean gewinnzeile (Color farbe, int spaltenindex) int cnt = 1; int zeile = 0; while (spielfeld[spaltenindex][zeile] == null) zeile++; int i = 1; //nach rechts prüfen while (i<(7-spaltenindex) && spielfeld[spaltenindex+i][zeile]!=null && spielfeld[spaltenindex+i][zeile].getfarbe() == farbe) cnt++; i++; if (cnt >= 4) return true; i = 1; //nach links prüfen while (i <= spaltenindex && spielfeld[spaltenindex-i][zeile]!= null && spielfeld[spaltenindex-i][zeile].getfarbe() == farbe ) cnt++; i++; if (cnt >= 4) System.out.println("Gewinn in Zeile"); return true; return false; private boolean gewinndiagonale(color farbe, int spaltenindex) int zeile=0;

38 while (spielfeld[spaltenindex][zeile] == null) zeile++; int h=1; //Hauptdiagonale (der gesetzte Chip zählt mit) int n=1; //Nebendiagonale //Überprüfung nach rechts unten int x=spaltenindex+1; int y=zeile+1; while (x<7 && y<6 && spielfeld[x][y]!= null && spielfeld[x][y].getfarbe()==farbe) y++; x++; h++; //Überprüfung nach links oben x=spaltenindex-1; y=zeile-1; while (x>=0 && y>=0 && spielfeld[x][y]!= null && spielfeld[x][y].getfarbe()==farbe) y--; x--; h++; //Überprüfung nach rechts oben x=spaltenindex+1; y=zeile-1; while (x<7 && y>=0 && spielfeld[x][y]!= null && spielfeld[x][y].getfarbe()==farbe) y--; x++; n++; //Überprüfung nach links unten x=spaltenindex-1; y=zeile+1; while (x>=0 && y<6 && spielfeld[x][y]!= null && spielfeld[x][y].getfarbe()==farbe) y++; x--; n++; if (h>=4 n>=4) System.out.println("Gewinn in Diagonale"); return true; else

39 return false; // //fuer grafische Ausfuehrung public boolean chipsetzen(int spalte, Color farbe) for(int zeile = 5; zeile>=0; zeile--) if(spielfeld[spalte-1][zeile] == null) Chip chip = new Chip(farbe); spielfeld[spalte-1][zeile] = chip; return true; return false; public Color gewinnerfarbe(int spalte) int zeile = 0; while (spielfeld[spalte][zeile] == null) zeile++; Chip chip = spielfeld [spalte] [zeile]; return chip.getfarbe(); public boolean gewinnzug (Color farbe, int spalte) if (gewinnspalte (farbe, spalte-1) gewinnzeile (farbe, spalte-1) gewinndiagonale (farbe, spalte-1)) return true; else return false; public void paint (Graphics graphic) zeichnespielfeld(graphic); zeichnegesetztechips(graphic); private void zeichnespielfeld (Graphics graphic) for (int i = 0; i <= 7; i++) graphic.drawline( /7* i, /7* 7, /7* i, 270); graphic.drawline(56, 270, , 270); graphic.drawstring("spieler Blau ist am Zug!", 165, 290); private void zeichnegesetztechips (Graphics graphic)

40 for (int zeile = 0; zeile < 6; zeile++) for (int spalte = 0; spalte < 7; spalte++) if ( (spielfeld[spalte][zeile]!= null)) zeichnechip(graphic, spalte, zeile, spielfeld[spalte][zeile]); private void zeichnechip(graphics graphic, int spalte, int zeile, Chip chip) Color c = graphic.getcolor(); graphic.setcolor(chip.getfarbe()); graphic.filloval((56 + 1) + spalte * 330/7,270 - (330/7-1) - (5 - zeile) * (330/7-2), (330/7-2), (330/7-2)); graphic.setcolor(c); $ =& import java.awt.color; public class Chip //Attribute public Color farbe; public Spieler spieler; //Konstruktor public Chip (Spieler neuerspieler) farbe = neuerspieler.getfarbe(); spieler = neuerspieler; //Methoden public Color getfarbe() return this.farbe; public Spieler getspieler() return this.spieler; public void chipausgabe() if(this.getfarbe() == Color.red)

41 else System.out.print("r"); System.out.print("b"); // //fuer grafische Ausfuehrung //Konstruktor public Chip(Color neuefarbe) farbe = neuefarbe; spieler = new Spieler(neuefarbe); $ 0 import java.awt.frame; import java.awt.panel; import java.awt.button; import java.awt.color; import java.awt.label; import java.awt.graphics; //abstrakte Klasse import java.awt.event.windowadapter; import java.awt.event.windowevent; import java.awt.event.actionlistener; import java.awt.event.actionevent; public class Fenster extends Frame implements ActionListener //Attribute public static Button ende, knopf1, knopf2, knopf3, knopf4, knopf5, knopf6, knopf7; public static Panel buttonpanel, endepanel; public static Spielfeld feldpanel; public static Color farbe = Color.red; //Konstruktor public Fenster(Spielfeld spielfeld) settitle("viergewinnt"); setsize (450, 400); setlocation (200, 200); setvisible(true); // Fenster schliessen addwindowlistener(new WindowAdapter() public void windowclosing(windowevent e) System.exit(0); ); // Button-Panel (oben)

42 buttonpanel = new Panel(); endepanel = new Panel(); ende = new Button ("Spiel beenden!"); knopf1 = new Button("1"); knopf2 = new Button("2"); knopf3 = new Button("3"); knopf4 = new Button("4"); knopf5 = new Button("5"); knopf6 = new Button("6"); knopf7 = new Button("7"); ende.addactionlistener(this); endepanel.add(ende); knopf1.addactionlistener(this); buttonpanel.add(knopf1); knopf2.addactionlistener(this); buttonpanel.add(knopf2); knopf3.addactionlistener(this); buttonpanel.add(knopf3); knopf4.addactionlistener(this); buttonpanel.add(knopf4); knopf5.addactionlistener(this); buttonpanel.add(knopf5); knopf6.addactionlistener(this); buttonpanel.add(knopf6); knopf7.addactionlistener(this); buttonpanel.add(knopf7); add("north", buttonpanel); add("south", endepanel); //Spielfeld-Panel (unten) feldpanel = spielfeld; add("center", spielfeld); setvisible(true); // //ActionListener public void actionperformed(actionevent event) Button knopf = (Button)event.getSource(); if(knopf == ende) System.exit(0); int spalte = java.lang.integer.valueof(knopf.getlabel()).intvalue(); zugausfuehren(spalte); private void zugausfuehren(int spalte) if (feldpanel.chipsetzen(spalte, farbe)) if(feldpanel.gewinnzug(farbe, spalte))

43 spielgewonnen(feldpanel.gewinner(spalte).getname()); if(feldpanel.istvoll()) unentschieden(); farbwechsel(); feldpanel.repaint(); private void farbwechsel() if(farbe == Color.red) farbe = Color.blue; else farbe = Color.red; private void spielgewonnen(string name) Button gewonnen = new Button("Spieler " + name + " hat gewonnen!"); gewonnen.addactionlistener( new ActionListener() public void actionperformed(actionevent e) Runtime.getRuntime().exit(0); ); remove(buttonpanel); buttonpanel.add(gewonnen); add("north", gewonnen); private void unentschieden () Button unentschieden = new Button(" Alle Steine gesetzt: Unentschieden!"); unentschieden.addactionlistener( new ActionListener() public void actionperformed(actionevent e) Runtime.getRuntime().exit(0); ); remove(buttonpanel); add("north", unentschieden);

44 7". *3%3=, ##", %9 9RR RRR R =#D@97 / %") :, /.:(>: 6 SS:1% 2= I* : %L L'C:### Hubwieser, P.: Didaktik der Informatik. Grundlagen, Konzepte, Beispiele. Berlin, Heidelberg, New York: Springer Verlag, RR= = = R R>R>R

Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301

Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301 Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301 Aufgabe 8: Implementierung eines Ereignis-Automaten a) Modellieren Sie einen Ereignis-Automaten für den in der Abbildung dargestellten und in Calculator.java

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 5

Betreutes Programmieren Vorlesung Informatik II, Blatt 5 SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 01.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 5 Programmieraufwand für geübte Programmierer:

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

Anweisungen zur Ablaufsteuerung

Anweisungen zur Ablaufsteuerung Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden

Mehr

Keine Bepunktung! Betreutes Programmieren Vorlesung Informatik II, Blatt 12 SS 2011

Keine Bepunktung! Betreutes Programmieren Vorlesung Informatik II, Blatt 12 SS 2011 SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 20.07.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 12 Programmieraufwand für geübte Programmierer:

Mehr

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel

Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Musterlösung Stand: 5. Februar 2009

Musterlösung Stand: 5. Februar 2009 Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Aufgabe Ein Benutzer soll

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 11 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 11 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 13.07.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 11 Musterlösung Programmieraufwand für

Mehr

class BahnTest2 { public static void main(string[] args) { Zug myice = new Zug("ICE Duisburg", 1200, 0, 50); BahnCardFahrer kunde2 = new BahnCardFahre

class BahnTest2 { public static void main(string[] args) { Zug myice = new Zug(ICE Duisburg, 1200, 0, 50); BahnCardFahrer kunde2 = new BahnCardFahre class BahnTest2 { public static void main(string[] args) { Zug myice = new Zug("ICE Duisburg", 1200, 0, 50); BahnCardFahrer kunde2 = new BahnCardFahrer(args[0], myice, (new Integer(args[1])).intValue());

Mehr

Fakultät IV Elektrotechnik/Informatik

Fakultät IV Elektrotechnik/Informatik Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - Selektoren public class Rechteck

Mehr

GUI Programmierung mit JAVA Swing

GUI Programmierung mit JAVA Swing GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische

Mehr

Übersicht. 1 Vorbemerkungen zu Sequenzdiagrammen. 2 Sequenzdiagramm aus Code ableiten. 3 Sequenzdiagramm konstruieren und in Java implementieren

Übersicht. 1 Vorbemerkungen zu Sequenzdiagrammen. 2 Sequenzdiagramm aus Code ableiten. 3 Sequenzdiagramm konstruieren und in Java implementieren Globale Übung Informatik 2, Blatt 7 Globale Übung Informatik 2, Blatt 7 Übersicht Globale Übung Informatik 2 im Sommersemester 2010 Blatt 7, Aufgaben 27-28 1 Vorbemerkungen zu Sequenzdiagrammen 2 Sequenzdiagramm

Mehr

Klausur vom 14. Juni 2004. Informatik 4

Klausur vom 14. Juni 2004. Informatik 4 Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik, Burgdorf Klasse: EV02-1 Name, Vorname: Klausur vom 14. Juni

Mehr

DHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA https://www.iai.kit.edu/~javavorlesung W. Geiger, T. Schlachter, C. Schmitt, W.

DHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA https://www.iai.kit.edu/~javavorlesung W. Geiger, T. Schlachter, C. Schmitt, W. Bereich: Grafische Benutzeroberflächen (UI), Events (1) Währungsumrechner (2) Package: de.dhbwka.java.exercise.ui.event Musterlösung Klasse: CurrencyCalculator package de.dhbwka.java.exercise.ui.event;

Mehr

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 - ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;

Mehr

public class MyChoice implements PlayConstants { private PlayGround ground; private YourChoice yours; private int acceptablechoice, value; public

public class MyChoice implements PlayConstants { private PlayGround ground; private YourChoice yours; private int acceptablechoice, value; public public class MyChoice implements PlayConstants { private PlayGround ground; private YourChoice yours; private int acceptablechoice, value; public MyChoice(PlayGround g, int place) { ground = new PlayGround(g,place,YOU);

Mehr

Zugriffsrechte und Packages

Zugriffsrechte und Packages Zugriffsrechte und Packages Allgemeine Informatik I Wintersemester 2013/14 Karsten Weihe Schnitt: Sascha Weiß Mit freundlicher Unterstützung des elc der TU Darmstadt Komplexer Typ Klasse Interface Standardbibliothek

Mehr

1. Konventionelle Ein-/Ausgabebetonte Programmierung

1. Konventionelle Ein-/Ausgabebetonte Programmierung 1. Konventionelle Ein-/Ausgabebetonte Programmierung 1.1 Realisierung grafischer Benutzungsoberflächen Beispiel Java AWT und Swing 1.2 Grundlagen der 2D-Computergrafik Beispiel Java-Grafikprogrammierung,

Mehr

Klausur Softwaretechnik / JAVA Fachbereich BW, für WINFO

Klausur Softwaretechnik / JAVA Fachbereich BW, für WINFO Klausur Softwaretechnik / JAVA Fachbereich BW, für WINFO Dipl.-Ing. Klaus Knopper 20.01.2010 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und/oder Ihre Matrikelnummer,

Mehr

16. Dezember 2004 Dr. M. Schneider, P. Ziewer

16. Dezember 2004 Dr. M. Schneider, P. Ziewer Technische Universität München WS 2004/2005 Fakultät für Informatik Lösungsvorschläge zu Blatt 8 A. Berlea, M. Petter, 16. Dezember 2004 Dr. M. Schneider, P. Ziewer Übungen zu Einführung in die Informatik

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 3 Lösungsvorschlag Objektorientierte Programmierung 08. 05. 2006 Lösung 8 (Java und UML-Klassendiagramm

Mehr

II.4.2 Abstrakte Klassen und Interfaces - 1 -

II.4.2 Abstrakte Klassen und Interfaces - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1

Mehr

(C) Sortieren und Suchen mit Java.-AWT Seite 1

(C)  Sortieren und Suchen mit Java.-AWT Seite 1 Sortieren sowie Suchen mit dem Halbierungsverfahren, programmiert mit der Java-AWT Funktion und Oberfläche sind in getrennten Klassen untergebracht. Die ganze Anwendung besteht damit aus drei Dateien:

Mehr

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4 Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort Punkte 1 Schleife 2 2 Code-Fragment

Mehr

Hauptklausur: PRGII MD

Hauptklausur: PRGII MD Hauptklausur: PRGII MD Aufgabe 1 (18 Punkte) Betrachten Sie folgenden binären Suchbaum. a) Geben Sie die Knoten des Baumes in postorder aus. anne, helmut, harald, bert, arno, manuel, uwe, thorsten, sebastian,

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

Java - Programmierung - Prozedurale Programmierung 1

Java - Programmierung - Prozedurale Programmierung 1 Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,

Mehr

Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte)

Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte) Klausur zum Kurs 1618 im Sommersemester 2002 am 10.8.2002 1 Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte) Was ist der Unterschied zwischen a) einem Objekt und einer Klasse? b) der Instanz einer Klasse

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

Mehr

Hochschule der Medien Prof. Uwe Schulz 13. Juli 2009 Klausur Informatik, EDV-Nr Seite 1 von 6. Teil 2: Aufgaben

Hochschule der Medien Prof. Uwe Schulz 13. Juli 2009 Klausur Informatik, EDV-Nr Seite 1 von 6. Teil 2: Aufgaben Hochschule der Medien Prof Uwe Schulz 13 Juli 2009 Klausur Informatik, EDV-Nr 40301 Seite 1 von 6 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: Bearbeitungszeit: alle außer tragbare Computer und Nachbar

Mehr

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 6. Juli 2018 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 27. August

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

Fachhochschule Stuttgart Prof. Uwe Schulz 14. Juli 2005 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

Fachhochschule Stuttgart Prof. Uwe Schulz 14. Juli 2005 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4 Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort 1 Schleife 2 2 Code-Fragment mit

Mehr

Speichern der Benutzereinstellungen

Speichern der Benutzereinstellungen Speichern der Benutzereinstellungen Die vorgestellte Methode, Daten in Dateien zu speichern, haben wir erfolgreich beim Fußballmanagerprojekt eingesetzt. Das wäre auch für das Speichern von Benutzereinstellungen

Mehr

Lesen Sie zuerst die Hinweise auf der Rückseite!

Lesen Sie zuerst die Hinweise auf der Rückseite! Fachbereich Informatik Lehrgebiet Programmiersysteme Prof. Dr. Friedrich Steimann FernUniversität in Hagen D-58084 Hagen (Name, Vorname) (Straße, Nr.) (PLZ) (Wohnort) (Land, falls außerhalb Deutschlands)

Mehr

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:

Mehr

// compiliert, aber Programmabbruch zur Laufzeit: einesuppe = ((EßbarerPilz)einPilz).kochen();

// compiliert, aber Programmabbruch zur Laufzeit: einesuppe = ((EßbarerPilz)einPilz).kochen(); Typecast class Pilz void suchen() void sammeln() class EßbarerPilz extends Pilz Suppe kochen() Suppe einesuppe = new Suppe(); return einesuppe; class GiftPilz extends Pilz void entsorgen() class Suppe

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 12.12.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 8 Abgabe: Montag, 19.12.2011, 12.00 Uhr, Informatik

Mehr

B1. Ein-/Ausgabebetonte Programmierung

B1. Ein-/Ausgabebetonte Programmierung B1. Ein-/Ausgabebetonte Programmierung B1.1 Mensch-Maschine-Kommunikation B1.2 Modell-Sicht-Paradigma B1.3 Bausteine für grafische Oberflächen B1.4 Ereignisgesteuerte Programme Ludwig-Maximilians-Universität

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.4.1 Unterklassen und Vererbung - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung

Mehr

Beispielprüfung CuP WS 2015/2016

Beispielprüfung CuP WS 2015/2016 Beispielprüfung CuP WS 2015/2016 Univ.-Prof. Dr. Peter Auer 23. Dezember 2015 Informationen zur Prüfung Die Prüfung wird als Multiple-Choice-Test mit 10 Fragen am Computer abgehalten. (Bei manchen Fragen

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.4.1 Unterklassen und Vererbung - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung

Mehr

Vergleich verschiedener OO-Programmiersprachen

Vergleich verschiedener OO-Programmiersprachen Vergleich verschiedener OO-Programmiersprachen - Schnellumstieg in 15 Minuten - C++ Java Visual C++ C# Programmbeispiel in Visual C++, C#, Java und C++ Dr. Ehlert, Juni 2012 1 Inhaltsverzeichnis 1. Problemstellung

Mehr

Klausur zur Informatik A WS 2001/2002 Name: Korrektor: Punkte: a) Zeichnen Sie zu der nachstehenden Syntax in EBNF die passenden Syntaxdiagramme.

Klausur zur Informatik A WS 2001/2002 Name: Korrektor: Punkte: a) Zeichnen Sie zu der nachstehenden Syntax in EBNF die passenden Syntaxdiagramme. Aufgabe 1 a) Zeichnen Sie zu der nachstehenden Syntax in EBNF die passenden Syntaxdiagramme. Drei0 ::= 0 3 6 9 Drei1 ::= 1 4 7 Drei2 ::= 2 5 8 Drei ::= Drei0 Drei0 Drei1 Drei2 Drei2 Drei1 b) Gegeben sei

Mehr

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101 Eingabe von Texten SWE-101 Komponente TextField: einzeiliger, edierbarer Text Ereignisse: ActionEvent (wie bei Button) ausgelöst bei der Eingabe von Return einige Methoden (aus der Oberklasse TextComponent):

Mehr

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

PR1-MB, SS10 Seite 1 Hauptklausur, geschrieben am Di

PR1-MB, SS10 Seite 1 Hauptklausur, geschrieben am Di PR1-MB, SS10 Seite 1 Hauptklausur, geschrieben am Di 13.07.10 Vorname (bitte deutlich und lesbar) Nachname (bitte deutlich und lesbar) Matrikel-Nr (bitte deutlich und lesbar) Diese Klausur ist mein letzter

Mehr

Übung 09: Vererbung und Dynamische Bindung

Übung 09: Vererbung und Dynamische Bindung Übung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) G4 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben

Mehr

Kapitel 15. Systemarchitektur

Kapitel 15. Systemarchitektur Kapitel 15 Systemarchitektur Systemarchitektur 1 Ziele Grundprinzipien der Systemarchitektur verstehen Schichtenarchitekturen kennenlernen Modelle und Programme mit Paketen strukturieren Eine Architektur

Mehr

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 139

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 139 Aufgabe 139 Aufgabe 139 Aufgabenstellung Stellen Sie den folgenden in Feldbaum-Darstellung beschriebenen Binärbaum a) graphisch (welcher Knoten ist die Wurzel?), b) in halbsequentieller Darstellung, c)

Mehr

Übungen / Lösungen Programmieren 1 Felix Rohrer LÖSUNGEN

Übungen / Lösungen Programmieren 1 Felix Rohrer LÖSUNGEN LÖSUNGEN if / else / else if... 2 Aufgabe 1:... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 3 Aufgabe 6:... 3 Aufgabe 7:... 3 Aufgabe 8:... 4 Aufgabe 9:... 4 Aufgabe 10:... 5 switch...

Mehr

Städtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode

Städtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern

Mehr

B1. Ein-/Ausgabebetonte Programmierung

B1. Ein-/Ausgabebetonte Programmierung B1. Ein-/Ausgabebetonte Programmierung B1.1 Mensch-Maschine-Kommunikation B1.2 Modell-Sicht-Paradigma B1.3 Bausteine für grafische Oberflächen B1.4 Ereignisgesteuerte Programme Ludwig-Maximilians-Universität

Mehr

Informatik II Aufgabenblatt 7

Informatik II Aufgabenblatt 7 Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 7 Gruppenübung Stücklisten Stücklisten beschreiben die Zusammensetzung von Erzeugnissen aus Untereinheiten. Bei der

Mehr

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum. Hochschule der Medien Prof Uwe Schulz 1 Februar 2007 Stuttgart Klausur Informatik 2, EDV-Nr 40303/42022 Seite 1 von 2 Name: Matr Nr: Teil 1: Keine Hilfsmittel Bearbeitungszeit: 20 Minuten Teil 1 Teil 2

Mehr

B1. Ein-/Ausgabebetonte Programmierung

B1. Ein-/Ausgabebetonte Programmierung B1. Ein-/Ausgabebetonte Programmierung B1.1 Mensch-Maschine-Kommunikation B1.2 Modell-Sicht-Paradigma B1.3 Bausteine für grafische Oberflächen B1.4 Ereignisgesteuerte Programme Ludwig-Maximilians-Universität

Mehr

Technische Universität Braunschweig

Technische Universität Braunschweig Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 18. August 2017 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Hintergrund und Motivation

Hintergrund und Motivation Zentrale Aspekte der Komponentenorientierung 2. JavaBeans als Komponenten Java-GUI-Elemente sind Beans Typischer Aufbau von Beans Bound properties Constrained Properties Speichern Literatur: Sun, JavaBeans

Mehr

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 { Hochschule Harz Programmierung1 Aufgabe 10: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Hashing und Generische Klassen Versuchsziele Kenntnisse

Mehr

Arrays von Objekten. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Arrays von Objekten. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein

Mehr

Konzepte objektorientierter Programmierung

Konzepte objektorientierter Programmierung Konzepte objektorientierter Programmierung Objekte Klassen Nachrichten Kapselung Einführung Vererbung heute! Konzepte objektorientierter Programmierung Was ist ein Objekt? Was ist eine Klasse? Was sind

Mehr

Subnetting Version 0 Munz FTE1- JAVA Programm Analyse

Subnetting Version 0 Munz FTE1- JAVA Programm Analyse import java.applet.applet; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.lang.*; import java.net.*; import java.util.stringtokenizer; import java.math.*;

Mehr

II.3.1 Rekursive Algorithmen - 1 -

II.3.1 Rekursive Algorithmen - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -

Mehr

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2) Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

7. Architektur interaktiver Systeme

7. Architektur interaktiver Systeme 7. Architektur interaktiver Systeme 7.1 Entkopplung durch Sichten 7.2 Ereignisgesteuerter Programmablauf 7.3 Benutzungsoberflächen (Fortsetzung) Layout-Manager Definition Ein Layout-Manager ist ein Objekt,

Mehr

import JavaKaraProgram; public class Quadrat extends JavaKaraProgram { // Anfang von Quadrat void turnaround() { kara.turnleft(); kara.

import JavaKaraProgram; public class Quadrat extends JavaKaraProgram { // Anfang von Quadrat void turnaround() { kara.turnleft(); kara. Informatik 11: Einführung in Java Kara legt Muster!(Lsg.) Gierhardt Aufgaben: 1. KARA soll ein mit Kleeblättern gefülltes Quadrat mit variabler Seitenlänge ablegen. Der Methodenaufruf quadratzeichnen(5)

Mehr

Grafik-Programmierung

Grafik-Programmierung Grafik-Programmierung In dieser Übung beschäftigen wir uns zunächst mit elementaren Grundlagen der Grafikprogrammierung. In der nächsten Übung werden wir dies auf Spiele anwenden. Aufgabe 1: Einfache Grafik:

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.4.1 Unterklassen und Vererbung - 1 - n 1. Grundelemente der Programmierung n 2. Objekte, Klassen und Methoden n 3. Rekursion und dynamische Datenstrukturen n 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 11

Betreutes Programmieren Vorlesung Informatik II, Blatt 11 SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 13.07.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 11 Programmieraufwand für geübte Programmierer:

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.4.1 Unterklassen und Vererbung - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 16. August 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Beispiellösung zur Klausur AI2 im Sommersemester 2007

Beispiellösung zur Klausur AI2 im Sommersemester 2007 Beispiellösung zur Klausur AI2 im Sommersemester 2007 Die Lösung soll als Beispiellösung für die Vorbereitung auf die Nachklausur dienen. Es ist durchaus möglich, dass sich noch kleine Fehler eingeschlichen

Mehr

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 - ! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck

Mehr

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; } Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute

Mehr

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event. Lösungen 1. Aufgabe // ActionExample.java import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ActionExample extends JFrame int counter = 1; JLabel counterlabel; public

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Arrays Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arraytypen Speicherdarstellung von Arrays Auswertung

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Lesen Sie zuerst die Hinweise auf der folgenden Seite! Musterlösung. Klausurort: Aufgabe Summe

Lesen Sie zuerst die Hinweise auf der folgenden Seite! Musterlösung. Klausurort: Aufgabe Summe Kurs 1618 SS 2009 (Name, Vorname) (Straße, Nr.) (PLZ) (Wohnort) (Land, falls außerhalb Deutschlands) Einführung in die objektorientierte Programmierung Nachklausur am 6.2.2010 Dauer: 3 Std., 10 13 Uhr

Mehr