bồi dưỡng học sinh giỏi tin học 10

19 114 0
bồi dưỡng học sinh giỏi tin học 10

Đ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

Chuyên đề bồi dưỡng giáo viên tin học THCS Nội dung I Rèn luyện tư thuật toán cho học sinh THCS Tại phải rèn luyện kỹ tìm tòi thuật tốn Xác định rõ INPUT OUTPUT Mịn dần thuật toán II Rèn luyện phong cách lập trình tốt cho học sinh THCS 1.Quy ước cách đặt tên cho định danh Phong cách viết mã nguồn 4.Tối ưu thực thi mã nguồn Tạo thử III Các dạng toán bồi dưỡng mơn tin cho HSG THCS 1.Các tốn số học 2.Các toán mảng chiều , hai chiều Các toán xử lý xâu I Rèn luyện tư thuật toán cho học sinh THCS Tại phải rèn luyện tư thuật toán cho học sinh THCS Trong sách tiếng NNLT Pascal ( viết năm 1970), tác giả N.With viết dòng từ trang đầu: CHƯƠNG TRÌNH= THUẬT TỐN +CẤU TRÚC DỮ LIỆU Như thuật toán phần quan bậc để tạo nên chương trình Nhưng hết tiểu học, học sinh chưa làm quen với khái niệm thuật tốn Do học lập trình khó khăn ban đầu học sinh tìm thuật tốn để giải toán cho Một học sinh muốn tiến sâu, tiến xa tương lai phải có tư thuật toán tốt Bởi làm quen rèn luyện tư thuật toán cho học sinh bắt đầu học lập trình yêu cầu thiết yếu Không nên vội vàng cho học sinh làm việc máy tính ln bát đầu học Có thầy giáo dạy tin học cho lớp chuyên tin bỏ học kỳ để dạy riêng thuật tốn II Phong cách lập trình tốt Để có phong cách lập trình tốt ngồi việc tn theo quy chuẩn, cần phải tuân theo quy ước Cơ sở cho việc cài đặt chương trình hiệu là: Cách trình bày rõ ràng, sáng sủa bật cấu trúc logic chương trình Một phần nhỏ lập trình để máy tính đọc Phần lớn viết mã lệnh cho chương trình chạy theo chức để người dễ đọc, dễ hiểu Lợi ích việc trình bày cẩn thận:  Thể tốt cấu trúc lôgic mã lệnh  Cải thiện khả đọc  Bảo đảm xác thay đổi  Các lợi ích hệ lợi ích - Chương trình mắc lỗi dễ sửa chữa mắc lỗi - Tiết kiệm thời gian sửa lỗi - Tăng khả làm việc theo nhóm, Quy ước cách đặt tên cho định danh Thông thường tùy theo ngơn ngữ mơi trường lập trình, người viết chương trình chọn cho phong cách quán việc đặt tên cho định danh Tuy nhiên, nên đặt cho thuận tiện, dễ đọc, dễ nhớ dễ làm việc, có số quy tắc cần quan tâm đặt tên sau: a) Đặt tên cho biến Tên biến nên thể ý nghĩa: thông thường biến nguyên i, j, k dùng làm biến lặp; x, y dùng làm biến lưu tọa độ… Còn biến lưu trữ khác nên đặt tên gợi nhớ: Biến đếm số lần dùng “Count” hay “Sluong”; biến trọng lượng “weight” hay “Tluong”… Nếu đặt ngắn “c” cho biến đếm hay “w” cho biến trọng lượng sau nhìn vào chương trình khó hiểu dễ nhầm lẫn, khơng nên q dài dòng “Demsoluong” hay “Tinhtrongluong” dùng rườm rà, tốn thời gian viết b) Đặt tên hằng: Tất ký tự viết hoa Ví dụ: Const MAXN = 10000; INPUT = ‘Baitap.inp’; c) Đặt tên cho chương trình con: Tên chương trình thường bắt đầu chữ hoa Vì chương trình thường thực chức nên tên hay bắt đầu động từ Ví dụ: TimMax( ); GetNum( ); Phong cách viết mã nguồn a) Quy tắc trình bày tổng thể chương trình: - Chương trình nên tách thành nhiều đơn thể (mơ _ đun), đơn thể thực công việc, độc lập với tốt (chương trình con) Điều giúp cho chương trình dễ cải tiến đọc chương trình ta dễ hình dung vấn đề thực - Nên sử dụng tham số truyền thông tin cho chương trình Tránh sử dụng biến tồn cục để truyền thơng tin chương trình làm tính độc lập chương trình khó khăn kiểm sốt giá trị chúng chương trình thi hành - Cách trình bày chương trình quán dễ đọc, dễ hiểu - Chương trình nên giữ tính đơn giản, rõ ràng - Chương trình nên thực dòng chảy từ xuống: + Sau đến khai báo đơn vị, khai báo hằng, khai báo kiểu, khai báo biến toàn cục, khai báo chương trình + Khơng nên sử dụng Goto phá vỡ tính việc thực chương trình b) Quy tắc trình bày dòng lệnh - Mỗi câu lênh nên đặt riêng dòng để chương trình dễ đọc dễ quan sát cách thực hiên dùng watch để tìm lỗi - Sử dụng tab để canh lề chương trình (các lệnh ngang cấp phải tab vào nhau): Điều giúp chương trình rõ ràng dễ quản lý Ví dụ: Không nên For i := to n Begin Action1; Action2; Nên For i := to n Begin End; Action1; Action2; Nên viết Begin - End; end; viết lệnh vào để tránh thiếu end; Sử dụng khoảng trắng chương trinh dễ nhìn hơn: Ví dụ: Khó đọc If (a y then d:=True else d:= False; - Nên d := x>y; Tránh lãng phí nhớ: Bằng cách sử dụng kiểu liệu nhỏ đủ để lưu trữ Việc sử dụng tài nguyên nhiều mức đòi hỏi chương trình thói quen xấu mà người lập trình hay mắc phải Hơn tốc độ chương trình nhanh sử dụng kiểu liệu nhỏ - Khai báo biến cục phạm vi gần nhất: Khai báo biến cục gần với điểm sử dụng Việc khai báo phạm vi rộng làm lãng phí khó kiểm sốt - Giảm số lượng tham số truyền vào hàm: Việc sử dụng hàm có nhiều tham số truyền vào làm ảnh hưởng đến ngăn xếp dành cho việc gọi hàm Nhất trường hợp tham số kiểu liệu có cấu trúc Sử dụng trỏ hay tham chiếu trường hợp để đơn giản hóa 4) Kiểm nghiệm chương trình với test đầy đủ - Test đầu bài, - Các test đơn giản - Test trường hợp đặc biệt - Test lớn - Xem lại đề để khơng bỏ sót trường hợp III Các dạng tốn bồi dưỡng mơn tin cho HSG THCS Nhóm tốn lập trình thường phân loại theo thuật toán, theo cấu trúc liệu dùng để giải Ở bậc THPT dạng toán phong phú nhiều mở rộng CTDL song song với việc mở rộng thuật toán Ở bậc trung THCS toán thường sử dụng vòng lặp, sử dụng kiến thức tốn UCLN , BCNN, số nguyên tố, chia hết số ngun,…Các dạng tốn thường gặp là:  Nhóm tốn số học:  Nhóm tốn thao tác mảng chiều  Nhóm tốn xử lý xâu  Các toán khác Các toán số học Để giải toán số học giáo viên cần cho học sình ứng dụng nhuần nhuyễn kiến thức số học THCS chủ yếu dựa vào phép toán DIV, MOD:  Thuật tốn tìm UCLN số ngun dương: Cho số nguyên dương m, n Tìm UCLN(m,n) Học sinh thường dùng thuật toán Thuật toán 1: Sử dụng phép trừ liên tục số nhau: + Nhập m, n + While mn If m>n then m:=m-n Else n:=n-m; +UCNN:=n; Thuật toán chạy chậm: Ví dụ với m=1000000000, n=1 phải chạy tỷ phép toán Thuật toán 2: (Đối với HSG nên hướng em sử dụng thuật toán này) + Nhập m, n + While n Begin r:= m mod n m:=n; n:=r; End; +UCLN:=m Với thuật toán m=1000000000, n=1, vài phép toán để tính UCLN(m,n) Để tìm UCLN dãy a1, a2,…,an, cần lập hàm: FUNCTION UCLN(a, b: longint): longint; Khi + d:=a1; + for i:=2 to n Begin b:=ai; d:=UCLN(d, b);End;  Thuật tốn tìm BCNN số: Ta có BCNN(m,n)= (m * n) div UCLN(m, n) Ở học sinh thường mắc sai lầm sau : Sai lầm : d :=UCLN(m, n) ; BCNN :=m*n div d ; Đúng phải : BCNN :=m * n (lưu tích m.n) d := UCLN(m, n) ; BCNN := BCNN div d Sai lầm : BCNN(m, n, k) = m*n*k div UCLN(m, n k) Để tìm BCNN dãy số nguyên dương a1, a2, …,an (n>=2) BCNN:=a1; d:=a1; For i:=2 to n n Begin b:=ai BCNN:=BCNN*b; d:=UCLN(BCNN,b); BCNN:=BCNN div d ; End ;  Kiểm tra số nguyên tố Cho số nguyên P Hỏi P có phải số ngun tố khơng? Nhiều học sinh lập thuật toán đếm số ước P Nếu số ước P kết luận P số ngun tố Thuật tốn khơng sai chậm FUNCTION Ngto(P:Integer): Boolean; Var NT:Boolean; I:integer; Begin NT:=P>1; For i:=2 to Trunc(Sqrt(P)) If P mod I =0 then Begin NT:=False; Break End; Ngto:=NT; End;  Đếm số chữ số số, tính tổng chữ sơ Bài toán : Nhập số nguyên n Số n có chữ sơ Tính tổng chữ số n +TongCS:=0; SoCS:=0; + While n0 Begin Inc(SoCS); TongCS:=TongCS+ n mod 10; n := n div 10 ; End ;  Biểu diễn số tự nhiên n từ hệ đếm thập phân qua hệ đếm khác ngược lại Bài toán : Cho n số nguyên dương biểu diễn hệ thập phân Hãy biểu diễn n hệ đếm q – phân ( 1

Ngày đăng: 27/02/2020, 01:58

Từ khóa liên quan

Mục lục

  • Chuyên đề bồi dưỡng giáo viên tin học THCS

  • III. Các dạng toán bồi dưỡng môn tin cho HSG THCS

  • I. Rèn luyện tư duy thuật toán cho học sinh THCS.

  • II. Phong cách lập trình tốt.

  • 1. Quy ước về cách đặt tên cho các định danh.

  • 2. Phong cách viết mã nguồn.

  • 3. Tối ưu sự thực thi mã nguồn

  • 4) Kiểm nghiệm chương trình với các bộ test đầy đủ nhất.

  • III. Các dạng toán bồi dưỡng môn tin cho HSG THCS .

  • Nhóm các bài toán số học:

  • Kiểm tra số nguyên tố.

  • Đếm số chữ số của một số, tính tổng các chữ sô

  • Biểu diễn số tự nhiên n từ hệ đếm thập phân qua các hệ đếm khác và ngược lại

  • Một số bài toán số học.

  • Bài 2. Rút gọn phân số.

  • Bài 3. Giai thừa.

  • Bài 5. Phân tích (Thi HSG MOSKVA)

  • Bài .6 Số nguyên tố.

  • Lời giải

  • Thuật toán tốt.

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

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

Tài liệu liên quan