Professional Documents
Culture Documents
1
Tổ Tin Học Quận 12
II./ CÁC LỆNH CƠ BẢN
1./ KHÁI NIỆM VỀ CÁC CÂU LỆNH & THAM SỐ.
a. CÂU LỆNH: Dòng lệnh để chương trình thực hiện công việc theo yêu cầu.
dụ: Forward : ra lệnh bút vẽ vẽ 1 đoạn thẳng theo hướng tới.
b. THAM SỐ: Phần kèm theo mỗi câu lệnh để chương trình thực hiện câu lệnh
chính xác với mỗi lần ra câu lệnh.
Ví dụ:
o Forward 50 : Vẽ đoạn thẳng dài 50 theo hướng bút vẽ.
o Forward 100 : Vẽ đoạn thẳng dài 100 theo hướng bút vẽ
Câu lệnh là FORWARD, các số 50, 100,.. là tham số.
2
Tổ Tin Học Quận 12
3
Tổ Tin Học Quận 12
4
Tổ Tin Học Quận 12
5
Tổ Tin Học Quận 12
Số hiệu màu: (Chỉ nhập số hiệu, không nhập tên màu)
RiGHT 30
6
Tổ Tin Học Quận 12
III. HƯỚNG DẪN THỰC HÀNH :
Dùng các lệnh cơ bản để vẽ 1 tam giác cân, có sử dụng màu sắc cho các nét vẽ:
Cửa sổ sau khi thực hiện câu lệnh:
o Thực hiện câu lệnh forward 150: Vẽ đoạn thẳng theo hướng tới độ dài 150.
o Thực hiện câu lệnh left 50: quay hướng bút vẽ sang trái 50 độ
o Thực hiện câu lệnh LEFT 150 : quay hướng bút vẽ sang trái 1 góc là 150 độ
o Thực hiện câu lệnh SETPC 1 : đổi màu xanh
8
Tổ Tin Học Quận 12
o Thực hiện câu lệnh forward 260: vẽ tới có độ dài 260 (để vẽ tam giác cân, học sinh
phải tính được độ góc cần quay)
IV. BÀi TẬP GỢI Ý :
Dùng các lệnh cơ bản để vẽ:
o Hình chữ nhật.
o Hình đa giác.
o Hình tự do.
9
Tổ Tin Học Quận 12
10
Tổ Tin Học Quận 12
Thực hiện lệnh: repeat 3 [forward 50 right 45] lặp lại 3 lần: đi thẳng 50, quay phải 450
Ứng dụng vòng lặp REPEAT vào hình đã vẽ ở bài 1 (hình tam giác cân)
Câu lệnh thực hiện hình vẽ trên như sau:
o Repeat 6[forward 100 left 60 forward 100 left 150 forward 175 left 150 right 60]
o Repeat 6: thực hiện ( các công việc thực hiện, hình tam giác )6 lần
o Forward 100 left 60 forward 100 left 150 forward 175: Câu lệnh vẽ hình tam giác (ở
tiết 1)
o Left 150 : Quay hướng bút vẽ về hướng xuất phát
o Right 60 : Hướng vẽ hình kế tiếp (Hai hình lệch nhau 60 độ bên phải)
11
Tổ Tin Học Quận 12
Hình 1 Hình 2
Hướng dẫn:
Lệnh vẽ hình 1:
o Left 30 forward 30 right 45 forward 60 right 150 forward 60 right 45 forward 30
Hình vẽ hoàn tất, bút vẽ chưa trở về hướng xuất phát ban đầu.
Lệnh vẽ hình 2:
o Lệnh quay bút vẽ : Right 210
Học sinh ứng dụng vòng lặp REPEAT thực hiện 6 lần để có hình mẫu ở trên.
12
Tổ Tin Học Quận 12
13
Tổ Tin Học Quận 12
Minh hoạ các lệnh:
14
Tổ Tin Học Quận 12
15
Tổ Tin Học Quận 12
Bước 3: Thay đổi giá trị trong biến BK thành 150.
Như vậy cùng 1 lệnh CIRCLE :BK, nhưng 2 lần vẽ cho 2 vòng tròn khác nhau do giá
trị trong biến BK đã thay đổi.
16
Tổ Tin Học Quận 12
III. HƯỚNG DẪN THỰC HÀNH PHẦN 1:
Dùng các lệnh đã học kết hợp vòng lặp REPEAT để vẽ hình sau:
Câu lệnh thực hiện hình vẽ trên như sau:
Trong vòng lặp REPEAT thực hiện 6 lần các công việc sau:
o Câu lệnh left 36 forward 100 right 72 forward 100 right 108 forward 100 right 72
forward 100 right 144 : Vẽ cánh sao, quay bút vẽ về hướng xuất phát.
o Câu lệnh forward 162 penup back 162 : Vẽ đường gân giữa của cánh sao, nhấc bút
vẽ, về vị trí cũ.
o Câu lệnh right 72 pendown : Quay hướng bút vẽ để vẽ cánh sao kế tiếp.
o Câu lệnh Circle 162: Vẽ vòng tròn bán kính 162.
Câu lệnh right 18 : Quay hướng bút vẽ vào các khu vực tô
Câu lệnh penup: Nhấc bút vẽ.
Câu lệnh setfc 14 : Quy định màu tô là màu vàng.
Câu lệnh repeat 5[forward 50 fill penup back 100 fill
penup forward 50 rt 36]: Lần lượt tô màu ở các cặp đối
xứng nhau của 5 cánh sao.
IV. BÀi TẬP GỢI Ý PHẦN 1:
Dùng các lệnh đã học để vẽ hình bên:
Hướng dẫn:
Căn cứ vào tham số của lệnh CIRCLE là bán kính để
tính toán vị trí tâm của các vòng tròn, kết hợp lệnh
PENUP và PENDOWN để di chuyển bút vẽ đến các vị trí muốn vẽ.
17
Tổ Tin Học Quận 12
Hướng dẫn:
- Tạo 1 biến làm tham số số hiệu màu cho lệnh
SETPC có giá trị khởi đầu là 0, 1 biến làm
tham số bán kính cho lệnh CIRCLE có giá trị
khởi đầu là 10.
- Trong mỗi vòng lặp , tăng số hiệu màu lên 1
đơn vị, tăng bán kính vòng tròn 10 đơn vị.
18
Tổ Tin Học Quận 12
19
Tổ Tin Học Quận 12
AÙP DUÏNG VOØNG LAËP FOR ÑEÅ VEÕ ÑÖÔØNG CHAÁM GAÏCH
- Quay traùi buùt veõ theo höôùng beân traùi 1 goùc 90o baèng leänh: Left 90 ôû hoäp leänh.
- Sau ñoù duøng voøng laëp FOR ( 20 laàn ) ñeå thöïc hieän caùc caâu leäänh tuaàn töï laëp ñi laëp laïi
nhö sau:
20
Tổ Tin Học Quận 12
+ Sau khi xoay buùt veõ sang traùi 90o , chuùng ta duøng tuaàn töï caùc leänh sau:
c Duøng leänh fd 10 (forward 10) ñeå veõ ñöôøng thaúng coù ñoä daøi laø 10 (tham soá).
d Duøng leänh penup ñeå nhaác buùt veõ leân (moïi di chuyeån cuûa buùt veõ seõ khoâng taïo
ra neùt).
e Duøng leänh fd 10 (forward 10) ñeå di chuyeån buùt veõ theo ñöôøng thaúng coù ñoä daøi
laø 10 (tham soá).
f Duøng leänh pendown ñeå ñaët buùt veõ xuoáng (moïi di chuyeån cuûa buùt veõ seõ taïo ra
neùt).
Caùc böôùc treân ñöôïc laëp ñi laëp laïi 20 laàn ñeå taïo ra ñöôøng chaám gaïch coù 20 neùt.
21
Tổ Tin Học Quận 12
- Vôùi caùch thöïc hieän nhö treân thì leänh FOR seõ giaûi quyeát nhanh choùng vaán ñeà:
+ Sau khi xoay buùt veõ sang traùi 90o baèng leänh Left 90, ta coù theå goäp taát caû caùc leänh laëp ñi
laëp laïi ôû treân thaønh 1 caâu leänh duy nhaát: for [ i 1 20 1 ] [fd 10 penup fd 10 pendown](cho
voøng laëp FOR chaïy töø 1 ñeán 20 ñeå thöïc hieän leänh veõ neùt chaám gaïch 20 laàn).
22
Tổ Tin Học Quận 12
AÙP DUÏNG VOØNG LAËP FOR ÑEÅ VEÕ ÑÖÔØNG TROØN THÖA
- Quay traùi buùt veõ theo höôùng beân traùi 1 goùc 65o baèng leänh: Left 65 ôû hoäp leänh.
23
Tổ Tin Học Quận 12
- Sau ñoù duøng voøng laëp FOR (100 laàn) ñeå thöïc hieän caùc caâu leänh tuaàn töï laëp ñi laëp laïi
nhö sau:
24
Tổ Tin Học Quận 12
+ Sau khi xoay buùt veõ sang traùi 65o, duøng leänh ellipse2 50 100 ñeå veõ hình elip coù baùn
kính doïc laø 50 (ñôn vò) vaø baùn kính ngang laø 100 (ñôn vò).
+ Caùc leänh treân ñöôïc laëp ñi laëp laïi 100 laàn ñeå thöïc hieän 100 voøng elip coù baùn kính doïc laø
50 (ñôn vò), baùn kính ngang laø 100 (ñôn vò) vaø elip sau caùch elip tröôùc 1 khoaûng 65 o.
- Sau khi buùt veõ thöïc hieän xong caâu leänh ôû treân, tieáp tuïc buùt veõ seõ thöïc hieän voøng elip nhoû ôû
beân trong ñoàng taâm vôùi taát caû caùc hình elip ôû treân:
+ Xoay buùt veõ 1 goùc 10o, duøng leänh ellipse 30 70 ñeå veõ hình elip coù baùn kính ngang laø 30
(ñôn vò) vaø baùn kính doïc laø 70 (ñôn vò).
+ Caùc leänh treân ñöôïc laëp ñi laëp laïi 20 laàn ñeå thöïc hieän 20 voøng elip coù baùn kính ngang laø
30 (ñôn vò), baùn kính doïc laø 70 (ñôn vò) vaø elip sau caùch elip tröôùc 1 khoaûng 10 o.
25
Tổ Tin Học Quận 12
26
Tổ Tin Học Quận 12
27
Tổ Tin Học Quận 12
Hướng dẫn:
Các đoạn thẳng có độ dài tăng dần theo bước tăng của vòng lặp FOR và hợp nhau
thành các góc 120 độ.
28
Tổ Tin Học Quận 12
Kết hợp 2 vòng lặp FOR và REPEAT để tạo hình vẽ
Dùng vòng lặp REPEAT lồng trong vòng lặp FOR để thực hiện hình sau:
29
Tổ Tin Học Quận 12
Hướng dẫn:
Vòng lặp REPEAT 6[forward 30 right 60] để vẽ hình lục giác đều. Trong mỗi vòng
lặp FOR, vòng lặp REPEAT vẽ hình lục giác đều, kết hợp các lệnh FORWARD, LEFT để
đi đến vị trí kế.
Sử dụng giá trị biến i trong vòng lặp FOR kết hợp lệnh SETPC để đổi màu bút vẽ.
30
Tổ Tin Học Quận 12
AÙP DUÏNG VOØNG LAËP FOR VAØ REPEAT ÑEÅ VEÕ ÑÖÔØNG TROØN ÑAÄM
- Duøng voøng laëp FOR (3 laàn) ñeå quay traùi buùt veõ theo höôùng beân traùi 1 goùc 1o (Left 65) vaø
keát hôïp duøng leänh ellipse2 50 100 ñeå veõ hình elip coù baùn kính doïc laø 50 (ñôn vò) vaø baùn
kính ngang laø 100 (ñôn vò).
- Sau khi leänh ñöôïc thöïc hieän ta coù ñöôïc 3 voøng elip, voøng sau leänh voøng tröôùc1 goùc 1o.
31
Tổ Tin Học Quận 12
Keát quaû nhaän ñöôïc:
- Voøng laëp for [ i 1 3 1 ] [ left 1 ellipse2 50 100] ñöôïc laëp ñi laëp laïi 70 laàn, moãi laàn xoay 1
goùc 3o baèng leänh left 3.
- Thay vì laëp laïi 70 laàn ôû nhö treân, ta coù theå duøng voøng laëp REPEAT 70 ñeå thöïc hieän
nhanh choùng caùc thao taùc treân.
32
Tổ Tin Học Quận 12
- Voøng laëp REPEAT 70 ñeå laëp laïi voøng FOR (70 laàn), moãi laàn laëp laïi seõ leänh sang traùi 1
goùc 3o:
33
Tổ Tin Học Quận 12
Ví dụ: mệnh đề (5>3 and 5<2) sẽ có giá trị False, (5>3 OR 5<2) sẽ có giá trị True
II.MỆNH ĐỀ ĐIỀU KiỆN
Các loại mệnh đề điều kiện:
CÚ PHÁP Ý NGHĨA
IFELSE mệnh đề điều kiện [công việc 1] Thực hiện công việc 1 trong trường hợp
[công việc 2] mệnh đề điều kiện là đúng và thực hiện
công việc 2 nếu mệnh đề điều kiện là sai
IFFALSE [công việc ] Thực hiện công việc nếu lệnh TEST trước
đó nhận 1 mệnh đề có giá trị là false
IFTRUE [công việc ] Thực hiện công việc nếu lệnh TEST trước
đó nhận 1 mệnh đề có giá trị là true
Nên nhớ: Lệnh TEST có 1 tham số là 1 mệnh đề điều kiện, phải thi hành lệnh TEST trước
rồi mới thực hiện lệnh IFFALSE hoặc IFTRUE sau.
III. HƯỚNG DẪN THỰC HÀNH :
1.Mệnh đề IFELSE:
34
Tổ Tin Học Quận 12
Câu lệnh: make "BK 5 tạo 1 biến tên BK có giá trị khởi đầu là 5
Câu lệnh: ellipse :BK 5 vẽ hình ellipse có bán kính ngang là BK và bán kính dọc là 5
Câu lệnh: penup forward 10 pendown nhấc bút vẽ và đi tới 10 đơn vị và đặt bút vẽ
xuống.
Câu lệnh: ifelse :i<20 [make "BK :BK+5][make "BK :BK-5]] sẽ tăng BK lên 5 đơn vị
nếu giá trị biến i vẫn còn nhỏ hơn 20 và giảm BK xuống 5 đơn vị nếu giá trị biến i >=20.
Trong suốt vòng lặp FOR, biến i sẽ tăng từ 1 đến 40, do đó câu lệnh for [i 1 40
1][ellipse :BK 5 penup forward 10 pendown ifelse :i<20 [make "BK :BK+5][make "BK :BK-
5]] sẽ cho ta hình vẽ trên:
2. Mệnh đề IFTRUE và IFFALSE :
Để thực hiện hình vẽ trên, ta có thể phát biểu:
make “BK 5
for [i 1 40 1][ellipse :BK 5 penup forward 10 pendown test :i<20 iftrue [make "BK :BK+5]
iffalse [make "BK :BK-5]]
Câu lệnh: TEST :i<20 sẽ có tham số là true ở 19 vòng lặp đầu tiên nên mệnh đề iftrue
[make "BK :BK+5] sẽ được thực hiện. Ở vòng lặp thứ 20 trở đi, Câu lệnh TEST :i<20 sẽ
có tham số là false nên mệnh đề iffalse [make "BK :BK-5] sẽ được thực hiện. Kết quả là
vòng lặp FOR này cũng cho ta hình vẽ trên.
35
Tổ Tin Học Quận 12
IV. BÀi TẬP GỢi Ý :
Dùng vòng lặp FOR kết hợp với mệnh đề điều kiện tuỳ ý để thực hiện hình sau, yêu
cầu khống chế số hiệu màu từ 1 đến 14, số vòng tròn lớn hơn 20
Hướng dẫn:
_Tạo 1 biến để lưu số hiệu màu với gía trị khởi đầu là 1.
_Trong mỗi vòng lặp FOR, kiểm tra nếu số hiệu màu <14 thì tăng lên 1 đơn vị, ngược lại
thì gán giá trị cho biến đó là 1.
_Bán kính của mỗi vòng tròn chính là giá trị của biến đếm của vòng lặp FOR.
36
Tổ Tin Học Quận 12
PHẦN ĐÁP ÁN BÀI TẬP GỢI Ý:
BÀI 2:
Repeat 6 [left 30 forward 30 right 45 forward 60 right 150 forward 60 right 45 forward 30
right 210]
BÀI 3:
Phần 1: Vẽ phần thân: Circle 100 penup backward 75
Vẽ hàng nút: Repeat 4[forward 30 pendown circle 5 fill penup]
Vẽ đầu: Forward 105 pendown circle 50
Vẽ mắt phảI: Right 90 penup forward 25 pendown circle 10
Vẽ mắt trái: Penup backward 50 pendown circle 10
Vẽ miệng: Penup forward 25 left 90 backward 25 pendown ellipse 20 10
Phần 2: make “mau 0
make “BK 10
repeat 16[setpc :mau circle :BK make "BK :BK+10 make "mau :mau+1]
BÀI 4:
Phần 1: for [I 50 150 5][forward :I left 120]
Phần 2: for [I 1 6] [setpc :I REPEAT 6[forward 30 right 60] penup forward 30 left 60
pendown]
BÀI 5:
Phần 2: make “mau 1
for [I 10 100 3] [setpc :mau circle :I ifelse :mau<14 [make "mau :mau+1] [make
"mau 1]]
37
Tổ Tin Học Quận 12
BÀI TẬP THỰC HÀNH:
Dùng các lệnh đã học để thực hiện các hình sau:
BÀI 1 BÀI 2
BÀI 3 BÀI 4
38
Tổ Tin Học Quận 12
BÀI 5 BÀI 6
BÀI 7 BÀI 8
39
Tổ Tin Học Quận 12
PHẦN ĐÁP ÁN
Bài 1:
repeat 4[circle 70 forward 70 right 90]
Bài 2:
repeat 6[ellipse2 25 50 right 60]
Bài 3:
left 60
for [I 1 6] [ REPEAT 4[ right 90 forward 80]setfc :I penup right 135 forward 30 fill penup
back 30 left 135 pendown left 90 ]
Bài 4:
repeat 12[repeat 6 [forward 40 left 60] right 30]
Bài 5:
setheading 30
Penup
for [I 1 12] [ fd 120 make "sh heading setheading 90 label :I setheading :sh bk 120 rt
30 ]
Bài 6:
MAKE "goc 0.5
repeat 5000[fd 1 rt :goc make "goc :goc+0.0005]
Bài 7:
left 45
repeat 12[repeat 4[repeat 4[forward 100 right 90]right 180]right 30]
Bài 8:
make "dai 25
repeat 4[repeat 3[fd :dai rt 120]make "dai :dai*2 penup left 60 back :dai/2 pendown ]
40