2001 - LẬP LỊCH THÁNG KỲ ẢO (DÀNH CHO HỌC SINH THCS VÀ PTTH)(*...

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;

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

j:=i1 mod 7;

i:=i1 div 7;

if j=0 then

begin

j:=7;

dec(i);

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

viet;

PROCEDURE Xuli;

Var i,j,k,t:integer;

for k:=1 to 7 do

for t:=28 to 31 do

begin

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

Laplich(k,t);

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)