Języki i metody programowania. Ćwiczenie 12.
Pliki tekstowe
Cel ćwiczenia: Programowanie z wykorzystaniem plików tekstowych. Wykonywanie operacji na plikach: dopisywanie i odczytywanie znaków, liczb i rekordów, wyszukiwanie i usuwanie znaków. Wyprowadzanie zawartości plików na ekran.
1. Zadeklarować zmienną plikową f typu text. Skojarzyć zmienną f z plikiem fizycznym o podanej nazwie. Opracować następujące procedury:
a) Wprowadzającą do pliku tekstowego ciąg znaków (Enter – przejście do nowej linii;
Esc – koniec wprowadzania); nagłówek: procedure Wstaw(Var f: text).
b) Wyprowadzającą zawartość pliku na ekran wierszami po 30 znaków w wierszu;
nagłówek: procedure Czytaj(Var f: text).
c) Dopisującą do pliku zawartość łańcucha s wczytanego z klawiatury;
nagłówek: procedure Dopisz(Var f: text; Var s: string).
d) Znajdującą w pliku pierwsze wystąpienie znaku o kodzie x i usuwającą znak z pliku;
nagłówek: procedure Usun(Var f: text; x: char).
Przetestować opracowane procedury w programie głównym.
2. Zdefiniować rekord typu tosoba = record naz: string[20]; id: longint; end oraz zmienną plikową f typu text. Skojarzyć zmienną f z plikiem fizycznym o podanej nazwie.
Opracować procedury:
a) Inicjującą rekord typu tosoba losowymi danymi;
nagłówek: procedure InitR(Var r: tosoba).
b) Wyprowadzającą rekord typu tosoba na ekran;
nagłówek: procedure PiszR(Var r: tosoba).
c) Wpisującą do pliku tekstowego rekord typu tosoba oraz znaki przejścia do nowej linii (writeln); nagłówek: procedure WstawR(Var f: text; Var r: tosoba).
d) Odczytującą z pliku rekord typu tosoba oraz znaki przejścia do nowej linii (readln);
nagłówek: procedure CzytajR(Var f: text; Var r: tosoba).
W programie głównym zapisać do pliku kilka losowych rekordów, a następnie odczytać wprowadzone dane i wyprowadzić na ekran.
3. Zdefiniować zmienną plikową f typu text. Opracować następujące procedury:
a) Wpisującą do pliku tekstowego losowe liczby rzeczywiste należące do przedziału [1.4, 20.5) w formacie x:8:2 (ESC – kończy wprowadzanie); przed każdą liczbą wstawić spację.
b) Odczytującą liczby rzeczywiste z pliku tekstowego (liczby rozdzielone spacją) i wyprowadzającą dane wierszami na ekran w formacie x:8:2.
Przetestować opracowane procedury w programie głównym.
4. Dany jest plik tekstowy zawierający liczby całkowite rozdzielone spacją. Opracować procedurę, która modyfikuje zawartość pliku w taki sposób, że za każdą liczbą nieparzystą wstawia do pliku liczbę dwa razy większą. Na przykład, w przypadku pliku f zawierają- cego liczby: 2, 3, 5, 8, plik zmodyfikowany powinien zawierać liczby: 2, 3, 6, 5, 10, 8.
Zadanie zrealizować czytając dane z jednego pliku i zapisując do drugiego pliku.