Nội dung chính
Vẽ cờ đỏ sao vàng – Quốc kỳ theo đúng tỷ lệ.
Hiện nay trên Fanpage có 2 cách giải, với 2 cách giải trên thì code rất đơn giản và dễ hiểu, nhất là của thầy Ngọc Nguyễn, tuy nhiên có một vấn đề trong 2 cách trên đó là tính độ dài cạnh của ngôi sao như thế nào? Công thức 60 x 4/5 = 48 vẫn còn chưa thuyết phục một số thầy cô.
Trước đây chúng tôi có giải một bài toán vẽ ngôi sao khi mà biết độ dài từ đỉnh tới tâm của nó, hôm nay chúng tôi sẽ sử dụng cách đó vào bài toán vẽ Quốc kỳ, các bạn có thể xem lại phần phân tích ở link trên. Việc xác định tọa độ sẽ được gán bằng biến mảng, A, B, C, D, E là 5 đỉnh của ngôi sao theo chiều kim đồng hồ. Các bạn chỉ cần cho biết chiều dài lá cờ chương trình sẽ tự động làm việc còn lại. Để tránh khỏi việc tô màu từng phần của ngôi sao chúng tôi áp dụng một thủ thuật, đầu tiên tôi tô vàng màu nền lá cờ và vẽ ngôi sao bằng nét đỏ, kế đó tô màu nền lại thành đỏ và vẽ ngôi sao lại bằng nét vàng.
;Đoạn chương trình dùng để vẽ ngôi sao với độ dài từ đỉnh tới tâm
To Sao :n
PU ; Nhac pen de khi di chuyen khong tao thanh duong
FD :n Make “A Pos BK :n RT 72
FD :n Make “B Pos BK :n RT 72
FD :n Make “C Pos BK :n RT 72
FD :n Make “D Pos BK :n RT 72
FD :n Make “E Pos
SetPos :A ; Dua rua ve dinh A
PD ;Ha Pen noi cac diem dinh tao thanh ngoi sao A->C->E->B->D->A
SetPos :C SetPos :E SetPos :B SetPos 😀 SetPos :A
END
;Chương trình chính
To QuocKy :dai
CS
SETPENSIZE [2 2]
Make “cao :dai*2/3
Repeat 2[ Fd :cao Rt 90 Fd :dai Rt 90]
PU
FD :cao/2 Rt 90 FD :dai/2 ;Toi toa do tam ngoi sao
PD
SETFLOODCOLOR [255 255 0] ;Nen mau vang
SETPENCOLOR [255 0 0] ; Net ve mau do
FILL
LT 90 ; Quay huong len tren
Sao :dai/5 ;Ve ngoi sao bang net mau do
RT 72 PU FD 10 PD ;Di ra ngoai ngoi sao chuan bi to mau nen la co
SETFLOODCOLOR [255 0 0] ;Mau nen do
SETPENCOLOR [255 255 0] ;Pen mau vang
Fill PU BK :dai/5 + 10 ;To nen do xong di lui ve tam ngoi sao
Sao :dai/5 ;Ve lai mot lan nua voi net mau vang
HT
Cho mình hỏi : Hiện tại phần mềm logo gì xịn nhất ?
cho mình nhận xét nha. thời đại bây giờ ko phân biệt xịn hay đểu. chỉ cần bạn cố gắng học tập thì sẽ có kết quả tốt. chứ ko phải phụ thuộc vào thứ xịn hay đểu cả. ko cần chiến thắng chỉ cần chúng ta phát huy hết khả năng của mình thôi bạn ạ. chỉ cần có sự cố gắng. chứ bạn cũng ko thể phụ thuộc vào công nghệ quá như vậy được. mình thấy bạn hỏi vậy ko cỏ người trả lời cũng phải vì bây giờ ko ai phân biệt xịn hay đểu cả.… Read more »
to quocky
make “a 300
make “b :a/3*2
make “c :a/5*1
repeat 2[fd :b rt 90 fd :a rt 90]pu setxy :a/2 :b/2
setpc 6 pu repeat 5[fd :c show pos bk :c rt 72]
setxy 114.732884 51.45898 pd setxy 150 160
setxy 185.267115 51.45898
setxy 92.936609 118.541019
setxy 207.06339 118.541019
setxy 114.732884 51.45898 pu setpc 0 setxy :a/2 :b/2
repeat 5[fd 30 setfc 6 fill bk 30 rt 72]setfc 6 fill
fd 70 setfc 4 fill home pd
end
cho mình tí nhận xét nha . mình ko biết lý do bạn vẽ thế nào hết. mà khi viết các câu lệnh của bạn vào mình thấy quốc kỳ không được đẹp lắm. mình thấy nó rất nghiêng. bạn nên chỉnh sửa lại một chút . hoặc bạn có thể vẽ quốc kỳ bằng các câu lệnh sau : to cotoquoc pd repeaat 2 [fd 120 rt 90 fd 180 rt 90] pu setxy 85 65 pd rt 18 repeat 5 [fd 20 rt 144 fd 20 lt 72] pu rt 10 fd 10 setfc 6 fill pu home… Read more »
bạn ơi chữ repeat của bạn thừa 1 chữ a nhé bạn làm rất hay cảm ơn
Bạn Ngoc Minh cho mình hỏi cách xác định tọa độ xy vơi,mình mới học nên không biết.cảm ơn
Bạn mới học vì vậy nên xem các bài hướng dẫn cơ bản để biết lệnh.
Lệnh xác định tọa độ xy của rùa showpos
Cách xác định tọa độ xy bạn phải dùng lệnh setpos để đo tọa độ nhé.mình nghĩ thế
To Sao :n
(khởi tạo mảng lưu tọa độ 5 đỉnh)
Make “toado (array 5 1)
(khởi tạo biến tam lưu tọa độ tâm ngôi Sao)
Make “tam pos
pu
(Lấy tọa độ 5 đỉnh)
For[i 1 5 1][
fd :n
setitem :i :toado pos
bk :n rt 72
]
(di chuyển lên đỉnh 1)
item 1 :toado pd
(vẽ ngôi Sao)
item 3 :toado
item 5 :toado
item 2 :toado
item 4 :toado
item 1 :toado
(về tâm)
pu setpos :tam
end
to chunhat
repeat 2 [fd 200 rt 90 fd 300 rt 90] fd 35 rt 90 pu fd 120 lt 90 pd
end
to ngoisao
rt 18 repeat 5 [fd 38 pu fd 20 pd fd 38 rt 144] pu fd 50
setfloodcolor [255 255 0] fill bk 70 setfloodcolor [255 0 0] fill
end
to hcn messagebox [thong bao] [vui long nhap do dai cua ca chieu dai va chieu rong] make “cd first rl make “cr :cd*2/3 repeat 2 [fd :cr rt 90 fd :cd rt 90] end to laco cs setpc [0 0 0] hcn pu fd :cr/2 rt 90 fd :cd/2 lt 90 setfc [255 0 0] fill setpc [255 255 0] ngoisao setfc [255 255 0] fill pu repeat 5 [fd :n/2 fill bk :n/2 rt 72] home pd setpc [0 0 0] repeat 2 [fd :cr rt 90 fd :cd rt 90] end to ngoisao make “n :cd/5 pu… Read more »
Hoàn toàn ổn tuy nhiên nếu bạn là học sinh đi thi thì nên chọn cách nào đơn giản, ngắn gọn nhất để làm, một góp ý nhỏ là bạn nên dùng question thay cho messages rl vì question nó thân thiện hơn. Thông báo của bạn chưa chuẩn vì nó bảo nhập cả chiều dài và rộng. Mình rất thích code của bạn, mong bạn chia sẻ nhiều hơn với những thầy cô và các bạn khác. 😀
Em cảm ơn
Thưa thầy, bài này nằm trong đề thi năm nào ạ?
https://m.facebook.com/story.php?story_fbid=266438187051692&id=225425357819642
Đề năm 2014 link thảo luận trên fanpage bạn có thể tham khảo.
Em cảm ơn
Pu Setxy :d/2 :r/2 (đưa bút vẽ về tâm hình chữ Nhật – đk là: điểm bắt đầu ở trung tâm trang vẽ)
mình đã vẽ các lệnh nhưng khác lắm.
cô tin đã giao bài về để mình làm để thi.
thực tế mình chưa hiểu đề ad giảng trên em yêu tin học cho lắm.
và khi sử dụng lệnh của cô tin đã giao cho mình thì đã thành công.
nên mong ad chỉ bảo chi tiết hơn một tí
Bài viết trên website chúng tôi phần lớn đã chạy thử rồi mới đăng lên. Tuy nhiên việc copy rồi paste lại thì sẽ có một số trường hợp mất hoặc thay đổi ký tự điều quan trọng bạn phải hiểu được ý tưởng của người giải sau đó mới viết lại hoặc viết theo ý của mình. Một số bài đơn giản và dễ chúng tôi viết lại ở một góc độ khác khó hơn, mục đích của việc này là để cho giáo viên tham khảo. Nếu bạn là học sinh thì không nên làm theo, cứ cái… Read more »
dạ thưa thầy , khi thi xong tin học trẻ quảng ninh 2017 ad có giải kết quả ko ạ
Nếu bạn có đề hãy gửi vào fanpage các thầy cô khác sẽ giải ngay, trên đó cũng rất nhiều đề của các tỉnh thành khác, có nhiều đề rất hay bạn nên tham khảo và đọc qua các bình luận trên đó.
zâng em cảm ơn thầy
to b
pd repeat 2 [fd 120 rt 90 fd 180 rt 90]
pu setxy 85 65 pd rt 18
repeat 5 [fd 20 rt 144 fd 20 lt 72]
pu rt 10 fd 10 setfc 6 fill
pu home rt 45 fd 25
setfc 4 fill
end
tân sinh viên muốn học hỏi cách vẽ = scratch ai làm cho mình xin link tham khảo với
Trong phần lập trình vơi Scratch có một số bài.
Mọi người kiểm tra giúp mình xem lỗi ở đâu mà mình không vẽ được lá cờ đỏ sao vàng nhỉ? to sao :n cs pu fd :n make “A POS BK :N RT 72 fd :n make “B POS BK :N RT 72 fd :n make “C POS BK :N RT 72 fd :n make “D POS BK :N RT 72 fd :n make “E POS SETPOS :A PD SETPOS :C SETPOS :E SETPOS :B SETPOS 😀 SETPOS :A HT end to QUOCKY :DAI CS PD MAKE “CAO :DAI*2/3 SETPENSIZE [3 3] REPEAT 2 [FD :CAO RT 90 FD… Read more »
Bỏ CS trong chương trình Sao đi.
Vâng em cảm ơn thầy ạ!
thấy cho em một số ví dụ về các lệnh :HEADING;SetHeading;TOWARDS;DISTANCE x y với ạ!
Heading cho ta biết rùa đang quay về hướng nào.
Setheading n ép rùa phải quay về hướng n nó gần giống như RT LT.
Towards Xoay rùa vè một tọa độ nào đó.
Distance x y đo khoảng cách từ vị trí rùa tới tọa độ x y.
Ví dụ về các lệnh này nó nằm trong các bài giải trên website, bạn muốn tìm hiểu thì cứ bấm lẹnh thử nó là biết, với Heading, Distance thì phải bấm Show hoặc Pr, Label nó để biết giá trị của nó.
Tốt
to laco :d cs pd make “r :d * 2/3 repeat 4[fd :r rt 90 fd :d rt 90] pu fd :r * 1/2 rt 90 fd :d * 1/2 setfc[255 255 0] setpencolor[255 0 0] fill lt 90 ngoisao :d/5 pu fd 10 pd setfc [255 0 0] setpencolor[255 255 0] Fill PU BK :d/5 + 10 ngoisao :d/5 end to ngoisao :n pu fd :n make “A pos bk :n rt 72 fd :n make “B pos bk :n rt 72 fd :n make “C pos bk :n rt 72 fd :n make “D pos bk :n rt… Read more »
Rất hay, thầy có thể mở rông sang nhiều biểu tượng hay quốc kỳ khác được không ạ?
Mswlogo hiện nay đã không còn thi trong cuộc thi tài năng trẻ tin học quốc gia nữa do đó chúng tôi tập trung vào IC3 và Scratch.
các bạn thử lệnh này trong MSWlogo nhé!
setpc [0 255 0] repeat 360 [fd 5000 rt 949]
ra hình cánh rừng đó nha!
không phải đâu
uk.ra hình sao sao ấy
thầy ơi! Lệnh make trong logo để làm gì vậy thầy?
Hôm nay ngồi xem lại mới thấy cm này của bạn, rất tiếc đã không trả lời cho bạn sớm được có lẽ bạn đã tự tìm hiểu được rồi. Tuy nhiên cũng trả lời lại ở đây luôn vì có thể có ai đó cần. Make dùng để tạo biến và thay đổi giá trị cho biến. Ví dụ To a_cong_b Make “a 5 ; Tao một biến tên a đặt giá trị là 5 Make “b 1 ; Tạo biến b với giá trị là 1 Make “c :a + :b ; Tạo biến c với giá trị… Read more »
to laco
setpc 0
repeat 2[fd 200 rt 90 fd 300 rt 90]
pu fd 100 rt 90 fd 150
setfc 4 fill
setpc 6
lt 90 fd 300/5
pd rt 162 repeat 5[fd 45 lt 72 fd 45 rt 144]
pu
rt 18 fd 60
setfc 6 fill
ht
end
ủa em làm y như thế, ko thiếu chỗ nào ,mà sao hình gì kì lắm bạn ơi. Giúp mình với, mai là mình đi thi rồi. Với cái đầu ko biết gì là tin học thì chết, mỗi khi vô phòng thi tin là khóc thôi à hu hu hu
Scratch vẽ Cờ VN:https://scratch.mit.edu/projects/314213636/
to laco :a
cs
;ve la co
make “b :a*2/3
repeat 2[fd :b rt 90 fd :a rt 90]
pu fd :b*1/2 rt 90 fd :a*1/2 lt 90 setfc 4 fill
;ve ngoi sao
fd :a*1/5
rt 162
setpc 6
pd repeat 5[ fd :a *1/6 lt 72 fd :a*1/6 rt 144]
rt 18 fd :a*1/5 setfc 6 fill
ht
end
Rất chuẩn
thầy ơi ,em vẽ mãi hình bát quái mà không được ,phải làm sao vậy thầy?
Hình lưỡng nghi (âm dương) ở đây http://emyeutinhoc.com/goc-lap-trinh/mswlogo-ve-hinh-am-duong.html việc còn lại là vẽ những quẻ xung quanh thôi.
Nên vẽ 2 bát giác lồng nhau rồi tô màu đỏ sau đó vẽ những đường trắng sẽ đơn giản hơn.
cảm ơn thầy!