Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
205,94 KB
Nội dung
SÁNG KIẾN KINH NGHIỆM ĐỀ TÀI: "MỞ RỘNG MỘT SỐ BÀI TOÁN CƠ SỞ TRONG TIN HỌC THPT" LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com I ĐẶT VẤN ĐỀ Việc nắm vững giả thiết, kết luận cách giải toán sở quan trọng việc nhận dạng, mở rộng phạm vi toán từ học sinh xác định, xây dựng cách giải toán dạng mở rộng Cũng từ khuyến khích khả tự học, tự nghiên cứu học sinh Trong tin học việc xác định xác toán( Input, Output) thuật toán giải tốn sở giúp học sinh việc nhận dạng, mở rộng số toán xác định xây dựng thuật toán giải tốn Thực tế, đa phần em học sinh học chương trình tin học lớp 11 bỡ ngỡ yếu xây dựng thuật tốn cho tốn vậy, SKKN tơi xin trích giới thiệu tốn mở rộng phạm vi số toán tiêu biểu sách giáo khoa, phù hợp với đa số em có lực học trung bình nhằm mục đích giúp em nắm vững kiến thức Sách Giáo Khoa xử lý tốt toán “Bài tập Tin học lớp 11” II NỘI DUNG Bài toán Xây dựng thuật toán kiểm tra tính nguyên tố số nguyên dương N Xác định toán +/ Input: Số nguyên dương N +/ Output: Thông báo “ N số nguyên tố” “N khơng số ngun tố” Thuật tốn: B1 Nhập số nguyên dương N B2 Nếu tồn ước N phạm vi [2, N div 2] thông báo”N không số nguyên tố" ngược lại thông báo “ N số nguyên tố” B3 Kết thúc Từ tốn sở mở rộng toán sau: Bài toán 1.1 Cho số nguyên dương M dãy số nguyên dương a1, a2, …, aM Tính đưa hình tổng số ngun tố có dãy Nếu khơng có số ngun tố đưa hình số LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Xác định toán: +/ Input: Số nguyên dương M dãy số nguyên dương a1, a2, …, aM +/ Output: Tổng số nguyên tố có dãy số Rõ ràng tốn xem mở rộng toán sở nêu xem ( i:1M) số nguyên dương N toán sở Vấn đề tính tổng số ngun tố có dãy thực cách đơn giản khai báo thêm biến tổng gặp số nguyên tố cộng vào cho tổng Thuật toán: B1 Nhập số nguyên dương M dãy số nguyên dương a1, a2, …, aM tổng 0; B2 Duyệt từ a1 đến aM (i=1;M) số nguyên tố tổng tổng +ai B3 Đưa tổng hình kết thúc Bài tốn 1.2 Cho số nguyên dương M dãy số nguyên dương a1, a2, …, aM Đếm đưa hình số lượng số ngun tố có dãy Nếu khơng có số ngun tố đưa hình số Xác định tốn: +/ Input: Số nguyên dương M dãy số nguyên dương a1, a2, …, aM +/ Output: Số lượng số nguyên tố có dãy số Rõ ràng tốn xem mở rộng toán sở nêu xem ( i:1M) số nguyên dương N toán sở Vấn đề đếm số lượng số nguyên tố có dãy thực cách đơn giản khai báo thêm biến đếm gặp số nguyên tố tăng đếm thêm đơn vị Thuật tốn: B1 Nhập số nguyên dương M dãy số nguyên dương a1, a2, …, aM đếm 0; B2 Duyệt từ a1 đến aM (i=1;M) số nguyên tố đếm đếm +1 B3 Đưa đếm hình kết thúc Bài tốn 1.3 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Cho số nguyên dương M dãy số nguyên dương a1, a2, …, aM Đưa hình số ngun tố có dãy theo thứ tự nhập Nếu khơng có số ngun tố thơng báo hình “Trong dãy khơng có số ngun tố” Xác định tốn: +/ Input: Số nguyên dương M dãy số nguyên dương a1, a2, …, aM +/ Output: số nguyên tố có dãy theo thứ tự nhập thơng báo Từ kết xác định tốn ta thấy tốn xem mở rộng tốn sở nêu vấn đề chủ chốt kiểm tra số nguyên dương (với i nhận giá trị từ đến M) có phải số nguyên tố hay khơng? Vấn đề đưa hình số nguyên tố có dãy theo thứ tự nhập thơng báo “trong dãy khơng có số ngun tố nào” thực đơn giản sau Ta sử dụng biến kt:byte Ban đầu kt với giả sử dãy khơng có số ngun tố sau ta duệt từ a1 đến aM số nguyên tố đưa hình đồng thời tăng kt lên đơn vị Cuối ta kiểm tra lại kt = 0? Nếu thơng báo “ dãy khơng có số ngun tố nào” Thuật toán: B1 Nhập số nguyên dương M dãy số nguyên dương a1, a2, …, aM kt 0; B2 Duyệt từ a1 đến aM (i=1;M) số nguyên tố thì: 2.1 Đưa hình; 2.2 Tăng kt lên đơn vị :inc(kt) B3 Nếu kt=0 thơng báo “trong dãy khơng có số nguyên tố nào” B3 Kết thúc Chúng ta xét thêm toán sau( đề thi hsg tỉnh Hưng n) Lập trình giải tốn sau: Cho mảng số nguyên gồm 30 phần tử, tìm tất phần tử số nguyên tố tính tổng chúng Bài tốn Nhập từ bàn phím toạ độ điểm M, N mặt phẳng Tính đưa hình độ dài đoạn MN Nếu chúng trùng thơng báo “M trùng với N” Xác định toán: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com +/ Input: Bốn số x1,y1,x2,y2 +/ Output: Độ dài đoạn MN thông báo “M trùng với N” Thuật toán: B1 Nhập số x1, y1, x2, y2; d 0; B2 d B3 Nếu d=0 thơng báo “M trùng với N”, ngược lại đưa d hình kết thúc Bài tốn 2.1 Xây dựng thuật tốn nhập từ bàn phím toạ độ đỉnh tam giác mặt phẳng Tính đưa hình chu vi, diện tích tam giác Xác định tốn: +/ Input: Các số x1, y1, x2, y2, x3, y3 +/ Output: Chu vi, diện tích tam giác Ta thấy việc tính chu vi tam giác toán xuất phát từ toán sở nêu tức tính độ dài cạnh biết toạ độ điểm Thuật toán: B1 Nhập số x1, y1, x2, y2, x3, y3; B2 a b c p a+b+c; s b3 Đưa p, s hình kết thúc Bài toán 2.2 Xây dựng thuật toán nhập từ bàn phím toạ độ đỉnh đa giác N đỉnh Tính đưa hình chu vi đa giác Xác định tốn: +/ Input: Các cặp số (xi, yi), với i nhận giá trị từ đến N +/ Output: Chu vi đa giác Từ kết xác định toán ta thấy toán mở rộng từ tốn sở nêu thực chất tốn tính độ dài đoạn thẳng biết toạ độ điểm Từ học sinh dễ dàng xây dựng thuật toán để giải toán Thuật toán: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com B1 Nhập toạ độ N đỉnh; B2 Tính độ dài các cạnh, tính chu vi; B3 Đưa chu vi hình, kết thúc Ta mở rộng tốn tính chu vi đa giác N đỉnh không gian Bài tốn Xây dựng thuật tốn tìm max số a, b Nếu chúng đưa hình hai số Xác định toán: +/ Input: Hai số a, b +/ Output: Max hai số a, b Thuật toán: B1 Nhập a, b B2 Max a; B3 Nếu Max < b Max b B4 Đưa Max hình kết thúc Từ việc tìm max số ta mở rộng tốn tìm max N số toán sau: Bài toán 3.1 Xây dựng thuật tốn tìm max N số ngun a1, a2, …, aN Xác định toán: +/ Input: Số nguyên dương N dãy số nguyên a1, a2, …, aN +/ Output: Max dãy số cho Bằng quy luật toán sở, ban đầu ta tìm max a1, a2 ta số max Sau ta lại tìm max max với a3, trình tiếp diễn tìm max max với aN Thuật tốn: B1 Nhập số nguyên dương N dãy số nguyên a1, a2, …, aN B2 Max a1; i 2; B3 Nếu i>N sang B5 B4 Nếu ai>max max ai, ii+1, quay lại B3 B5 Đưa Max hình kết thúc LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ngồi ra, với tốn sở học sinh dễ dàng xây dựng thuật toán tìm số, Tìm N số Bài tốn Xây dựng thuật tốn tìm số lần xuất kí tự “ch” xâu s Xác định tốn: +/ Input: Kí tự “ch” xâu s +/ Output: Số lần xuất kí tự “ch” xâu s Thuật toán: B1 Nhập xâu s kí tự ch; dem 0; B2 Duyệt từ đầu đến cuối xâu s, s[i]=ch tăng biến đếm lên đơn vị dem dem+1 B3 Đưa dem hình kết thúc Ta xét tốn sau: Bài tốn 4.1 Xây dựng thuật tốn tính tần số xuất kí tự xâu s Xác định toán: +/ Input: Xâu s +/ Output: Số lần xuất kí tự xâu s Rõ ràng ta thấy tốn tìm số lần xuất kí tự xâu Vấn đề mở rộng có nhiều kí tự cần phải tìm số lần xuất chúng xâu s Việc nắm vững thuật toán giải toán sở nêu giúp học sinh xây dựng thuật toán để giải toán 4.1 cách xem kí tự chưa tìm số lần xuất chúng xâu s kí tự “ch” tốn sở Khi tìm số lần xuất kí tự đưa kí tự số lần xuất hình Một vấn đề nảy sinh làm để bỏ qua kí tự tìm số lần xuất xâu s Vấn đề có nhiều cách giải cách đơn giản xố hết kí tự tìm tần số xuất Khi xố hết xâu cơng việc tìm số lần xuất kí tự kết thúc Thuật toán: B1 Nhập xâu s; B2 Trong chưa hết xâu thực hiện: Tìm số lần xuất kí tự s[1] xâu; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đưa kí tự s[1] số lần xuất hình Xố kí tự s[1] xâu B3 Kết thúc Bài tốn 4.2 Xây dựng thuật tốn tìm kí tự xuất xâu Xác định tốn: +/ Input: Xâu s +/ Output: Kí tự xuất xâu s Bài tốn phát triển từ tốn sở vấn đề tìm số lần xuất kí tự xâu Tuy nhiên nâng cao mức sau đếm số lần xuất kí tự lại phải kiểm tra xem kí tự có phải xuất khơng? Sẽ đơn giản ta xem toán mở rộng toán 4.1 Thật vậy, ta sử dụng biến kiểu kí tự(minchar) để lưu kí tự xuất xâu ban đầu giả thiết số lần xuất kí tự xâu là(min=length(s)), minchar=s[1] Sau lần đếm số lần xuất kí tự xâu ta lại so sánh với Nếu lớm số lần xuất kí tự vừa đếm ta gán lại minchar, cuối ta giải toán Thuật toán: B1 Nhập xâu s; minchar=s[1]; min=length(s) B2 Trong chưa hết xâu thực hiện: Tìm số lần xuất kí tự s[1] xâu; So sánh số lần tìm với Nếu lớn thực hiện: - Min nhận giá trị số lần xuất kí tự vừa đếm được; - Minchar:=s[1] Xố kí tự s[1] xâu B3 Đưa minchar hình kết thúc Bài tốn 4.3 Xây dựng thuật tốn tìm kí tự xuất nhiều xâu Xác định toán: +/ Input: Xâu s +/ Output: Kí tự xuất nhiều xâu s LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ta thấy toán tương đương toán 4.2 Thuật toán giải toán sau: Thuật toán B1 Nhập xâu s; maxchar=s[1]; max=0; B2 Trong chưa hết xâu thực hiện: Tìm số lần xuất kí tự s[1] xâu; So sánh số lần tìm với max Nếu max lớn thực hiện: - Max nhận giá trị số lần xuất kí tự vừa đếm được; - Maxchar:=s[1] Xố kí tự s[1] xâu B3 Đưa maxchar max hình kết thúc Bài toán Xây dựng thuật toán tạo xâu đảo xâu cho trước Xác định toán: +/ Input: Xâu s; +/ Output: Xâu đảo xâu s Thuật toán: B1 Nhập xâu s, khởi tạo xâu x ’’; i length(s) B2 Nếu i < sang B4 B3 x x+s[i]; i i-1, quay lại B2; B4 Đưa x hình kết thúc Bài toán 5.1 Xây dựng thuật toán kiểm tra xem xâu cho trước có phải xâu đối xứng không? Xâu đối xứng xâu mà xâu đảo nó Xác định tốn: +/ Input: Xâu s; +/ Output: Kết luận “xâu s có phải xâu đối xứng” “xâu s xâu đối xứng” Từ khái niệm xâu đối xứng, ta dễ dàng nhận thấy toán mở rộng từ toán cần tạo xâu đảo s so sánh với cho kết LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Thuật toán: B1 Nhập xâu s B2.Tạo xâu đảo s B3 So sánh s với xâu đảo s Nếu chúng thơng báo “xâu s có phải xâu đối xứng”, chúng khơng thơng báo “xâu s khơng phải xâu đối xứng” Kết thúc Bài toán 5.2 Xây dựng thuật toán kiểm tra xem xâu cho trước có phải xâu đảo xâu cho trước khác không? Xác định toán: +/ Input: Xâu s, x; +/ Output: Kết luận “xâu s, x hai xâu đảo nhau” “xâu s, x hai xâu đảo nhau” Đây toán mà việc giải dễ dàng thực tạo xâu đảo hai xâu cho Sau thuật toán Thuật toán: B1 Nhập xâu s, x B2.Tạo xâu đảo s, xâu đảo x B3 So sánh s với xâu đảo x, x với xâu đảo s Nếu có cặp thơng báo “xâu s, x hai xâu đảo nhau” ,ngược lại thơng báo “xâu s, x hai xâu đảo nhau” Kết thúc Bài toán 5.3 (Bài 4.42 sbt tin 11) Người ta xâu N viên đá quý kích thước giống thầnh vịng đeo cổ, viên có màu số màu đánh số từ đến Để tăng tính độc đáo cho vịng trang sức quý này, người ta định lắp khoá đeo vào vị trí cho mở vịng ta dây đá q có tính chất: khơng phụ thuộc vào việc cầm đầu dây bên tay phải đầu bên tay trái, ta chuỗi hạt giống nhau, tức viên đá thứ i từ trái sang ln có màu j khơng phụ thuộc vào cách cầm Cho sâu s gồm màu viên đá q, xác định số vị trí đặt khố Xác định toán: +/ Input: Xâu s 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com +/ Output: Số vị trí đặt khố Chẳng hạn: Cho s=’222222335533’, ta có vị trí đặt khố vị trí thứ vị trí thứ vị trí thứ vị trí thứ 10 Thuật tốn: Ta thấy từ tính chất cách đặt khố, cách đặt khố cho ta xâu đá q có tính chất đối xứng ta cố xâu màu sắc đối xứng tương ứng Chẳng hạn: Ở vị trí đặt khố vị trí thứ thứ ta xâu đối xứng 222335533222; Ở vị trí đặt khố vị trí thứ 10 ta có xâu đối xứng 533222222335 Vậy xét chất toán xâu đối xứng Việc đếm số vị trí đặt khố thực cách sau: Cho i chạy từ đầu xâu đến cuối xâu s( i:1 >L, với L độ dài xâu s) Với i ta kiểm tra xem xâu s1=copy(s,i,L-i+1)+copy(s,1,i-1) có phải xâu đối xứng khơng? Nếu tăng đếm lên đơn vị Cuối ta tìm số vị trí đặt khố Sau thuật toán giải toán B1 Nhập xâu s, dem0; i1; L độ dài xâu s; B2 Nếu i> L đưa dem hình, sang B4 B3 s1’’ ( s1 gán xâu rỗng); s1copy(s,i,L-i+1)+copy(s,1,i-1) Nếu s1 xâu đối xứng demdem+1; ii+1, quay lại B2 B4 Kết thúc Bài toán Xây dựng thuật tốn tính N! Xác định tốn: +/ Input: Số nguyên dương N +/ Output: N! Thuật toán: B1 Nhập số nguyên dương N; gt1; i2; B2 Nếu i> N sang bước B3 gtgt*i, ii+1, quay lại B2 B4 Đưa gt hình kết thúc Từ tốn sở ta mở rộng toán sau: 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bài toán 6.1 (Đề thi hsg tin học lớp 12 thành phố Đà Nẵng năm 2001-2002) Nhập vào số tự nhiên N Lập chương trình đưa hình số hốn vị 1,2,3, ,N (N N sang bước B3 shvshv*i, ii+1, quay lại B2 B4 Đưa shv hình kết thúc Bài toán 6.2.(Đề thi tin học khối THPT tỉnh An Giang) Một chuỗi s1 có độ dài k gọi chuỗi thực s nếu: - Nó gồm k kí tự lập nên từ kí tự chuỗi s cách rút bỏ tất kí tự giống chuỗi khơng thêm kí tự khác - Trong s1 kí tự tn theo trật tự có s Viết chương trình tìm số dãy thực s với k=2, biết s nhập từ bàn phím Ví dụ s=’HOI THI TIN HOC TRE TINH AN GIANG’ Sau rút hết kí tự giống khơng thêm kí tự ta có s=’CRE’ Từ ta có số dãy thực với k=2 3(CR,CE, RE) Xác định toán: +/ Input: Xâu s số k( k=2) +/ Output: Số dãy thực s Thuật toán: Ta gọi L số kí tự cịn lại xâu s sau rút kí tự giống khơng thêm kí tự Chẳng hạn ví dụ ta có L=3 Trong s1 k kí tự lấy theo thứ tự 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com từ trái qua phải (CR, CE, RE) mà không lấy thứ tự ngược lại( RC, EC, ER) Như tốn tính tổ hợp chập k L phần tử Bài toán tính cách dễ dàng sau tính giá trị sau: L!; k!; (L-k)! Tóm lại tốn tính giai thừa mà ta đề cập Từ ta có thuật tốn giải tốn sau: B1 Nhập xâu s số k B2 Xử lí xâu s( xố kí tự giống nhau) B3 Tính L!, k!, (L-k)! B4 Tính B5 Đưa kết hình kết thúc Thực tế cho thấy, tơi áp dụng toán “nhẹ nhàng” “vừa sức” em học sinh thích thú, hào hứng tiết lên lớp điều mang lại sức lan tỏa môn lớn, giúp cho người dạy người học hứng thú với chương trình Tin học lớp 11 Ngồi học sinh mở rộng tốn sở để giải toán chỉnh hợp tổ hợp khác chương trình giải tích lớp 11 Sau tự xây dựng thuật tốn rồi, tức khắc em viết chương trình giải tốn ngơn ngữ lập trình Pascal cách nhanh chóng xác Kết lớp phụ trách năm học vừa rồi, sau áp dụng SKKN này, với mức độ kiểm tra lập trình ngơn ngữ Pascal lấy từ đây, em làm hài lòng Cụ thể sau: Lớp Ban Tỷ lệ HS đạt loại trở lên 11B1 Cơ 68,42% 11B5 Tự nhiên 70,2% 11B9 Tự nhiên 88,64% III KẾT LUẬN Việc nắm vững input, output thuật toán giải toán giúp học sinh mở rộng lớp toán cách linh hoạt từ rèn luyện kỹ giải tốn cho học sinh SKKN nêu minh hoạ số toán mở rộng từ số toán 13 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com sở cách dẫn dắt học sinh nhận dạng, mở rộng tốn để từ xây dựng thuật tốn giải tốn mở rộng Trong khn khổ SKKN, toán mở rộng nêu phù hợp với học sinh trung bình khá, giúp học sinh nắm vững kiến thức SGK hạn chế số lượng chưa thực tiêu biểu Học sinh tìm thêm tốn khác để vận dụng thực tiễn Mặt khác toán sở toán mở rộng giải thuật tốn khác Tuy nhiên đè tài này, với dạng tốn tơi nêu hướng xây dựng thuât toán để đảm bảo tính lơgic_Mở rộng tốn Các thuật toán nêu đề tài diễn đạt gần với ngơn ngữ lập trình Pascal gần gũi với học sinh lớp 11 Tôi tin đề tài cịn nhiều khiếm khuyết, kính mong đồng nghiệp học sinh cho nhiều ý kiến đóng góp Tơi xin chân thành cảm ơn! 14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... giải toán sở quan trọng việc nhận dạng, mở rộng phạm vi tốn từ học sinh xác định, xây dựng cách giải toán dạng mở rộng Cũng từ khuyến khích khả tự học, tự nghiên cứu học sinh Trong tin học việc... dương M dãy số nguyên dương a1, a2, …, aM +/ Output: Số lượng số nguyên tố có dãy số Rõ ràng tốn xem mở rộng toán sở nêu xem ( i:1M) số nguyên dương N toán sở Vấn đề đếm số lượng số nguyên tố... vững input, output thuật toán giải toán giúp học sinh mở rộng lớp toán cách linh hoạt từ rèn luyện kỹ giải tốn cho học sinh SKKN tơi nêu minh hoạ số toán mở rộng từ số toán 13 LUAN VAN CHAT LUONG