Anna Urba«ska

11.10.2012

127284

J¦zyki, Automaty i Obliczenia

Laboratorium

‚wiczenie 1

2FDI grupa L14

1. Kryteria oceny

kryterium

ocena

1

Brakuje celu ¢wiczenia

2.0

2

Algorytm realizuje cel ¢wiczenia

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

2. Cel ¢wiczenia

Celem ¢wiczenia jest zapozanie si¦ podstawami programowania w j¦zyku PHP

3. Zawarto±¢ pliku z danymi

Plik z danymi przetwarzanymi przez program ma nast¦puj¡c¡ zawarto±¢:

{ A, B, C, D , E}

{1,2,3 }

{x1,x2,x3,x4}

4. Algorytm programu

1. Tworzymy zmienne: zbiory, zbior, i przypisujemy do nich puste tablice.

2. Otwieramy plik "dane.txt",który posiada parametr r, co oznacza ze jest plikiem do odczytu.

3. Dopóki dane s¡ w pliku wykonujemy czynnosci: 3.1. Zmiennej linia nadajemy warto±¢ linii pliku.

3.2. Je±li wczytana linia jest pusta ko«czymy wykonanywanie programu.

3.3. Tworzymy zmienn¡-znaki.

3.4. Do zmiennej znaki przypisujemy: spacje oraz znak przejscia do nastepnej lini.

3.5. Tworzymy zmienn¡ noweZnaki, która przechowywuje pusty znak.

3.6. Podmieniamy znaki znajduj¡ce sie w zmiennej-znaki na noweZnaki.

3.7. Sprawdzamy czy pierwszy i ostatni znak w lini jest ró»ny od { i }

3.8. Je±li warunek nie zostaje speªniony to ko«czymy wykonawanie programu.

3.9. Zast¦pujemy znaki { i } na znak pusty, znak przechowywany w zmiennej noweZnaki.

3.10. Nadajemy warto±¢ lini dla tablicy-zbior.

3.11. Do tablicy zbiory dodajemy tablice zbior.

4. Zamykamy plik.

5. Do pola zdeniowanego jako: wynik, przypisujemy warto±¢ zmiennej-zbiory.

6. Wypisujemy zawarto±¢ pola wynik.

1

5. Kod programu

5.1. Plik index.php

1 <?php

3 require_once "ProgramJAO . php" ; $program=new ProgramJAO ( ) ;

5 $program −>main ( 1 , "abc" ) ; print_r ( $program −>wynik ) ;

7

9

11 ?>

5.2. Plik ProgramJAO.php

1 <?php

/ ∗

3

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

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

5

∗/

7 / ∗∗

∗ D e s c r i p t i o n o f ProgramJAO

9

∗∗ @author rownol1

11

∗/

c l a s s ProgramJAO

13 {

p u b l i c $wynik ;

15

p u b l i c f u n c t i o n main ( $paramert1 , $parametr2 )

{

17

$zbiory=array ( ) ; // punkt 1

$ z b i o r=array ( ) ; // punkt 2

19

$ p l i k = fopen ( "dane . txt " , " r " ) ; while ( ! feof ( $ p l i k ) )

21

{

$ l i n i a = f g e t s ( $plik , 4096) ;

23

i f ( $ l i n i a ===FALSE)

{

25

continue ;

}

27

$znaki = array ( " " , "\ r " , "\n" ) ; $noweZnaki = "" ;

29

$ l i n i a=s t r _ r e p l a c e ( $znaki , $noweZnaki , $ l i n i a ) ; i f ( substr ( $ l i n i a , 0 ,1) !="{" | | substr ( $ l i n i a , − 1) != "}" ) 31

{ break;

33

}

35

$ l i n i a = trim ( $ l i n i a , "{}" ) ; // usuwa z poczatku i konca l i n i $ z b i o r = explode ( " , " , $ l i n i a ) ; 37

$zbiory [ ] = $ z b i o r ;

}

39

fclose ( $ p l i k ) ;

$t hi s −>wynik=$zbiory ;

41

}

2

43 }

45 ?>

6. Odpowiedzi na pytania

1. Jak przetªumaczy¢ na j¦zyk polski nast¦puj¡ce zdanie w j¦zyku angielskim: Put your code here.

Znaczy to, »e powinnismy w tym miejscu wpisa¢ kod.

2. W j¦zyku C, zadeklaruj zmienn¡ o nazwie i typu long.

long i

3. Odpowied¹ na pytanie na wej±ciówk¦ nr 4.

W j¦zyku programowania C continue powoduje przerwanie aktualnego kroku p¦tli i automatyczne przejscie do nast¦pnego kroku, natomiast break powoduje przerwanie p¦tli.

4. Odpowied¹ na pytanie na wej±ciówk¦ nr 5.

FILE *plik;

plik = (FILE*)malloc(1*sizeof*plik);

5. Uzupeªnij tabelk¦ konstrukcjami j¦zyka PHP.

J¦zyk C

J¦zyk PHP

int i = 10;

$i = 10

if(i<=10) { j += i*2; }

if ($i <= 10) { $j += $i*2;}

FILE * plik = fopen("dane.txt", "w"); $plik = fopen("dane.txt", "w"); 3