Korzystanie z plików i rekordów w programach
Kolejnymi strukturami danych są pliki. Plik jest ciągiem elementów tego samego typu (np. znaków, liczb), przy czym liczba jego składowych może się zmieniać. Jest on logicznym odpowiednikiem fizycznego pliku danych, znajdującego się poza programem. W danej chwili może być dostępna tylko jedna składowa pliku.
Pliki stużą do komunikacji użytkownika z komputerem - zapisujemy w nich nie tylko programy, ale także dane do programów i wyniki wykonywanych obliczeń.
W języku Pascal plikiem nazywamy zarówno strukturę danych, jak i zmienną plikową. Pliki przetwarzamy według następującego schematu.
1. Deklarujemy zmienną plikową, zwaną plikiem.
2. Kojarzymy plik z plikiem fizycznym, np. znajdującym się na dysku.
3. Otwieramy plik, np. do odczytu lub do zapisu.
4. Wykonujemy operacje na elementach pliku.
5. Zamykamy plik.
6. Jeśli był to roboczy plik programu, to usuwamy plik fizyczny.
Operacje te wykonuje się na plikach, korzystając ze standardowych procedur i funkcji, dla których przyjmujemy, że p oznacza plik, czyli zmienną plikową.
• Procedura Assign(p,'nazwaPlikuFizycznego') kojarzy plik p z plikiem fizycznym, np. Assign(p,'A:\Dane.txt'). Zmiennej plikowej nie można przypisać pliku instrukcją przypisania.
• Procedura Reset(p) otwiera istniejący plik p do odczytu od początku; instrukcję tę można wykonywać po wywołaniu procedury Assign.
• Procedura Rewrite (p) tworzy i otwiera plik p do zapisu; instrukcję tę można wykonywać po wywołaniu procedury Assign.
• Procedura Close(p) zamyka plik p.
• Procedura Erase(p) usuwa plik fizyczny skojarzony z plikiem p; plik p nie może być otwarty. Jeśli w programie tworzy się pliki robocze, to należy je usuwać.
• Funkcja Eof (p) ma wartość True, jeśli został osiągnięty (np. podczas czytania) koniec pliku p, a False - w przeciwnym razie.
Elementy pliku mogą być czytane z pliku (np. przez procedurę Read) lub zapisywane do pliku (np. przez procedurę Write).
Poznamy dwa rodzaje plików: tekstowe i jednorodne.
Pliki tekstowe
Plik tekstowy składa się ze znaków połączonych w wiersze. Każdy wiersz jest zakończony symbolem końca wiersza (złożonym z dwóch znaków #13=CR i #10=LF), a po ostatnim wierszu jest znak #26=AZ (CTRL+Z), oznaczający