У меня проблема, "Составить программу, которая по заданному числу возможных изображений (не менее 10) на экране давала бы возможность переключения между различными видами изоюражении."
Просто нет сил уже что-то писать, преподавателю все не нравится

program screenswitcher;
uses crt;
type charplace=record
char:byte;
attr:byte;
end;
type screen=record
data:array[0..1999] of charplace;
x,y:byte;{cursor position [optional]}
end;
const MAXSCREENS=10;
type screens=array[1..MAXSCREENS] of screen;
function LoadScreen(var scr:screens;n:byte):boolean;
var i:integer;
begin {screen resolution in textmode is (80 cols x 25rows)=2000 characters}
for i:=0 to 1999 do{in array [0..1999]}
begin
mem[$B800:($0000+2*i)]:=scr[n].data[i].char;
mem[$B800:($0001+2*i+1)]:=scr[n].data[i].attr;
end;
LoadScreen:=true;
end;
function SaveScreen(var scr:screens;n:byte):boolean;
var i:integer;
begin
for i:=0 to 1999 do
begin
scr[n].data[i].char:=mem[$B800:($0000+2*i)];
scr[n].data[i].attr:=mem[$B800:($0001+2*i+1)];
end;
end;
{switching from screen p to screen n}
function SwitchScreen(var scr:screens;ch:char;p,n:byte):boolean;
var i:integer;
begin
SaveScreen(scr,p);
LoadScreen(scr,n);
Repeat
ch:=readkey;
if ord(ch)=80 then
begin
p:=(p+1) mod MAXSCREENS;
LoadScreen(scr,p);
end;
if ord(ch)=72 then
begin
p:=(p-1+MAXSCREENS) mod MAXSCREENS;
LoadScreen(scr,p);
end;
Until (ord(ch)=27);
end;
function ClearScreens(var s:Screens):boolean;
var i,j:integer;
begin
for i:=1 to MAXSCREENS do
for j:=0 to 1999 do
begin
s[i].data[j].char:=$20;
s[i].data[j].attr:=84;
end;
ClearScreens:=true;
end;
var CurrentScreen:integer;
s:screens;
i:integer;
BEGIN
clrscr;
ClearScreens(s);
{for i:=1 to MAXSCREENS do }
begin
writeln('This is screen number ',i);
SwitchScreen(s,i,);
end;
currentscreen:=0;
{mem[$B800:0000]:=ord('A');}
writeln('attr is:',mem[$B800:0000]);
readln;
end.