skkn rèn luyện kỹ năng lập trình môn tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản

20 219 0
skkn rèn luyện kỹ năng lập trình môn tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản

Đ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

Rèn luyện kỹ lập trình Môn Tin học 11 cho học sinh khá, giỏi việc mở rộng toán ĐẶT VẤN ĐỀ Lời nói đầu Để rèn luyện kỹ lập trình cho học sinh khá, giỏi trước chọn đội tuyển thi học sinh giỏi môn Tin học có nhiều cách mà giáo viên áp dụng đối tượng học sinh khác Các trường có điểm thi đầu vào cao việc rèn luyện kỹ có nhiều thuận lợi với trường có điểm thi đầu vào trung bình thấp việc rèn luyện kỹ lập trình cho em gặp nhiều khó khăn Tuy nhiên trường với đối tượng học sinh khác giáo viên áp dụng nhiều biện pháp khác để rèn luyện kỹ lập trình cho học sinh với hiệu khác Các giáo viên hướng dẫn cho học sinh biết toán giải với nhiều thuật toán khác thuật toán giải toán lớp toán, thực tế cho thấy, đứng trước toán tin học học sinh thường lúng túng xác định thuật toán không xác định thuật toán, việc nhiều nguyên nhân, chẳng hạn môn Tin học không liên quan đến thi đại học nên em không tâm học, không đầu tư, em máy để thực hành thêm nhà… Tuy nhiên cho toán tin học có dạng tương tự dạng mở rộng từ toán sách giáo khoa, toán mà em biết em xây dựng có hứng thú để xây dựng thuật toán cho toán đặt Vì giáo viên chọn tập từ mở rộng phát triển để rèn luyện kỹ lập trình cho học sinh Dĩ nhiên cách làm không với giáo viên cách chọn toán để học sinh vận dụng gây hưng thú cho học sinh lại điều đáng quan tâm Với ý định “Rèn luyện kỹ lập trình Môn Tin học 11 cho học sinh khá, giỏi việc mở rộng toán bản” nên sáng kiến kinh nghiệm muốn trình bày kinh nhgiệm việc rèn luyện kỹ lập trình cho học sinh học môn Tin học 11 II Thực trạng vấn đề Đứng trước toán tin học học sinh thường lúng túng tìm thuật toán toán từ đâu tìm nào? Một số học sinh khá, giỏi có thói quen mò mẫm thử nghiệm để tìm lời giải, điều dẫn tới kết sai chệch hướng giải toán, hiệu suất để tìm thuật toán không cao, số học sinh cách tìm thuật toán từ đâu điều gây tâm lý chán nản cho em Với tình hính để giúp học sinh định hướng tốt trình tìm thuật toán, trước tự tìm thuật toán tốt người giáo viên cần tạo cho học sinh thói quen tìm thuật toán cho toán đặt từ các toán quen thuộc mà em biết, khai thác yếu tố đặc trưng số toán để tìm A I Rèn luyện kỹ lập trình Môn Tin học 11 cho học sinh khá, giỏi việc mở rộng toán thuật toán cho toán Việc áp dụng thuật toán toán để xây dựng thuật toán cho toán tương tự toán mở rộng từ toán trình giúp học sinh rèn luyện kỹ lập trình B GIẢI QUYẾT VẤN ĐỀ I Các giải pháp thực Xây dựng hệ thống tập để rèn luyện kỹ lập trình thông qua buổi học, buổi học nên chọn toán để mở rộng phát triển kỹ lập trình Mỗi buổi học nên xây dựng hệ thống tập sau: Bước 1: Chọn toán toán quen thuộc với học sinh để học sinh lập trình Bước 2: Mở rộng toán cấp độ (chỉ cần học sinh lập trình mà chưa cần quan tâm đến yếu tố như: quan tâm đến yếu tố đặc biệt liệu vào, thời gian, phạm vi giá trị biến…) Bước 3: Mở rộng toán cấp độ (quan tâm đến yếu tố như: trường hợp đặc biệt liệu vào, phạm vi giá trị biến, thời gian, chuyển sang đọc ghi vào kiểu tệp …) Bước 4: Mở rộng toán để học sinh rèn luyện kỹ lập trình nhà máy giấy sau nộp lại để giáo viên kiểm tra đánh giá Tổ chức cho học sinh hình thành kỹ lập trình thông qua nhiều buổi học có hướng dẫn giáo viên phòng máy Tổ chức kiểm tra để thu thập thông tin khả rèn luyện kỹ lập trình học sinh II Các biện pháp để tổ chức thực Nội dung triển khai thông qua buổi học (mỗi buổi học tiết) Số lượng buổi học buổi giáo viên xây dựng tùy vào chất lượng học sinh Trong phạm vi chương trình môn tin học lớp 11, sử dụng số hệ thống tập sau để rèn luyện kỹ lập trình cho học sinh khá, giỏi thông qua buổi học: BUỔI 1: (Áp dụng học xong câu lệnh IF, FOR, WHILE) Bài tập 1: (bài toán cở bản): Viết chương trình nhập vào số nguyên dương N từ bàn phím Sử dụng câu lệnh lặp FOR tính tổng sau: S=     đưa N kết hình Nhận xét: Đây toán có sách giáo khoa học sinh làm quen thông qua ví dụ nên dễ dàng lập trình được: Program bai1; Var i,N:word; S:real; Rèn luyện kỹ lập trình Môn Tin học 11 cho học sinh khá, giỏi việc mở rộng toán Begin Write(‘Nhap N=’); Readln(N); S:=0; For i:=1 to N S:=S + 1/i; Writeln(‘Tong = ‘, S:10:2); Readln; End Giáo viên đưa test tương ứng với giá trị N để làm rõ yêu cầu đề để ý số trường hợp cho học sinh Từ toán ta yêu cầu học sinh làm tập sau: Bài tập 2: Sửa lại chương trình tập sử dụng câu lệnh lặp WHILE tính tổng sau: S=     đưa kết hình N Nhận xét: + Từ hình soạn thảo Pascal yêu cầu học sinh vào File chọn Save As để lưu lại tên tệp với tên sau sửa lại chương trình để 2, bỏ bớt biến không dùng đến (cách làm tiết kiệm thời gian chương trình mở rộng từ 1) + Ở với học sinh khá, giỏi số trường có chất lượng điểm đầu vào cao giải đơn giản, học sinh số trường có điểm đầu vào thấp học sinh băn khoăn việc tìm điều kiện vòng lặp WHILE, đến giáo viên hướng dẫn cách chuyển đổi từ vòng lặp For–To-Do (Bài tập 1) sang vòng lặp WHILE , chẳng hạn: i:= ; While i [...]... học tập Nhiều học sinh đã biết vận dụng các thuật toán của các bài toán cơ bản đã biết để giải quyết các bài toán mở rộng, một số em có thể tự tìm được lời giải được một số bài toán khác khó hơn và trong khi thi học sinh giỏi vừa rồi các em đã có thể giành được kết quả Điều đó cho thấy hiệu quả của cách rèn luyện kỹ năng lập trình bằng việc mở rộng bài toán cơ bản Với cách làm đơn giản này các em học. .. 23993 29399 3119 3 31379 37337 37339 37397 59393 59399 71933 73331 73939 Co 15 so sieu nguyen to co 5 chu so Bài này chúng ta phải hướng dẫn trươc thuật toán và in ra giấy để học sinh có thể tham khảo và rèn luyện được ở nhà sau đó giáo viên sẽ sửa chương trình ở buổi sau 12 Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản Hướng dẫn thuật toán: - Viết.. .Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản giống như trong thuật toán kiểm tra tính nguyên tố của một số nguyên i? Tại sao ở {vong lap 3} biến j lại nhận giá trị bắt dầu từ i mà không phải là 1? Giáo viên yêu cầu học sinh về nhà hoàn thiện điều kiện nhập dữ liệu sau đó chuyển sang bài tập 4 Bài tập 4: Nhập vào một... thuật toán và giúp học sinh hoàn thiện chương trình 19 Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản Bài tập 5: Nhập vào một mảng các số nguyên a/ Xếp lại mảng đó theo thứ tự giảm dần b/ Nhập vào một số nguyên từ bàn phím Chèn số đó vào mảng sao cho mảng vẫn có thứ tự giảm dần (không được xếp lại mảng) Bài tập 6: Nhập mảng gồm N số nguyên từ bàn... Write(n,' = '); 11 Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản While (m mod 2 = 0) do Begin dem:=dem+1; m:=m div 2; write('2'); if m>0 then write('.'); End; i:=3; While (m > 2) do Begin While (m mod i = 0) do Begin dem:=dem+1; m:=m div i; write(i); if m>2 then write('.'); End; i:=i+2; End; End; Readln; End Bài tập rèn luyện ở nhà: Bài tập 5: Số... Write(a[k]:10); 14 Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản Writeln; Writeln('Co tat ca ',ka,' so sieu nguyen to co ',N,' chu so.'); Readln; END BUỔI 4 + 5: Một số dạng bài tập về mảng một chiều DẠNG 1: Duyệt mảng để tìm các phần tử thoả mãn một yêu cầu nào đó? Yêu cầu các phần tử đó có thể là: + Là số chẵn + Là số lẽ + Là số chia hết cho một số... A[R] cho nhau, nếu biến L gặp số lẻ thì tăng L, hoặc biến R gặp số chẵn thì tăng R Quá trình tìm và xếp đó sẽ kết thúc khi L>R 17 Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản Câu b) Vì câu ở Câu a ta xếp các phần tử lẻ lên đầu, phần tử chẵn ở cuối dãy nên ở câu b ta chỉ cần dùng biến K đếm xem có băo nhiêu phần tử lẻ sau đó ta dùng thuật toán. .. Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh khá, giỏi bằng việc mở rộng các bài toán cơ bản C[k]:=b[j]; Tăng k, tăng j Nếu j>N thì {nếu mảng B hết trước thì phần còn lại của mảng C sẽ là phần còn lại của mảng A} Trong khi i

Ngày đăng: 06/06/2016, 11:39

Từ khóa liên quan

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

Tài liệu liên quan