Professional Documents
Culture Documents
Chuyen de Ve DX 89202021
Chuyen de Ve DX 89202021
=========================================================
PhÇn 1: Më ®Çu.
I) Lý do chän chuyªn ®Ò
ViÖc ®a tin häc vµo trêng phæ th«ng ®îc bé GD§T, c¸c Së GD§T hÕt
søc quan t©m . Lµ mét gi¸o viªn tham gia gi¶ng d¹y bé m«n tin häc trong
nhµ trêng ®Æc biÖt lµ gióp c¸c em bíc ®Çu lµm quen víi ng«n ng÷ lËp
tr×nh PASCAL. Qua thêi gian gi¶ng d¹y vµ t×m tßi , ch¾t läc nghiªn cøu
t«i xin tr×nh bµy mét chuyªn ®Ò nhá “Gi¶i mét sè bµi to¸n vÒ sè ®èi
xøng” §Ó häc sinh bíc ®Çu lµm quen vèi ng«n ng÷ lËp tr×nh PASCAL
======================================================= Ch 1
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
1.2 Mét sè bµi to¸n ®èi xøng:
Bµi to¸n 1 : NhËp vµo sè tù nhiªn n kiÓm tra xem n cã ph¶i lµ sè ®èi xøng
kh«ng
Bµi to¸n 2 :§äc ra tÊt c¶ c¸c sè ®èi xøng thËp ph©n cã m (m<6)ch÷ sè ?
Bµi to¸n 3 : T×m sè ®èi xøng tõ mét m¶ng sè nguyªn nhËp vµo tõ bµn phÝm
Bµi to¸n 4 : Sè n ®îc gäi lµ sè ®èi xøng nhi ph©n nÕu biÓu diÔn nhÞ ph©n cña
n lµ mét biÓu thøc ®èi xøng.ViÕt ch¬ng tr×nh kiÓm tra tÝnh ®èi xøng nhÞ
ph©n cña sè tù nhiªn n cho tríc.
Bµi to¸n 5:§äc ra tÊt c¶ c¸c sè võa ®èi xøng thËp ph©n võa ®èi xøng nhÞ ph©n
nhá h¬n 1000.
Bµi to¸n 6: KiÓm tra chuçi S cã ph¶i lµ chuçi ®èi xøng hay kh«ng?
Bµi to¸n 7: ChÌn vµo chuçi S Ýt ký tù nhÊt ®Ó trë thµnh chuçi ®èi xøng.
Bµi to¸n 8: Xãa ®i Ýt ký tù nhÊt ®Ó S trë thµnh chuçi ®èi xøng.
Bµi to¸n 9: §äc ra sè ®èi xøng nhá nhÊt lín h¬n n (n <=100 ch÷ sè)
VD: n=999 th× ®ä ra 1001.
Function KTDX(k:Longint):Boolean;
Var
Begin
Str(k,st); {§æi k sang chuçi st}
KTDX:=False;
For w:=1 to length(st) do
If st[w] <> st[length(st)-w+1] then exit;
KTDX:=True;
End;
b, Gäi hµm kiÓm tra tõng ®èi tîng vµ kÕt luËn
======================================================= Ch 2
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
{Bµi 1}
uses crt;
var i,i1,m,n,d,j:longint;
dx:boolean;
a,b:array[1..100] of longint;
begin
write('nhap so n=');readln(n);
m:=1;
d:=0;
repeat
i1:=0;
i:=m;
repeat
inc(i1);
a[i1]:=i mod 10;
i:=i div 10;
until i=0;
j:=1;
dx:=true;
if i1>1 then
while (j<=i1 div 2) and(dx) do
begin
dx:=(a[j]=a[i1-j+1]);
inc(j);
end;
if dx then begin
inc(d);
write(m,' ');
end;
inc(m);
until m>n;
write('co',d);
readln
end.
............................................... uses crt;
var i,n,d,m,m1,k:longint;
a,b:array[1..100] of longint;
begin
======================================================= Ch 3
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
write('nhap so n=');readln(n);
i:=1;
k:=0;
repeat
b[i]:=n mod 10;
n:=n div 10;
inc(k);
inc(i);
until n=0;
i:=1;
d:=0;
m1:=k;
m:=m1;
while i<=m div 2 do
begin
if b[i]=b[k] then inc(d)
else begin
writeln('so tren khong phai la so doi xung');
readln;
halt;
end;
inc(i);
dec(k);
m:=m1;
end;
if d=trunc(m div 2) then writeln('so tren la so doi xung');
readln;
end.
+ Cã thÓ viÕt hµm ®Ó tiÖn sö dông khi trong mét ch¬ng tr×nh cÇn
ph¶i kiÓm tra nhiÒu lÇn.
uses crt;
var n :longint;
Function dx(n:longint):boolean;
var i,j:integer;
a :array[1..20] of integer;
kt:boolean;
begin
======================================================= Ch 4
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
i:=0;
repeat
inc(i);
a[i] :=n mod 10;
n:=n div 10;
until n=0;
j:=1;
kt:=true;
if i>1 then while(j<=i div 2) and kt do
begin kt:=(a[j]=a[i-j+1]);inc(j) ; end;
DX:=kt;
end;
BEGIN
clrscr;
writeln('Vao N=');readln(n);
if dx(n) then writeln('N la so doi xung ')else
write('N khong phai la so doi xung');
readln
END.
...........................
Bµi to¸n 2 :§äc ra tÊt c¶ c¸c sè ®èi xøng thËp ph©n cã m (m<6)ch÷
sè ?
uses crt;
var n,m,i,d:longint;
dx:boolean;
T,A:array [1..1000] of longint;
S:String;
function mu(a,n:longint):longint;
begin
if a=0 then mu:=1 else mu:=mu(a-1,n)*n;
end;
BEGIN
clrscr;
write('Nhap vao so chu so m=');readln(m);
for n:=mu(m-1,10) to mu(m,10)-1 do
begin
dx:=true;
str(n,S);
======================================================= Ch 5
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
if length(S)>1 then begin
i:=1;
while dx and (i<=length(S) div 2) do begin
dx:=(s[i]=s[length(s)-i+1]);
inc(i);
end;
if dx then begin
inc(d);
if d=1 then writeln('Cac so doi xung la');
write(n,' ');
end;
end;
end;
writeln;
writeln('Co ',d,' so.');
readln;
END.
..............................
Bµi to¸n 3 : T×m sè ®èi xøng tõ mét m¶ng sè nguyªn nhËp vµo tõ bµn phÝm
uses crt;
var i,n,d,j,i1,m:longint;
a,b,c:array[1..100] of longint;
dx:boolean;
begin
write('nhap so n=');readln(n);
d:=0;
for i:=1 to n do
begin
write('b[',i,']=');readln(b[i]);
end;
for i:=1 to n do
begin
i1:=0;
m:=b[i];
repeat
inc(i1);
a[i1]:=b[i] mod 10;
b[i]:=b[i] div 10;
======================================================= Ch 6
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
until b[i]=0;
j:=1;
dx:=true;
if i1>1 then
while (j<=trunc(i1 div 2)) and(dx) do
begin
dx:=a[j]=a[i1-j+1];
inc(j);
end;
if dx then begin
inc(d);
c[d]:=m;
end;
end;
if d=0 then writeln('Trong mang khong co so doi xung nao');
if d>0 then
for i:=1 to d do
begin
if i=1 then write('Cac phan tu cua mang la doi xung la:',c[i],' ');
if i>1 then write(c[i],' ');
end;
readln
end.
.........................................................................................................
Bµi to¸n 4 : Sè n ®îc gäi lµ sè ®èi xøng nhi ph©n nÕu biÓu diÔn
nhÞ ph©n cña n lµ mét biÓu thøc ®èi xøng.ViÕt ch¬ng tr×nh kiÓm
tra tÝnh ®èi xøng nhÞ ph©n cña sè tù nhiªn n cho tríc.
uses crt;
Var n: word;
i, j: integer;
dx: Boolean;
A: array[1..16] of 0..1;
Begin
Write(' Nhap so tu nhien n: '); Readln(n);
i:=0;
While n>0 do
Begin
======================================================= Ch 7
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
inc(i);
A[i]:= n mod 2;
n:= n div 2;
End;
j:=1;
dx:= True;
If i>=2 then
While (j<=(i div 2)) do
Begin
If A[j] <>A[i-j+1] then dx:= False;
inc(j);
End;
If dx then Writeln(' So n la so doi xung nhi phan ')
Else Writeln(' So n khong la so doi xung nhi phan');
Readln;
End.
Bµi to¸n 5:§äc ra tÊt c¶ c¸c sè võa ®èi xøng thËp ph©n võa ®èi
xøng nhÞ ph©n nhá h¬n 1000.
Uses crt;
Var N,N1,c,i,j: integer;
A: array[1..16] of 0..9;
Stop,dx: boolean;
Begin
Clrscr;
Writeln('Cac so thoa man la:');
For N:=0 to 999 do
Begin
Stop:=false;
c:=10;
While not stop do
Begin
i:=0;
N1:=N;
While N1<>0 do
Begin
inc(i);
A[i]:=N1 mod c;
======================================================= Ch 8
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
N1:=N1 div c;
End;
dx:=true;
j:=1;
If i>1 then
While dx and (j<=(i div 2)) do
Begin
dx:=(A[j]=A[i-j+1]);
inc(j);
End;
Stop:=(not dx)or(dx and(c=2));
If dx then
If c<>2 then c:=2 Else Writeln(N);
End;
End;
Readln;
End.
======================================================= Ch 9
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
st1:=copy(st,i,j-i+1);
if dx(st1) then
begin
d:=length(st1);
if (d>max) and dx(st1) then max:=d;
end
else
dec(j);
until dx(st1);
inc(i);
until i>=n;
writeln(max);
for i:=1 to n do
if (dx(copy(st,i,max))) and (max =copy(st,i,max)) then
write(copy(st,i,max),' ');
readln;
end.
{-------------------------------------------}
======================================================= Ch 10
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
if st1[i]<>st1[j] then
begin
insert(st1[i],st1,j+1);
inc(d);
end
else
dec(j);
inc(i);
until (i>j) or (dx(st1));
write(d);
writeln;
write(st1,' ');
readln;
end.
======================================================= Ch 11
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
if (d=0)or(d1=0)or(d2=0) then
write(g,'no')
else
begin
writeln(g,'YES');
if d=length(s) then
writeln(g,'1')
else
if d1=length(s) then
write(g,'2')
else
if d2=length(s) then
write(g,'3')
else
if (d=length(s))and(d1=length(s))and(d2=length(s)) then
write(g,'0');
end;
close(f);
close(g);
End.
PhÇn 3: KÕt luËn
Chuyªn ®Ò: “Gi¶i mét bµi To¸n vÒ sè ®èi xøng” gióp häc sinh chñ
®éng lÜnh héi kiÕn thøc h¬n, phï hîp víi viÖc ®æi míi ph¬ng ph¸p d¹y
häc hiÖn nay, ph¸t huy vai trß tÝch cùc häc tËp cña häc sinh. Kh¾c s©u
nh÷ng kiÕn thøc häc sinh tù t×m tßi, kh¸m ph¸ ®Ó chÊt lîng cña viÖc häc
bé m«n tin häc.
Qua thùc tÕ gi¶ng d¹y, chóng t«i thÊy r»ng: ViÖc t×m tßi thuËt gi¶i
mét bµi To¸n Tin lµ yªu cÇu rÊt quan träng ®èi víi bé m«n Tin häc , ®· cã
thuËt gi¶i råi th× viÖc t×m thªm lêi gi¶i míi cho bµi To¸n gióp cho gi¸o
viªn vµ häc sinh cã sù vËn dông linh ho¹t h¬n víi c¸c kiÓu vµ d¹ng bµi tËp,
lµm cho häc sinh høng thó, tÝch cùc häc tËp h¬n.
Nhng, ®ßi hái ngêi gi¸o viªn còng nh häc sinh häcm«n tin häc ph¶i
cã kiÕn thøc c¬ b¶n, v÷ng ch¾c vµ ph¶i biÕt lu«n t×m tßi vµ s¸ng t¹o
trong häc tËp
======================================================= Ch 12
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.
Trêng THCS §¹i Tù – N¨m häc 2004 – 2005.
=========================================================
Trªn ®©y lµ mét sè bµi tËp mµ t«i ®· su tÇm biªn so¹n, mong muèn
®ãng gãp mét d¹ng bµi tËp nhá gióp cho häc sinh cã thªm mét t liÖu ®Ó
häc tËp . Chuyªn ®Ò nµy cßn h¹n chÕ vÒ thêi gian vµ cha giíi thiÖu ®îc
nhiÒu c¸ch gi¶i cho c¸c bµi to¸n hay, cha ®a ra ®îc c¸c bµi tËp cã c¸ch suy
nghÜ vµ lêi gi¶i t¬ng tù vµ kh«ng tr¸nh khái nh÷ng thiÕu sãt. T«i ®îc rÊt
mong ®îc sù gãp ý vµ bæ sung cña ®ång nghiÖp.
HÕt
======================================================= Ch 13
Chuyªn ®Ò: Gi¶i mét sè bµi to¸n vÒ sè ®èi xøng.