Professional Documents
Culture Documents
Tai Lieu Boi Duong HSG Tin Hoc 9 Chua Hoan Chinh
Tai Lieu Boi Duong HSG Tin Hoc 9 Chua Hoan Chinh
Tài liệu
BỒI DƯỠNG HỌC SINH GIỎI
Phần 1 : LÝ THUYẾT
Chương I : MỘT SỐ VẤN ĐỀ TOÁN HỌC
I. HỆ ĐẾM :
1. Hệ đếm thập phân (Decimal): Gồm 10 chữ số biểu diễn (0,1,2,3,4,5, 6,7,8,9)
Dạng tổng quát : a1a2…an = a1.10n-1+ a2.10n-2+… +an.100
VD : 35710 = 3.102+5.101+7.100
(Lưu ý : Thường khi viết số ở hệ đếm thập phân người ta không ghi cơ số)
2. Hệ đếm nhị phân (Binary) : Gồm 2 chữ số biểu diễn (0,1)
a) Dạng tổng quát : a1a2…an = a1.2n-1 + a2.2n-2 + … + an.20
VD : 10102 = 1.23 + 0.22 + 1.21 + 0.20 = 10
(Lưu ý : Đây chính là cách quy đổi từ hệ nhị phân sang hệ thập phân)
b) Cách quy đổi từ thập phân sang nhị phân :
- Bước 1 : Chia liên tiếp số cần đổi cho 2 đến khi thương bằng 0.
- Bước 2 : Viết ngược lại số dư, ta được số mới trong hệ nhị phân.
VD : Đổi số 6 từ hệ thập phân sang hệ nhị phân, ta làm như sau :
6 2
0 3 2 Ngừng chia
1 1 2
1 0
Kết quả : 6 = 1102
3. Hệ đếm thập lục phân (Hexa) :
Gồm 16 chữ số biểu diễn (0,1,2,3,4,5, 6,7,8,9,A,B,C,D,E,F)
a) Dạng tổng quát :a1a2…an = a1.16n-1 + a2.16n-2 + … + an.160
VD : 37Dh = 3.162 + 7.161 + 13.160 = 893
(Lưu ý : Đây chính là cách quy đổi từ hệ Hexa sang hệ thập phân)
b) Cách quy đổi từ TP sang Hexa :
- Bước 1 : Chia liên tiếp số cần đổi cho 16 đến khi thương bằng 0.
- Bước 2 : Viết ngược lại số dư, ta được số mới trong hệ Hexa.
(Lưu ý : Nếu số dư lớn hơn 9 ta quy đổi thành A, B, C, D, E, F)
3. Tổ hợp :
- Cho tập hợp A gồm n phần tử. Mỗi cách sắp k phần tử của tập hợp A (1 kn)
(không quan tâm thứ tự) gọi là một tổ hợp chập k của n phần tử của tập A.
- Số các tổ hợp chập k của một tập hợp có n phần tử ( ) là:
Function UCLN (a,b : Integer) : Integer; {Tim UCLN bang chia lay phan du}
Var r : Integer;
Begin
While b<>0 do
Begin
r:=a mod b;
a:=b;
b:=r;
End;
UCLN:=a;
End;
Lưu ý : Tính BCNN(a,b) theo công thức : BCNN(a,b) = a*b div UCLN(a,b))
Function UCLN (a,b : Integer) : Integer; {Thu tuc tim UCLN bang de quy}
Begin
If b=0 then
UCLN:=a
Else
UCLN:=UCLN(b,a mod b);
End;
Giải: Ta xếp n con hậu trên n dòng, theo nguyên lý nhân ta có n n cách sắp.
Để làm điều đó ta dùng thủ tục đệ quy mô tả ở trên để giải. Ta đánh ghi số cột và
dòng của bàn cờ từ 1 đến n, mỗi cách sắp xếp ứng với 1 bộ gồm a 1,a2,.....,an với ai
= j (j=1,2,...,n) có nghĩa là con hậu thứ i đặt vào cột j. Giả sử ta chọn được i-1
con hậu bằng cách duyệt tất cả các khả năng của nó.
Quan trọng nhất là ta tìm điều kiện chấp nhận j, một con hậu đứng ở một ô
trong bàn cờ nó có nhiều nhất bốn hướng đi(đường dọc, đường ngang và hai
đường chéo).
Vậy điều kiện chấp nhận thứ i thoả mãn không nằm trên đường đi của tất
cả i-1 con hậu đã xếp. Bởi vì n con hậu xếp ở hàng nên đường đi ngang của
chúng là không chiến nhau, do đó khi chọn con hậu thư i chỉ cần kiểm tra xem
trên 2 đường chéo và đường dọc của chúng có chiếu vào những con hậu đã xếp
không? Để kiểm tra điều này mỗi đường ta dùng một biến trạng thái.
* Đường dọc kiểm soát bằng biến b[j],(j=1,2,...,n).
* Một đường chéo kiểm soát bằng biến c[i+j],i+j={2,....,2n}.
* Còn đường chéo kia kiểm soát bằng biến d[i-j],i-j={1-n,....,n-1}.
Các biến trạng thái này khởi gán giá trị True trong thủ tục Init. Như vậy
con hậu thứ i được chấp nhận xếp vào cột j nếu nó thoả mãn cả ba biến
b[j],c[i+j],d[i-j] đều có giá trị true. Các biến này gán giá trị False khi xếp xong
con hậu thứ i, và trả lại giá trị true sau khi gọi Result hay Try(i+1). Ta có chương
trình Pascal sau :
Program Xep8hau;
Uses Crt;
Const Max=15;
Var x : Array [1..Max] of Integer;
a : Array [1..Max] of Boolean;
b : Array [1..Max*2] of Boolean;
c : Array [-Max..Max] of Boolean;
Procedure Print;
Var j : Integer;
Begin
Dem:=Dem+1;
Write(dem,')');
For j:= 1 to n do Write(x[j]:3);
Writeln;
End;
Procedure Init;
Var j : Integer;
Begin
Fillchar (a,sizeof(a),False);
Fillchar (b,sizeof(b),False);
Fillchar (c,sizeof(c),False);
End;
Ta có thể dùng mảng 2 chiều để nhớ trạng thái bàn cờ, và cải tiến
chương trình như sau :
Program Xephau;
Uses Crt;
Label Xettiep;
Const Max = 8;
Var Songhiem : Integer;
Banco : Array [1..Max,1..Max] of Boolean;
Daxet : Array [1..Max] of Integer;
n,i,j,h,c : Integer;
Hang, Dangxet : Integer;
{****************************************}
Procedure HienKetqua; {Dung de hien mot ket qua}
Var h,c : Integer;
Begin
Songhiem := Songhiem + 1; writeln('Nghiem thu : ',Songhiem);
For h:=1 to n do
Begin
For i:=1 to n*2 do Write('Ä'); Writeln;
For c:=1 to n do if Banco[c,h] then Write('³x') else Write('³ ');
Writeln('³');
End;
For i:=1 to n*2 do write('Ä');
End;
{****************************************}
Function Deduoc(h,c: Integer) : Boolean; {Kiem tra xem co de duoc con hau o vi
tri h,c ? }
Begin
Deduoc := False;
{Kiem tra xem hang h da co con hau nao chua ?}
for i:= 1 to c do
if banco[h,i] then exit;
{ Kiem tra xem duong cheo tu tren trai xuong duoi phai }
{ xuyen qua vi tri h,c da co con hau nao chua ?}
i:= h-1; j:= c-1;
While (i>0) and (j>0) do
char ToChar(int n)
{
return 'A' + n;
}
int main()
{
char c;
NhapFile("data.inp",n);
cout << "Ma tran ke:" << endl;
for(int i = 0; i < n; i++)
{ cout << ToChar(i) << ":\t";
for(int j = 0; j < n; j++)
cout<<" "<<a[i][j];
cout<<"\n\n";
}
cout<<"nhap thanh pho hien tai cua nguoi giao hang: ";
cin>>c;
if(c<='Z')
k=c-65;
else
k=c-97;
cout<<"\n";
run(n,k);
system("PAUSE");
24.
25.
26.
27.
28.
29.
30.
43.Nhập số thực A đảm bảo 0<A< 2, tìm số n nhỏ nhất thỏa mãn :
46.Tính gần đúng giá trị của Ln(x) , 0 < x 2 , với sai số ss = 0.01, bằng cách bỏ
đi các số hạng có trị tuyệt đối < ss :
47.
48.
49.
50.
Tính giá trị lớn nhất và giá trị nhỏ nhất của diện tích tam giác AMN khi M, N lưu động.
Dữ liệu vào: Được cho trong tập tin CHUNHAT.inp, gồm một dòng ghi hai số nguyên dương lần
lượt là a, b. Hai số cách nhau một khoảng trắng
Dữ liệu ra : Yêu cầu xuất ra tập tin CHUNHAT.out, gồm bốn dòng:
+ Dòng đầu là giá trị lớn nhất của diện tích tam giác AMN (một chữ số thập phân)
+ Dòng thứ hai là một giá trị của x để diện tích tam giác AMN đạt giá trị lớn nhất
+ Dòng thứ ba là giá trị nhỏ nhất của diện tích tam giác AMN (một chữ số thập phân)
+ Dòng thứ tư là một giá trị của x để diện tích tam giác AMN đạt giá trị nhỏ nhất
Ví dụ:
CHUNHAT.inp
10 6
CHUNHAT.out
30.0
0
17.5
5
Yêu cầu kỹ thuật :
+ Có kiểm tra dữ liệu nhập
+ Bài làm của thí sinh lưu trên tập tin Bailam1.pas
56.
57.
58.
59.
60.
MUÏC LUÏC
NỘI DUNG TRANG
Lời mở đầu.......................................................................................................................1
Bài 1 : NHẬP MÔN TIN HỌC......................................................................................2
I. CÔNG NGHỆ THÔNG TIN..............................................................................2
II. SƠ LƯỢC VỀ CẤU TẠO MÁY VI TÍNH........................................................3
III. MỘT SỐ THAO TÁC CƠ BẢN.......................................................................7
Bài đọc thêm : LỊCH SỬ MÁY VI TÍNH...................................................................11
Bài 2 : HỆ ĐIỀU HÀNH WIN DOWS XP..................................................................13
I. PHẦN MỀM TRÊN MÁY TÍNH....................................................................13
II. HỆ ĐIỀU HÀNH WINDOWS XP...................................................................13
III. TẬP TIN – NGĂN HỒ SƠ - LỐI TẮT...........................................................15
IV. CÁC THAO TÁC CHÍNH VỚI NGĂN HỒ SƠ, TẬP TIN, LỐI TẮT..........17
Bài đọc thêm : TRUY CẬP CHƯƠNG TRÌNH TRONG Ổ ĐĨA.............................23
Bài 3 : QUẢN LÝ HỆ THỐNG – ÔN TẬP................................................................24
I. QUẢN LÝ HỆ THỐNG...................................................................................24
II. MỘT SỐ CÁCH THỰC HIỆN LỆNH TRONG WINDOWS.........................27
III. ÔN TẬP VỀ WINDOWS...............................................................................27
Bài đọc thêm: THAY ĐỔI CỬA SỔ-THIẾT LẬP DESKTOP-CONTROL PANEL......30
Bài 4 : TRÌNH VẼ MICOROSOFT PAINT-TRÌNH VIẾT NHẠC ENCORE 4.5............33
I. TRÌNH VẼ MICROSOFT PAINT...................................................................33
II. TRÌNH VIẾT NHẠC ENCORE 4.5...............................................................36
III. CÁCH GÕ DẤU TIẾNG VIỆT TRONG WINDOWS..................................39
Bài đọc thêm : ĐỀ THI TIN HỌC KHÔNG CHUYÊN (TIỂU HỌC)....................42
Bài 5 : GIỚI THIỆU TRÌNH SOẠN THẢO MICROSOFT WORD.......................43
Bài đọc thêm : ĐỀ THI TIN HỌC KHÔNG CHUYÊN (THCS).............................49
Bài 6 : MỘT SỐ PHẦN MỀM TOÁN HỌC - XỬ LÝ ÂM THANH.......................52
I. MỘT SỐ PHẦN MỀM TOÁN HỌC...............................................................52
II. GIỚI THIỆU MỘT SỐ PHẦN MỀM XỬ LÝ ÂM THANH..........................57
Bài đọc thêm : AN TOÀN DỮ LIỆU VÀ CHƯƠNG TRÌNH..................................62
Bài 7 : VIRUS TIN HỌC – ÔN TẬP...........................................................................66
I. GIỚI THIỆU VIRUS TIN HỌC – CÁCH PHÒNG CHỐNG..........................66
II. ÔN TẬP TIN HỌC CƠ BẢN..........................................................................67
Bài đọc thêm : ĐỀ THI TIN HỌC KHÔNG CHUYÊN (THPT).............................71
Bài 8 : KIỂM TRA CUỐI KHÓA...............................................................................74
Phụ lục A : HỆ ĐIỀU HÀNH MS-DOS......................................................................75
Phụ lục B : TRÌNH TIỆN ÍCH NORTON COMMANDER.....................................79
MỤC LỤC.....................................................................................................83