Laboratorium Informatyki Ć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 pliku na ekran.
1. Zdefiniować zmienną plikową f typu text. Opracować następujące procedury:
a) wprowadzającą do pliku 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 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]; rok, mies, dzien: word;
id: longint; end oraz zmienną plikową f typu text. 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 rekord typu tosoba, a następnie znak ‘|’;
nagłówek: procedure WstawR(Var f: text; Var r: tosoba);
d) odczytującą z pliku rekord typu tosoba, a następnie znak ‘|’;
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 losowe liczby rzeczywiste należące do przedziału [1.4, 20.5) w formacie x:8:2 (ESC – kończy wprowadzanie); po każdej liczbie wstawić spację;
b) odczytującą liczby rzeczywiste z pliku i wyprowadzającą dane na ekran w formacie x:8:2;
po każdej liczbie wyprowadzić spację.
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.