You are on page 1of 40

Tổ Tin Học Quận 12

LOGO CƠ BẢN BÀI 1


1. KIẾN THỨC YÊU CẦU:
o Làm quen với chương trình Logo.
o Sử dụng các lệnh cơ bản để vẽ những hình đơn giản.
2. KIẾN THỨC ĐẠT ĐƯỢC
o Vẽ những hình cơ bản thành thạo.

I./ GiỚi THIỆU GiAO DiỆN CHƯƠNG TRÌNH


Giao diện chương trình Logo gồm 2 cửa sổ:
1./ Cửa sổ chính và đồ hoạ: Cửa sổ của chương trình, gồm có trình đơn và khu vực thể
hiện các hình vẽ theo yêu cầu.
2./ Cửa sổ lệnh: Người sử dụng thực hiện câu lệnh ở cửa sổ này.

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ố.

c. SỬ DỤNG CỬA SỔ LỆNH ĐỂ VẼ:


Tại hộp lệnh của cửa sổ lệnh, đánh vào tên lệnh và tham số cách nhau 1
khoảng trắng, rồi bấm phím Enter. Dòng lệnh sẽ được thực thi, đồng thời được đưa
vào hộp lưu. Sau đó, nếu muốn thực hiện lại các lệnh đã có trong hộp lưu, ta nhấp
chuột vào dòng lệnh trong hộp lưu, tại hộp lệnh sẽ xuất hiện dòng lệnh đó, điều
chỉnh lại các tham số theo yêu cầu bằng bàn phím rồi bấm phím Enter.
Ví dụ:

2
Tổ Tin Học Quận 12

Dòng lệnh và tham số


được đánh vào hộp lệnh

Bút vẽ thực hiện lệnh

Lệnh sau khi thực hiện


được lưu vào hộp lưu

3
Tổ Tin Học Quận 12

Nhấp chuột vào


dòng lệnh đã có
trong hộp lưu, dòng
lệnh lại xuất hiện
trong hộp lệnh.

Chỉnh sửa lại tham


số theo yêu cầu

4
Tổ Tin Học Quận 12

Lệnh mới được lưu


tiếp vào hộp lưu

2./ CÁC LỆNH VẼ:


CÂU LỆNH (THAM SỐ) Ý NGHĨA
FORWARD (độ dài) Di chuyển bút vẽ theo hướng đi tới
BACK (độ dài) Di chuyển lùi bút vẽ
SETHEADING (hướng chuẩn) Quay đầu bút vẽ về hướng chuẩn
LEFT (góc độ) Quay bút vẽ sang trái 1 góc độ
RIGHT (góc độ) Quay bút vẽ sang phải 1 góc độ
SETPC (số hiệu màu) Quy định màu bút vẽ
CLEARTEXT Xoá tất cả câu lệnh trên cửa sổ command
Xoá màn hình đồ họa, đặt bút vẽ về vị trí,
CLEARSCREEN
hướng chuẩn

3./ BẢNG MÀU TRONG LOGO:


Ta dùng các số từ 0 đến 15 để đại diện cho 16 màu chuẩn. Ngoài ra, ta còn có thể
xử dụng trên 16 triệu màu bằng cách pha trộn 3 màu cơ bản là đỏ (red), xanh lục (green)
và xanh dương (blue) với tỉ lệ cho mỗi màu là từ 0 đến 255, khi đó số hiệu màu sẽ là 3 số
trong ngoặc vuông, mỗi số sẽ từ 0 đến 255 ứng với tỉ lệ màu pha của 3 màu cơ bản lần
lượt theo thứ tự là đỏ, xanh lục và xanh dương.

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)

0: [ 000 __000 _ 000] 8: [ 155 _ 096 _ 059]

1: [ 000 __000 _ 255] 9: [ 197 _ 136 _ 018]

2: [ 000 __255 _ 000] 10: [ 100 _ 162 _ 064]

3: [ 000 __255 _ 255] 11: [ 120 _ 187 _ 187]

4: [ 255 __000 _ 000] 12: [ 255 _ 149 _ 119]

5: [ 255 __000 _ 255] 13: [ 144 _ 113 _ 208]

6: [ 255 __255 _ 000] 14: [ 255 _ 163 _ 000]

7: [ 255 __255 _ 255] 15: [ 183 _ 183 _ 183]

Ký hiệu các lệnh của bút vẽ:

FORWARD 50 BACK 50 SETHEADiNG 45 LEFT 30

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 độ

Ñaàu buùt veõ ñaõ quay


höôùng traùi 50 ñoä
theo caâu leänh

o Thực hiện lệnh SETPC 4 đổi màu bút vẽ là màu đỏ.


7
Tổ Tin Học Quận 12
o Thực hiện câu lệnh forward 150: vẽ tới có độ dài 150

Buùt veõ ñaõ chuyeån


maøu ñoû theo caâu leänh
SETPC 4

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

VÒNG LẶP REPEAT BÀI 2

KIẾN THỨC YÊU CẦU:.


o Có khái niệm về vòng lặp trong lập trình
o Hiểu và vận dụng vòng lặp REPEAT.

I./ Giới thiệu vòng lặp Repeat.


1. Cú pháp: Repeat Số lần lặp [Các công việc thực hiện]
Ví dụ: REPEAT 4[ FORWARD 100 RIGHT 90]: Thực hiện 4 lần công việc: vẽ đoạn
thẳng 100, quẹo phải 90 độ. Kết quả thực hiện vòng lặp, ta có 1 hình vuông có cạnh
dài 100.
2. Ý nghĩa: Thực hiện các công việc theo số lần lặp.
3. Sơ đồ vòng lặp REPEAT:

Cửa sổ minh họa:

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

Tên lệnh Số lần lặp: Công việc thực hiện: vẽ


REPEAT 3 lần tới 50, quẹo phải 45 độ

II. HƯỚNG DẪN THỰC HÀNH:

Ứ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)

III. BÀi TẬP GỢI Ý :


Thực hiện vòng lặp REPEAT để có như hình vẽ mẫu:

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

TẠO VÀ SỬ DỤNG BIẾN BÀI 3


KiẾN THỨC YÊU CẦU:
o Biết xử dụng các lệnh Penup, Pendown, Ellipse, Circle. Kết hợp với các lệnh đã
học
o Hiểu khái niệm biến và cách tạo 1 biến trong chương trình Logo
I./ CÁC LỆNH VẼ

Nhấc bút vẽ lên. Sau lệnh này mọi di


PENUP
chuyển của bút vẽ sẽ không tạo ra nét vẽ.
Đặt bút vẽ xuống. Sau lệnh này mọi di
PENDOWN chuyển của bút vẽ sẽ tạo ra nét vẽ. (Trạng
thái bình thường)
ELLIPSE (bán kính ngang) (bán kính dọc) Vẻ hình oval (bút vẽ đứng tại chỗ)
ELLIPSE2 (bán kính dọc) (bán kính ngang) Vẻ hình oval (bút vẽ đi theo nét vẽ)
CIRCLE (bán kính) Vẻ hình tròn (bút vẽ đứng tại chỗ)
CIRCLE2 (bán kính) Vẻ hình tròn (bút vẽ đi theo nét vẽ)
SETFC (số hiệu màu) quy định màu tô.
Tô màu khu vực của bút vẽ trong phạm vi
FILL
giới hạn bởi các nét vẽ.
Xuất 1 nhóm chữ hoặc 1 số hoặc giá trị của
LABEL (nội dung xuất) 1 biến ra màn hình tại vị trí bút vẽ theo
hướng của bút vẽ
Quay bút vẽ 1 góc so với hướng chuẩn.
SETHEADING (góc độ) Hướng chuẩn là hướng từ dưới lên được
tính là 0 độ và tăng theo chiều kim đồng hồ.

13
Tổ Tin Học Quận 12
Minh hoạ các lệnh:

ELLiPSE 30 70 ELLiPSE2 30 70 CiRCLE 70 CiRCLE2 70


Lệnh FILL này được Lệnh LABEL này
thực hiện sau các được thực hiện sau
lệnh: lệnh RIGHT 30
_ SETFC 4
_ CIRCLE 70
FILL LABEL “LOGO

II./ TẠO VÀ SỬ DỤNG BIẾN


1. Định nghĩa: Biến là 1 ô nhớ có tên do người dùng đặt để lưu 1 số hoặc 1 chuỗi
chữ. Những số và chữ này có thể được thay đổi bằng lệnh gán.
2. Cách tạo biến: Make “tên biến giá trị gán”.
Td: Make “DK 50 (biến DK được tạo với giá trị khởi đầu là 50).
3. Cách sử dụng biến: Khi nói đến giá trị cất trong biến, ta viết :tên biến.
Td: Ellipse :DK :DK +25 (vẽ vòng tròn chiều ngang là 50 và chiều dọc là 75)
Để thay đổi giá trị trong biến, ta dùng lại lệnh MAKE với tên biến là tên của biến
muốn thay đổi giá trị.
4. Phần minh hoạ:
Chúng ta sẽ xử dụng 1 biến tên BK để vẽ lần lượt 2 vòng tròn có bán kính là 100 và 150.
Bước 1: Tạo biến tên DK có giá trị khởi đầu là 100.

14
Tổ Tin Học Quận 12

Bước 2: Dùng lệnh CIRCLE với tham số là biến BK.

15
Tổ Tin Học Quận 12
Bước 3: Thay đổi giá trị trong biến BK thành 150.

Bước 4: Chọn lại lệnh vẽ vòng tròn và thực hiện.

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

IV. HƯỚNG DẪN THỰC HÀNH PHẦN 2:


Kết hợp lệnh repeat để tạo hình sau:
Câu lệnh thực hiện:
Câu lệnh SETPC 1: Đổi màu bút vẽ là màu xanh.
Câu lệnh MAKE “DK 30 : Tạo biến tên DK chứa giá trị khởi đầu là 30.
Câu lệnh REPEAT 30[CiRCLE :DK MAKE "DK :DK+3]: Thực hiện 30 lần vẽ vòng tròn có
bán kính là DK, giá trị trong DK được tăng lên 3 đơn vị trong mỗi vòng lặp.

V. BÀi TẬP GỢi Ý PHẦN 2:


Dùng vòng lặp REPEAT để tạo hình vẽ sau:

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

VÒNG LẶP FOR BÀI 4


KIẾN THỨC YÊU CẦU:.
o Nắm vững vòng lặp FOR. Phân biệt điểm khác nhau giữa vòng lặp FOR và
REPEAT
o Xử dụng vòng lặp lồng nhau.

I. CÚ PHÁP VÀ CÁCH SỬ DỤNG VÒNG LẶP FOR


1. Cú pháp: For [Tên biến_giá trị bắt đầu_giá trị kết thúc_bước tăng] [công việc thực
hiện]
Ví dụ: FOR [i 50 100 10] [CIRCLE :i]
2. Ý nghĩa: Thực hiện công việc với số lần lặp = ((giá trị kết thúc - giá trị bắt đầu)/
bước tăng)+1 (là 1 số nguyên)
3. Sơ đồ vòng lặp FOR:

19
Tổ Tin Học Quận 12

AÙP DUÏNG VOØNG LAËP FOR ÑEÅ VEÕ ÑÖÔØNG CHAÁM GAÏCH

- Buùt veõ ñònh vò ôû vò trí ban ñaàu:

- 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

Vieát 4 leänh naøy tuaàn töï laëp ñi


laëp laïi vaøo hoäp leänh 20 laàn.

+ 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.

+ Keát quaû nhaän ñöôïc:

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

- Buùt veõ ñònh vò ôû vò trí ban ñaàu:

- 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.

Keát quaû nhaän ñöôïc:

- 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

Keát quaû nhaän ñöôïc:

26
Tổ Tin Học Quận 12

II. So sánh 2 vòng lặp FOR và REPEAT:


_ Điểm giống nhau: Cùng thực hiện 1 số lần công việc được định trước.
_ Điểm khác nhau: Vòng lặp FOR có biến đếm cho phép ta xử dụng tính toán qua
mỗi vòng lặp.
III. VÒNG LẶP LỒNG NHAU.
Khi trong phần thực hiện công việc của 1 vòng lặp có 1 vòng lặp khác, ta gọi 2 vòng
lặp đó lồng nhau.
Td: Vòng lặp For “i 1 72 [fd 50 bk 50 right 5 fd 5] cho hình vẽ như H1
Kết hợp 2 vòng lặp REPEAT và FOR lồng nhau ta được hình vẽ H2:
repeat 5[ For “i 1 72 [fd 50 bk 50 right 5 fd 5] penup right 90 fd 50 left 90 pendown]
IV. HƯỚNG DẪN THỰC HÀNH :
Câu lệnh for [i 1 75 2] [circle :i penup back 2 pendown] vẽ các vòng tròn có bán kính thay
đổi theo i (1, 3, 5, ….75).

IV. BÀi TẬP GỢi Ý :


Dùng vòng lặp FOR để vẽ hình bên:

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 các lệnh cơ bản để đưa bút vẽ về vị trí bên trái.


o Vòng lặp repeat 6[right 60 penup forward :i*2 pendown circle :i penup back :i*2
pendown] trong vòng lặp FOR để vẽ 6 vòng tròn chung quanh.
o Vòng lặp FOR :for [i 15 20][circle :i repeat 6[right 60 penup forward :i*2 pendown
circle :i penup back :i*2 pendown] penup right 90 forward 150 left 90 pendown] vẽ
các bông mai theo thứ tự từ nhỏ đến lớn ứng với biến i của vòng lặp FOR.

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

- Buùt veõ ñònh vò ôû vò trí ban ñaàu:

- 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:

Keát quaû nhaän ñöôïc:

33
Tổ Tin Học Quận 12

LOGO NÂNG CAO : MỆNH ĐỀ ĐIỀU KIỆN BÀI 5


KIẾN THỨC YÊU CẦU:.
_ Hiểu và vận dụng được mệnh đề iF vào công việc thực tế.
_ Kết hợp các phép toán luận lý vào trong mệnh đề iF.

I. CÁC PHÉP TOÁN LUẬN LÝ AND, OR, XOR, NOT.


1. Mỗi mệnh đề phát biểu đều phải có giá trị đúng (True) hoặc sai (False).
Ví dụ: mệnh đề DK >= 25 sẽ có giá trị True khi biến DK chứa 1 số từ 24 trở xuống và sai
khi ngược lại.
2. Bảng chân trị của các phép toán AND, OR , XOR

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

You might also like