Добавил:
Источник:
Uman
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:01 семестр / К экзамену-зачёту / Все задачи с экзамена в формате PAS / Alex / NEWMENU
.PAS program menu;
uses crt;
type fort=array[1..3] of string[15]; {‘«Ґ¤ЁвҐ, зв®Ўл зЁб«® array[] а ўп«®бм}
{Є®«ЁзҐбвўг ¬Ґо}
forb=array[1..3,1..10] of string;
var i,x,y,ini,what:integer;
a:forb;
s:fort;
procedure p1; {‘о¤ ¤®Ў ў«п©вҐ Їа®жҐ¤гал, Є®в®алҐ б®®вўҐвбвўгов ЇгЄв ¬}
begin { ¬Ґо}
end;
procedure p2;
begin
end;
procedure newmen(this,o,p:integer; t:string; b:forb; var num:integer);
var q,len:integer;
ch:char;
label cont;
procedure display;
begin
textbackground (green);
gotoxy (o,p+q+1);
writeln (b[this,q]);
end;
begin
gotoxy(o,p);
write (t);
textbackground (green);
gotoxy(o-1,p+1);
write ('ЙННННННННННННННН»');
len:=0;
for q:=1 to 10 do begin
if length(b[this,q])=0 then goto cont
else len:=len+1;
end;
cont: {‚л室Ё¬ Ё§ ЇаҐ¤л¤г饣® жЁЄ« }
window(o-1,p+2,o+15,p+len+2);
clrscr;
for q:=1 to len do write ('є',b[this,q],'є');
window (1,1,80,25);
gotoxy (o-1,p+2+len);
write ('ИНННННННННННННННј');
repeat
gotoxy (o,p+q+1);
textbackground (yellow);
writeln (b[this,q]);
ch:=readkey;
if ch=#0 then ch:=readkey;
case ch of
#77 : num:=99; {‚Їа ў®}
#75 : num:=11; {‚«Ґў®}
#80 : begin {‚Ё§}
display;
if q=len then q:=1
else q:=q+1;
end;
#72 : begin
display;
if q=1 then q:=len
else q:=q-1;
end; {‚ўҐае}
end;
until (ch=#13) or (ch=#77) or (ch=#75);
if ch=#13 then num:=q;
end;
begin
clrscr;
a[1,1]:='Exit '; {„®«¦® Ўлвм 15 § Є®ў - Їа®ўҐамвҐ}
a[1,2]:='Bad ';
a[1,3]:='Alex ';
a[1,4]:='Hello ';
a[1,5]:='Let''s talk ';
s[1]:='News';
a[2,1]:='Welcome ';
a[2,2]:='Windows ';
s[2]:='Menu2';
a[3,1]:='Tetris ';
a[3,2]:='Arcanoid ';
a[3,3]:='Quake ';
s[3]:='Games';
ini:=1;
repeat
window(1,1,80,25);
textbackground(black);
clrscr;
for i:=1 to 3 do begin
gotoxy((i-1)*15+2,1); {+2 ®Ўп§ ⥫м®}
write (s[i]);
end;
newmen (ini,(ini-1)*15+2,1,s[ini],a,what); {ini - ®§ з Ґв ®¬Ґа ў s Ё¬ҐЁ ¬Ґо}
case what of
11: if ini=1 then ini:=3 else ini:=ini-1; {‚«Ґў®}
99: if ini=3 then ini:=1 else ini:=ini+1; {‚Їа ў®}
1 : p1; {„ «ҐҐ Є ¦¤®¬г ®¬Ґаг ᮮ⢥вбвўгҐв бў®п Їа®жҐ¤га }
2 : p2; {„®Ў ў«п©вҐ Ёе Ї® ¬ҐаҐ Ґ®Ўе®¤Ё¬®бвЁ}
3 : begin
write ('— ©д');
delay(1000);
end;
end;
until (ini=100) and (what=1); {ЏаЁ¤г¬ вм зв® - ЁЎг¤м Ї®«гзиҐ}
readln;
end.
uses crt;
type fort=array[1..3] of string[15]; {‘«Ґ¤ЁвҐ, зв®Ўл зЁб«® array[] а ўп«®бм}
{Є®«ЁзҐбвўг ¬Ґо}
forb=array[1..3,1..10] of string;
var i,x,y,ini,what:integer;
a:forb;
s:fort;
procedure p1; {‘о¤ ¤®Ў ў«п©вҐ Їа®жҐ¤гал, Є®в®алҐ б®®вўҐвбвўгов ЇгЄв ¬}
begin { ¬Ґо}
end;
procedure p2;
begin
end;
procedure newmen(this,o,p:integer; t:string; b:forb; var num:integer);
var q,len:integer;
ch:char;
label cont;
procedure display;
begin
textbackground (green);
gotoxy (o,p+q+1);
writeln (b[this,q]);
end;
begin
gotoxy(o,p);
write (t);
textbackground (green);
gotoxy(o-1,p+1);
write ('ЙННННННННННННННН»');
len:=0;
for q:=1 to 10 do begin
if length(b[this,q])=0 then goto cont
else len:=len+1;
end;
cont: {‚л室Ё¬ Ё§ ЇаҐ¤л¤г饣® жЁЄ« }
window(o-1,p+2,o+15,p+len+2);
clrscr;
for q:=1 to len do write ('є',b[this,q],'є');
window (1,1,80,25);
gotoxy (o-1,p+2+len);
write ('ИНННННННННННННННј');
repeat
gotoxy (o,p+q+1);
textbackground (yellow);
writeln (b[this,q]);
ch:=readkey;
if ch=#0 then ch:=readkey;
case ch of
#77 : num:=99; {‚Їа ў®}
#75 : num:=11; {‚«Ґў®}
#80 : begin {‚Ё§}
display;
if q=len then q:=1
else q:=q+1;
end;
#72 : begin
display;
if q=1 then q:=len
else q:=q-1;
end; {‚ўҐае}
end;
until (ch=#13) or (ch=#77) or (ch=#75);
if ch=#13 then num:=q;
end;
begin
clrscr;
a[1,1]:='Exit '; {„®«¦® Ўлвм 15 § Є®ў - Їа®ўҐамвҐ}
a[1,2]:='Bad ';
a[1,3]:='Alex ';
a[1,4]:='Hello ';
a[1,5]:='Let''s talk ';
s[1]:='News';
a[2,1]:='Welcome ';
a[2,2]:='Windows ';
s[2]:='Menu2';
a[3,1]:='Tetris ';
a[3,2]:='Arcanoid ';
a[3,3]:='Quake ';
s[3]:='Games';
ini:=1;
repeat
window(1,1,80,25);
textbackground(black);
clrscr;
for i:=1 to 3 do begin
gotoxy((i-1)*15+2,1); {+2 ®Ўп§ ⥫м®}
write (s[i]);
end;
newmen (ini,(ini-1)*15+2,1,s[ini],a,what); {ini - ®§ з Ґв ®¬Ґа ў s Ё¬ҐЁ ¬Ґо}
case what of
11: if ini=1 then ini:=3 else ini:=ini-1; {‚«Ґў®}
99: if ini=3 then ini:=1 else ini:=ini+1; {‚Їа ў®}
1 : p1; {„ «ҐҐ Є ¦¤®¬г ®¬Ґаг ᮮ⢥вбвўгҐв бў®п Їа®жҐ¤га }
2 : p2; {„®Ў ў«п©вҐ Ёе Ї® ¬ҐаҐ Ґ®Ўе®¤Ё¬®бвЁ}
3 : begin
write ('— ©д');
delay(1000);
end;
end;
until (ini=100) and (what=1); {ЏаЁ¤г¬ вм зв® - ЁЎг¤м Ї®«гзиҐ}
readln;
end.
Соседние файлы в папке Alex