Đề thi Toán - Tin học trong nhà trường (Bài 39)
Chia sẻ bởi Thân Thị Thanh |
Ngày 18/10/2018 |
59
Chia sẻ tài liệu: Đề thi Toán - Tin học trong nhà trường (Bài 39) thuộc Sinh học 6
Nội dung tài liệu:
Bài 39/2000 - Ô chữ
{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q+,R+,S-,T-,V+,X+}
{$M 16384,0,655360}
uses crt;
const fi = `input.txt`;
fo = `output.txt`;
var A : array[1..5,1..5] of char;
new,blank : record x,y : integer end;
procedure no_no_and_no;
var f : text;
begin
assign(f,fo);
rewrite(f);
write(f,`This puzzle has no final configuration.`);
close(f);
halt;
end;
procedure yes_yes_and_yes;
var f : text;
i,j : byte;
begin
assign(f,fo);
rewrite(f);
for i := 1 to 5 do
begin
for j :=1 to 5 do
write(f,a[i,j]);
writeln(f);
end;
close(f);
end;
procedure swap(px,py : integer);
var coc : char;
begin
new.x := blank.x + px;
new.y := blank.y + py;
if (new.x >5) or (new.y >5) or (new.x <1) or (new.y <1) then
no_no_and_no;
coc := A[new.x,new.y];
A[new.x,new.y] := A[blank.x,blank.y];
A[blank.x,blank.y] :=coc;
blank := new;
end;
procedure chuyen(ch : char);
begin
case ch of
`A` : swap( -1,0);
`B` : swap( 1,0);
`R` : swap( 0, 1);
`L` : swap( 0,-1);
end;
end;
procedure docf;
var f : text;
i,j : byte;
s : string[5];
ch : char;
begin
assign(f,fi);
reset(f);
for i :=1 to 5 do
begin
readln(f,s);
if length(s) = 4 then s := s+ #32;
for j := 1 to 5 do
begin
A[i,j] := s[j];
if A[i,j] = #32 then
begin
blank.x := i;
blank.y := j;
end;
end;
end;
while not seekeof(f) do
begin
read(f,ch);
if ch = `0` then exit;
chuyen(ch);
end;
close(f);
end;
BEGIN
clrscr;
docf;
yes_yes_and_yes;
END.
{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q+,R+,S-,T-,V+,X+}
{$M 16384,0,655360}
uses crt;
const fi = `input.txt`;
fo = `output.txt`;
var A : array[1..5,1..5] of char;
new,blank : record x,y : integer end;
procedure no_no_and_no;
var f : text;
begin
assign(f,fo);
rewrite(f);
write(f,`This puzzle has no final configuration.`);
close(f);
halt;
end;
procedure yes_yes_and_yes;
var f : text;
i,j : byte;
begin
assign(f,fo);
rewrite(f);
for i := 1 to 5 do
begin
for j :=1 to 5 do
write(f,a[i,j]);
writeln(f);
end;
close(f);
end;
procedure swap(px,py : integer);
var coc : char;
begin
new.x := blank.x + px;
new.y := blank.y + py;
if (new.x >5) or (new.y >5) or (new.x <1) or (new.y <1) then
no_no_and_no;
coc := A[new.x,new.y];
A[new.x,new.y] := A[blank.x,blank.y];
A[blank.x,blank.y] :=coc;
blank := new;
end;
procedure chuyen(ch : char);
begin
case ch of
`A` : swap( -1,0);
`B` : swap( 1,0);
`R` : swap( 0, 1);
`L` : swap( 0,-1);
end;
end;
procedure docf;
var f : text;
i,j : byte;
s : string[5];
ch : char;
begin
assign(f,fi);
reset(f);
for i :=1 to 5 do
begin
readln(f,s);
if length(s) = 4 then s := s+ #32;
for j := 1 to 5 do
begin
A[i,j] := s[j];
if A[i,j] = #32 then
begin
blank.x := i;
blank.y := j;
end;
end;
end;
while not seekeof(f) do
begin
read(f,ch);
if ch = `0` then exit;
chuyen(ch);
end;
close(f);
end;
BEGIN
clrscr;
docf;
yes_yes_and_yes;
END.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Thân Thị Thanh
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)