Wstęp do programowania/Pliki/Ćwiczenia: Różnice pomiędzy wersjami
Linia 206: | Linia 206: | ||
'''': '''begin''' stan:=napis; write(g,c) '''end'''; | '''': '''begin''' stan:=napis; write(g,c) '''end'''; | ||
'''else''' write(g,c); | '''else''' write(g,c); | ||
'''end''' | '''end;''' | ||
naw_otw: | naw_otw: | ||
'''case''' c '''of''' | '''case''' c '''of''' | ||
'*': stan:=kom2; | '*': stan:=kom2; | ||
'''': '''begin''' stan:=napis; write(g,'('''); '''end'''; | '''': '''begin''' stan:=napis; write(g,'('''); '''end'''; | ||
'{': '''begin''' stan:=kom1; write(g,'( | '{': '''begin''' stan:=kom1; write(g,'('); '''end''' | ||
'''else''' '''begin''' stan:=nic; write(g,'(',c); '''end''' | '''else''' '''begin''' stan:=nic; write(g,'(',c); '''end''' | ||
'''end''' | '''end;''' | ||
kom2: | kom2: | ||
'''case''' c '''of''' | '''case''' c '''of''' | ||
'*': stan:=kom2_gw; | '*': stan:=kom2_gw; | ||
'''end''' | '''end;''' | ||
kom2_gw: | kom2_gw: | ||
'''case''' c '''of''' | '''case''' c '''of''' | ||
Linia 223: | Linia 223: | ||
'*': stan:=kom2_gw; | '*': stan:=kom2_gw; | ||
'''else''' stan:=kom2 | '''else''' stan:=kom2 | ||
'''end''' | '''end;''' | ||
kom1: | kom1: | ||
'''case''' c '''of''' | '''case''' c '''of''' | ||
'}': stan:=nic | '}': stan:=nic | ||
'''end''' | '''end;''' | ||
napis: | napis: | ||
'''case''' c '''of''' | '''case''' c '''of''' | ||
Linia 240: | Linia 240: | ||
nic: writeln(g); | nic: writeln(g); | ||
naw_otw: '''begin''' stan:=nic; writeln(g,'('); '''end'''; | naw_otw: '''begin''' stan:=nic; writeln(g,'('); '''end'''; | ||
kom2: // nic | kom1,kom2: // nic | ||
kom2_gw: stan:=kom2; | kom2_gw: stan:=kom2; | ||
napis: writeln(g) | napis: writeln(g) | ||
'''end''' | '''end''' | ||
'''end''' | '''end''' | ||
'''end''' | '''end;''' | ||
close(f); | close(f); | ||
close(g); | close(g); |
Wersja z 22:27, 8 sty 2012
To są zadania na pliki.
Oglądaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__
W poniższych zadaniach zakładamy, że eof(f) implikuje eoln(f).
Zadanie 1
Napisz funkcję sprawdzającą, czy dwa pliki tekstowe o podanych nazwach mają tę samą liczbę wierszy.
Wskazówka 1
Rozwiązanie 1
Wskazówka 2
Rozwiązanie 2
Zadanie 2
Napisz procedurę, która skopiuje plik tekstowy f na g, modyfikując go w następujący sposób: bezpośrednio po każdym słowie należy wstawić koniec wiersza, a nowy wiersz rozpocząć od nowego słowa (spacje i puste wiersze należy pomijać).
Słowem (w tym zadaniu) nazywamy dowolny maksymalny spójny ciąg znaków niezawierający spacji i znaków końca wiersza. Nie zakładamy niczego o długości słów.
Wskazówka 1
Rozwiązanie 1
Rozwiązanie 2
Zadanie 3 (Usuwanie komentarzy)
Napisz procedurę usuwającą komentarze z pliku tekstowego zawierającego program w Pascalu.
Komentarze oznaczone są przez { ... } lub (* ... *). Należy przy tym uważać, by nie usuwać komentarzy znajdujących się wewnątrz napisów (oznaczonych przez ' ... ')
Wskazówka 1
Rozwiązanie 1