Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
5,37 MB
Nội dung
PHÒNG GIÁO DỤC CHÂU ĐỨC TRƯỜNG THCS LÝ THƯỜNG KIỆT Tài liệu BỒI DƯỠNG HỌC SINH GIỎI MÔN TIN HỌC (THCS) Người biên soạn : Huỳnh Bá Sơn Năm 2015 - 2016 Tài liệu bồi dưỡng học sinh giỏi tin học THCS Trang Phần : LÝ THUYẾT Chương I : MỘT SỐ VẤN ĐỀ TOÁN HỌC I HỆ ĐẾM : 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 viết số hệ đếm thập phân người ta không ghi số) Hệ đếm nhị phân (Binary) : Gồm 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 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 : Chia liên tiếp số cần đổi thương - Bước : Viết ngược lại số dư, ta số hệ nhị phân VD : Đổi số từ hệ thập phân sang hệ nhị phân, ta làm sau : Ngừng chia 1 Kết : = 1102 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 cách quy đổi từ hệ Hexa sang hệ thập phân) b) Cách quy đổi từ TP sang Hexa : - Bước : Chia liên tiếp số cần đổi cho 16 đến thương - Bước : Viết ngược lại số dư, ta số hệ Hexa (Lưu ý : Nếu số dư lớn ta quy đổi thành A, B, C, D, E, F) c) Cách quy đổi nhanh từ hệ Hexa sang hệ nhị phân ngược lại : Nhận xét : Số lớn hệ Hexa đổi chữ số hệ nhị phân (1111=F) Do muốn đổi từ hệ Hexa hệ nhị phân, ta đổi số Haxa nhóm số nhị phân (nếu chưa đủ chữ số nhị phân ta phải thêm chữ số vào phía trước) Ngược lại, muốn đổi từ hệ nhị phân sang Hexa, ta nhóm từ phải sang trái, nhóm số quy đổi nhóm sang hệ Hexa Huỳnh Bá Sơn Tài liệu bồi dưỡng học sinh giỏi tin học THCS Trang II TẬP HỢP : Phép hợp (Union) : A ∪B = {x | x ∈ A x ∈ B} Phép giao (Intersection) : A ∩B = {x | x ∈ A x ∈ B} (Lưu ý : Khi A ∩B = φ ta nói A B hai tập phân biệt) Phép trừ (Difference) : A \ B = {x | x ∩∈ A x ∉ B} Phép nhân (Multiplication) : A × B = {(a,b) | a ∈ A b ∈ B} Phép phân hoạch (Partition) : Cho X tập hợp (X ≠ φ) Tập X chia thành tập A i (Ai ≠ φ), họ tập Ai gọi phân hoạch (hay chia lớp) tập X giao đơi rỗng hợp lại tập lớn X Tức : A ∩B = φ, ∀ i ≠ j i Ai = X Hiệu đối xứng (Symmetric difference) : A ∆ B = (A \ B) ∪(B \ A) III SỐ NGUYÊN TỐ : - Khái niệm : Số nguyên tố số tự nhiên lớn 1, có ước - Định lí : Mọi hợp số n có ước ngun tố khơng vuợt q n IV ƯỚC SỐ CHUNG LỚN NHẤT - BỘI SỐ CHUNG NHỎ NHẤT : - Thuật toán Euclid : Để tìm ƯCLN(a,b), ta làm cách trừ liên tiếp số lớn cho số nhỏ tới số (hoặc chia liên tiếp tới số dư 0), giá trị cuối a b ƯCLN(a,b) - Bổ đề : ƯCLN(a,0) = |a|, ∀ a ≠ - UCLN(a,b)·BCNN(a, b)=a·b⇔BCNN(a,b)= a.b a.b ⇔UCLN(a,b)= UCLN(a, b) BCNN(a, b) V PHƯƠNG TRÌNH - BẤT PHƯƠNG TRÌNH : Phương trình bậc : ax + b = (1) Nếu a = (1) ⇔ b = Khi : b ≠ phương trình vơ nghiệm; b = PT có vơ số nghiệm b Nếu a ≠ phương trình có nghiệm x = - a Phương trình bậc hai : ax2 + bx + c = (a ≠ 0) Ta tính ∆ = b2 – 4ac Nếu ∆ < phương trình vơ nghiệm b Nếu ∆ = phương trình có nghiệm x = - 2a Nếu ∆ > phương trình có nghiệm phân biệt : x1= −b + ∆ ;x2 = 2a −b − ∆ 2a Bất phương trình bậc : ax + b > (2) Nếu a = (2) ⇔ b > Khi : b ≤ bất PT vơ nghiệm; b > bất PT có vơ số nghiệm b Nếu a > bất phương trình có nghiệm x > - a b Nếu a < bất phương trình có nghiệm x < - a Huỳnh Bá Sơn Tài liệu bồi dưỡng học sinh giỏi tin học THCS Trang a x + b y = c a ' x + b ' y = c ' Hệ phương trình bậc ẩn số (Giải định thức) : c b a c Dy = = cb' - c'b = ac' - a'c a' c' c' b' Nếu D = : + Nếu Dx ≠ Dy ≠ hệ PT vơ nghiệm; + Nếu Dx = Dy = hệ PT có vơ số nghiệm a b = ab' - a'b a' b' D= Dx = Dy Dx x = y = Nếu D ≠ hệ PT có nghiệm : D D VI SỐ GẦN ĐÚNG – SAI SỐ : - Sai số hiệu số trị số trị số gần - Nếu a số gần số tuyệt đối số gần a - Nếu hay với độ xác d, qui ước viết gọn gọi sai số , ta nói a số gần VII GIẢI TÍCH TỔ HỢP : Hốn vị : - Cho tập hợp A có n phần tử (n >0) Khi xếp n phần tử theo thứ tự, ta hoán vị phần tử tập A - Số hoán vị tập hợp có n phần tử : Pn = 1.2.3… (n-1).n Chỉnh hợp : - Cho tập hợp A gồm n phần tử Mỗi cách k phần tử tập hợp A (1≤ k≤ n) theo thứ tự định gọi chỉnh hợp chập k n phần tử tập A - Số chỉnh hợp chập k tập hợp có n phần tử ( ) là: Tổ hợp : - Cho tập hợp A gồm n phần tử Mỗi cách k phần tử tập hợp A (1≤ k≤ n) (không quan tâm thứ tự) gọi tổ hợp chập k n phần tử tập A - Số tổ hợp chập k tập hợp có n phần tử ( ) là: VIII HÌNH HỌC : Định lí Py-ta-go : ∆ ABC vng A ⇒ BC2 = AB2 + AC2 1 Hệ thức lượng ∆ vuông : b2=ab’(c2=ac’); h2=b’c’; h = b + c Huỳnh Bá Sơn Tài liệu bồi dưỡng học sinh giỏi tin học THCS Trang Chương II : MỘT SỐ VẤN ĐỀ CƠ BẢN TRONG PASCAL I GIẢI THUẬT : Khái niệm : - Giải thuật (cịn gọi thuật tốn) tập hữu hạn thao tác (các cơng việc, phép tốn…) đặt tên chúng thực theo trình tự thích hợp số đối tượng để đạt điều mong muốn Biểu diễn giải thuật : Thông thường, người ta sử dụng cách sau để biểu diễn giải thuật : - Liệt kê : Là hình thức liệt kê bước ngôn ngữ tự nhiên - Lưu đồ : Là hình thức biểu diễn giải thuật dạng sơ đồ - Dùng ngơn ngữ lập trình - Dùng ngơn ngữ mã giả II CÁC PHÉP TỐN CƠ BẢN - LỆNH GÁN : Các phép tính : + ; - ; * ; / (chia cho thương số thực); DIV (chia lấy phần nguyên); MOD (Chia lấy phần dư) Các phép so sánh : > ; < ; = ; ; >= ; = 97 then st[i] := chr(ord(st)-32); {Duyệt chuỗi st để đổi chuỗi st thành chuỗi gồm toàn chữ in hoa} LENGTH (S,P,N) : xóa chuỗi S N ký tự kể từ vị trí P POS (S1,S) : Tìm kiếm chuỗi S1 chuỗi S (Hàm cho giá trị vị trí đầu tiên) Huỳnh Bá Sơn Tài liệu bồi dưỡng học sinh giỏi tin học THCS Trang Chương III : CHƯƠNG TRÌNH CON : THỦ TỤC VÀ HÀM I THỦ TỤC (PROCEDURE) VÀ HÀM (FUNCTION) : Xét ví dụ sau : Chương trình tính tổ hợp chập k n phần tử Program Tinh_To_Hop_Chap_K_Cua_N_Phan_Tu; Uses Crt; Var n,k: Byte; Tohop : Real; Procedure Nhap; {Thu tuc nhap du lieu} Begin Clrscr; Write ('Nhap n : '); Readln (n); Write ('Nhap k : '); Readln (k); End; Function GT (x : Byte) : Longint; {Ham tinh giai thua} Var i : Byte; k : Longint; Begin i:=0; k:=1; While i> n) { for (int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { iFile >> a[i][j]; } } } iFile.close(); return 1; } int check(int x, int y[], int s) { for(int i=0;i && check (i,b,n) == 1) { = a[id][i]; temp = i; } if(count