Подручја рада
Претрага
102. Упис и читање из датотеке.

Уводни део часа :
1. Који су основни типови података у PASCAL  - у ?
2. Које су одлике основних типова података ?
-------------------------------------------------------------------------------------------------------------------
Главни део часа :


За упис података у датотеку користи се процедура write :
                              write(, );
Овом процедуром у датотеку се уписује вредност променљиве. На пример, наредбом write(ulaz, x); врши се упис променљиве x у датотеку ulaz. Подаци који се уписују могу бити резултати израчунавања или подаци из неке друге датотеке.

image101.gif

После отварања датотеке потребно је да податке из датотеке прочитамо ради даље обраде. Процедура којом се то реализује је :

read(,);

Процедура read има два параметра : име датотеке из које се чита податак и име променљиве којој се прочитани податак додељује. Тип података у датотеци мора бити исти као и тип променљиве којој се додељују. Када отварамо већ постојећу датотеку читање података почиње од податка који је први уписан, затим се чита други податак, итд. У следећем примеру из датотеке ulaz чита се један податак и додељује променљивој x.

read(ulaz, x);

У read процедури се може навести и више променљивих :

read(ulaz, x1, x2, x3);

чиме се постиже исти ефекат као да је написано :

read(ulaz, x1);
read(ulaz, x2);
read(ulaz, x3);

односно читају се три податка. Читање датотеке треба прекинути када се стигне до краја датотеке, а често се реализује употребом while наредбе и стандардне функције eof.

Пример : Написати програм којим се читају подаци из датотеке ulaz.dat и исписују на екрану. Датотека садржи реалне бројеве.

program citanje;
type datoteka=file of real;
var ulaz : datoteka;
         x : real;
begin
       assign(ulaz, 'ulaz.dat');
       reset(ulaz);
       while not eof(ulaz) do
       begin
              read(ulaz, x);
              writeln(x:10:2)
       end;
       close(ulaz)
end.

image103.gif


Одговорити на питања :
1. Којом процедуром се врши упис података у датотеку ? Навести пример.
2. Којом процедуром се врши читање података из датотеке ? Навести пример.
3. Које параметре има процедура за читање и какви они морају бити ?
4. Да ли се може у процедури за читање навести више променљивих ? Навести пример.
5. Када треба прекинути читање датотеке и како ?