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.
ĐÓ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 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ẻ.” Sáng kiến kinh nghiệm 2016 - 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. 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. 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 * 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à: 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 1. Chọn học sinh năng khiếu. 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 CÔNG VIỆC LỆNH TẮT GHI CHÚ 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ẽ 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 Xóa toàn bộ sân chơi, Rùa về vị trí xuất phát. CS 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 Rùa lùi lại n bước BK n Rùa quay trái k độ LT k Rùa quay phải k độ RT k Nhấc bút PU Hạ bút PD Ẩn Rùa HT khi muốn vẽ nhanh Hiện Rùa ST Thoát khỏi phần mềm LOGO BYE 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 Rùa tạm dừng n tíc WAIT n 60 tíc = 1 giây 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, không di chuyển Arc A R 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 chuyển theo nét vẽ Arc2 A R Vẽ theo chiều kim đồng hồ, xuất phát từ sau lưng Rùa 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 Đặ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ùa phả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 màu ở lần chạy sau) Fill 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. SETH k Hướng chuẩn là hướng từ dưới 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 - Thay ñoåi ñoä daøy/moûng neùt buùt duøng leänh : Set > PenSize - Ñoåi maøu buùt veõ, maøu chöõ duøng leä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. 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 * 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 đơn giản: Dùng biến để đảm bảo tính tổng quát của một dạng bài toá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 ngoà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 toán tính số kẹo như trên, các biến a, b, c sẽ được đưa vào từ bên ngoài để chương trình thực hiện tính toá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 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ụ: Caâu leänh veõ Baùt giaùc ñeàu : REPEAT 8 [ FD 100 RT 45 ] 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 Coâng thöùc veõ Ña giaùc ñeàu n caïnh : REPEAT Soá caïnh [ FD Ñoä daøi caïnh RT 360/Soá 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ụ: 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 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 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ẻ.” Sá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. 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 Bài 1. Hình vuông ( Đề thi tin học trẻ cấp huyện 2015 - 2016) Hình bên được tạo thành từ những hình vuông có kích thước 100 đơn vị. Em hãy tìm một cách vẽ và viết các câu lệnh trong chương trình MSWLogo để vẽ hình này. Em hãy lưu kết quả trong tệp văn bản có tên hinhvuong.doc gồm: - Hình mà em đã vẽ (mỗi bước Rùa di chuyển là một đơn vị). - Các câu lệnh của MSWLogo theo trình tự đã vẽ. Câu lệnh. to hinhvuong rt 45 repeat 6[repeat 4[fd 100 rt 90]pu rt 45 fd 35 lt 45 pd] end Bài 2: Hình vẽ ( Đề thi tin học trẻ cấp tỉnh 2015 - 2016) Hình bên được tạo thành những hình tam giác đều và hình tròn. Em hãy tìm cách vẽ và viết các câu lệnh trong MSWLogo để vẽ hình này. Câu lệnh. to hinhve cs repeat 18[repeat 3[fd 200 rt 120]circle2 180/2 rt 360/18] end Bài 3: Bài toán. Thuyền to chở được 6 người Thuyền nhỏ chở được 4 người thì đông Một đoàn trai gái sang sông 10 thuyền to nhỏ giữa dòng đang trôi Toàn đoàn có cả 100 người Trên bờ còn 48 người đợi sang. Hỏi có bao nhiên thuyền to? Bao nhiêu thuyền nhỏ? Câu lệnh. to thuyen cs rt 90 make "tc 6 make "nc 4 make "ng 100-48 for[t 1 10 1][make "n 10-:t if (:t*:tc+:n*:nc)=:ng [label [co so thuyen to la:]pu fd 200 label :t setxy 0 -20 pd label [co so thuyen nho la:]pu fd 200 pd label :n]] end 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 Bài 4: Bài toán. Tìm 2 số tự nhiên có tổng bằng 2016. Biết giữa chúng có 123 số chẵn. Câu lệnh. to tong cs rt 90 make "kc 123*2+2 for[a1 1 2016 1][make "a2 2016-:a1 if (:a1-:kc)=:a2 [label :a1 pu fd 75 pd label :a2]] end Bài 5: Tính tổng. (Đề thi tin học trẻ cấp huyện 2015 - 2016) Em hãy nêu các câu lệnh trong chương trình MSWLogo để tính kết quả còn lại của S = 2016 - 2 - 4 - 6 - ... - N. Biết rằng giá trị của số N là số chẵn được nhận trực tiếp từ bên ngoài. Em hãy lưu kết quả trong tệp văn bản có tên tinhtong.doc gồm các câu lệnh của MSWLogo theo trình tự thực hiện để tính tổng. (Chạy thủ tục với n=8 và n=20) Câu lệnh. to tinhtong :n make "s 2016 for[i 2 :n 2][make "s :s-:i] rt 90 label :s end Bài 6: Dãy số. Cho dãy số sau:1,8,9,45,6,8,56,86, 3,3,6,8 a. In ra màn hình dãy số trên b. In ra các số chia hết cho 5 c. Tính tổng các số chia hết cho 2. d. Tính trung bình cộng của dãy trên. e. Đếm số lần xuất hiện của phần tử n có trong dãy với n nhập từ bàn phím. Câu lệnh. to daya {In ra màn hình dãy số trên} cs rt 90 pu setxy -50 0 pd label [day so ban dau la:] make "dayso (array 12) setitem 1 :dayso 1 setitem 2 :dayso 8 setitem 3 :dayso 9 setitem 4 :dayso 45 setitem 5 :dayso 6 setitem 6 :dayso 8 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 setitem 7 :dayso 56 setitem 8 :dayso 86 setitem 9 :dayso 3 setitem 10 :dayso 3 setitem 11 :dayso 6 setitem 12 :dayso 8 make "so1 0 pu setxy -50 -50 pd for [i 1 12 1] [make "so1 item :i :dayso label :so1 pu fd 50 pd ] end to dayb { In ra các số chia hết cho 5} cs rt 90 make "dayso (array 12) setitem 1 :dayso 1 setitem 2 :dayso 8 setitem 3 :dayso 9 setitem 4 :dayso 45 setitem 5 :dayso 6 setitem 6 :dayso 8 setitem 7 :dayso 56 setitem 8 :dayso 86 setitem 9 :dayso 3 setitem 10 :dayso 3 setitem 11 :dayso 6 setitem 12 :dayso 8 make "so1 0 make "s 0 label [cac so chia het cho 5 la:] pu fd 300 pd for [i 1 12 1] [make "so1 item :i :dayso if (modulo :so1 5)=0 [label :so1] ] end to dayc {Tính tổng các số chia hết cho 2.} cs rt 90 make "dayso (array 12) setitem 1 :dayso 1 setitem 2 :dayso 8 setitem 3 :dayso 9 setitem 4 :dayso 45 setitem 5 :dayso 6 setitem 6 :dayso 8 setitem 7 :dayso 56 setitem 8 :dayso 86 setitem 9 :dayso 3 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 setitem 10 :dayso 3 setitem 11 :dayso 6 setitem 12 :dayso 8 make "so1 0 make "s 0 pu setxy -50 -50 pd for [i 1 12 1] [make "so1 item :i :dayso if (modulo :so1 2)=0 [make "s :s +:so1 ] ] label [tong cac so chia het cho 2 la:] pu fd 300 pd label :s end to dayd {Tính trung bình cộng của dãy trên.} cs rt 90 make "dayso (array 12) setitem 1 :dayso 1 setitem 2 :dayso 8 setitem 3 :dayso 9 setitem 4 :dayso 45 setitem 5 :dayso 6 setitem 6 :dayso 8 setitem 7 :dayso 56 setitem 8 :dayso 86 setitem 9 :dayso 3 setitem 10 :dayso 3 setitem 11 :dayso 6 setitem 12 :dayso 8 make "so1 0 make "s 0 make "dem 0 for [i 1 12 1] [make "so1 item :i :dayso make "dem :dem +1 make "s :s+:so1 ] label [trung binh cac so trong day:] pu fd 300 pd label :s/:dem end to daye :n {Đếm số lần xuất hiện của phần tử n có trong dãy với n nhập từ bàn phím.} cs rt 90 make "dayso (array 12) setitem 1 :dayso 1 setitem 2 :dayso 8 setitem 3 :dayso 9 setitem 4 :dayso 45 setitem 5 :dayso 6 setitem 6 :dayso 8 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ẻ.” Sáng kiến kinh nghiệm 2016 - 2017 setitem 7 :dayso 56 setitem 8 :dayso 86 setitem 9 :dayso 3 setitem 10 :dayso 3 setitem 11 :dayso 6 setitem 12 :dayso 8 make "so1 0 make "s 0 make "dem 0 for [i 1 12 1] [make "so1 item :i :dayso if (:n=:so1) [make "dem :dem +1] ] label [so] pu fd 35 pd label :n pu fd 35 pd label [xuat hien la:] pu fd 200 pd label :dem pu fd 30 pd label[lan] end. Bài 7: Trồng cây. Trong vườn cây người ta đếm thấy có tổng cộng 10 cây có tổng cộng 10 cây, được trồng thành 5 hàng và mỗi hàng có 4 cây. Em hãy viết các câu lệnh trong chương trình MSWlogo để vẽ lại sơ đồ vườn cây trên. Mỗi giao điểm của đoạn thẳng được tính là 1 cây. Câu lệnh. to trongcay repeat 5[circle 10 fill pu fd 150 rt 144 pd] pu fd 57 pd repeat 5[circle 10 fill pu fd 36 rt 72 pd] home repeat 5[circle 10 fd 150 rt 144] fd 57 repeat 5[circle 10 fd 36 rt 72] end 3. Phương pháp bồi dưỡng Giáo viên cung cấp tài liệu về phần mềm MSW Logo, các dạng bài tập, các dạng đề học sinh tìm hiểu và thực
Tài liệu đính kèm: