[PASCAL] operacje na plikach

Zadanie wygląda tak:

Program pierwszy powinien wygladać mniej więcej tak:

program pierwszy;


uses crt;



var

  liczba1,liczba2:byte;

  plik:file of byte;


begin

assign(plik,'z:\dane.ini');


rewrite(plik);

{-----------------------------------}

write('Podaj pierwsza liczbe: ');readln(liczba1);

write(plik,liczba1);

write('Podaj druga liczbe: ');readln(liczba2);

write(plik,liczba2);


{----------------------------------}

close(plik);

readln;

end.

drugi

program drugi;


uses crt;



var

  liczba1,liczba2:byte;

  plik:file of byte;

  plik2:file of real;

  pole,obwod,przekatna:real;



begin

assign(plik,'z:\dane.ini');


reset(plik);

read(plik,liczba1);

read(plik,liczba2);

{-----------------------------------}


pole:=liczba1*liczba2;

obwod:=2*liczba1+2*liczba2;

przekatna:=sqrt(liczba1*liczba1+liczba2*liczba2);


{----------------------------------}

close(plik);

readln;

end.

trzeci

program trzeci;


uses crt;



var

  liczba1,liczba2:byte;

  plik:file of byte;

  plik2:file of real;

  pole,obwod,przekatna:real;


begin

assign(plik2,'z:\dane.out');

reset(plik2);

read(plik2,pole);

writeln('Pole wynosi: ',pole);

read(plik2,obwod);

writeln('Obwod wynosi: ',obwod);

read(plik2,przekatna);

writeln('Dlugosc przekatnej wynosi: ',przekatna);

close(plik);


readln;

end.

z tego co odnotowałem program źle działa ;|

Nie wiem co źle robię

Czytasz z pliku “z:\dane.out”, a gdzie do niego coś zapisujesz?