Uloha 5

Uloha 5

Poslaťod admin » Str 11. Apr 2012 20:31:50

{okomentuj toto je prva cast ulohy 5, hned pod nou je aj druha varianta}

uses crt;
const n=80;
type pole=array[1..n] of char;
var a:pole;
c:char;
r:byte;
procedure napln;
var i:byte;
begin
for i:=1 to 26 do a[i]:=chr(ord('A')+i-1);
for i:=27 to 80 do a[i]:=' ';
end;
procedure vypis;
var i:byte;
begin
clrscr;
for i:=1 to n do
begin
gotoxy(i,r);
textcolor((i-1) mod 15+1);
write(a[i])
end;
end;
procedure vpravo;
var i:byte;
pom:char;
begin
pom:=a[n];
for i:=n-1 downto 1 do a[i+1]:=a[i];
a[1]:=pom;
vypis
end;
procedure vlavo;
var i:byte;
pom:char;
begin
pom:=a[1];
for i:=1 to n-1 do a[i]:=a[i+1];
a[n]:=pom;
vypis
end;
begin
clrscr;
napln;
r:=13;
vypis;
repeat
c:=readkey;
if c=#0 then
begin
c:=readkey;
case c of
'K':vlavo;
'M':vpravo;
'H':begin
if r>1 then r:=r-1
else r:=25;
vypis
end;
'P':begin
if r<25 then r:=r+1 else r:=1;
vypis
end;
end;
end;
until c=#27;
end.

{druha varianta ulohy 5}

uses crt;
const n=40;
type pole=array[1..n] of char;
var a,aa:pole;
c:char;
r:byte;
procedure napln;
var i:byte;
begin
for i:=26 downto 1 do a[i]:=chr(ord('A')+i-1);
for i:=27 to 40 do a[i]:=' ';
for i:=15 to 40 do aa[i]:=a[41-i];
for i:=1 to 14 do aa[i]:=' ';
end;
procedure vypis;
var i:byte;
begin
r:=13;
for i:=1 to n do
begin
gotoxy(i,r);
textcolor((i-1) mod 15+1);
write(a[i]);
gotoxy(80-i+1,r);
write(aa[40-i+1])
end;
end;
procedure vpravo(var a:pole);
var i:byte;
pom:char;
begin
pom:=a[n];
for i:=n-1 downto 1 do a[i+1]:=a[i];
a[1]:=pom;
end;
procedure vlavo(var a:pole);
var i:byte;
pom:char;
begin
pom:=a[1];
for i:=1 to n-1 do a[i]:=a[i+1];
a[n]:=pom;
end;
begin
clrscr;
napln;
vypis;
repeat
vpravo(a);
vlavo(aa);
vypis;
if (a[40]=aa[1]) and (aa[1]<>' ') then
begin
textcolor(yellow);
gotoxy(40,13);
write('**');
end;
delay(250);
until keypressed
end.
admin
Administrátor
 
Príspevky: 18
Registrovaný: Ned 22. Jan 2012 15:54:39

Späť na KDU5

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

cron