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