sáng kiến kinh nghiệm Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi tin học trẻ Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi tin học trẻ Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi tin học trẻ
Trang 1Kinh nghiệm: “Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi Tin học trẻ.”
Sáng kiến kinh nghiệm
A ĐẶT VẤN ĐỀ
I LÝ DO CHỌN ĐỀ TÀI
Trên thế giới ngày nay sự hình thành và phát triển của khoa học kỹ thuật ngày càng mạnh đặc biệt là sự phát triển nhảy vọt của ngành Công nghệ thông tin (CNTT) CNTT đã tác động lớn đến công cuộc phát triển kinh tế xã hội loài người Đảng
và Nhà nước đã xác định rõ ý nghĩa và tầm quan trọng của Tin học và CNTT, truyền thông cũng như những yêu cầu đẩy mạnh ứng dụng CNTT, đào tạo nguồn nhân lực đáp ứng yêu cầu Công nghiệp hóa, hiện đại hóa, hướng tới nền kinh tế tri thức của nước ta nói riêng và toàn thế giới nói chung
Chính vì xác định được tầm quan trọng đó nên Nhà nước ta đã đưa môn Tin học vào trong nhà trường và ngay từ cấp tiểu học, học sinh được tiếp xúc với môn Tin học để làm quen dần với lĩnh vực CNTT, tạo nền móng cơ sở ban đầu để học những phần nâng cao trong các cấp học tiếp theo
Cùng với việc môn tin học được đưa vào chương trình tiểu học, thì một sân chơi mới mẻ, hấp dẫn được phát triển - Hội thi “Tin học trẻ ” hứa hẹn là một ngày hội lớn cho những ai yêu thích tin học, cũng như là một thách thức cho các thí sinh Chất lượng hội thi ngày càng cao thì chất lượng thí sinh tham gia cũng càng ngày càng được nâng lên Thí sinh phải giỏi hơn, sáng tạo hơn, toàn diện hơn Thí sinh phải có kĩ năng sử dụng phần mềm tốt, vừa phải có tư duy tốt Thí sinh vừa phải có kiến thức cơ bản về máy tính, một số phần mềm cơ bản vừa phải biết ứng dụng một số phần mềm cơ bản để phục vụ cho một số công việc nhất định, ví dụ như là sử dụng phần mềm Paint để vẽ tranh , sử dụng phần mềm Powerpoint 2007 trở lên để trình chiếu đơn giản một chủ đề, hay lập trình trong phần mềm MSWLogo Đặc biệt, trong những năm gần đây các câu về MSWLogo chiếm đa số trong một đề thực hành tin học trẻ Trong khi đó, học sinh tiểu học tiếp cận với nội dung về phần mềm MSWLogo trong sách Tin học quyển 2 và quyển 3 còn hạn chế
“Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi Tin học trẻ” nêu lên một số biện pháp nhằm bồi dưỡng học sinh năng khiếu Tin học về lập trình MSWLogo Giúp học sinh tìm hiểu thêm về các lệnh trong MSWLogo, các dạng bài tập về MSWLogo Cũng như là mang đến hội thi “Tin học trẻ” những thí sinh
có chất lượng Để đạt được mục tiêu ấy, bản thân tôi không ngừng học hỏi, tìm tòi, nghiên cứu để hoàn thành đề tài sáng kiến kinh nghiệm này
II MỤC ĐÍCH, NHIỆM VỤ NGHIÊN CỨU
1 MỤC ĐÍCH
- Nghiên cứu cơ sở lý luận và cơ sở thực tiễn của đề tài
- Đề ra cách chọn ra những học sinh có năng khiếu môn Tin học
- Nêu lên nội dung bồi dưỡng học sinh giỏi Tin học về lập trình MSWLogo
- Đưa ra một số phương pháp bồi dưỡng học sinh giỏi Tin học về lập trình MSWLogo
2 NHIỆM VỤ
- Đề tài tìm hiểu các nội dung, phương pháp tổ chức bồi dưỡng lập trình MSWlogo cho học sinh Tiểu học
Trang 2Sáng kiến kinh nghiệm
III ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU
1 ĐỐI TƯỢNG NGHIÊN CỨU
Nghiên cứu Nội dung và phương pháp tổ chức bồi dưỡng lập trình phần mềm MSWLogo cho học sinh dự thi Tin học trẻ
2 PHẠM VI NGHIÊN CỨU
Áp dụng đối với học sinh khối 5 và dành cho học sinh có năng khiếu môn Tin
học
IV PHƯƠNG PHÁP NGHIÊN CỨU
Đề tài của tôi trình bày dựa theo các luận cứ khoa học hướng đối tượng, cụ thể: thuyết trình minh họa, làm mẫu, phân tích kết quả thực nghiệm phù hợp với nội dung chuyên đề
V GIẢ THIẾT KHOA HỌC
Nếu giáo viên biết lựa chọn biện pháp để bồi dưỡng lập trình cho học sinh thì kĩ năng lập trình MSWlogo được nâng cao lên
VI ĐÓNG GÓP MỚI CỦA ĐỀ TÀI
Đề tài đưa ra được các biện pháp hữu hiệu cũng như một số kiến thức mới trong lập trình MSWlogo dành cho học sinh dự thi tin học trẻ
VII THỜI GIAN NGHIÊN CỨU
Thời gian tôi áp dụng kinh nghiệm này kể từ tháng 9 năm 2016 đến tháng 5 năm 2017
B GIẢI QUYẾT VẤN ĐỀ
I CƠ SỞ LÝ LUẬN
MSWLogo là phần mềm được thiết kế và phát triển vào những năm 60 của thế kỷ trước bởi Seymour Papert, Daniel Bobrow và Wallace Feurzeig tại phòng thí nghiệm trí tuệ nhân tạo của MIT(Học viện công nghệ Masachusetts)
Giáo sư Seymour Papert là tác giả chính của MSWLogo, ông là nhà khoa học trí tuệ nhân tạo nổi tiếng thế giới Vào tháng 12 năm 2006, ở tuổi 78, ông sang Việt Nam để tham dự một hội nghị quốc tế về phương pháp giảng dạy toán học bằng công nghệ thông tin được tổ chức tại Đại học Bách Khoa Hà Nội
MSWLogo là phần mềm máy tính giúp các em vừa học, vừa chơi Các em học viết các dòng lệnh điều khiển chú Rùa di chuyển trên màn hình Rùa dùng bút vẽ lại vết đoạn đường đã đi qua Nó là công cụ đúng nghĩa để hỗ trợ thực hiện việc học và suy nghĩ bằng cách khuyến khích các em khám phá
II CƠ SỞ THỰC TIỂN
Ngay từ đầu năm học, đa số các em học sinh lớp 5 đã có một số kiến thức căn bản về phần mềm MSWLogo Bên cạnh
đó, với vai trò của giáo viên đứng lớp, trực tiếp chọn và bồi dưỡng học sinh năng khiếu, tôi thấy mình cần phải đầu tư nghiên cứu tìm ra phương pháp phù hợp nhất để giảng dạy cho học sinh của mình, đặc biệt là tìm hiểu thêm các lệnh mới, các dạng bài tập để có em được tiếp cận nhiều hơn về phần mềm MSWLogo
Trang 3Kinh nghiệm: “Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi Tin học trẻ.”
Sáng kiến kinh nghiệm
III THỰC TRẠNG VẤN ĐỀ
Trong những năm gần đây dạy học tin học ở tiểu học đã từng bước đi vào quy cũ, chất lượng giảng dạy của giáo viên cũng như học tập của học sinh đã bước đầu có kết quả Môn tin học bắt đầu có vị trí trong trường tiểu học
Tuy nhiên trong quá trình trực tiếp giảng dạy tin học ở trường tôi nhận thấy còn có những thuận lợi và khó khăn sau:
1 Thuận lợi
* Nhà trường: - Tuy môn Tin học là môn học tự chọn nhưng nhà trường đã tạo
điều kiện để học sinh có thể học từ khối 3, khối 4, khối 5 mua sắm máy móc và trang thiết bị phục vụ cho việc dạy và học môn Tin học
- Được sự ủng hộ của các cấp uỷ - UBND - các ban ngành, các nhà tài trợ, phụ huynh học sinh toàn trường hỗ trợ cơ sở vật chất cho nhà trường
* Giáo viên: - Giáo viên được đào tạo những kiến thức cơ bản về Tin học để đáp ứng yêu cầu cho việc dạy và học môn Tin học ở tiểu học Bản thân chịu khó tìm tòi, thu thập được một số tài liệu để bồi dưỡng học sinh của mình
* Học sinh: - Vì là môn học trực quan, sinh động, môn học khám phá những lĩnh vực mới nên học sinh rất hứng thú học, nhất là những tiết thực hành
2 Khó khăn
* Nhà trường: - Trường Tiểu học đã có phòng máy vi tính để cho học sinh học nhưng vẫn hạn chế, ít máy tính để học sinh thực hành, 3 - 4 em một máy tính, máy tính có cấu hình thấp Vì vậy cũng gây một số khó khăn cho việc học tập của học sinh cũng như bồi dưỡng nâng cao cho học sinh
* Giáo viên: - Trên địa bàn huyện, tin học là môn học tự chọn đối với học sinh, giáo viên dạy tin tiểu học chủ yếu tăng cường từ trung học cơ sở xuống, tài liệu tham khảo về phần mềm MSWLogo rất ít, nội dung về phần mềm MSWLogo trong sách thì hạn chế, giáo viên phải tự tìm tòi, nghiên cứu các tài liệu nước ngoài
* Học sinh: - Học sinh là người địa phương, điều kiện kinh tế còn khó khăn nên tiếp cận CNTT còn chậm vì thế học sinh năng khiếu tin học rất ít, học sinh chưa quan tâm đến môn tin học Muốn giải quyết các bài về MSWLogo học sinh không những phải dùng máy tính tốt, mà còn cần phải có tư duy thật tốt Học sinh đủ điều kiện thì hoàn cảnh gia đình không có máy tính
* Phụ huynh: - Tin học chỉ là môn học tự chọn, phụ huynh chưa đánh giá được tầm quan trọng của CNTT nên còn lơ
là trong việc quan tâm, đầu tư cho các em
IV BIỆN PHÁP THỰC HIỆN
Ngay từ đầu mỗi năm học tôi đã lập ra kế hoạch, xây dựng nội dung bồi dưỡng và thời gian chi tiết cho từng nội dung Nội dung trọng tâm trong toàn bộ kế hoạch đó là:
1 Chọn học sinh năng khiếu
Trang 4Sáng kiến kinh nghiệm
Dựa vào các tiêu chí như sau:
- Học sinh có thái độ học tập tích cực - đây là điều kiện tiên quyết
- Học sinh có niềm đam mê, có năng khiếu với môn tin học (có những kiến thức cơ bản về máy tính và kĩ năng sử dụng bàn phím, chuột tốt, có tư duy) - điều kiện quan trọng nhất
- Học giỏi các môn học khác như: Toán, Mĩ thuật, Tiếng việt, Anh văn
- Gia đình có tâm huyết và tạo điều kiện tốt để con em mình phát huy hết năng
khiếu
2 Nội dung bồi dưỡng
Trọng tâm của thời gian bồi dưỡng là học sinh lập trình trên phần mềm MSWLogo
a) Giới thiệu về MSWLogo
Màn hình của MSWLogo:
b Lệnh cơ bản trong MSWLogo
Rùa về vị trí xuất phát (chính giữa sân) HOME nếu không nhấc bút sẽ có nét vẽ
Trang 5Kinh nghiệm: “Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi Tin học trẻ.”
Sáng kiến kinh nghiệm
Xóa toàn bộ sân chơi, Rùa về vị trí xuất
Xóa màn hình, Rùa vẫn ở vị trí hiện tại CLEAN
màu, nét không thay đổi
Rùa tiến về phía trước n bước FD n
Lặp lại n lần [các lệnh ] REPEAT n [các
lệnh ] Các lệnh đặt trong cặp ngoặc vuông
Xóa nội dung trong cửa sổ Commander CT ClearText (xóa luôn cả lệnh CT này)
V ẽ đường tròn bán kính R
Circle R Rùa không di chuyển (đứng yên
ở tâm)
V ẽ đường tròn bán kính R
Circle2 R Rùa di chuyển theo nét vẽ (trên đường tròn)
V ẽ hình oval có bán kính ngang R1,
bán kính dọc R2 Ellipse R1 R2 Rùa không di chuyển (đứng yên ở tâm)
Vẽ hình Oval có bán kính ngang R1,
bán kính dọc R2 Ellipse2 R1 R2 Rùa di chuyển (trên đường Ellipse)
V ẽ cung góc A, bán kính R Rùa ở tâm,
Vẽ theo chiều kim đồng hồ, xuất phát từ sau lưng Rùa
Vẽ cung góc A, bán kính R Rùa di
Vẽ theo chiều kim đồng hồ, xuất phát từ sau lưng Rùa
Trang 6Sáng kiến kinh nghiệm
- Thay noải nộ da0y/moũng nét bút du0ng lệnh : Set > PenSize
- Noải ma0u bút vẽ, ma0u chỡ du0ng lệnh : Set > PenColor
c Các thủ tục trong logo
b.2.1 Cấu trúc của thủ tục:
To tenthutuc { các lệnh}
End
b.2.2 Cách tạo và gọi tên thủ tục/
- Cách tạo
Edit “ tenthutuc
- Gọi thủ tục
Gõ tên thủ tục
- Cách lưu thủ tục
File/ save and exit
- Cách lưu thành tệp ảnh
Bitmap/ save
d Sử dụng biến trong phần mềm Logo
Đặt độ dày nét vẽ SetPenSize[Rộng Cao] Vd : SetPenSize [5 5], nên đặt 2 gtrị bằng nhau Đặt màu bút vẽ (Pen Color) SetPC Số hiệu màu 16 màu chuẩn : số hiệu 0 -> 15
Đặt màu tơ (Fill Color) SetFC Số hiệu màu 16 màu chuẩn : số hiệu 0 -> 15
Tơ ruột hình khép kín (Rùaphải ở trong vùng muốn tơ, nhấc lên vẫn tơ được-lệnh tơ cuối phải hạ Rùa tránh loang
PU Fd 10 SetFC 4 FILL
(SGK-quyển 3 dùng cách vẽ nhiều nét màu sát nhau để tơ phải dùng nhiều lệnh chậm, tốn
bộ nhớ và chỉ tơ được một số hình đơn giản)
Đang ở gĩc bất kỳ, Rùa đứng tại vị trí
đĩ xoay đầu trở về hướng chuẩn rồi
quay k độ so với hướng chuẩn.
lên được tính là 0 độ và tăng theo chiều kim đồng hồ
Xuất chữ, chữ số hoặc giá trị của 1 biến
ra màn hình từ vị trí Rùa đứng, theo
hướng của đầu Rùa (hiểu Tiếng Việt bảng mã VNI, TCVN3 - ko hỗ trợ Unicode)
Label "Một từ Label [Nhiều từ]
- Màu chữ : Set > PenColor
- Kiểu chữ : Set > Label Font
Trang 7Sáng kiến kinh nghiệm 2016 - 2017
Kinh nghiệm: “Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi Tin học trẻ.” *
Khái niệm về biến.
Biến là đại lượng cĩ thể thay đổi giá trị của nĩ
Tại sao phải dùng biến? Cĩ thể hiểu một cách đon giản: Dùng biến để đảm bảo tính tổng quát của một dạng bài tốn Sau này khi sử dụng thành thạo, ta sẽ thấy cịn nhiều trường hợp khác cũng phải dùng đến biến
* Cách khai báo biến trong thủ tục
- Đối với các biến nhận giá trị trực tiếp từ bên ngồi
V í dụ: Bạn Mai cĩ 20 cái kẹo, Mai cho Minh 5 cái, sau đĩ Mai ăn hết 3 cái Hỏi Mai cịn lại mấy cái kẹo?
Trong bài tốn tính số kẹo như trên, các biến a, b, c sẽ được đưa vào từ bên ngồi để chưong trình thực hiện tính tốn, khi đĩ ta sẽ khai báo các biến này cùng dịng với dịng ghi tên thủ tục bằng cách ghép dấu hai chấm (:) ngay trước tên biến
TO KEO :a :b :c Lúc này, các biến a, b, c sẽ trở thành các giá trị để thực hiện các biểu thức cĩ trong thủ tục:
TO KEO :a :b :c
CS
RT 90 LABEL [ So keo con lai la:]
PU FD 250 FD LABEL :a - :b - :c
END
- Đối với các biến nhận giá trị trong khi chạy thủ tục
Trường hợp các biến nhận giá trị từ một biểu thức cĩ trong thủ tục, ta khai báo theo cú pháp sau:
MAKE < Tên_biến> < Biểu_thức>
Ví dụ : Vẽ hình trịn với bán kính 100
Make “ BK 100 Circle :BK
e Cấu trúc các lệnh
- Vịng lặp REPEAT.
Cú pháp: REPEAT số lần lặp [ Các cơng việc thực hiên]
Ý nghĩa: Thực hiện các cơng việc theo số lần lặp
Ví dụ: Câu leanh vẽ Bát giác nều : REPEAT 8 [ FD 100 RT 45 ]
Trang 8Sáng kiến kinh nghiệm 2016 - 2017
Công thõùc vẽ Na giác nều n cainh : REPEAT Số caỉnh
[ FD Noẳ da0 i canh RT 360/Số caỉnh ]
- Vịng lặp For:
Cú pháp: For [Tên biến_giá trị bắt đầu_giá trị kết thúc_bước tăng] [Cơng việc thực hiện]
Ý nghĩa: Thực hiện cơng việc với số lần lặp = (( Giá trị bắt đầu - giá trị kết thúc)/bước tăng ) + 1
Ví dụ: For [i 50 100 10] [ circle :i]
- Các mệnh đề điều kiện
IF
Cú pháp: IF điều kiện [ Các cơng việc]
Ví dụ: IF :a>:b [ label :a]
IFELSE
Cú pháp: IFELESE điều kiện [cơng việc 1] [cơng việc 2]
Ý nghĩa: Thực hiện cơng việc 1 trong trường hợp mệnh đề điều đúng và thực hiện cơng việc 2 nếu mệnh đề điều kiện sai
IFTRUE
Cú pháp: IFTRUE điều kiện [cơng việc]
Ý nghĩa: Thực hiện cơng việc nếu lệnh TEST trước đĩ nhận một mệnh đề cĩ giá trị true
IFFALSE
Cú pháp: IFFALSE điều kiện [cơng việc]
Ý nghĩa: Thực hiện cơng việc nếu lệnh TEST trước đĩ nhận một mệnh đề cĩ giá trị false
f Mảng và cách sử dụng
- Khai báo mảng:
Make “ tên mảng (array độ dài số bắt đầu)
Ví dụ: Cho dãy số sau: 1,4,6,7,2,3,6,7,6
Make “ dayso (array 9)
- Gán giá trị cho mảng:
SETITEM vị trí: tên mảng giá trị
Ví dụ:
Trang 9Sáng kiến kinh nghiệm 2016 - 2017
Kinh nghiệm: “Một số biện pháp bồi dưỡng lập trình MSWLogo cho học sinh dự thi Tin học trẻ."
Setitem 1 :dayso 1
Setitem 2 :dayso 4
Setitem 3 :dayso 6
Setitem 4 :dayso 7
Setitem 9 :dayso 6 - Lấy giá trị trong mảng:
ITEM vị trí :tên mảng
Ví dụ:
item 1 :dayso ( lấy giá trị đầu tiên của dãy số trên)
g Cách viết các lệnh một số dạng toán về MSWLogo
* Dạng sử dụng các lệnh để vẽ hình.
Phân tích đề ra:
- Đọc kĩ yêu cầu của đề ra
- Quan sát kĩ quy luật của hình vẽ (xác định xem hình này gồm những
hình gì, được tạo ra từ bao nhiêu hình, quy luật của các hình)
- Chú ý hướng con trỏ Rùa
Thực hiên viết lênh vẽ.• • •
- Sau khi phân tích được đề ra xong hướng dẫn các em tiến hành thực hiện các lệnh vẽ
hình
Ví dụ: Hình lục giác
Hình bên được tạo thành
từ các hình lục giác đều có cạnh là 100 đơn vị Em hãy viết thủ tục tên lucgiac để vẽ hình này
- Phân tích đề ra:
+ Quan sát hình vẽ này ta thấy được tạo ra từ 6 hình lục giác đều ( 6 cạnh)
+ Áp dụng công thức đa giác đều
Thực hiên viết lênh vẽ
• • •
To lucgiac
Repeat 6[ repeat 6[fd 100 rt 60] rt 60] end
* Dạng giải toán bằng lặp trình MSWLogo
Trang 10Sáng kiến kinh nghiệm 2016 - 2017
Phân tích đề ra:
- Đọc kĩ yêu cầu của đề ra
- Cần biết được cách giải bài toán đó ( thuật toán của bài toán đó)
- Khai báo biến Thực hiện viết các lệnh
- Sau khi phân tích được đề ra xong hướng dẫn các em tiến hành thực hiện các
lệnh
Ví dụ: Vừa gà vừa chó
Bó lại cho tròn
Ba mươi sáu con (36 con) Một trăm chân chẵn (100 chân) Hỏi có bao nhiêu gà, chó?
Phân tích đề ra:
Ở đây ta lợi dụng sức mạnh của máy tính để thử tất cả các trường hợp bằng 2 vòng lặp For, ta
sẽ thử lần lượt từng trường hợp 1:
1 con gà 1 con chó
1 con gà 2 con chó
1 con gà 3 con chó
1 con gà 4 con chó
1 con gà 5 con chó
1 con gà 35 con chó
2 con gà 1 con
chó 2 con gà 2 con
chó 2 con gà 3 con
chó 2 con gà 4 con
chó 2 con gà 5 con
chó
trường hợp nào thỏa điều kiện Gà + chó =36 (cái đầu) và 2*chân gà + 4*Chân chó =100 (cái chân) thì hiện ra kết quả số gà và chó
Câu lệnh
To GaCho
CS CT Rt
90 PU
For [ga 1 36 1][
For [cho 1 35 1][
IF and (:ga+:cho=36)(2*:ga+4*:cho=100) [
Label (List “Co :ga “con “ga “va “co :cho “con “cho) ]
_]]
End
h Một số bài tập về MSWLogo