VinaOnline.net

Lap-trinh-MSWLOGO-Ve-bac-tam-cap

Hướng dẫn lập trình MSWLOGO vẽ bậc tam cấp

Lập trình MSWLOGO vẽ bậc tam cấp là tiếp tục áp dụng kỹ năng lập trình mswlogo để giải quyết bài toán thực tế. Kỹ thuật chính trong lập trình mswlogo vẽ bậc tam cấp là phân tích công việc thành các công việc nhỏ hơn và ghép các công việc này lại theo một trình tự nhất định.

Bài viết liên quan:

  Lap-trinh-MSWLOGO-Ve-bac-tam-cap - san pham

I. Lập trình MSWLOGO vẽ bậc tam cấp: Phân tích tổng quát.

Dựa vào sản phẩm (hình vẽ) cần đạt được, bạn chia hình vẽ này thành các phần nhỏ hơn như sau (các hình bên cạnh).

– 0: Hướng hiện tại của rùa lúc mới khởi động phần mềm MSWLOGO.

– 1: Thực hiện vẽ bên trái của hình.

– 2: Vẽ bên phải của hình, công đoạn này nối tiếp với công đoạn 1.

– 3: Vẽ dưới đáy của hình, nối tiếp công đoạn 2.

Chú ý:

– Công đoạn 1 lại được phân tích chi tiết hơn (sẽ được đề cập tại mục II). Phân tích mục 2 dành cho bạn nhé.

II. Lập trình MSWLOGO vẽ bậc tam cấp: Phân tích chi tiết

1. Phân tích chi tiết công đoạn 1

Công đoạn này được thực hiện từng tự thành 4 bước nhỏ (kể cả hướng của rùa) như sau:

Lap-trinh-MSWLOGO-Ve-bac-tam-cap phan-tich-chi-tiet

– 0: Hướng ban đầu của rùa (giống bước 1 giai đoạn phân tích tổng quát).

– 1: Vẽ bậc thứ nhất

+ Vẽ nét thẳng đứng (FORWARD 50) và quay rùa về bên phải 90 độ (RIGHT 90).

+ Vẽ nét ngang (FORWARD 50) và quay rùa hướng lên (LEFT 90) để tiếp tục vẽ bậc thứ 2.

+ Đoạn mã cho bậc thứ nhất ghép lại như sau:

  FORWARD 50

  RIGHT 90

  FORWARD 50

  LEFT 90

– 2: Vẽ bậc thứ hai thực hiện tương tự, đoạn mã giống như trên:

  FORWARD 50

  RIGHT 90

  FORWARD 50

  LEFT 90

– 3: Vẽ bậc thứ 3

+ Vẽ nét thẳng đứng (FORWARD 50) và quay rùa về bên phải 90 độ (RIGHT 90).

+ Vẽ nét ngang (FORWARD 50) và quay rùa hướng xuống (RIGHT 90) để tiếp tục vẽ bên phải của hình (công đoạn tổng quát).

+ Đoạn mã cho bậc thứ ba như sau:

FORWARD 50

RIGHT 90

FORWARD 50

RIGHT 90

Từ các phân tích trên, nếu đặt đoạn chương trình tên VE_TRAI (vẽ bên trái chẳng hạn), đoạn mã toàn bộ như sau:

TO VE_TRAI

   FORWARD 50

   RIGHT 90

   FORWARD 50

   LEFT 90

   FORWARD 50

   RIGHT 90

   FORWARD 50

   LEFT 90

   FORWARD 50

   RIGHT 90

   FORWARD 50

   RIGHT 90

END

Lap-trinh-MSWLOGO-Ve-bac-tam-cap-phan-tich-toi-uu

– Qua đoạn mã bạn thấy phần màu đỏ và màu xanh giống nhau, màu đen thì khác dòng cuối cùng (RIGHT 90, được in đậm). Đây là hướng rùa của hình Chi tiết 1.

– Nếu thêm một lệnh trước RIGHT 90 được in đậm lệnh LEFT 90 thì ta được hướng rùa của hình Chi tiết 2.

TO VE_TRAI

   …

   …

   FORWARD 50

   RIGHT 90

   FORWARD 50

   LEFT 90

   RIGHT 90

END

– Để hướng rùa giống hình Chi tiết 1, bạn tiếp tục quay rùa về bên phải 90 độ nữa.

TO VE_TRAI

   

   …

   FORWARD 50

   RIGHT 90

   FORWARD 50

   LEFT 90

   RIGHT 180  // hoặc RIGHT 90 RIGHT 90

END

– Như vậy đoạn mã gồm 3 phần giống nhau nên bạn sử dụng lệnh REPEAT để tối ưu.

TO VE_TRAI

REPEAT 3 [FORWARD 50 RIGHT 90 FORWARD 50 LEFT 90]

RIGHT 180

END

2. Phân tích chi tiết công đoạn 2

Phân tích tương tự, đoạn mã:

TO VE_PHAI

REPEAT 2 [FORWARD 50 LEFT 90]

LEFT 180

REPEAT 2 [FORWARD 50 LEFT 90]

LEFT 180

FORWARD 50 RIGHT 90

END

3. Phân tích chi tiết công đoạn 3

TO VE_DAY

REPEAT 5 [FORWARD 50]

END

4. Chương trình chung

TO TAMCAP

VE_TRAI

VE_PHAI

VE_DAY

END

Kết luận

Lập trình MSWLOGO vẽ bậc tam cấp phân tích khá dài. Nếu bạn gặp một bài toán phức tạp, có thể phân tích thành các công đoạn nhỏ hơn để xử lý và kiểm tra tính đúng đắn trước khi ghép với chương trình tổng thể. Chúc bạn học tốt.

Leave a Comment