Bài 1 mình đã hướng dẫn rồi bài 2 :Hình xoắn ốc được vẽ bắt đầu từ một đoạn thẳng có độ dài 50 nối tiếp các đoạn thẳng mới được xác định bằng cách xoay đoạn thẳng đó sang phải một góc 20 độ và có độ dài bằng 0.95 của đoạn thẳng đứng trước. Quá trình đó được lặp lại đến khi đoạn thẳng có độ dài nhỏ hơn 1. Bài này tương đối dễ, nhưng không hiểu sao cái hình mình vẽ không giống lắm so với cái hình trong đề, vòng lặp có thể dùng while nhưng dùng Until là hay nhất.
Code bài xoắn ốc như sau :
To XoanOc
CS
SETACTIVEAREA [-50 -150 300 250] ;Chọn tọa độ sân chơi muốn lấy làm ảnh gif, toạ độ của cả sân chơi là ± 500
MAKE “append “FALSE ;Bỏ qua khung ảnh đầu tiên
MAKE “i 50
UNTIL [:i<1] [
Fd :i
Rt 20
(GIFSAVE “XoanOc.gif 0 :append 0) ;Lưu file ảnh với tên là XoanOc.gif không có thời gian dừng giữa 2 khung hình và lặp lại mãi
MAKE “append “TRUE
MAKE “i :i*0.95
Show :i
]
END
Phần in đậm dùng để lưu lại quá trình rùa di chuyển và tạo thành một file ảnh gif, có thể bỏ 3 dòng này đi, Show :i dùng để hiện giá trị của i ra cửa sổ lệnh sau mỗi vòng lặp giúp ta xem được các giá trị của i, cái này cũng có thể bỏ. Bình thường các bạn chỉ cần code như thế này là được.
To XoanOc
CS
MAKE “i 50
UNTIL [:i<1] [
Fd :i
Rt 20
MAKE “i :i*0.95
]
END
Cú pháp sử dụng vòng lặp Until [điều kiện đúng] [thì thực hiện lệnh].
Cám ơn cô Lê Trần Hà Mi đã chia sẻ đề thi.
Một dạng đề khác (code của thầy Đoàn Thanh Hải (Fb))
To hinh
CS
For[i 0 200 2][Fd :i Rt 91]
END
làm lun bài đi a :))
Hết luôn rồi, bài 1 giải trước đó lâu rồi, bạn xem ở đây nè : http://emyeutinhoc.com/goc-lap-trinh/mswlogo-ve-hinh-vuong-duc-4-lo-tron.html
em đã xem đề và giải. có đề nào nữa không nhờ thầy post lên cho em xem với. mà bài xoăn ốc lệnh gán i :i*0.95 chứ
Bạn xem ở trên fanpage mình không nhớ.
Cảm ơn bạn, đã sửa lại code :D.
làm sao post được bài mới
Làm phiền thầy gửi bài qua email hoặc fanpage 🙂
AD làm dc bằng
thực ra là lặp 55 lần ,di chuyển i bước, xoay 20 độ, thay đổi i (gán biến i cho i mới đầu là 80, rồi sau đó giảm -i/14) vậy là xong