100 đề Toán Tin Tin học & Nhà trường


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



tải về 1.1 Mb.
trang17/22
Chuyển đổi dữ liệu26.07.2016
Kích1.1 Mb.
#6336
1   ...   14   15   16   17   18   19   20   21   22

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]

or((a[i,j+1]

or((a[i+1,j+1]

or((a[i+1,j]

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à)

Bài 53/2001 - Lập lịch tháng kỳ ảo

(Dành cho học sinh THCS và PTTH)


(* Tat ca cac lich deu la lich ki ao *)

Program bai 53;

uses crt;

Const out='lichao.out';

Type mang=array[1..6,1..7] of integer;

Var a:mang;

i,j,dem:integer;

s:real;


f:text;

(*--------------------------------------*)

PROCEDURE Viet;

Var i,j:integer;

Begin

inc(dem);



writeln(f,'Kha nang thu ',dem);

for i:=1 to 6 do

begin

for j:=1 to 7 do



if a[i,j]<>0 then write(f,a[i,j]:3)

else write(f,'':3);

writeln(f);

end;


writeln(f);

End;


(*------------------------------------------*)

PROCEDURE Laplich(k,t:integer);

Var i,j,i1:integer;

Begin


for i1:=k to t+k-1 do

begin


j:=i1 mod 7;

i:=i1 div 7;

if j=0 then

begin


j:=7;

dec(i);


end;

a[i+1,j]:=i1-k+1;

end;

viet;


End;

(*-------------------------------------------*)

PROCEDURE Xuli;

Var i,j,k,t:integer;

Begin

for k:=1 to 7 do



for t:=28 to 31 do

begin


fillchar(a,sizeof(a),0);

Laplich(k,t);

end;

End;


(*---------------------------------------------*)

BEGIN


clrscr;

assign(f,out);

rewrite(f);

dem:=0;


Xuli;

close(f);

END.

(Lời giải của bạn: Đỗ Ngọc Sơn)


Bài 54/2001 - Bạn hãy gạch số

(Dành cho học sinh Tiểu học và THCS)

Chúng ta viết ra 10 số nguyên tố đầu tiên:

2 3 5 7 11 13 17 19 23 29

là số có 16 chữ số, có thể chứng minh không khó khăn lắm rằng sau khi gạch đi 8 chữ số thì số nhỏ nhất có thể được là: 11111229; còn số lớn nhất có thể được là: 77192329. Thật vậy:

a. Gạch đi 8 chữ số, để số còn lại là một số có 8 chữ số là nhỏ nhất (giữ nguyên thứ tự ban đầu). Nhìn vào dãy số ở trên ta thấy số 1 là nhỏ nhất, có năm chữ số 1 và sau chữ số 1 thứ năm này lại còn nhiều hơn 3 chữ số khác nữa. Do đó, 5 chữ số đầu của số cần tìm chắc chắn phải là 5 chữ số 1. Lí luận tương tự, để tìm được 3 chữ số còn lại.



tải về 1.1 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   14   15   16   17   18   19   20   21   22




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương