1. Trang chủ
  2. » Giáo Dục - Đào Tạo

SKKN xây dựng một số thuật toán cơ bản nhằm cải thiện kĩ năng lập trình tin học 11 cho học sinh ở một trường miền núi”

16 31 0

Đ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 16
Dung lượng 586,5 KB

Nội dung

MỤC LỤC Trang MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu: 1.3 Đối tượng phạm vi áp dụng: 1.4 Phương pháp nghiên cứu: 2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận: 2.2 Thực trạng vấn đề 2.3 Nội dung giải pháp 2.3.1 Tìm hiểu thuật tốn tốn 2.3.1.2 Thuật toán 2.3.2 Cách thức viết chương trình dạng thuật tốn 2.3.3.1 Thuật tốn khơng phân nhánh 2.3.3.2 Thuật tốn có phân nhánh 2.2.3.3 Thuật tốn theo chu trình có bước lặp xác định 2.3.3.4 Thuật toán theo chu trình có bước lặp khơng xác định 10 2.4 Hiệu giải pháp 13 2.4.1 Kết định tính 13 2.4.2 Kết định lượng 13 KẾT LUẬN 14 3.1 Kết luận 14 3.2 Kiến nghị 14 MỞ ĐẦU 1.1 Lý chọn đề tài Trong chương trình Tin học bậc THPT, em lớp 11 tìm hiểu với ngơn ngữ lập trình (NNLT) để trang bị cho em kiến thức, kỹ lập trình, biết vận dụng chúng để giải số tập hình thành loại hình tư tư thuật giải, tư điều khiển Tuy nhiên, môn học có khái niệm trừu tượng nên em gặp nhiều khó khăn q trình tiếp thu Bởi học phần lập trình địi hỏi học sinh phải tư duy, mà khó khăn em bước “Lựa chọn thiết kế thuật toán” Khi nắm vững cách lựa chọn thiết kế thuật tốn, học sinh dễ dàng viết chương trình để giải tốn máy tính ngơn ngữ bậc cao Từ đó, em có hứng thú với môn Tin học Hơn nữa, việc lựa chọn thiết kế thuật toán để giải tốn máy tính giúp rèn luyện cho học sinh khả tư duy, sáng tạo, biết phân tích giải tình Đây kỹ cần thiết để sau em hoà nhập vào thực tế sống Xuất phát từ thực tiễn giảng dạy trường THPT Quan Hóa , nhằm giúp học sinh bước đầu hiểu rõ tiếp cận với thuật toán giải tốn để việc lập trình đạt kết tốt hơn, lựa chọn đề tài “ Xây dựng số thuật toán nhằm cải thiện kĩ lập trình tin học 11 cho học sinh trường miền núi” 1.2 Mục đích nghiên cứu: Giúp học sinh hiểu thuật toán toán Từ đó, em hình thành tư lập trình cho tốn khác 1.3 Đối tượng phạm vi áp dụng: + Đối tượng nghiên cứu: Học sinh khối 11 lớp trường THPT Quan Hố, mơn Tin học để rèn luyện kỹ tư thuật tốn từ nâng cao hiệu lập trình + Phạm vi nghiên cứu: - Bài 3: Bài toán thuật toán 10 - Bài tập chương II, III sách giáo khoa (SGK) Tin học 11 + Nhiệm vụ đề tài: - Đảm bảo tính xác thuật tốn toán đưa - Cách thức lựa chọn, diễn tả thuật tốn, viết chương trình cho tốn 1.4 Phương pháp nghiên cứu: - Phương pháp nghiên cứu lí thuyết: Nghiên cứu tài liệu cơng trình nghiên cứu đổi PPDH theo hướng tích cực hóa việc học học sinh - Phương pháp thực tập sư phạm: Thực nghiệm sư phạm trường THPT Quan Hóa, tiến hành theo quy trình đề tài nghiên cứu khoa học giáo dục để đánh giá hiệu đề tài nghiên cứu - Phương pháp thống kê toán học: thống kê, đánh giá kết thu 2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận: * Lịch sử nghiên cứu vấn đề: - Khi em xây dựng thuật tốn sử dụng ngôn ngữ bậc cao viết chương trình sở đảm bảo tính tối ưu * Cơ sở khoa học giải pháp: Là người giáo viên giảng dạy môn Tin học, nhận thức nhiệm vụ mình: - Cung cấp cho học sinh kiến thức phổ thơng có hệ thống tồn diện mơn Tin học - Rèn luyện cho học sinh kỹ chủ yếu sau: + Giải số tốn đơn giản máy tính cách vận dụng kiến thức thuật toán + Tư thuật tốn, từ rèn luyện tư logic + Củng cố kiến thức môn học Toán, Lý 2.2 Thực trạng vấn đề * Thuận lợi: - Toàn ngành, toàn xã hội đề cao việc ứng dụng công nghệ thông tin vào tất lĩnh vực ảnh hưởng tích cực theo em học sinh có hứng thú - Mơn Tin học mơn khố trường phổ thơng - Các em học sinh thích thực hành máy tính để nghiên cứu tìm tịi * Khó khăn: - Máy vi tính thiết bị hỗ trợ cịn hạn chế ngồi thời gian thực hành trường đa phần em học qua sách - Phần lập trình hồn tồn xa lạ với học sinh - Chất lượng học sinh trường cịn thấp khơng đồng lớp - Học sinh lớp 11 cịn gặp khó khăn với đa phần học sinh nhà trường việc xác định thuật toán để lập trình cho tốn.do viết chương trình, sản phẩm thu chưa đảm bảo tính tối ưu 2.3 Nội dung giải pháp 2.3.1 Tìm hiểu thuật toán toán 2.3.1.1 Khái niệm toán a Bài toán Trong tin học, người ta quan niệm tốn việc ta muốn máy tính thực Những việc đưa dịng chữ hình, giải phương trình bậc hai, quản lý cán quan ví dụ tốn Khi dùng máy tính giải tốn, ta cần quan tâm đến hai yếu tố: Đưa vào máy thơng tin (Input) lấy thơng tin (Output) Do để phát biểu tốn, ta cần phải trình bày rõ Input Output toán mối quan hệ Input Output b Các bước để giải tốn máy tính Bước 1: Xác định toán: Xác định Input/Output mối liên hệ chúng Bước 2: Lựa chọn xây dựng thuật toán: Thiết kế lựa chọn thuật tốn có đề giải tốn Bước 3: Viết chương trình: Lựa chọn cách tổ chức liệu sử dụng NNLT để diễn tả thuật toán Bước 4: Hiệu chỉnh Bước 5: Viết tài liệu c Cấu trúc chương trình sử dụng ngơn ngữ lập trình Pascal Bao gồm phần: [ ] * Phần khai báo: - Khai báo tên chương trình program ; - Khai báo thư viện Uses crt; - Khai báo const = ; - Khai báo biến var : ; * Phần thân: Begin []; End 2.3.1.2 Thuật toán * Khái niệm: Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ Input toán, ta nhận Output cần tìm * Tính chất thuật tốn + Tính tổng qt: thuật tốn khơng đề cập toán riêng lẻ mà bao hàm lớp toán kiểu + Tính dừng: Thuật tốn phải kết thúc sau số hữu hạn lần thực thao tác + Tính xác định: Sau thực thao tác thuật tốn kết thúc có thao tác xác định để thực + Tính đắn: sau thuật toán kết thúc ta phải nhận Output cần tìm * Thuật tốn phân loại sau: - Thuật tốn khơng phân nhánh - Thuật tốn có phân nhánh - Thuật tốn theo chu trình có bước lặp xác định có bước lặp khơng xác định * Có cách thể thuật tốn: + Liệt kê: Thể thuật tốn thơng qua bước + Sơ đồ khối: Sử dụng kí hiệu để thể Các kí hiệu để diễn tả thuật tốn sơ đồ khối Quy định trình tự thực phép toán Thể thao tác nhập, xuất liệu Thể phép tính tốn Thể thao tác so sánh * Lưu ý: - Với hình van có hướng mũi tên cho trường hợp thao tác nhập liệu có hướng vào cho thao tác xuất liệu - Với hình chữ nhật có hướng mũi tên vào hướng mũi tên - Với hình thoi có hướng mũi tên vào hai hướng mũi tên 2.3.2 Cách thức viết chương trình dạng thuật tốn * Thuật tốn khơng phân nhánh: dạng thuật tốn đơn giản, sau học sinh xác định toán, vận dụng kiến thức liên quan, sử dụng số hàm học chuẩn học để giải toán * Thuật tốn có phân nhánh: sử dụng câu lệnh if then để viết chương trình Cấu trúc câu lệnh rẽ nhánh if then: + Dạng thiếu: if then ; + Dạng đủ: if then else; * Thuật toán theo chu trình có bước lặp xác định có bước lặp khơng xác định - Thuật tốn theo chu trình có bước lặp xác định: Cấu trúc câu lệnh lặp For-do: + Dạng lặp tiến: for := to ; + Dạng lặp lùi: for := downto ; Kết hợp với câu lệnh if then để giải toán - Thuật tốn theo chu trình có bước lặp khơng xác định Cấu trúc câu lệnh lặp While-do: + While ; 2.3.3 Một số dạng toán 2.3.3.1 Thuật tốn khơng phân nhánh Bài tốn: Nhập từ bàn phím độ dài cạnh tam giác ABC, tính chu vi, diện tích đường cao tam giác * Xác định toán: - Input: độ dài cạnh a,b,c - Output: chuvi, dientich, đường cao ha, hb, hc * Thuật toán: Bước 1: nhập độ dài cạnh a,b,c; Bước 2: P(a+b+c)/2; s  p(p-a)(p-b)(p-c) ; ha 2s ; , hb 2s ; hc a b 2s ; c Bước 3: Đưa hình chuvi p, dientich s, đường cao ha, hb, hc * Chương trình: Program tinhdt_cv_duongcao; Var a,b,c,p,s, h1, h2, h3: real; Begin Writeln (‘ nhap dai canh:’); Readln (a,b,c); P:=(a+b+c)/2; S:=sqrt(p*(p-a)*(p-b)*(p-c)); h1:=2*s/a; ; h2:= 2*s/b; h3:=2*s/c; Writeln(‘chu vi dien tich chieu cao’, p:5:2,s:5:2,h1:5:2,h2:5:2,h3:5:2); Readln End Bài tập áp dụng: Bài 1: Nhập từ bàn phím toạ độ điểm A,B,C Tính tích vơ hướng hai vectơ AB AC Hướng dẫn: - Input: Toạ độ điểm A, B C; - Output: Tích vơ hướng AB.AC ; - Sử dụng công thức: AB=(x B -x A ;y B -y A ) ; AC=(x C -x A ;y C -y A ) ; Tích vơ hướng: AB.AC=(x B -x A ).(x C -x A )+(y B -y A ).(y C -y A ) ; Bài 2: Nhập từ bàn phím toạ độ điểm A,B,C Tính độ dài đoạn thẳng AB, AC BC Hướng dẫn: - Input: Toạ độ điểm A, B C; - Output: Độ dài đoạn thẳng AB,AC BC - Sử dụng công thức: AB= AB = (x B -x A ) +(y B -y A )2 ; Từ tập giáo viên hướng dẫn học làm tập SGK y chương Bài tâp SGK_tr36: a * Xác định tốn: - Input: cạnh a (a>0) - Output: Diện tích gạch chéo * Thuật toán: x Sơ đồ khối Nhập a * Ch ương trình Program Dtgachcheo; Const pi=3.14; Var a,s:real; s pi*sqr(a)/2 Begin Writeln(‘nhap canh a:’); Readln(a); S:=pi*sqr(a); Thông báo s Writeln (‘ dien tich phan gach cheo la:’,s:8:4); Readln; kết thúc End Bài tập 10 SGK _tr36: Tính đưa hình vận tốc v chạm đất vật rơi từ độ cao h biết v= 2gh g =9.8m/s2, độ cao h nhập từ bàn phím *Xác định tốn: + Input: h + Output: v * Thuật toán Bước 1: Nhập h Bước 2: v sqrt(2*9.8*h) Bước 3: thông báo v kết thúc Nhập h Sơ đồ khối Chương trình Program tinhvantoc; const g=9.8; var v,h:real; v Begin writeln( ‘nhao cao h:’); readln(h); v:=sqrt(2*g*h); Thông báo v writeln(‘van toc la:’,v:6:3); kết thúc readln; End 2.3.3.2 Thuật toán có phân nhánh Sơ đồ: Đúng Dạng thiếu Điều Câu lệnh kiện Sai Dạng đủ Câu lệnh Sai Điều kiện Đúng Câu lệnh Chú ý: - Ta sử dụng cấu trúc rẽ nhánh lồng VD: Viết chương trình giải phương trình bậc hai ax2+bx+c=0 * Xác định toán - Input: a,b,c (a0) - Output: Nghiệm x thoả phương trình ax2+bx+c=0 Liệt kê: Bước 1: Nhập a,b,c (a0); Bước 2: Tính D b*b-4*a*c; Bước 3: Nếu D0 PT có nghiệm x1 (-b+sqrt(D))/(2*a) X2 (-b-sqrt(D))/(2*a) kết thúc; Bước 5: Nếu D= PT có nghiệm kép x -b/(2*a) kết thúc; Bước 6: Kết thúc Sơ đồ khối Nhập a,b,c (a0) D b*b-4*a*c D Hướng dẫn - Sử dụng thuật toán gặp Câu lệnh Hướng dẫn - Sử dụng If lồng 2.2.3.3 Thuật tốn theo chu trình có GT bước lặp xác định Điều Sơ đồ: Sai Đúng kiện GT*i Bài tốn: Tính giai thừa số ngun dương n (n!=1.2 .(n-1).n) i i+1 Xác định toán + Input: Số nguyên dương n; + Output: Giai thừa n (GT) Đ Sơ đồ khối i n Chương trình: S Thơng báo GT kết thúc Program tinhgiaithua Var i,n,gt: integer; Begin Writeln(‘ nhap n:’); Readln(n); For :=1 to n gt:=gt*i; Writeln(‘giai thua cua n la:’,gt); Readln End Bài tập áp dụng: Bài 1: Tính tổng S= + + + ……… + n với n nhập từ bàn phím Bài 2: Tính tổng S 1 1 n với n nhập từ bàn phím Giáo viên yêu cầu học sinh áp dụng làm tâp SGK 50 n Bài tập 5a SGK_ tr51: Lập trình tính Y= n n Thuật toán Liệt kê: Bước 1: i1; s0; Bước 2: Nếu i>50 sang bước 4; Bước 3: ss+i/(i+1); ii+1; quay lại bước 2; Bước 4: Thông báo s kết thúc Bài tập 6/SGK tr51: tương tự 2.3.3.4 Thuật tốn theo chu trình có bước lặp không xác định Sơ đồ: Điều kiện Đúng Câu lệnh Bài tốn: Tìm ước số chung lớn hai số nguyên dương a b Sai * Xác định toán + Input: Số nguyên dương a,b; + Output: UCLN(a,b) Thuật toán: Bước 1: Nhập a,b; Bước 2: Nếu a=b lấy giá trị chung làm UCLN kết thúc; Bước 3: Nếu a>b a a – b quay lại bước 2; Nhập a,b Bước 4: b b – a quay lại bước 2; Bước 5: Đưa kết UCLN rồ kết thúc Chương trình; Đ Program UCLN; ĐƯA KQ a=b Var a,b,ucln:integer; UCLN(a,b Begin )=a KẾT Writeln(‘nhap a,b’); THÚC S Readln(a,b); S While ab a>b b b-a If a>b then a:=a-b else b:= b-a; If a=b then ucln:=a; Đ Writeln(‘ uoc chung lon nhat la: ‘, ucln); a a-b Readln; End Bài tập áp dụng: Bài tập SGK/tr51 : Nhập từ bàn phím tuổi cha (hiện tuổi cha lớn hai lần tuổi tuổi cha tuổi 25 ) Đưa hình câu trả lời cho câu hỏi “Bao nhiêu năm tuổi cha gấp đơi tuổi ? *Xác định toán : Input: nhập tuổi cha, tuổi con; Output: số năm tuổi cha gấp đôi tuổi *Thuật toán: Bước 1: nhập tuoicha, tuoicon (điều kiện tuoicha >2*tuoicon tuoichatuoicon>=25) Bước 2: nam0; Bước 3: tuoicha= 2*tuoicon đến bước 5; Bước 4: tuoichatuoicha+1; tuoicontuoicon + 1; namnam+1; Bước 5: thông báo số năm kết thúc *Chương trình Var Tuoicha, tuoicon, nam : word; Begin Writeln (‘ nhap tuoi cha va con’); Writeln (‘tuoi cha >2*tuoicon ca tuoicha-tuoicon>=25’); Readln(tuoicha, tuoicon); Nam:=0; While tuoicha2*tuoicon Begin Tuoicha:= tuoicha + 1; Tuoicon:=tuoicon+1; Nam:=nam+1; End; Writeln(‘sau’,nam,’nam tuoi cha gap doi tuoi con’); Readln End Bài 1: Kiểm tra xem nhập số tự nhiên vào có phải số nguyên tố hay không Hướng dẫn - Nhập vào số tự nhiên N - Chú ý: N=2*1 E-6 Chương trình: Var N:longint; E,sh: real; Begin Sh:=1/2; n n+1 sh sh*(1/n) e e+ sh S kết thúc N:=2; E:=2+sh; While sh>=2*1E-6 Begin I:=i+1; Sh:=sh*(1/n); E:= e+sh; End; Writeln(‘ gia tri e(n) la:’,e:10:6); Readln; End 2.4 Hiệu SKKN Mặc dù nội dung tương đối khó với đa phần học sinh miền núi nơi chất lượng đầu vào hàng năm thấp đa phần không tuyển đủ học sinh theo tiêu đề mức độ phạm vi ứng dụng sáng kiến kinh nghiệm chi hạn chế thời gian nghiên cứu áp dụng thấy mang lại số hiệu định: 2.4.1 Kết định tính - Về tạo hứng thú học tập cho học sinh: Vì nhận thấy ứng dụng hữu ích mơn Tin học thơng qua việc lựa chọn thiết kế thuật tốn để viết chương trình nên em học sinh yêu thích say mê học hơn, kết học tập em tốt - Về rèn luyện kỹ năng: kỹ tư duy, sáng tạo, biết phân tích giải tình em học sinh ngày tốt hơn, em tự viết chương trình để giải tập Tốn, Lý, Hố bậc phổ thơng - Về giáo dục nhận thức: em hiểu rõ tầm quan trọng việc xây dựng thuật tốn lập trình từ hiểu rõ tầm quan trọng tin học thời đại công nghệ 4.0 2.4.2 Kết định lượng Kêt qua kiểm tra tiết sau thực SKKN sau: - Lớp đối chứng (ĐC): 11A3, 11A4 - Lớp thực nghiệm (TN): 11A1, 11A2 Lân Phương Sô bai Điêm yêu Điêm TB Điêm kha Điêm gioi SL % SL % SL % SL % KT an 77 15 19.5 46 59.7 16 20.8 0 ĐC TN 81 8.6 33 40.7 35 43.3 7.4 Qua kết nghiên cứu ta thấy rằng, lớp thực nghiệm tỷ lệ đạt điểm giỏi cao lớp đối chứng Ngược lại, tỷ lệ điểm trung bình trung bình lớp đối chứng lại cao Điều phần cho thấy học sinh lớp thực nghiệm tiếp thu kiến thức nhiều tốt 3 KẾT LUẬN 3.1 Kết luận Qua thời gian gần 10 năm giảng dạy trường THPT Quan Hóa – trường miền núi cao Thanh Hóa, nơi có chất lượng đầu vào thấp, học sinh không ham học đời sống nhân dân cịn nghèo Tơi muốn sức làm thay đổi điều lợi ích học sinh, nhân dân Quan Hóa Tơi hiểu việc thay đổi ý thức người vơ khó khăn, để thay đổi ý thức học tập học sinh trước hết người giáo viên phải thay đổi phương pháp, hình thức tổ chức dạy học Tơi bước thay đổi hoạt động dạy học, giao quyền chủ động cho em, kích thích tị mị tìm hiểu kiến thức học sinh để làm tăng hứng thú học tập cho học sinh từ giúp em hiểu rõ tầm quan trọng Tin học sống xã hội ngày Đề tài giúp nâng cao kỹ tư cho học sinh khơng mơn học nói riêng mà cịn mơn tự nhiên nói chung, từ cải thiện chất lượng học tập em 3.2 Kiến nghị Để học tốt môn Tin học cần có trợ giúp phương tiện, máy tính máy chiếu Tại trường THPT Quan Hóa, có phịng học có lắp đặt máy chiếu dùng chung cho trường vị trí cách xa lớp học khoảng cách 60 m việc mong quan tâm cấp, ngành sở vật chất nhà trường Trên kinh nghiệm nhỏ mà tơi đúc rút từ q trình giảng dạy trường THPT Quan Hóa, tơi xin chia sẻ với đồng nghiệp Dù nhiều cố gắng chắn khơng tránh khỏi sai sót Tơi mong nhận đóng góp ý kiến từ Ban giám hiệu nhà trường, đồng nghiệp để bổ sung, rút kinh nghiệm, tiếp tục cống hiến cho nghiệp giáo dục miền núi XÁC NHẬN CỦA HIỆU TRƯỞNG Quan Hóa ngày 18 tháng năm 2019 Tơi xin cam đoan SKKN thân viết không chép nội dung người khác Võ Văn Thuận TÀI LIỆU THAM KHẢO [1] Hồ Sĩ Đàm – Sgk Tin học 10 – NXBGD [2] Hồ Sĩ Đàm – Sgk Tin học 11 – NXBGD [3] Hồ Sĩ Đàm – Sgv Tin học 10 – NXBGD [4] Hồ Sĩ Đàm – Sgv Tin học 11 – NXBGD [5] Quách Tuấn Ngọc – Ngơn ngữ lập trình Pascal [6] Thuật tốn kỹ thuật lập trình – NXB Hà Nội [7] Nguôn Internet: violet.vn, tailieu.vn SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT QUAN HOÁ SÁNG KIẾN KINH NGHIỆM XÂY DỰNG MỘT SỐ THUẬT TOÁN CỞ BẢN NHẰM CẢI THIỆN KĨ NĂNG LẬP TRÌNH TIN HỌC 11 CHO HỌC SINH Ở MỘT TRƯỜNG MIỀN NÚI Người thực hiện: Võ Văn Thuận Chức vụ: Giáo viên SKKN thuộc môn: Tin học THANH HÓA NĂM 2019 ... trường THPT Quan Hóa , nhằm giúp học sinh bước đầu hiểu rõ tiếp cận với thuật toán giải toán để việc lập trình đạt kết tốt hơn, tơi lựa chọn đề tài “ Xây dựng số thuật tốn nhằm cải thiện kĩ lập. .. tốn nhằm cải thiện kĩ lập trình tin học 11 cho học sinh trường miền núi” 1.2 Mục đích nghiên cứu: Giúp học sinh hiểu thuật toán toán Từ đó, em hình thành tư lập trình cho tốn khác 1.3 Đối tượng... THUẬT TOÁN CỞ BẢN NHẰM CẢI THIỆN KĨ NĂNG LẬP TRÌNH TIN HỌC 11 CHO HỌC SINH Ở MỘT TRƯỜNG MIỀN NÚI Người thực hiện: Võ Văn Thuận Chức vụ: Giáo viên SKKN thuộc môn: Tin học THANH HÓA NĂM 2019

Ngày đăng: 19/07/2020, 16:02

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

TÀI LIỆU LIÊN QUAN

w