Wykład 4 – 10.05.11r
Lista parametrów formalnych określa sposób w jaki ta lista ma być zasąpiona lista parametrów aktualnych przy wywołaniu funkcji lub procedury.
Parametry przekazywane przez zmienne określonego typu
Operacje wejścia – wyjścia
Wykonywanie przez komputer programów wiąże się m.in. z wprowadzeniem danych do pamięci operacyjnej, przetwarzani ich przez procesor oraz wyprowadznia uzyskacnych wyników obliczeń.
Dane pobierane lub wysyłane do tych urządzeń nazywamy fizycznymi zbiorami danych (zbiory te mogą być przykazywane do różnych mediów)
Do obsługi fizycznych zbiorów danych na dyskach służą pliki.
3 rodzaje plików:
- zdefiniowane
- niezdefiniowane
- tekstowe
zdefiniowany:
Type Identyfikator_pliku = file of opis_typu elementow_pliku
Dostęp do pliku uzyskuje się za pomocą zmiennej plikowej:
TYPE
R = File of real;
Z = File of record
re,im:Real
end;
VAR
F: text;
Zbior: R;
AA: file of integer;
Zbiorek: Z;
ZZ: file;
Przed użyciem pliku zmienna plikowa musi być skojarzona z ficzycznym zbiorem danych. Do tego celu słoży instrukcja assign.
TYPE
R = File of real;
Z = File of record
re,im:Real
end;
VAR
F: text;
Zbior: R;
AA: file of integer;
Zbiorek: Z;
ZZ: file;
Begin
Assign (F, ‘Dane’);
Assign (R, ‘Wyniki.aaa’);
Assign (Zbiorek, ‘A:\Zbiory\ZZZ.pas’);
Tworzenie, otwieranie I zamynakie pliku:
tworzenie:
Rewrite (F); {zmienna plikowa}
Rewrite (FFF,rozmiar); {rozmiar:word – określa porcje danych zapisywanych/odzczytywanych dla plików niezdefiniowanych}
Otwarcie:
Reset (F);
Reset (F,rozmiar);
lub instrucka APPEND (otwiera istenijący plik typu text w pozycji do dopisu za ostatnim elementem pliku):
Append (T);
Zamykanie:
Close(F);
W zależności od rodzaju pliku stosuje się następujące procedury do wprowadzania i wyprowadzania danych z plików: Write (F, lista_argumentow); Read (F, lista_argumentow);
Writeln, Readln (dot. plików tekstowych)
Write (lista_arg)/Writeln – dot. ekranu
Read (lista_arg)/Readln – dot. klawiatury
BlockWrite, BlockRead (dot. plików niezdefiniowanych)
BlockWrite (F, bufor, licznik, rezultat);
BlockRead (F, bufor, licznik, rezultat); {(zmienna plikowa, kopiwany obszar pamięci, liczba kopiowanych blokó, liczba rzeczywiście…)}
Dla plików tekstowych:
Eof (zmienna_plikowa) – rozpoznanie końca pliku (true),
Eoln (zmienna_plikowa) – rozpoznanie końca wiersza (true).
Dla plików zdefiniowanych:
Eof (zmienna_plikowa) – rozpoznanie końca pliku (true),
FileSize (zmienna_plikowa):longint – rozmiar pliku,
FilePos(zmienna_plikowa):longint – podaje aktualną pozycję pliku,
Seek (zmienna_plikowa, pozycja) – ustawienie położenia zbioru na elemencie określonym przez pozycja:longint.