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

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 46 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 357,5 KB

Nội dung

MỤC LỤC Trang MỞ ĐẦU .2 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu: .2 1.3 Đối tượng phạm vi áp dụng: .2 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 toá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 toán .5 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 .7 2.2.3.3 Thuật toán theo chu trình có bước lặp xác định 2.3.3.4 Thuật tố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 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 toá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 tố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 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 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 tốn tốn Từ đó, em hình thành tư lập trình cho toá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 toá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 toá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 toá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ố toá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 toán, từ rèn luyện tư logic + Củng cố kiến thức mơn học Tốn, Lý 2.2 Thực trạng vấn đề * Thuận lợi: - Toàn ngành, tồ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ợ 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 thấp khơng đồng lớp - Học sinh lớp 11 gặp khó khăn với đa phần học sinh nhà trường việc xác định thuật tố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 tốn tố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 toá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 tố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 tốn kiểu + Tính dừng: Thuật toá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 toá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 toá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 tố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 tố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 tố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 tố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 ; a , hb 2s ; b hc 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 ; uuur - Sử dụng công thức: AB=(x B -x A ;y B -y A ) ; uuur AC=(x C -x A ;y C -y A ) ; uuur uuur Tích vơ hướng: AB.AC=(x B -x A ).(x C -x A )+(yB -y A ).(yC -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 uuur 2 - Sử dụng công thức: AB= AB = (x B -x A ) +(y B -y A ) ; Từ tập giáo viên hướng dẫn học làm tập SGK chương y Bài tâp SGK_tr36: a * Xác định toán: - Input: cạnh a (a>0) x - Output: Diện tích gạch chéo * Thuật toán: 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); kết thúc Readln; 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 tốn có phân nhánh Sơ đồ: Dạng thiếu Đúng Đ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 Hướng dẫn Câu lệnh - Sử dụng If lồng 2.2.3.3 Thuật tốn theo chu trình có bước lặp xác định Sơ đồ: Sai Điều Đúng kiện Bài tốn: Tính giai thừa số ngun dương n (n!=1.2 .(n-1).n) Xác định toán + Input: Số nguyên dương n; + Output: Giai thừa n (GT) Sơ đồ khối Chương trình: 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 Nhập n GT1 i1 GTGT*i ii+1 Bài tập áp dụng: Bài 1: Tính tổng Đ S= + + + ……… + n i n với n nhập từ bàn phím S Bài 2: Tính tổng 1 Thơng báo GT S      n kết thúc 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 n 1 n  Bài tập 5a SGK_ tr51: Lập trình tính Y= � 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 Sai Bài tốn: Tìm ước số chung lớn hai số nguyên dương a b * 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; Bước 4: bb – a quay lại bước 2; Nhập a,b Bước 5: Đưa kết UCLN rồ kết thúc Chương trình; Đ Program UCLN; ĐƯA KQ Var a,b,ucln:integer; UCLN(a,b a=b )=a Begin KẾT Writeln(‘nhap a,b’); THÚC S Readln(a,b); S While ab bb-a a>b If a>b then a:=a-b else b:= b-a; If a=b then ucln:=a; Đ Writeln(‘ uoc chung lon nhat la: ‘, ucln); Readln; aa-b 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 tốn: Input: nhập tuổi cha, tuổi con; Output: số năm tuổi cha gấp đơi tuổi *Thuật tố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ố ngun 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 n n + sh  sh*(1/n) e  e+ sh Thông báo S kết thúc Sh:=1/2; 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 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 Điểm yếu Điểm TB Điểm Điểm giỏi Lần Phương Số KT án SL % SL % SL % SL % ĐC 77 15 19.5 46 59.7 16 20.8 0 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 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à 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: 31/10/2019, 14:10

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

TÀI LIỆU LIÊN QUAN

w