JAO sprawozdanie 4 id 465827 Nieznany

background image

Anna Urba«ska

127284

06.11.2012

J¦zyki, Automaty i Obliczenia

Laboratorium

‚wiczenie 4

2FDI grupa L14

1. Kryteria oceny

kryterium

ocena

1

Brakuje celu ¢wiczenia

2.0

2

Struktura aplikacji jest poprawna

3.0

3

Kod jest zgodny z algorytmem

3.5

4

W kodzie s¡ wci¦cia (tabulatory) zwi¦kszaj¡ce czytelno±¢

4.0

5

W kodzie s¡ komentarze odwoªuj¡ce si¦ w sposób jednoznaczny do algorytmu

4.5

6

Prawidªowe odpowiedzi na wszystkie pytania

5.0

Ocena jest wyznacza w sposób przyrostowy, np. sprawozdanie speªniaj¡ce kryteria 1, 2, 4, 5 i 6 ale

nie speªniaj¡ce kryterium 3 ocenione zostanie na 3.0.

2. Cel ¢wiczenia

Celem ¢wiczenia jest ulepszenie stryktury kodu napisanego na 3 laboratorium poprzez zastosowanie

wzorców projektowych.

3. Algorytm programu z pliku fasady

Nie kopiuj z instrukcji do ¢wiczenia, tylko wpisz taki algorytm, który opisuje kod z twojego pliku.

Metoda wczytajDane:

1. Tworzymy obiekt klasy OdczytDanychService i zapisujemy go do nowej zmiennej $odczytDanychSe-

rvice

2. Ustawiamy nazwe pliku z którego zostan¡ wczytane dane do wykonania operacji

3. Wykonujemy metode - odczytaj() aby wczytac dane z pliku

4. Do zmiennej $zbiory przypisujemy zbiory pobrane z pliku

5. Zwró¢ $zbiory

Metoda oblicz:

1. Tworzymy obiekt klasy OperacjeNaZbiorachService i zapisujemy go do zmiennej $operacjeNaZbio-

rachService

2. Za pomoc¡ metody setzbiory() ustawiamy dane na których zostanie przeprowadzona operacja;

3. Wykonujemy metode - roznica()

4. Pobieramy wynik ró»nicy i zapisujmy go do zmiennej $wynik

5. Zwracamy $wynik

4. Algorytm programu z pliku kontrolera

Nie kopiuj z instrukcji do ¢wiczenia, tylko wpisz taki algorytm, który opisuje kod z twojego pliku.

Metoda processRequest:

1. Za pomoc¡ metody getAction() pobieramy numer akcji.

1

background image

2. Tworzymy nowy obiekt klasy Gui i zapisujemy do zmiennej $gui.

3. Je»eli numer akcji jest równy self::KONTROLER_WCZYTAJ_DANE_Z_PLIKU to wywoªujemy

metod¦ onClicWczytaj().

4. Je»eli numer akcji jest równy self::KONTROLER_WYKONAJ_OPERACJE_NA_ZBIORACH to

wywoªujemy metod¦ onClicOblicz().

5. Je»eli numer akcji jest równy self::KONTROLER_POKAZ_WYNIK to wywoªujemy metod¦ onC-

licPokazWynik().

6. Wywoªujemy metod¦ show();

5. Kod programu

5.1. Plik OperacjeNaZbiorachFacade.php

1 <?php

2

3 require_once " OperacjeNaZbiorachService . php" ;

4

5 require_once " OdczytDanychService . php" ;

6 /∗

7

To change t h i s template , choose Tools | Templates

8

and open the template in the e d i t o r .

9

/

10

11 /∗∗

12

D e s c r i p t i o n o f OperacjeNaZbiorachFacade

13

14

@author jao05

15

/

16 c l a s s OperacjeNaZbiorachFacade {

17

/∗

18

Wczytuje dane z p l i k u o nazwie $nazwaPliku

19

@param s t r i n g $nazwaPliku

20

@return array

21

/

22

p u b l i c f u n c t i o n wczytajDane ( $nazwaPliku ) {

23

24

$odczytDanychService = new OdczytDanychService ( ) ; // pkt1

25

$odczytDanychService>setNazwaPliku ( $nazwaPliku ) ; // pkt2

26

$odczytDanychService>odczyt aj ( ) ; // pkt3

27

$zbiory = $odczytDanychService>getZbiory ( ) ; // pkt4

28

29

return $zbiory ; // pkt5

30

}

31

32

/∗∗

33

O b l i c z a ( wpisz prawid™ow† o p e r a c j†) z b i o rÓw

34

z t a b l i c y $ z b i o r y

35

@param array t a b l i c a ze zbiorami ( t a b l i c a m i )

36

@return array t a b l i c a z wynikiem o b l i c z e ™

37

/

38

p u b l i c f u n c t i o n o b l i c z ( $zbiory ) {

39

40

$operacjeNaZbiorach = new OperacjeNaZbiorachService ( ) ; // pkt1

41

$operacjeNaZbiorach>s e t z b i o r y ( $zbiory ) ; // pkt2

42

$operacjeNaZbiorach>r o z n i c a ( ) ; // pkt3

43

$wynik = $operacjeNaZbiorach>getwynik ( ) ; // pkt4

44

45

return $wynik ;

46

2

background image

47

}

48 }

49 ?>

5.2. Plik Controller.php

1 <?php

2

3 require_once " . / View/Gui . php" ;

4 /∗

5

To change t h i s template , choose Tools | Templates

6

and open the template in the e d i t o r .

7

/

8

9 /∗∗

10

D e s c r i p t i o n o f C o n t r o l l e r

11

12

@author jao05

13

/

14 c l a s s C o n t r o l l e r {

15

/∗∗

16

akcja wczytania danych z p l i k u

17

/

18

const KONTROLER_WCZYTAJ_DANE_Z_PLIKU = 1 ;

19

/∗∗

20

wykonanie o b l i c z e ™

21

/

22

const KONTROLER_WYKONAJ_OPERACJE_NA_ZBIORACH = 2 ;

23

/∗∗

24

Wy™ w i e t l e n i e wyniku

25

/

26

const KONTROLER_POKAZ_WYNIK = 3 ;

27

/∗∗

28

pokazanie p l i k u gui . xhtml

29

/

30

const KONTROLER_POKAZ_GUI_XHTML = 4 ;

31

32

p r o t e c t e d f u n c t i o n getAction ( ) {

33

34

i f ( i s s e t ( $_REQUEST[ ' wczytaj ' ] ) && $_REQUEST[ ' wczytaj ' ] === ' Wczytaj ' )

35

{

36

return s e l f : :KONTROLER_WCZYTAJ_DANE_Z_PLIKU;

37

}

38

39

i f ( i s s e t ( $_REQUEST[ ' o b l i c z ' ] ) && $_REQUEST[ ' o b l i c z ' ] === ' Oblicz ' )

40

{

41

return s e l f : :KONTROLER_WYKONAJ_OPERACJE_NA_ZBIORACH;

42

}

43

44

i f ( i s s e t ( $_REQUEST[ ' pokazWynik ' ] ) && $_REQUEST[ ' pokazWynik ' ] === ' Pokaz Wynik ' )

45

{

46

return s e l f : :KONTROLER_POKAZ_WYNIK;

47

}

48

49

return s e l f : :KONTROLER_POKAZ_GUI_XHTML;

50

}

51

52

p u b l i c f u n c t i o n processRequest ( ) {

53

54

$akcja = $this >getAction ( ) ; // 1

3

background image

55

$gui = new Gui ( ) ; // 2

56

i f ( $akcja === s e l f : :KONTROLER_WYKONAJ_OPERACJE_NA_ZBIORACH )

57

{

58

$gui>onClickOblicz ( ) ;

59

}

60

i f ( $akcja === s e l f : :KONTROLER_POKAZ_WYNIK )

61

{

62

$gui>onClickPokazWynik ( ) ;

63

}

64

i f ( $akcja === s e l f : :KONTROLER_WCZYTAJ_DANE_Z_PLIKU )

65

{

66

$gui>onClickWczytaj ( ) ;

67

}

68

$gui>show ( ) ;

69

}

70 }

71 ?>

5.3. Plik Gui.php

1 <?php

2 /∗

3

To change t h i s template , choose Tools | Templates

4

and open the template in the e d i t o r .

5

/

6

7 /∗∗

8

D e s c r i p t i o n o f Gui

9

10

@author jao04

11

/

12 c l a s s Gui {

13

p r i v a t e $wynikObliczen ;

14

15

16

p u b l i c f u n c t i o n onClickWczytaj ( )

17

{

18

$nazwaPliku = $_FILES [ ' P l i k ' ] [ 'tmp_name ' ] ; // pkt4 . 1

19

$ f a s c a d e = new OperacjeNaZbiorachFascade ( ) ; // pkt 4 ,2

20

$_SESSION [ ' z b i o r y ' ] = $ f a s c a d e >g e t z b i o r y ( ) ; // pkt 4.3

21

22

23

}

24

p u b l i c f u n c t i o n onClickOblicz ( )

25

{

26

$zbiory = $_SESSION [ ' z b i o r y ' ] ;

27

$ f a s c a d e = new OperacjeNaZbiorachFascade ( ) ;

28

$_SESSION [ ' wynik ' ] =$fascade >getwynik ( ) ;

29

30

31

32

33

}

34

p u b l i c f u n c t i o n onClickPokazWynik ( )

35

{

36

$wynikO = $_SESSION [ ' wynik ' ] ;

37

$this >$wynikObliczen = print_r ( $wynikO , TRUE) ;

38

39

}

40

p u b l i c f u n c t i o n show ( )

4

background image

41

{

42

$html = file_get_contents ( " gui . xhtml" ) ;

43

$search = array ( " : wynik : " ) ;

44

$ r e p l a c e = array ( $wynikObliczen ) ;

45

$html = s t r _ r e p l a c e ( $search , $replace , $html ) ;

46

echo $html ;

47

48

}

49

50

51

}

52 ?>

6. Odpowiedz na pytania

6.1. Zadanie 1

Jakie s¡ zadania komponentów Model, View i Controller we wzorcu projektowym Model  View 

Controller?

Nie wiem

6.2. Zadanie 2

Do programu z zaj¦¢ chcemy doda¢ now¡ funkcjonalno±¢: przycisk Poka» zbiory. Po klikni¦ciu w ten

przycisk ma si¦ pojawi¢ okienko prezentuj¡ce zbiory, które zostaªy odczytane z pliku. Jakie pliki nale»y

doda¢ do aplikacji? W jakich katalogach znajd¡ si¦ te pliki?

Nie wiem

6.3. Zadanie 3

Do programu z zaj¦¢ chcemy doda¢ now¡ funkcjonalno±¢:

Jakie pliki nale»y doda¢ do aplikacji? W jakich katalogach znajd¡ si¦ te pliki?

Nie wiem

5


Wyszukiwarka

Podobne podstrony:
Lab10 Sprawozdanie id 259061 Nieznany
destylacja sprawozdanie id 1342 Nieznany
Czech sprawozdanie 1 id 128290 Nieznany
Czech sprawozdanie 3 id 128292 Nieznany
L04 sprawozdanie1 id 257051 Nieznany
Lab06 Sprawozdanie id 258833 Nieznany
Lab02 Sprawozdanie id 258779 Nieznany
Lab04 Sprawozdanie id 258808 Nieznany
Lab09 Sprawozdanie id 258852 Nieznany
prostownik sprawozdanie id 4022 Nieznany
Lab03 Sprawozdanie id 258792 Nieznany
Projekt sprawozdanie id 399569 Nieznany
cw 21 sprawozdanie I id 100238 Nieznany
Czech sprawozdanie 6 id 128295 Nieznany
46 SPRAWOZDANIE id 38951 Nieznany (2)
EiE wzor sprawozdania id 154403 Nieznany
Cw 6 sprawozdanie4 id 97476 Nieznany
lab6 sprawozdanie id 604266 Nieznany
Lab08 Sprawozdanie id 258847 Nieznany

więcej podobnych podstron