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

skkn tin học CHƯƠNG TRÌNH CON

11 671 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 11
Dung lượng 115,5 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 là vấn đề tương đối mới đối với học sinh THPT, đặt biệt là học sinh vùng nông thôn trường THPT Xuân Hưng Trong quá trình lập trình nếu học sinh không nắm vững về chương trình thì thường dẫn đến các sai sót dẫn tới chương trình không đạt được kết quả mong muốn - Để học sinh có thể hiểu kĩ và nhận thấy được lợi ích của chương trình quá trình lập trình để giải quyết các bài toán Tạo hứng thú quá 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 một 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 quyết các bài toán quá trình học - Được hỗ trợ 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ế - Khả diễn đạt cách giải một bà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ế - Khả 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 toán lĩnh vực trở nên phổ biến Để giải toán lớn cách lập trình không sử dụng chương trình khó thực đặc biệt 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 số toán thường gặp toán học tập liên quan để học sinh hiểu rõ cách viết chương trình Pascal từ tự giải số toán tương tự A TÓM TẮT LÝ THUYẾT: I/ Khái niệm chương trình con: Chương trình dãy lệnh mô tả số thao tác định 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ị qua tên - Thủ tục (procedure) chương trình thực tháo tác định không trả giá trị qua tên Cấu trúc chương trình a Cấu trúc thủ tục: Procedure [(danh sách tham số)]; [] Begin []; End; b Cấu trúc hàm: - Hàm có cấu trúc tương tự thủ tục, nhiên có khác phần đầu - Khai báo phần đầu hàm sau: Function [(danh sách tham số)]:; - Kiểu liệu kiểu liệu giá trị mà hàm trả vể kiểu: integer, real, char, boolean, string - Khá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 khai báo cho liệu vào/ra 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 gọi tham số thực - Biến cục biến khai báo để dùng riêng chương trình - Biến toàn cục biến 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 thay tham số thực tương ứng giá trị cụ thể 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 thay tham số thực tương ứng biến chứa liệu 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 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 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 xếp cần giữ lại giá trị sau 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ỏ 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 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ử mảng A, dòng thứ chứa số nguyên giá trị phần tử mảng số cách dấu cách, sau tạo mảng B B[i] tổng i phần tử mảng A Ghi giá trị 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ị dãy B - Thiết kế thủ tục ghi giá trị 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 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 dấu cách) Ghi dãy số 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 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 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 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 nhập vào từ bàn phím chạy chương trình k Viết chương trình tính tổ hợp Cn Trong n, k số nguyên dương 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ị số 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; q, k số x y nguyên, so 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= x 100+ y200+z50 Trong x, y, z số thự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 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 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ạ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ỏ 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 số nguyên dương IV KẾT QUẢ Thông qua số tập mẫu giúp cho học sinh nắm 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 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 giảm tải - Đối với lớp có học lực thấp, 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 kết 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 mở rộng cho toàn học sinh nhiên cần ý đối tượng áp dụng cho có kết 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ả 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  - Có giải pháp cải tiến, đổi từ giải pháp có  Hiệu - Hoàn toàn triển khai áp dụng toàn ngành có hiệu cao  - Có tính cải tiến đổi từ giải pháp có triển khai áp dụng toàn ngành có hiệu cao  - Hoàn toàn triển khai áp dụng đơn vị có hiệu cao  - Có tính cải tiến đổi từ giải pháp có triển khai áp dụng đơn vị có hiệu  Khả áp dụng - Cung cấp 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  - Đã á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 (Ký tên ghi rõ họ tên) THỦ TRƯỞNG ĐƠN VỊ (Ký tên, ghi rõ họ tên đóng dấu)

Ngày đăng: 14/08/2016, 14:32

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w