1. Trang chủ
  2. » Luận Văn - Báo Cáo

sáng kiến kinh nghiệm toán học: tổ hợp, chỉnh hợp, hoán vị

26 937 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 278,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đối với bộ môn tin học trong khi lập trình chúng ta thường xuyên phải làm các thao tác sắp xếp, phân hoạch, lấp tập con thành tập hợp lớn hơn … trên một tập hợp các phần tử hữu hạn và rờ

Trang 1

Đối với bộ môn tin học trong khi lập trình chúng ta thường xuyên phải làm các thao tác sắp xếp, phân hoạch, lấp tập con thành tập hợp lớn hơn … trên một tập hợp các phần tử hữu hạn và rời rạc nghĩa là thường xuyên đụng chạm đến khái niệm của giải tích và tổ hợp đó là :

- Do đặc thù của học sinh THCS còn hạn chế về kiến thức toán học và kỹ thuật

lập trình và khả năng bản thân còn có nhiều hạn chế, nên chuyên đề chỉ nêu

được một số thuật giải mẫu và các ví dụ minh hoạ về “ tổ hợp, chỉnh hợp, hoán

vị ”mà qua quá trình học tập giảng dạy tôi đã sưu tầm và tích lũy được

2 Mục đích của chuyên đề:

-Giúp học sinh hiểu được các khái niệm về tổ hoán vị, chỉnh hợp ,tổ hợp và các

Trang 2

thuật toán, cách cài đặt chương trình

-Giúp học sinh chủ động lĩnh hội kiến thức hơn, phát huy vai trò tích cực trong học tập của học sinh Khắc sâu những kiến thức cơ bản, học sinh biết áp dụng , tìm tòi, khám phá không ngừng năng cao chất lượng bồi dưỡng HSG và học

bộ môn tin học trong nhà trường

PHẦN II : NỘI DUNG CỤ THỂ

A CƠ SỞ LÝ LUẬN

Thông qua chuyên đề này học sinh biết vận dụng và được cung cấp các kiến thức cần thiết về phương pháp sử dụng các thuật toán về tổ hợp và kỹ thuật lập trình cơ bản những kinh nghiệm cụ thể trong qua trình tìm tòi lời giải, giúp học sinh rèn luyện các thao tác tư duy, phương pháp suy luận và khả năng sáng tạo

B.CÁC KHÁI NIỆM

I Hoán vị:

1.Khái niệm:

Ví dụ: Có 3 học sinh An (A), Bình (B)và Chính (C) ngồi cùng bàn học Nếu mỗi

tuần một lần thay đổi vị trí ngồi giữa 3 người thì sau bao nhiêu tuần họ lại vế vị

\ trí ban đầu?

ABC ABCBACCBA

ACBBCACAB

Trang 3

Giải : Gọi Vị trí ngồi ban đầu là Ao = (A,B,C) “ B ngồi giữa ;A bên phải; C bên

trái ” Các tuần tiếp theo các thay đổi có thể là:

A1 = (A, C, B) ; A2 = (B, A, C) ; A3 = (B, C, A), A4 = (C, A, B), A5 =

(C, B, A)

Vậy sau 5 tuần họ lại vế vị trí ban đầu

*Nhận xét : cách giải trên là cách liệt kê; muốn khẳng định kết quả, ta phải chứng

minh rằng không còn cách sắp xếp nào khác Tuy nhiên nếu với số cho lớn thì các liệt kê không ổn, dễ bỏ sót

* Cách suy luận: Mỗi người nếu ngồi đầu bàn thì chỉ có 2 cách thay đổi vị tri, vậy

có 3 người thì sẽ có 2 x 3 = 6 cách thay đổi vị trị Đầu bài trên hỏi sau mấy tuần quay về vị trí ban đầu thi kết qurả phải là 6 – 1 = 5 (tuần)

*Liên hệ với lý thuyết hoán vị

Nếu mỗi lần “thay đổi vị trí” là một Hoán vị của tập hợp {A; B; C} P = {A, B, C}

thì tập hợp này có tất cả 6 Hoán vị

Cho tập hợp có phần tử ( ) Mỗi thay đổi vị trí sắp xếp phần tử này theo

một thứ tự nhất định, ta được một Hoán vị các phần tử của tập

2 Số các Hoán vị:

Định lí : Số các Hoán vị của một tập hợp có phần tử là:

Bài toán minh họa :

Một đoàn khách du lịch dự định đến tham quan điểm du lịch và

ở Hà Nội Họ đi tham quan theo thứ tự nào đó, chẳng hạn :

Như vậy mỗi cách họ chọn thứ tự tham quan là một Hoán vị của tập Do vậy đoàn khách có tất cả

cách chọn

( Như bài này rõ ràng cách liệt kê thô sơ khõ lòng giải quyết được)

Trang 4

Một hoán vị của n phần tử là một bộ gồm n phần tử để được sắp theo một trật

Giải: Ta có thể chọn trong cầu thủ để đá quả đầu tiên.

Tiếp theo có cách chọn cầu thủ đá quả thứ hai,

rồi cách chọn cầu thủ đá quả thứ ba,

cách chọn cầu thủ đá quả thứ tư và cuối cùng có cách chọn cầu thủ đá quả thứ năm Theo quy tắc nhân, mỗi đội sẽ có: cách chọn

Mỗi danh sách có xếp thứ tự cầu thủ được gọi là một chỉnh hợp chập của cầu thủ

*Tổng quát:

Cho tập gồm phần tử và số nguyên , Mỗi lần lấy ra phần

tử của và sắp xếp chúng theo một thứ tự ta được một Chỉnh hợp chập của phần tử thuộc

*Nhận xét:

Hai Chỉnh hợp khác nhau khi và chỉ khi hoặc có ít nhất một phần tử của Chỉnh hợp này không là phần tử của Chỉnh hợp kia hoặc các phần tử của Chỉnh hợp giống nhau nhưng được sắp xếp theo thứ tự khác nhau

Trang 5

với quy ước

Ta quy ước: A n0 = 1, do đó công thức (1) đúng với mọi số nguyên thỏa mãn :

Như vậy, lập một Tổ hợp chập của chính là lấy ra phần tử của mà không quan tâm đến thứ tự

* Số các Tổ hợp:

Định lí: Số các Tổ hợp chập của một tập hợp có phần tử ( ) là:

! (2)

Với quy ước: Cn0 = 1thì (2) cũng sẽ đúng với mọi số nguyên thỏa mãn

*Bài toán mẫu:

Trang 6

Trong lớp học có học sinh nam và học sinh nữ Mỗi tuần Thầy giáo cần học sinh nam và học sinh nữ đi tham gia 1 sinh hoạt ngoại khóa của trường Hỏi

Theo quy tắc nhân, số cách chọn cần tìm là: 4845.455=2204475 (cách chọn)

4 Hai tính chất cơ bản của Cn k :

Tính chất 1: Cho các số nguyên n,k thỏa mãn ( )

Bài 1: Có bao nhiêu cách xếp chỗ ngồi cho 10 bạn vào ngồi quanh 2 bàn tròn sao

cho bàn thứ nhất có 6 bạn, bàn thứ hai có 4 bạn? Chú ý rằng 2 cách xếp n người cụ thể vào ngồi quanh một bàn tròn được coi là như nhau nếu người ngồi bên trái mỗi người trong 2 cách xếp là giống nhau

Hướng dẫn giải

Trang 7

Chia là ba bước.

Bước 1: chọn nhóm 6 người (hoặc 4 người) Có cách

Bước 2: Xếp người vào bàn tròn vị trí cách

Bước 3: Xếp người vào bàn tròn có vị trí cách

Áp dụng quy tắc nhân, tính kết quả

Bài 2 : Một người dùng ổ khóa số gồm 3 vòng số, mỗi vòng có 10 chữ số từ 0 đên

9 Hỏi người đó có bao nhiêu cách đặt mật mã ( số để khóa chỉ người đó biết ) cho

-Số các hoán vị khác nhau của n phần tử là:

C ÁP CÀI ĐẶT CÁC BÀI TOÁN CƠ BẢN TRONG TIN HỌC

1 Hoán vị:

Bài toán:Tìm các hoán vị của n số tự nhiên đầu tiên

• Thuật toán :

- Ta đặt một mảng A[1 n] để chứa các hoán vị tìmđược

- Mảng B[1 n] of boolean để làm cờ với ý nghĩa b[i] cho ta biết số i đã được chọn vào hoán vị hay chưa

Thuật toán được lập theo kiểu đệ quy với hai thủ tục :PRINT và FINT (I: BYTE)

Thủ tục print in hoán vị tìm được

procedure Print;

Trang 10

for i:=1 to n do write(g,A[i],' ');writeln(g);

Trang 11

Một số được gọi là “ số gần nguyên tố “nếu nó không phải là só nguyên tố nhưng

tồn tại một

cách sắp xếp lại các chữ số của nó (bỏ đi các chữ số 0 vô nghĩa ở đầu số sau khi sắp xếp các chữ số nếu có ) sao cho số sau khi sắp xếp trở thành một số nguyên tố Yêu cầu: Nhập từ bàn phím mọt số nguyên dương N không quá 1000000, sau đó thông

báo ra màn hình “số gần nguyên tố ”lớn nhất có giá trị không vượt quá N Nếu không tìm được “số gần nguyên tố “nào không vượt quá N thì đưa ra dòng thông

báo: KHONG CO Dữ liệu nhập vào coi như là chuẩn, không cần kiểm tra

Ví dụ :

+Nhập N=19 , thì đưa ra dòng thông báo :SO CAN TIM LA 16

+Nhập N=20 , thì đưa ra dòng thông báo :SO CAN TIM LA 20

*Thuật toán :

+ một vòng lặp từ lớn đến nhỏ, với mỗi số nếu không phải là nt thì đổi ra xâu

+ Đưa xâu st vào hoán vị ,

+ Với mỗi hoán vị, ta chuyển lại thành số

Trang 12

begin

nt:=false;

for i:=2 to trunc(sqrt(k)) do

if k mod i=0 then exit;

for i:=1 to n do kq:=a[i]+kq;val(kq,k,code);

if nt(k) then begin writeln(g,st);kt:=true; end;

Trang 13

*Hãy lập trình giải các bài toán sau đây:

Bài 1: Xếp lại dãy số

Cho dãy số nguyên dương đôi một khác nhau: a1, a2, , an Một hoán vị của dãy số là một cách sắp xếp khác các số hạng của dãy Hãy liệt kê tất cả các hoán vị của dãy đã cho thoả mãn: giữa hai phần tử bất kỳ M và N trong hoán vị đó, không tồn tại phần tử P nào của hoán vị để:2P = M + N

Trang 14

Ví dụ: Với dãy: 11, 22, 33, 44 thì

Hoán vị 33 11 22 44 là thoả mãn điều kiện trên

Hoán vị 11, 44, 22, 33 không thoả mãn vì có phần tử P = 22 nằm giữa hai phần tử M = 11 và N = 33 mà: 22 * 2 = 11 + 33.

Dữ liệu vào: Đọc từ file văn bản SORT.INP Các số trên 1 dòng cách nhau ít

nhất 1 dấu trống

• Dòng 1: Chứa số n (2 ≤ n ≤ 11)

• Dòng 2: Chứa các số a1, a2, , an của dãy (1 ≤ ai ≤ 100)

Dữ liệu ra: Ghi ra file văn bản SORT.OUT Các số trên 1 dòng cách nhau ít

nhất 1 dấu trống

• K dòng đầu, mỗi dòng ghi 1 hoán vị tìm được

• Dòng cuối cùng ghi số lượng hoán vị tìm được (K)

Ví dụ:

4

11 22 33 44

Bài 2: Vòng tròn nguyên tố

Một vòng tròn chứa 2n vòng tròn nhỏ (Xem hình vẽ) Các vòng tròn nhỏ được đánh số từ 1 đến 2n theo chiều kim đồng hồ Cần điền một số tự nhiên từ 1

Trang 15

đến 2n vào mỗi vòng tròn nhỏ (mỗi số chỉ được phép điền một lần) sao cho tổng của hai số trên hai vòng tròn nhỏ liên tiếp là số nguyên tố Số điền ở vòng tròn nhỏ

1 luôn là số 1

1

2

4 6

3 5

Dữ liệu vào: Đọc từ file văn bản CIRCLE.INP gồm chỉ một dòng chứa số

nguyên dương n (1 < n < 10)

Dữ liệu ra: Ghi ra file văn bản CIRCLE.OUT có cấu trúc như sau:

• k dòng đầu, mỗi dòng ghi các số trong các vòng tròn nhỏ bắt đầu từ vòng tròn nhỏ 1 đọc theo thứ tự của các vòng tròn nhỏ, mỗi số cách nhau một dấu cách

• Dòng cuối cùng ghi số lượng các cách điền số tìm được (k)

Ví dụ:

1 6 5 2 3 42

1 2 5 8 3 4 7 6

1 4 7 6 5 8 3 2

1 6 7 4 3 8 5 24

Trang 16

Bài 1: Xếp lại dãy số

Cho dãy số nguyên dương đôi một khác nhau: a1, a2, , an Một hoán vị của dãy số

là một cách sắp xếp khác các số hạng của dãy Hãy liệt kê tất cả các hoán vị của dãy đã cho thoả mãn: giữa hai phần tử bất kỳ M và N trong hoán vị đó, không tồn tại phần tử P nào của hoán vị để:2P = M + N

*Thuật toán :

+ một vòng lặp từ lớn đến nhỏ, với mỗi số nếu không phải là nguyên tố thì đổi ra xâu

+ Đưa dãy A vào hoán vị ,

+ Kiểm tra hoán vị nào thỏa mãn điều kiện bài toán

+ Nếu thỏa mãn thì in ra hoán vị đó và kết thúc vòng lặp tìm kiếm

Trang 17

for h:=i+1 to n do

if 2*a[i]=a[k]+a[h] then Kt :=false;

inc(i);

until not(kt)or(i=n);

if kt then begin inc(d);

for i:=1 to n do write(g,a[i],' ');

Trang 18

assign(f,'sort.inp');reset(f);

assign(g,'sort.out'); REWRITE(G);

readln(f,n);

for i:=1 to n do read(f,c[i]);

for i:=1 to n do B[i]:=true;

Trang 19

begin

nt:=false;

for i:=2 to trunc(sqrt(n)) do

if n mod i=0 then exit;

if not(nt(a[i]+a[i+1])) then Kt :=false;

if kt then begin inc(d);

for i:=1 to n-1 do write(g,a[i],' ');

Trang 20

- Tương tự như phần hoán vị

- chỉ cần sửa lại thủ tục FIND như sau

Trang 21

inc(dem);Write('Chinh hop thu ',dem,' : ');

for i:=1 to r do write(A[i]);writeln;

Trang 23

- Tương tự như thuật toán chỉnh hợp n chập r nhưng ở đay chỉ cần chọn 1 chỉnh hợp có thứ tự tăng

-Thủ tục FIND cải tiến như sau

Trang 24

inc(dem);Write('To hop thu ',dem,' : ');

for i:=1 to r do write(A[i]);writeln;

write('Cho biet so phan tu r=');readln(r);

for i:=1 to n do B[i]:=1;

Find(1);

write('Co ',dem,'to hop');

readln

END

Trang 25

Các bài toán luyện tập :

Bài toán1 : Viết chương trình tìm tất cả các hoán vị của chữ COMPUTER

Bài toán2: Viết chương trình tìm tất cả các tập con của tập hợp n số tự nhiên đầu

- Cho tập A={0,1,2} Có bao nhiêu số tự nhiên có đúng 6 chữ số được tạo thành

từ A , sao cho số đó có ít nhất một cặp số 0,2 đứng cạnh nhau

PHẦN III : KẾT LUẬN

Cùng với sự phát triển vũ bão của công nghệ thông tin, yêu cầu giảng dạy bộ môn tin học trong nhà trường ngày một cao hơn các bài tập toán tin cũng ngày ngày một khó thêm với những yêu cầu nhanh hơn dữ liệu lớn hơn, thuật toán khó hơn …

Trang 26

Nhưng với đối tượng là học sinh THCS Chuyên đề: “Tổ hợp, chỉnh hợp, hoán vị ”

giúp học sinh có thêm một kiến thức cơ bản để có thể chủ động hơn tự tin hơn trong việc lĩnh hội, tìm tòi kiến thức 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 cơ bản, học sinh biết tự tìm tòi, khám phá không ngừng năng cao chất lượng của việc dạy và học bộ môn tin học trong nhà trường

Trên đây là một số bài tập mà tôi đã sưu 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à chưa giới thiệu được nhiều cách giải cho các bài toán hay, chưa đư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 và hạn chế Tôi được rất mong được sự đóng góp chia sẻ của đồng nghiệp

Yên lạc , ngày 15 tháng 4 năm 2013

Người viết sáng kiến kinh nghiệm

Nguyễn Mạnh Hùng

Ngày đăng: 27/08/2014, 20:14

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w