Wstęp do programowania/Pliki/Ćwiczenia: Różnice pomiędzy wersjami
→Zadanie 3 (Usuwanie komentarzy): DOdałem dodatkowy wybór '(' dla c='(' |
→Zadanie 1: character:=char w tekstach pascalowych |
||
Linia 21: | Linia 21: | ||
'''function''' LiczWiersze(f:Text):integer; | '''function''' LiczWiersze(f:Text):integer; | ||
// f otwarty plik tekstowy | // f otwarty plik tekstowy | ||
'''var''' c: | '''var''' c:char; | ||
l:integer; | l:integer; | ||
'''begin''' | '''begin''' | ||
Linia 58: | Linia 58: | ||
'''function''' RownoWierszowe2(s1,s2:string):Boolean; //s1,s2, to ścieżki dostępu do plików f1 i f2 | '''function''' RownoWierszowe2(s1,s2:string):Boolean; //s1,s2, to ścieżki dostępu do plików f1 i f2 | ||
'''var''' f1,f2:Text; | '''var''' f1,f2:Text; | ||
c: | c:char; | ||
'''begin''' | '''begin''' | ||
assign(f1,s1); | assign(f1,s1); |
Wersja z 20:56, 21 sty 2014
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