Tin học - Bài 52: Xác định các tứ giác đồng hồ trong ma trận

doc4 trang | Chia sẻ: hong20 | Lượt xem: 703 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Tin học - Bài 52: Xác định các tứ giác đồng hồ trong ma trận, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 52/2001 - Xác định các tứ giác đồng hồ trong ma trận 
(Dành cho học sinh THCS và PTTH)
uses crt;
var s,n,i,k,j,a1,a2,b1,b2:integer;
 chon,mau:byte;
 a:array[1..100,1..100]of integer;
{----------------------------}
procedure nhap;
begin
write('nhap n>=2:');readln(n);
for i:=1 to n do
 for j:=1 to n do
 begin
 write('nhap a[',i,'j]:');
 readln(a[i,j]);
 end;
end;
{----------------------}
procedure tinh;
begin
clrscr;
nhap;
s:=0;
for i:=1 to n-1 do
 for j:=1 to n-1 do
 if ((a[i,j]<a[i,j+1])and(a[i,j+1]<a[i+1,j+1])and(a[i+1,j+1]<a[i+1,j]))
 or((a[i,j+1]<a[i+1,j+1])and(a[i+1,j+1]<a[i+1,j])and(a[i+1,j]<a[i,j])) 
 or((a[i+1,j+1]<a[i+1,j])and(a[i+1,j]<a[i,j])and(a[i,j]<a[i,j+1])) 
 or((a[i+1,j]<a[i,j])and(a[i,j]<a[i,j+1])and(a[i,j+1]<a[i+1,j+1])) 
 then inc(s);
writeln;
writeln;
writeln;
writeln('So luong tu giac dong ho la:',s);
readln;
end;
{-----------------}
procedure max;
var t:integer;
begin
writeln('Nhap n>=2:');readln(n);
i:=1;
a1:=1;a2:=n;
b1:=1;b2:=n;
mau:=0;
t:=0;
while i<=n*n do
 begin
 for k:=a1 to a2 do
 begin
 a[b1,k]:=i;
 gotoxy(5*k,b1);
 inc(mau);
 if mau>15 then mau:=1;
 textcolor(mau);
 write(i);
 delay(70);inc(i);
 end;
 for k:=b1+1 to b2+t do
 begin
 a[k,a2]:=i;
 gotoxy(5*(a2),k);
 inc(mau);
 if mau>15 then
 mau:=1;
 textcolor(mau);
 write(i);
 delay(70);
 inc(i);
 end;
 for k:=b2+t downto b1+1 do
 begin
 a[k,b2]:=i;
 gotoxy(5*(b2-1),k);
 inc(mau);
 if mau>15 then mau:=1;
 textcolor(mau);
 write(i);
 delay(70);
 inc(i);
 end;
 for k:=a2-2 downto a1 do
 begin
 a[b1+1,k]:=i;
 gotoxy(5*k,b1+1);
 inc(mau);
 textcolor(mau);
 write(i);
 delay(70);
 inc(i);
 end;
 dec(a2,2);
 dec(b2,2);
 inc(t,2);
 inc(b1,2);
 end;
if n>2 then s:=3*(n-2) else s:=1;
writeln;writeln;
writeln('Bang dong ho max');writeln;
writeln('Voi ma tran vuong cap ',n,'thi so luong tu giac dong ho lon nhat la:',s);
readln;
End;
{------------------}
procedure min;
begin
clrscr;
writeln('n>=2:');readln(n);
i:=1;
b1:=1;
while i<=n*n do
 begin
 for k:=1 to n do
 begin
 a[b1,k]:=i;
 inc(mau);
 if mau>15 then mau:=1;
 textcolor(mau);
 gotoxy(5*k,b1);
 write(i);
 delay(70);
 inc(i);
 end;
 inc(b1);
 end;
writeln;writeln;writeln('Bang tren s co gia tri=0');
readln;
End;
{------------------------------}
BEGIN
Clrscr;
repeat
 textcolor(white);
 writeln('1:cau a (Tinh so luong S)');
 writeln('2:cau b (Lap bang co S lon nhat)');
 writeln('3:cau c (Lap bang co S nho nhat)');
 writeln('4:thoat');
 writeln('Chon chuc nang:');readln(chon);
 case chon of
 1: begin
 clrscr;
 tinh;
 end;
 2: begin
 clrscr;
 max;
 end;
 3: begin
 clrscr;
 min;
 end;
 end;{of Case}
 clrscr;
until chon=4;
END.
(Lời giải của bạn:Nguyễn Việt Hoà)

File đính kèm:

  • docDe thi Toan Tin hoc trong nha truong Bai 52.doc