Sáng kiến kinh nghiệm Chương trình con

11 298 0
Sáng kiến kinh nghiệm Chương trình con

Đ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

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)

Ngày đăng: 01/11/2016, 22:27

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan