JAO sprawozdanie 4 2

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>od czytaj ( ) ; // 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 = $ t hi s >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

$t hi s >$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:
JAO sprawozdanie 1
JAO sprawozdanie 6
ProjektJaio JAO-sprawozdanie-1
JAO sprawozdanie 2
JAO sprawozdanie 1
JAO sprawozdanie 4
JAO-sprawozdanie-1
JAO sprawozdanie 4 id 465827 Nieznany
JAO sprawozdanie 2
JAO sprawozdanie 1
JAO sprawozdanie 6
JAO sprawozdanie 4
2 definicje i sprawozdawczośćid 19489 ppt
PROCES PLANOWANIA BADANIA SPRAWOZDAN FINANSOWYC H
W 11 Sprawozdania
Wymogi, cechy i zadania sprawozdawczośći finansowej

więcej podobnych podstron