Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych
Plik To złożona uporządkowana struktura danych, która zawiera elementy tego samego typu. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików: pliki tekstowe-zawierają informacje czytelne, składające się z tekstów. pliki elementowe- zwane również zdefiniowanymi, których elementami są najczęściej tablice, rekordy. pliki niezdefiniowane- o nieokreślonej strukturze.
Cechy plików Pliki elementowePliki tekstowe Pliki o dostępie swobodnym, w każdym momencie możliwy jest dostęp do dowolnego elementu Pliki o dostępie sekwencyjnym. Oznacza to, że aby dostać się do określonego elementu należy przeczytać wszystko, co jest przed nim. W zapisie wykorzystują reprezentację maszynową. Oznacza to, że np. liczba całkowita jest zapisana na dwóch bajtach. Zapisują informacje jako ciąg znaków, kodów ASCII. Można w nich stosować np. formatowanie zapisu oraz procedury Readln i Writeln. Możliwy jest zapis i odczyt jedynie wielkości jednego typu składowego. Można zapisywać wielkości dowolnych typów. Możliwe jest tzw. otwarcie do dopisywania. źródło:
Etapy przetwarzania plików opis zmiennej plikowej, kojarzenie pliku z fizycznym zbiorem danych na dysku, otwieranie pliku operacje plikowe – wprowadzanie danych do pliku, – wyprowadzanie elementów z pliku, zamknięcie pliku
Definicja typu plikowego TYPE zmienna_plikowa=FILE OF typ; lub VAR zmienna_plikowa: FILE OF typ; np. TYPE Calkowity: FILE OF Integer; VAR liczby:Calkowity; VAR rzeczywiste: FILE OF Real;
Kojarzenie pliku z fizycznym zbiorem danych na dysku Assign (zmienna_plikowa, zbiór_na_dysku); np. Assign (liczby, A:\dane.dat); Assign (rzeczywiste, C:\dane\rzecz1.dat);
Otwieranie pliku Rewrite (Zmienna_Plikowa); utworzenie i otwarcie nowego pliku do zapisu Reset (Zmienna_Plikowa); otwarcie istniejącego pliku do odczytu, wskaźnik ustawia się na pierwszym elemencie
Wprowadzanie danych do pliku Write ( zmienna_plikowa,zmienna_w_programie); np. Write(liczby,x); Write(notesik, slowo); Write(baza,uczen[i])
Wyprowadzanie elementów z pliku Read (zmienna_plikowa,zmienna_w_programie); np. Read(liczby,x);
Zamknięcie pliku Close (Zmienna_Plikowa); Wykonanie tej procedury powoduje zamknięcie pliku na dysku.
Przykład Napisz program pozwalający: wprowadzić do pliku elementowego 10 liczb całkowitych wyprowadzić dane z pliku elementowego (wyświetlić te liczby na ekranie) Zapisz program na dyskietce pod nazwą calk.pas
PROGRAM plik_el1; CONST n=10; VAR p1: FILE OF Integer; i,liczba:integer; BEGIN assign(p1,'liczby.dat'); rewrite(p1); writeln ('podaj 10 liczb całkowitych:'); {wprowadzanie danych} FOR i:=1 TO n DO BEGIN write ('l',i,'=');readln(liczba); write(p1,liczba); END ;
Przy odczytywaniu danych z pliku możemy wykorzystać funkcję: eof(zmienna_plikowa); która zwraca wartość TRUE, gdy wskaźnik pliku jest w pozycji końcowej. Wskazówka
{wyprowadzenie wyniku} reset(p1); WHILE NOT eof (p1) do BEGIN read(p1,liczba); write(liczba:6) END ; close(p1); readln END.
Zadanie Napisz program pozwalający zapisywać dane do pliku elementowego w postaci ciągu liczb rzeczywistych od –10 do 10 z krokiem 0.5. Wyświetl zawartość pliku. Zapisz program na dyskietce pod nazwą rzecz1.pas.
Opis zmiennej plikowej Skojarzenie pliku z fizycznym zbiorem danych na dysku Utworzenie i otwarcie plikuOtwarcie pliku Zamknięcie pliku Wprowadzanie danych do plikuWyprowadzanie elementów z pliku Etapy przetwarzania plików Operacje na pliku czy plik istnieje? TN