Помогите пожалуйста с Pascal, весь вечер голову ломаю Т.Т

Простите за вымогательство, дорогие пикабушники, Вы моя последняя надежда. Дали мне задачку, да не простую, а с типизированными файлами Паскаля.
Задача:Запись имеет вид: номер читательского билета, автор книги, название, дата заказа. Вывести на экран содержимое файла. Поменять местами первую и последнюю записи в файле. При обмене введите промежуточную переменную типа запись.
Программу то я написала, да беда в том, что не получается у меня поменять эти две строки местами. Первую на последнюю меняет, а вот последнюю на первую никак. Плюсов не прошу, желаю советов и помощи. Код в комментариях оставлю. Спасибо Вам, зарание
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
Program Lab8;
type
wed = record
num:integer;
avtor:string;
nazv:string;
data:string;
end;
var
spisok:wed;
sp:file of wed;
procedure input;
var i:integer;
spisok:array [1..7] of wed;
begin
rewrite(sp);
for i:=1 to 7 do
begin
write('Номер чит.билета  - ');
readln(spisok[i].num);
write('Автор  - ');
readln(spisok[i].avtor);
write('Название книги - ');
readln(spisok[i].nazv);
write('Дата  - ');
readln(spisok[i].data);
write(sp,spisok[i]);
end;
close(sp);
end;
procedure print;
var j:integer;
begin
reset(sp);
writeln('Список');
while not eof(sp) do
begin
read(sp, spisok);
write(spisok.num,' ',spisok.avtor,' ',spisok.nazv,' ',spisok.data);
writeln;
end;
readln;
close(sp);
end;
begin
assign(sp,'Spisok.DAT');
input; print;
work; print;
readln;
end.
раскрыть ветку (1)
Автор поста оценил этот комментарий
пора вводить стиль оформления [code].
ну, это как курсив, жирный, зачеркнутый, только код.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку