JAO sprawozdanie 4

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::danezpliku to wywoªujemy metod¦ onClicWczytaj().

4. Je»eli numer akcji jest równy self::operacjenazbiorach to wywoªujemy metod¦ onClicOblicz().

5. Je»eli numer akcji jest równy self::pokazwynik to wywoªujemy metod¦ onClicPokazWynik().

6. Wywoªujemy metod¦ show();

5. Kod programu

5.1. Plik OperacjeNaZbiorachFascade.php

1 <?php

2

3 require_once " OdczytDancyhService . php" ;

4

5 require_once " OperacjeNaZbiorachService . php" ;

6

7

8

9

10 c l a s s OperacjeNaZbiorachFascade {

11

12

13

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

14

{

15

16

$odczytDanychService = new OdczytDanychService ; // punkt 4.1

17

$odczytDanychService>setnazwaPliku ( $nazwaPliku ) ; // pkt 4.2

18

$odczytDanychService>odczytaj ( ) ; // pkt 4.3

19

$zbiory =$odczytDanychService>g e t z b i o r y ( ) ; // pkt 4.4

20

return $zbiory ; // pkt 4.5

21

22

23

}

24

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

25

{

26

$operacjeNaZbiorach =new OperacjeNaZbiorachService ( ) ; // 5.1

27

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

28

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

29

$wynikObliczen = $operacjeNaZbiorach>getwynikObliczen ( ) ; // 5.4

30

return $wynikObliczen ; // 5.5

31

32

33

34

}

35

36

37

38

39

40 }

41 ?>

5.2. Plik Controller.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 .

2

background image

5

/

6

7 /∗∗

8

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

9

10

@author jao04

11

/

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

13

14

15

16

const danezpliku = 1 ;

17

18

const o p e r a c j e n a z b i o r a c h = 2 ;

19

20

const pokazwynik = 3 ;

21

22

const pokazgui = 4 ;

23

24

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

25

{

26

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

27

{

28

return s e l f : : danezpliku ;

29

}

30

i f ( i s s e t ($_REQUEST[ ' Oblicz ' ] ) )

31

{

32

return s e l f : : o p e r a c j e n a z b i o r a c h ;

33

}

34

i f ( i s s e t ($_REQUEST[ ' Pokaz_Wynik ' ] ) )

35

{

36

return s e l f : : pokazwynik ;

37

}

38

return s e l f : : pokazgui ;

39

}

40

41

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

42

{

43

$pobierzAkcje = $th is >getAction ( ) ; // 1

44

$obiektKlasyGui = new Gui ( ) ; // 2

45

i f ( $pobierzAkcje == s e l f : : o p e r a c j e n a z b i o r a c h ) //

3

46

{

47

$obiektKlasyGui>onClickOblicz ( ) ; // 3.1

48

}

49

else i f ( $pobierzAkcje == s e l f : : pokazwynik ) // 4

50

{

51

$obiektKlasyGui>onClickPokazWynik ( ) ; // 4.1

52

}

53

else i f ( $pobierzAkcje == s e l f : : danezpliku ) // 5

54

{

55

$obiektKlasyGui>onClickWczytaj ( ) ; // 5.1

56

}

57

58

$obiektKlasyGui>show ( ) ; // 6

59

60

61

}

62 }

63 ?>

3

background image

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 >wczytajDane ( $nazwaPliku ) ; // 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 >o b l i c z ( $zbiory ) ;

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 ( )

41

{

42

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

43

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

44

$ r e p l a c e = array ( $ th is >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 ?>

4

background image

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
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