Дан файл из целых чисел.Обменять местами нулевую и первую компоненты файла, вторую и третью и т.д — Pascal(Паскаль)

type fint=file of integer;
procedure inp(var f:fint); {запись в файл}
var s:integer;
begin
rewrite(f);
writeln('   вводи числа в файл');
while not eof do begin {до нажатия на CTRL+Z}
read(s);
write(f,s) end;
reset(input);
writeln('   закончили запись чисел в файл'); 
close(f); end;
procedure add(var f:fint);{ дозапись чисел в файл}
var a: integer;
begin {$I-}reset(f); {$1+}
if IoResult=0 then begin
writeln('   будем добавлять числа в файл');
seek(f,filesize(f)); {указатель в конец файла}
while not eof do begin {до нажатия на CTRL+Z}
read(a);
write(f,a) end;
reset(input);
close(f);
writeln('  закочили добавлять числа') end 
else writeln('***** ошибка при работе с файлом - add') 
end;
procedure out(var f:fint);{ чтение и печать файла}
var s: integer; 
begin {$1-} reset(f);{$I+} 
if IoResult=0 then begin
writeln('   читаем и печатаем содержимое файла');
while not eof(f) do 
begin
read(f,s);  {чтение из файла}
writeln(s) end ; {вывод на экран}
close(f);
writeln('  закончили печать файла') end 
else writeln('***** ошибка при работе с файлом - out') 
end;
var f:fint; name:string; i:byte; {ОСНОВНАЯ ПРОГРАММА}
begin
write('BBeди имя файла ',name);
readln(name);
assign(f,name);
repeat {начало работы с меню}
w riteln('*******************МЕНЮ************************');
 writeln('l: запись чисел в файл'); 
writeln('2: дозапись чисел в файл');
 writeln('3: чтение и печать содержимого файла'); 
write('   введи пункт меню '); 
readln(i);
Writeln('***********************************************');
Case i of
l;inp(f); {запись чисел в файл}
2:add(f); {дозапись чисел в файл}
3:out(f); {чтение и печать содержимого файла}
else i:=l0    end;
if i=10 then writeln('pa6oTa окончена'); 
until i=l 0;       {конец работы с меню}
 readIn 
end.

Leave a Comment

26 + = 30