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ẻ

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ẻ

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.

pdf 18 trang Người đăng phuongnguyen22 Ngày đăng 03/03/2022 Lượt xem 1199Lượt tải 1 Download
Bạn đang xem tài liệu "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ẻ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
 ĐÓ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:

  • pdfsang_kien_kinh_nghiem_mot_so_bien_phap_boi_duong_lap_trinh_m.pdf