24
I. MSWLogo là gì. Giới thiệu. một ngôn ngữ lập trình được thiết kế và phát triển bởi Seymour Papert, Daniel Bobrow và Wallace Feurzeig. Trong chương trình này bạn sẽ điều khiển 1 hoặc nhiều con rùa (là một hình tam giác) di chuyển trên sân chơi thông qua các lệnh, bên cạnh đó nó cũng được dùng để xử lý tính toán xử lý đưa ra kết quả các bài toán lập trình phức tạp. Cách cài đặt. Bạn có thể tải chương trình từ nhiều nguồn trên mạng hoặc theo địa chỉ sau http://www.softronix.com/download/mswlogo65.exe và cài đặt theo hướng dẫn của chương trình. Sau khi cài đặt xong bạn sẽ thấy biểu tượng của chương trình ngoài Desktop. Giao diện MSWLogo. Cách viết và lưu một chương trình. Với MSWLogo bạn có thể thoát bằng cách Click vào hoặc nhập lệnh Bye. Bạn có thể ra lệnh cho Mswlogo làm việc thông qua các lệnh nhấn từ bàn phím vào ngăn nhập lệnh và nhấn phím enter hay Click để ra lệnh cho Mswlogo thực hiện lệnh. Tuy nhiên khi bạn thoát chương trình thì những lệnh này sẽ không lưu lại, bạn phải thực hiện lại từ đầu ở lần làm việc tiếp theo, nếu muốn lưu lại bạn thực hiện theo trình tự sau. Bước 1: Click vào Edall để mở khung soạn thảo chương trình.

I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

I. MSWLogo là gì. Giới thiệu.

Là một ngôn ngữ lập trình được thiết kế và phát triển bởi Seymour Papert, Daniel Bobrow và Wallace Feurzeig. Trong chương trình này bạn sẽ điều khiển 1 hoặc nhiều con rùa (là một hình

tam giác) di chuyển trên sân chơi thông qua các lệnh, bên cạnh đó nó cũng được dùng để xử lý tính toán xử lý đưa ra kết quả các bài toán lập trình phức tạp.

Cách cài đặt. Bạn có thể tải chương trình từ nhiều nguồn trên mạng hoặc theo địa chỉ sau http://www.softronix.com/download/mswlogo65.exe và cài đặt theo hướng dẫn của chương trình. Sau khi cài đặt xong bạn sẽ thấy biểu tượng của chương trình ngoài Desktop.

Giao diện MSWLogo.

Cách viết và lưu một chương trình.

Với MSWLogo bạn có thể thoát bằng cách Click vào hoặc nhập lệnh Bye.

Bạn có thể ra lệnh cho Mswlogo làm việc thông qua các lệnh nhấn từ bàn phím vào ngăn nhập

lệnh và nhấn phím enter hay Click để ra lệnh cho Mswlogo thực hiện lệnh. Tuy nhiên

khi bạn thoát chương trình thì những lệnh này sẽ không lưu lại, bạn phải thực hiện lại từ đầu ở lần làm việc tiếp theo, nếu muốn lưu lại bạn thực hiện theo trình tự sau. Bước 1: Click vào Edall để mở khung soạn thảo chương trình.

Page 2: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Bước 2: Đặt tên chương trình sau to, kế đó bạn ghi các lệnh mà bạn muốn thực hiện ở giữa to và end. Ví dụ:

Bước 3: Click File Save and Exit. Nếu có lỗi, bạn sẽ được thông báo và phải chỉnh sửa lỗi

xong mới có thể thoát ra. Sau đó, bạn có thể gọi chương trình từ ngăn lệnh bằng lệnh Ve_Hinh_Vuong và nhấn phím enter, kế đó hãy lưu lại thành file chương trình của Mswlogo.

Bước 4: Click vào File Save và lưu lại thành tập tin mặc định của Mswlogo .lgo.

Như vậy ở lần làm việc sau muốn tiếp tục làm việc bạn chỉ cần Click FileLoad… để mở file đã lưu ra làm tiếp.

Các lệnh cần thực hiện

Chọn File Save

Chọn vị trí lưu trên máy tính

Đặt tên cho tập tin tại đây

Click Save

Page 3: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

II. Một số lệnh cơ bản. Nhóm lệnh di chuyển.

Khi di chuyển từ điểm này qua điểm khác tùy theo trạng thái của bút vẽ. Trên đường di chuyển, rùa sẽ để lại đường đi trên sân chơi. Sân chơi có tọa độ ±500 cho 4 góc và ngay tại vị trí chính

giữa có tọa độ x = 0, y = 0. Có một số lệnh di chuyển từ vị trí hiện tại tới một vị trí nào đó như sau:

a) FORWARD viết tắt FD, cú pháp: FD n đi thẳng tới n bước, n có thể mang giá trị âm lúc đó rùa sẽ đi lùi.

b) BACK viết tắt BK, cú pháp: BK n đi lùi lại n bước. c) SetX n di chuyển tới tọa độ có vị trí là (n,y) -500 ≤ n ≤ 500. Tọa độ y là y hiện tại của rùa. d) SetY n di chuyển tới tọa độ có vị trí là (x,n) -500 ≤ n ≤ 500.

e) SetXY x y di chuyển từ vị trí hiện tại tới tọa độ x, y. f) SetPOS [x y] tương tự lệnh SetXY. g) Home từ vị trí hiện tại di chuyển về ngay tọa độ (0,0). h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ.

Ví dụ 1: Vẽ tam giác đều có độ dài cạnh là 250.

Ví dụ 2: Vẽ hình chữ nhật có chiều dài là 300 và chiều rộng là 200.

Ví dụ 3: Vẽ theo tọa độ hình sau:

Bước 1: Nhấn lệnh FD 250 vào ngăn nhập lệnh rồi nhấn enter, ta sẽ thấy ngay lập tức rùa từ vị trí ban đầu chạy thẳng lên một đoạn là 250.

Bước 2: Xoay đầu rùa để khi di chuyển tạo thành một góc 60 độ. Rùa đang ở hướng thẳng 180 - x = 60 x = 120 là góc phải xoay. Nhấn RT 120 (hoặc LT 120)

Bước 3: Nhấn lệnh FD 250. (lặp lại B1).

Bước 4: Xoay rùa một góc 120 độ. (lặp lại B2)

Bước 5: Nhấn lệnh FD 250.

(lặp lại B1). Xong

Page 4: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Chú ý: Ở ví dụ này có thể sử dụng lệnh SetPOS cũng có kết quả tương tự, ở hình minh họa. Dưới đây, ta tạo một chương trình con tên là HCN rồi sau đó gọi chương trình đó ra. Với SETX, SETY, SETXY, SETPOS thì góc quay rùa không thay đổi.

Nhóm lệnh vẽ đường tròn, cung tròn và ellipse. a) ARC a r Vẽ cung tròn với góc là a và bán kính là r. Sau khi vẽ xong rùa đứng yên tại tâm. b) ARC2 a r Vẽ cung tròn với góc là a và bán kính là r. Bắt đầu vẽ từ chỗ rùa đang đứng, vẽ

tới đâu rùa đi theo tới đó (rùa nằm trên cung tròn). c) ELLIPSE x.ngang y.cao Vẽ hình ellipse với 2 thông số, chiều ngang theo trục x, chiều cao

theo trục y, rùa đứng yên tại tâm.

d) ELLIPSE2 x.ngang y.cao Vẽ hình ellipse với 2 thông số, chiều ngang theo trục x, chiều cao theo trục y, rùa chạy theo đường ellipse.

e) ELLIPSEARC độ dài cung x y góc. Ví dụ muốn vẽ 1 nửa vòng ellipse ở phía trước mặt rùa (90) lệnh như sau : ELLIPSEARC 180 150 80 90

f) ELLIPSEARC2 Rùa chạy theo cung khi vẽ. g) CIRCLE r Vẽ đường tròn bán kính r rùa đứng tại tâm.

h) CIRCLE2 r Vẽ đường tròn bán kính r rùa di chuyển theo đường tròn, sau khi hoàn thành rùa nẳm trên đường tròn.

Page 5: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Các lệnh ARC2, ELLIPSE2 , ELLIPSEARC2, Circle2 về các thông số cũng giống như ARC, ELLIPSE, ELLIPSEARC, Circle các bạn tự tìm hiểu.

Nhóm lệnh về bút vẽ, màu sắc.

a) Pen Up viết tắt là PU : Lệnh này nhấc viết của rùa lên và kết quả là khi di chuyển rùa không để lại dấu vết.

b) Pen Down viết tắt là PD : Lệnh này hạ viết của rùa xuống. Các lệnh di chuyển sau lệnh này ta sẽ thấy dấu vết của sự di chuyển.

c) PENERASE viết tắt PE :

Đặt bút xuống và thiết lập chế độ xóa. Dùng lệnh PPT/ PENNORMAL để thiết lập lại trạng thái trước đó/ trạng thái ban đầu của bút vẽ.

d) SetPenSize [n1 n2] Thiết lập độ dày, cao của nét vẽ. Lệnh này có thể thực hiện qua Menu Set→Pen Size …

e) SETPENCOLOR viết tắt SetPC [Red Green Blue] Thiết lập màu cho bút vẽ Red, Green, Blue có giá trị từ 0→255, ví dụ SetPC [255 0 0] sẽ cho ta

màu đỏ. Có thể sử dụng 16 màu có sẵn từ 0 15

f) Setfloodcolor [R G B] viết tắt SetFC[R G B]

Cài đặt màu nền (giống SetPC) và tô bằng lệnh FILL. g) FILL Tô màu nền trong phạm vi khép kín của hình.

Màu nền tô đã được báo trước bằng lệnh Setfloodcolor. Lệnh Fill không cần phải hạ bút xuống mà vẫn tô được.

Ví dụ 1: Vẽ tam giác đều cạnh 200 và tô màu đỏ bên trong.

To TamGiac Setfloodcolor [255 0 0 ] ; đặt màu tô nền là màu đỏ. FD 200 RT 120 FD 200 RT 120 FD 200 ; vẽ tam giác đều độ dài cạnh 200. PU ; nhấc bút. LT 45 ; xoay trái 45 độ. BK 50 ; đi lùi vào trong 50 bước . 3 dòng lệnh PU LT và BK mục đích là đưa rùa vào bên

trong hình tam giác đều. FILL ;Những ký tự sau dấu ; được xem là ghi chú MSWLogo không thực hiện những dòng này.

END Kết quả ta được hình tam giác tô màu đỏ.

16

0

ARC 160 150 ELLIPSE 150 200

Circle 150

ELLIPSEARC 270 150 80 0

Page 6: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Nhóm lệnh về in kết quả, thông báo.

a) PRINT [Nội dung, kết quả, thông báo] viết tắt PR ví dụ PR 1+2+3 ra kết quả là 6 ở trong cửa sổ lệnh.

b) SHOW [nội dung, kết quả muốn in ], lệnh tương tự PR.

c) LABEL thì hiện ra kết quả ở sân chơi, nếu muốn hiện thị theo chiều ngang thì chúng ta phải xoay rùa về phải 90 độ, nếu muốn hiển thị nhiều hơn một từ thì sử dụng:

Label [Đây là nội dung muốn đưa ra sân chơi].

Label (List “Các “từ “sau “đây “sẽ “hiển “thị “ra “ngoài “sân “chơi). Nhóm lệnh về vị trí rùa.

a) HIDETURTLE viết tắt HT ẩn rùa, không thấy hình tam giác (Rùa) trên sân chơi nữa. b) SHOWTURTLE viết tắt ST hiện rùa.

c) POS cho ta biết vị trí hiện tại của rùa. Ví dụ: Show POS d) CLEARSCREEN viết tắt CS xóa sân chơi, đưa rùa về vị trí ban đầu(0,0). Nếu có nhiều rùa

thì xóa luôn chỉ để lại 1 rùa. e) CLEAN Xóa hết các nét vẽ trên sân chơi, rùa giữ nguyên vị trí và góc độ. f) CLEARTEXT viết tắt CT , xóa hết tất cả các lệnh đã nhập trong ngăn lệnh. g) HOME Đưa rùa về vị trí ban đầu (0,0).

h) HEADING Cho biết đầu rùa đang xoay ở vị trí bao nhiêu (0 đến 360) i) SetHeading n Quay rùa về góc n độ, tương tự RT hoặc LT. j) TOWARDS x y Quay đầu rùa về hướng tọa độ x, y. k) DISTANCE x y đo khoảng cách từ vị trí hiện tại tới tọa độ x y.

III. Các phép toán trong MSWLogo. Cộng, trừ, nhân, chia, ( ).

MSWLogo thực hiện theo trình tự ưu tiên trong ngoặc trước rồi tới *, /, +, -. Ví dụ:

Ví dụ: Print 2+3*4 cho kết quả là 14.

Ví dụ: Print (2+3)*4 cho kếtquả là 20.

Page 7: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Phép toán logic AND, OR, NOT. a) AND đk1 đk2 nếu muốn nhiều hơn thì viết như sau (AND đk1 đk2 đk3 đk4…) AND chỉ

đúng (TRUE) khi tất cả các điều kiện bên trong đều đúng. b) OR đk1 đk2 nếu muốn nhiều hơn thì viết như sau (OR đk1 đk2 đk3 đk4…) OR chỉ sai

(FALSE) khi tất cả các điều kiên bên trong đều sai. c) NOT đk Nếu đk là đúng thì trả về giá trị sai và ngượi lại.

Trong thực tế để giải quyết một bài toán đôi khi cần phải phối hợp nhiều các phép toán logic lại với nhau.

NOT EQUALP(<>), EQUALP(=), LESSP(<), GREATERP(>). MSWLogo không cho phép thực hiện trực tiếp phép toán <>, <=, >= mà phải thông qua hàm,

cách viết như sau:

NOT EQUALP thay cho <>. Ví dụ Show Not Equalp 3 5 đúng (true)

<=, >= Sử dụng chung với hàm OR Ví dụ Show (OR 3>5 3=5) 3≥5 Show (OR 3<5 3=5) 3≤5.

Các phép toán <, >, = sử dụng bình thường.

IV. Biến là gì, cách khai báo, phạm vi biến. Định nghĩa.

Biến là 1 vùng trong bộ nhớ, được đặt tên bằng một dãy chữ và số, dùng để lưu trữ các giá trị (số, chữ hoặc logic). Biến có thể do hệ thống tạo sẵn hoặc do người dùng tự tạo ra để giúp giải

quyết các bài toán lập trình, ta có thể thay đổi giá trị của biến. Tại sao phải dùng biển? Có thể hiểu một cách đơn giản nhất: Dùng biến để giải một bài toán ở dạng tổng quát nhất.

Phạm vi của biến, cách khai báo. Biến có thể được sử dụng từ tất cả các chương trình khác nhau thì gọi là biến toàn cục, nếu biến đó chỉ sử dụng trong một chương trình thôi và khi kết thúc chương trình thì nó biến mất thì gọi là biến cục bộ. Trong MSWLogo có thể khai báo biến ở đâu cũng được, tuy nhiên nên khai báo ở đầu chương trình. Tên biến bắt đầu bàng một chữ cái và không được giống với các

lệnh của Mswlogo.

Make “tên_biến_toàn_cục giá_trị_ban_đầu

Local “tên_biến_cục_bộ Khi muốn đọc giá trị của một biến nào đó thì thêm dấu : trước tên biến Khi muốn thay đổi giá trị của biến sử dụng Make “tên_biến giá_trị_mới Hãy xem một ví dụ:

Cửa sổ soạn thảo chương trình con

Page 8: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Truyền biến cho chương trình.

Để truyền một giá trị vào chương trình con thì ngay phần khai báo tên chương trình con, ta phải liệt kê các biến truyền vào, biến này là biến cục bộ.

Ví dụ 1 : viết một chương trình cộng 2 số bất kỳ.

Ví dụ 2 : viết chương trình vẽ hình tam giác đều với chiều dài cạnh được truyền từ

ngoài vào.

Cửa sổ chính của MSWLogo

Gọi chương trình Tong_Cong

Label (List :a "+ :b "= :a+:b)

Show :a+:b

Truy cập giá trị biến cục bộ, bị lỗi

Truy cập giá trị biến toàn cục

Page 9: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

V. Lệnh rẽ nhánh. Khi muốn dựa vào một điều kiện nào đó để quyết định công việc của mình, ta sử dụng cấu trúc rẽ nhánh, có 2 dạng thường gặp.

Nếu đúng thì…

Nếu đúng thì… ngược lại thì….

Ví dụ:

Đưa vào 2 số và in ra sân chơi số lớn hơn:

IF điều kiện [Lệnh sẽ thực hiện nếu điều kiện là đúng]

IFELSE điều kiện [Lệnh thực hiện nếu điều kiện là đúng] [Lệnh thực hiện nếu điều kiện là sai]

Page 10: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

VI. Vòng lặp trong MSWLogo. Khi một lệnh hay nhiều lệnh lặp đi lặp lại nhiều lần thì người ta sử dụng vòng lặp, trong MSWLogo có 2 loại vòng lặp chính : Vòng lặp biết trước số lần lặp (For, Repeat) và vòng lặp không biết trước số lần lặp (While, Until). Đối với vòng không biết trước số lần lặp, chúng ta

phải có biến để kiểm soát giúp nó thoát ra, nếu không thoát ra được trương trình sẽ chạy không

dừng lại bắt buộc ta phải bấm nút để ngắt ngang, nếu không có thể dẫn đến việc máy tính bị treo.

Vòng lặp REPEAT.

REPEAT n [ lệnh 1 lệnh 2…] n là số lần muốn thực hiện các lệnh trong [] Xem lại ví dụ vẽ tam giác đều ở trên ta thấy lệnh FD :canh RT 360/3 viết lặp lại 3 lần, bây giờ nếu dùng Repeat thì lệnh như sau:

Còn việc vẽ hình vuông với cạnh 150 bây giờ chỉ còn đơn giản như thế này REPEAT 4 [FD 150 RT 90] Một cách tổng quá để vẽ đa giác đều n cạnh với chiều dài là 200. Repeat n [FD 200 RT 360/n]

Khi sử dụng hàm REPEAT để biết số vòng lặp hiện tại là bao nhiêu ta sử dụng hàm Repcount. Ví dụ in ra cửa sổ lệnh các số từ 1 tới 50 : REPEAT 50 [Show Repcount]. Xem chương trình sau:

Page 11: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Đây là chương trình vẽ một hình vuông có cạnh dài 200 và tại các cạnh của hình vuông lại vẽ thêm các tam giác đều cạnh 200. Kết quả:

Bài tập mở rộng: Vẽ hình sau: (Gợi ý: Hình trên được tạo bởi các hình ngũ giác xếp chồng vào

nhau (Trích đề thi tài năng trẻ tin học của một số tỉnh)

Bạn đoán thử xem lệnh này vẽ ra hình gì ? Repeat 24 [Circle2 90 RT 360/24]

Vòng lặp FOR. For cũng là một vòng lặp với số lần lặp biết trước, tuy nhiên for linh hoạt hơn Repeat ở chỗ nó

có thể chỉnh được bước nhảy, với repeat thì bước nhảy luôn là 1, 2, 3, 4 ….

Ví dụ :

1) For [i 1 100 1][Show :i] in ra 1, 2, 3, 4, … , 100 2) For [i 3 100 2][Show :i] in ra 3, 5, 7, 9, … , 99 3) For [i 0 100 10][Show :i] in ra 0, 10, 20, 30, … , 100 4) For [i 100 0 -1][Show :i] in ra 100,99,98,97, …, 0

Bài tập: Biết rằng MODULO là hàm chia lấy dư của 2 số, cú pháp lệnh MODULO a b. Ví dụ: Modulo 5 3 được giá trị là 2. Tính tổng các số chia hết cho 3 từ 1 đến 100. (Gợi ý: Sử dụng For, IF và một biến dùng để tính tổng IF (Modulo :i 3)=0)

Vòng lặp WHILE. Vòng lặp While được sử dụng trong các trường hợp không biết trước số lần lặp, tuy nhiên vẫn có thể sử dụng trong trường hợp biết số lần lặp. Khi sử dụng while cần phải kiểm soát biến để

vòng lặp có thể thoát ra.

Trong khi điều kiện đúng thì thực hiện lệnh.

FOR [biến chạy giá trị bắt đầu giá trị cuối bước tăng] [Lệnh…]

WHILE [điều kiện] [Lệnh…]

Page 12: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Ví dụ 1:

Ví dụ 2: Chương trình sau đây sẽ vẽ liên tiếp các đường thẳng từ trong ra ngoài mỗi lần vẽ cạnh tăng lên 5 đơn vị và xoay về bên phải một góc 91 độ.

Vòng lặp UNTILL.

Vòng lặp Untill cũng tương tự While điểm khác biệt của nó được rút gọn như sau: While đúng thì làm, sai thì thoát (Làm tới khi sai) Until đúng thì thoát, sai thì làm (Làm tới khi đúng)

Ví dụ: Biết S=3+6+9+12+15+…+n, với n= bao nhiêu thì S lớn nhất mà vẫn nhỏ hơn 90

Cách viết bằng While.

Make "i 0 While [:i<3] [

Make "i :i+1 Print :i]

Vòng lặp i :i<3 Lệnh Kết quả 1 0 0<3 (Đ)

Tăng i lên 1, in :i ra

i=0+1 in ra 1

2 1 1<3 (Đ) i=1+1 in ra 2 3 2 2<3 (Đ) i=2+1 in ra 3

4 3 3<3 (S) Ngừng lại, thoát khỏi vòng lặp

Make "i 0 Until [:i>3] [

Make "i :i+1 Print :i]

Vòng lặp i :i>3 Lệnh Kết quả 1 0 0>3 (S) Tăng i lên

1, in giá trị của i ra

i=0+1 in ra 1

2 1 1>3 (S) i=1+1 in ra 2 3 2 2>3 (S) i=2+1 in ra 3

4 3 3>3 (S) i=3+1 in ra 4

5 4 4>3 (Đ) Ngừng lại, thoát khỏi vòng lặp

Page 13: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Bạn có biết vì sao i lại mang giá trị 24.

Cách viết bằng Until

Yêu cầu: điều kiện của vòng lặp Until không dùng Not.

Bài Tập

Bài 1: Mswlogo là gì. Mục tiêu: Biết được Mswlogo là gì, cách mở, đóng chương trình, các nhập lệnh và cách lưu lại bài dưới dạng file .lgo. Câu hỏi:

1. Chương trình Mswlogo dùng để làm gì? 2. Ngay giữa sân chơi biểu tượng tam giác được gọi là gì? 3. Phần mở rộng của Mswlogo là gì? 4. Các bước để có thể lưu lại một bài lập trình trên Mswlogo?

Bài 2: Một số lệnh cơ bản. Mục tiêu: Sử dụng được một số lệnh thông dụng, điều khiển rùa di chuyển xoay và tô màu.

Vẽ được một số hình đơn giản.

Page 14: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Câu hỏi: 1. Hãy cho biết các lệnh sau đây sẽ tác động như thế nào đến hoạt động của rùa?

a. FD, RT, BK, LT b. SetX, SetY, SetXY, Home

c. CS, CT d. PU, PD e. SetPC, SetFC, Fill

2. Dùng các lệnh đã học để vẽ các hình sau:

Bài 3: Các phép toán trong Mswlogo. Mục tiêu: Viết và hiểu được cách tính các phép toán bình thường và phép toán logic.

Câu hỏi:

1. Cho biết kết quả của phép toán: 7+(7+7)*7+7/7-7 =? 2. NOT (AND OR(5>3 2=9) 1+1=2) kết quả nhận được cuối cùng là true hay false?

Bài 4: Biến là gì, khai báo, phạm vi. Mục tiêu: Hiểu được biến là gì, phạm vi của biến, biết cách khai báo và thay đổi giá trị của biến. Bài 5: Lệnh rẽ nhánh.

Mục tiêu: Đưa được phép toán logic vào trong biểu thức điều kiện của lệnh rẽ nhánh IF và IFELSE, biết phối hợp nhiều điều kiện lại với nhau để diễn đạt được yêu cầu của bài toán. Bài 6: Vòng lặp. Mục tiêu: Biết cách đưa những lệnh giống nhau vào trong vòng lặp, hiểu được cách thức làm việc của các vòng lặp REPEAT, FOR, WHILE, UNTIL Sử dụng vòng lặp và các lệnh đã học vẽ những hình sau:

6 hình tròn lồng nhau cách nhau 10 bước

6 hình ellipse lồng nhau cách nhau 10 bước

Các hình vuông có cạnh là 20

xếp lên nhau tạo thành hình tam

giác vuông. Dùng FOR, hoặc Repeat vẽ từ trên xuống dưới

Page 15: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Em hãy viết các câu lệnh trong chương trình MSWLogo để vẽ Hình 1 với các cạnh của ngôi sao là 100, đường tròn chứa ngôi sao có bán kính bằng 162, sau khi vẽ xong đổ màu cho ngôi sao là màu cam (14).

Em hãy tìm tất cả các số chia hết cho 5 trong 50 số lẻ đầu tiên Trăm con gà giá trăm đồng. Gà trống 5 đồng một con, gà mái 3 đồng một con, gà con 2 con một đồng. Em hãy sử dụng các câu lệnh trong MSW Logo tính số gà trống, gà mái và gà con.

6 hình vuông cách nhau một góc

360/6 6 hình lục giác cách nhau

một góc 360/6

10 hình ngũ giác cách nhau

một góc 360/10

5 hình tam giác đều cách nhau một góc 360/5

8 hình tròn cách nhau một góc 360/8

Đây là hình được tạo bởi 7 hình vuông cách nhau 10 bước.

1. Xoay rùa 45 độ về bên phải vẽ hình vuông. 2. Nhấc viết, xoay phải 45 độ đi tới 10 bước hạ viết xuống. 3. Lặp lại bước 1 cho tới khi đủ 7 hình vuông.

Đây là hình

được tạo bởi

hình bát

giác(đa giác

đều 8 cạnh).

Tại từng cạnh

lại vẽ một hình

vuông có chiều

dài cạnh bằng

với cạnh của

đa giác.

Vẽ 5 cánh sen, cung đường tròn là 60 bán kính là 80

Page 16: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ
Page 17: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ
Page 18: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ

Học sinh tự vẽ 3 hình này.

Page 19: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ
Page 20: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ
Page 21: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ
Page 22: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ
Page 23: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ
Page 24: I. MSWLogo là gì. · h) Right n Viết tắt RT, xoay rùa về phía bên phải một góc n độ. i) Left n Viết tắt LT, xoay rùa về phía bên trái một góc n độ