Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
425,11 KB
Nội dung
BM 01-Bìa SKKN SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐỒNG NAI TRƯỜNG THPT XUÂN HƯNG Mã số: SÁNG KIẾN KINH NGHIỆM CHƯƠNG TRÌNH CON Người thực hiện: Nguyễn Văn Bính Lĩnh vực nghiên cứu: Quản lý giáo dục Phương pháp dạy học môn: Tin học 11 Phương pháp giáo dục Lĩnh vực khác: Có đính kèm: Mô hình Phần mềm Phim ảnh Năm học: 2011-2012 Hiện vật khác BM02-LLKHSKKN SƠ LƯỢC LÝ LỊCH KHOA HỌC I THÔNG TIN CHUNG VỀ CÁ NHÂN Họ tên: NGUYỄN VĂN BÍNH Ngày tháng năm sinh: 15/08/1982 Nam, nữ: Nam Địa chỉ: Ấp 2A, Xuân Hưng, Xuân Lộc, Đồng Nai Điện thoại: (CQ)/ (NR); ĐTDĐ: 01667489510 Fax: E-mail: vanbinh2007@gmail.com Chức vụ: Giáo Viên Đơn vị công tác: TRƯỜNG THPT XUÂN HƯNG II TRÌNH ĐỘ ĐÀO TẠO - Học vị (hoặc trình độ chuyên môn, nghiệp vụ) cao nhất: CỬ NHÂN - Năm nhận bằng: 2004 - Chuyên ngành đào tạo: TOÁN – TIN HỌC III KINH NGHIỆM KHOA HỌC - Lĩnh vực chuyên môn có kinh nghiệm: Giảng dạy môn Tin học Số năm có kinh nghiệm: năm - Các sáng kiến kinh nghiệm có năm gần đây: BM03-TMSKKN CHƯƠNG TRÌNH CON I LÝ DO CHỌN ĐỀ TÀI - Lập trình vấn đề tương đối m i đối v i học sinh THPT, đặt biệt học sinh v ng nông thôn trường THPT Xuân Hưng Trong uá trình lập trình học sinh không n m vững chương trình thường d n đến sai sót d n t i chương trình không đạt đư c kết uả mong muốn - Đ học sinh có th hi u kĩ nhận thấy đư c l i ích c a chương trình uá trình lập trình đ giải uyết toán Tạo hứng th uá trình học tập II THỰC TRẠNG TRƯỚC KHI THỰC HIỆN CÁC GIẢI PHÁP CỦA ĐỀ TÀI Thuận lợi - Học sinh đư c tiếp cận số thuật toán l p dư i - Đã s dụng ngôn ngữ lập trình Pascal đ viết chương trình giải uyết toán uá trình học - Đư c hỗ tr c a thành viên tổ Khó khăn - Do bư c đầu tiếp cận việc lập trình nên khả c n hạn chế - diễn đạt cách giải toán sang thuật toán c n nhiều khó khăn học sinh v ng nông thôn khả tin học c n hạn chế - chuy n đổi t thuật toán biết sang ngôn ngữ lập trình cụ th c n gặp nhiều khó khăn III NỘI DUNG ĐỀ TÀI Cơ sở lý luận - Ngày việc lập trình đ giải uyết toán lĩnh vực tr nên phổ biến Đ giải uyết toán l n cách lập trình không s dụng chương trình khó có th thực đặc biệt đối v i toán l n cần nhiều người tham gia - Làm s cho học sinh sau tiếp cận v i phương pháp lập trình khác Nội dung, biện pháp thực giải pháp đề tài - Nêu cách lập trình giải uyết số toán thường gặp toán học tập liên uan đ học sinh hi u rõ cách viết chương trình Pascal t có th tự giải uyết số toán tương tự A TÓM TẮT LÝ THUYẾT: I/ hái niệm chương trình con: Chương trình dãy lệnh mô tả số thao tác định có th đư c thực (đư c gọi) t nhiều vị trí chương trình II/ Phân loại cấu tr c chương trình Phân loại - Hàm (function) chương trình thực số thao tác trả giá trị ua tên c a - Th tục (procedure) chương trình thực tháo tác định không trả giá trị ua tên c a Cấu tr c chương trình a Cấu tr c c a th tục: Procedure [(danh sách tham số)]; [] Begin []; End; b Cấu tr c c a hàm: - Hàm có cấu tr c tương tự th tục, nhiên có khác phần đầu - hai báo phần đầu hàm sau: Function [(danh sách tham số)]:; i u liệu ki u liệu c a giá trị mà hàm trả v có th ki u: integer, real, char, boolean, string hác v i th tục, thân hàm cần có lệnh gán giá trị cho tên hàm: := ; Một số khái niệm - Tham số hình thức: Các biến đư c khai báo cho liệu vào/ra đư c gọi tham số hình thức - Tham số thực sự: Đ thực (gọi) chương trình con, ta cần phải có lệnh gọi tương tự lệnh gọi hàm hay th tục chuẩn, bao gồm tên chương trình v i tham số (nếu có) biến chứa liệu và tương ứng v i tham số hình thức đặt cặp dấu ngoặc ( ) Các biến đư c gọi tham số thực - Biến cục biến đư c khai báo đ d ng riêng chương trình - Biến toàn cục biến đư c d ng vị trí chương trình - Tham số giá trị ( tham trị) lệnh gọi th tục tham số hình thức đư c thay tham số thực tương ứng giá trị cụ th đư c gọi tham số giá trị - Tham số biến (tham biến) lệnh gọi th tục tham số hình thức đư c thay tham số thực tương ứng biến chứa liệu đư c gọi tham số biến - Đ phân biệt tham số biến tham trị, Pascal s dụng t khóa Var đ khai báo tham số biến B BÀI TẬP ÁP DỤNG: I/ BÀI TẬP SỬ DỤNG THỦ TỤC Bài tập 1: Viết chương trình nhập vào số nguyên dương N (N≤ 300) dãy A gồm N số nguyên S p xếp dãy số v a nhập thành dãy không giảm xuất dãy đư c s p xếp hình Phân tích: - Thiết kế chương trình phục vụ việc nhập dãy số - Thiết kế chương trình phục vụ việc xuất dãy số hình - Thiết kế chương trình d ng đ thực công việc s p xếp - Các chương trình không cần trả giá trị cụ th nên d ng th tục - Đối v i th tục nhập mảng cần phải lại thay đổi bên nên s dụng tham số biến - Đối v i th tục s p xếp cần giữ lại giá trị sau s p xếp nên khai báo mảng tham số biến, số lư ng phần t không thay đổi nên d ng tham trị Chương trình: Program sapxepdayso; Uses CRT; Const Nmax = 300; Type ArrInt = Array[1 300] of integer; Var A: ArrInt; N: integer; Procedure Nhap_Mang(var A: ArrInt; var M: integer); Var i: integer; Begin Write(‘Nhap so phan tu cua day so:’); Readln(M); For i:=1 to M Begin Write(‘A[‘,i,’]=’); Readln(A[i]); End; End; Procedure Hoan_doi(var a,b:integer); Var tam: integer; Begin tam:= a; a := b; b:= tam; End; Procedure Sap_xep(var A: ArrInt; M: integer); Var i, j: integer; Begin For j:=M downto For i:=1 to j-1 If A[i] > A[i+1] then Hoan_doi(A[i],A[i+1]); End; Procedure Xuat_mang(A: ArrInt; M: integer); Var i: integer; Begin For i:=1 to M Write(A[i]: 5); End; BEGIN Clrscr; Nhap_mang(A,n); Sap_xep(A,n); Xuat_mang(A,n) Readln END Bài tập tương tự: Viết chương trình nhập vào dãy số nguyên dương B gồm M phần t (M≤300) Tìm giá trị nhỏ c a dãy Viết chương trình nhập vào số nguyên dương N (N≤ 300) dãy A gồm N số nguyên S p xếp dãy số v a nhập thành tăng xuất dãy đư c s p xếp hình Bài tập 2: Viết chương trình đọc liệu t tệp A.IN đưa vào mảng A: d ng tệp A.IN chứa số phần t c a mảng A, d ng thứ chứa số nguyên giá trị c a phần t mảng số cách b i dấu cách, sau tạo mảng B B[i] tổng i phần t mảng A Ghi giá trị c a mảng B tệp B.OUT Phân tích: - Thiết kế th tục phục vụ đọc liệu t tệp - Thiết kế th tính giá trị c a dãy B - Thiết kế th tục ghi giá trị c a dãy B tệp Chương trình: program TEP_DL; const input='A.IN'; output='B.OUT'; max=300; var A, B:array[1 max] of integer; i, n: integer; procedure Doc_DL; var f:text; i: integer; Begin assign(f,input); reset(f); readln(f,n); for i:=1 to n read(f,A[i]); close(f); End; procedure XuLi_DL; var i:integer; Begin B[1]:=A[1]; for i:=2 to n B[i]:=B[i-1]+A[i]; End; Procedure Ghi_DL; var i: integer; f:text; Begin assign(f,output); rewrite(f); for i:=1 to n write(f,B[i]:3); close(f); End; Begin Doc_DL; XuLi_DL; Ghi_DL; End Bài tập tương tự: Viết chương trình s p xếp dãy số chứa tệp INPUT.IN (d ng 1: Chứa số n, d ng 2:chứa n số nguyên cách b i dấu cách) Ghi dãy số đư c s p tăng dần tệp OUTPUT.OUT Viết chương trình đọc dãy số chứa tệp INPUT.IN (d ng 1: Chứa số n, d ng 2:chứa n số nguyên cách b i dấu cách) Cho biết dãy số có số chẵn, số lẻ tính tổng số chẵn, tổng số lẻ tệp OUTPUT.OUT( d ng ghi số: số số lư ng số chẵn dãy, số tổng số chẵn; d ng thứ ghi số: số số lư ng số lẻ dãy, số tổng số lẻ) II BÀI TẬP SỬ DỤNG HÀM Bài toán 1: Viết chương trình tính n giai th a Trong n số nguyên dương đư c nhập vào t bàn phím chạy chương trình Phân tích: Cần thiết kế chương trình con(hàm) đ tính giai th a Chương trình: Program Giai_thua; Uses CRT; Var n: word Fucntion GT(k: word): longint; Var T, i: word; Begin T:= 1; For i:=1 to k T:= T* i; GT:=T; End; BEGIN Clrscr; Write(‘nhap n:’); readln(n); Write(n,’!=’, GT(n)); Readln END Bài tập tương tự: Viết chương trình tính tổng S= a! + b! + c! Trong a, b, c số nguyên dương đư c nhập vào t bàn phím chạy chương trình Viết chương trình tính chỉnh h p Ank Trong n, k số nguyên dương đư c nhập vào t bàn phím chạy chương trình Viết chương trình tính tổ h p Cnk Trong n, k số nguyên dương đư c nhập vào t bàn phím chạy chương trình Bài toán 2: Tính tổng lũy th a S=ax+by+cz Trong a, b, c số thực; x, y, z số nguyên dương Giá trị c a số đư c nhập vào t bàn phím chạy chương trình Program Tong_luy_thua; Uses CRT; Var a,b,c: real; x, y, z: word; Fucntion Luythua(x:real; k: word): real; Var i: integer; T:real; Begin T:= 1; For i:=1 to k T:= T* x; Luythua:=T; End; BEGIN Clrscr; Write(‘nhap a,b,c,x,y,z:’); readln(a,b,c,x,y,z); S:=Luythua(a,x)+ Luythua(b,y)+Luythua(c,z); Write(‘Tong luy thua:’,s:8:2); Readln END Bài tập tương tự: xk y q Viết chương trình tính giá trị T= 20 20 Trong x, y số thực; , k số x y nguyên, so đư c nhập vào t bàn phím chạy chương trình Viết chương trình tính tổng S= x100+ y200+z50 Trong x, y, z số thực đư c nhập vào t bàn phím chạy chương trình Bài tập 3: Cho chiều dài c a ba cạnh tam giác Viết chương trình tính chu vi, diện tích, chiều dài đường cao, chiều dài đường trung truyến c a tam giác Program Tam_giac; Uses CRT; Fucntion Chuvi(a,b,c: real): real; Begin Chuvi:=a+b+c; End; Fucntion Dientich(a,b,c: real): real; Var p: real; Begin p:=(a+b+c)/2; Dientich := sqrt(p*(p-a)*(p-b)*(p-c)); End; Fucntion Trungtuyen(a,b,c: real): real; Begin Trungtuyen:=sqrt(((b*b+c*c )- a*a)/(4*a)) End; Fucntion Chieucao( a,b,c, x: real): real;(*x chiều cao c a cạnh tương ứng cần tính*) Begin Chieucao := 2*Dientich(a,b,c)/x; End; BEGIN Clrscr; Write(‘nhap a, b, c:’); readln(a,b,c); If (a+b>c) and (b+c>a) and (a+c>b) then Begin Write(‘Chu vi tam giac’, Chuvi(a,b,c):5:2); Write(‘Dien tich tam giac’, Dientich(a,b,c):5:2); Write(‘Trung tuyen m_a’, Trungtuyen(a,b,c):5:2); Write(‘Trung tuyen m_b’, Trungtuyen(b,a,c):5:2); Write(‘Trung tuyen m_c’, Trungtuyen(c,b,a):5:2); Write(‘Chieu cao h_a’, Chieucao(a,b,c,a):5:2); Write(‘Chieu cao h_b’, Chieucao(a,b,c,b):5:2); Write(‘Chieu cao h_c’, Chieucao(a,b,c,c):5:2); End Else Write(‘Ba so vua nhap khong tao ba canh cua tam giac’); Readln END Bài tập tương tự: Viết chương trình tính chu vi, diện tích hình chữ nhật có chiều dài chiều rộng cạnh a, b Viết chương trình tính chu vi, diện tích hình tr n có bán kính R Viết chương trình tính chu vi, diện tích hình vuông có cạnh a Bài toán 4: Viết chương trình nhập vào hai số nguyên dương Tìm bội số chung nhỏ c a số Program BT_UCLN; Var x, y: word; Function UCLN(a,b:word):word; Begin a:= abs(a); b:=abs(b); while a b begin if a > b then a:=a-b; if b > a then b:= b- a; end; UCLN:= a; End; BEGIN Write(‘x,y:’);Readln(x,y); Write(‘BCNN cua’, x, ‘va’, ‘y:’, (x*y) div UCLN(x,y)); Readln END Bài tập tương tự: Viêt chương trình tìm c chung l n c a số nguyên dương IV KẾT QUẢ Thông ua số tập m u gi p cho học sinh n m đư c phương pháp giải chung, t áp dụng đ giải số toán có s dụng chương trình V BÀI HỌC KINH NGHIỆM - Trong uá trình giảng dạy cần khuyến khích học sinh tích cực tham gia thảo luận, phát bi u ý kiến, tránh áp đặt cho học sinh - Có th d ng tập thực hành thay cho tiết thực hành sách giáo khoa đư c giảm tải - Đối v i l p có học lực thấp, có th giảm b t chương trình th tục thao tác mảng chiều tập trung nhiều vào chương trình phần s dụng hàm VI KẾT LUẬN Đ học sinh đạt đư c kết uả tốt đòi hỏi học sinh phải n m vững kiến thức cách giải toán toán học đ phân tích toán thành thuật toán đ viết chương trình V i đề tài có th m rộng cho toàn học sinh nhiên cần ch ý đối tư ng áp dụng cho có kết uả tốt VII TÀI LIỆU THAM KHẢO Ghi tên tài liệu tham khảo tên tác giả đư c s dụng trích d n sáng kiến kinh nghiệm Sách giáo khoa Tin học 11 - Hồ Sĩ Đàm – Nhà xuất giáo dục - 2006 Sách giáo viên Tin học 11 - Hồ Sĩ Đàm – Nhà xuất giáo dục - 2006 Sách tập Tin học 11 - Hồ Sĩ Đàm - Nhà xuất giáo dục - 2006 Sách giáo khoa Tin học 10 - Hồ Sĩ Đàm - Nhà xuất giáo dục - 2006 NGƯỜI THỰC HIỆN (Ký tên ghi rõ họ tên) NGUYỄN VĂN BÍNH SỞ GD&ĐT ĐỒNG NAI TRƯỜNG THPT XUÂN HUNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Xuân Hưng, ngày 15 tháng 05 năm 2012 PHIẾU NHẬN XÉT, ĐÁNH GIÁ SÁNG KIẾN KINH NGHIỆM Năm học: 2011-2012 ––––––––––––––––– Tên sáng kiến kinh nghiệm: CHƯƠNG TRÌNH CON Họ tên tác giả: NGUYỄN VĂN BÍNH Đơn vị (Tổ): Toán – Tin , trường THPT Xuân Hưng Lĩnh vực: Quản lý giáo dục Phương pháp dạy học môn: TIN HỌC 11 Phương pháp giáo dục Lĩnh vực khác: Tính - Có giải pháp hoàn toàn m i - Có giải pháp cải tiến, đổi m i t giải pháp có Hiệu - Hoàn toàn m i tri n khai áp dụng toàn ngành có hiệu uả cao - Có tính cải tiến đổi m i t giải pháp có tri n khai áp dụng toàn ngành có hiệu uả cao - Hoàn toàn m i tri n khai áp dụng đơn vị có hiệu uả cao - Có tính cải tiến đổi m i t giải pháp có tri n khai áp dụng đơn vị có hiệu uả Khả áp dụng - Cung cấp đư c luận khoa học cho việc hoạch định đường lối, sách: Tốt Khá Đạt - Đưa giải pháp khuyến nghị có khả ứng dụng thực tiễn, dễ thực dễ vào sống: Tốt Khá Đạt - Đã đư c áp dụng thực tế đạt hiệu có khả áp dụng đạt hiệu phạm vi rộng: Tốt Khá Đạt XÁC NHẬN CỦA TỔ CHUYÊN MÔN ( ý tên ghi rõ họ tên) THỦ TRƯỞNG ĐƠN VỊ ( ý tên, ghi rõ họ tên đóng dấu)