40
TTin Hc Qun 12 1 BÀI 1 LOGO CƠ BN 1. KIN THC YÊU CU : o Làm quen vi chương trình Logo. o Sdng các lnh cơ bn để vnhng hình đơn gin. 2. KIN THC ĐẠT ĐƯỢC o Vnhng hình cơ bn thành tho. I./ Gii THIU GiAO DiN CHƯƠNG TRÌNH Giao din chương trình Logo gm 2 ca s: 1./ Ca schính và đồ ho: Ca sca chương trình, gm có trình đơn và khu vc thhin các hình vtheo yêu cu. 2./ Ca slnh : Người sdng thc hin câu lnh ca snày.

T Tin H c Qu LOGO C Ơ BẢN BÀI 1 - edu.viettel.vn · Tổ Tin Học Quận 12 1 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ử

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Tổ Tin Học Quận 12

1

BÀI 1LOGO CƠ BẢN

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.

Tổ Tin Học Quận 12

2

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

Tổ Tin Học Quận 12

3

Dòng lệnh và tham số được đánh vào hộp lệnh

Lệnh sau khi thực hiện được lưu vào hộp lưu

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

Tổ Tin Học Quận 12

4

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

Tổ Tin Học Quận 12

5

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

CLEARSCREEN Xoá màn hình đồ họa, đặt bút vẽ về vị trí,

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.

Tổ Tin Học Quận 12

6

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

Tổ Tin Học Quận 12

7

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

Tổ Tin Học Quận 12

8

o Thực hiện câu lệnh forward 150: vẽ tới có độ dài 150

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

Buùt veõ ñaõ chuyeån änh maøu ñoû theo caâu le

SETPC 4

o Thực hiện câu lệnh SETPC 1 : đổi màu xanh

Tổ Tin Học Quận 12

9

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

IV. BÀ bản để vẽ:

o

o

phải tính được độ góc cần quay)

i TẬP GỢI Ý :

Dùng các lệnh cơ

Hình chữ nhật.

o Hình đa giác.

o Hình tự do.

Tổ Tin Học Quận 12

10

BÀI 2VÒNG LẶP REPEAT

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:

Tổ Tin Học Quận 12

11

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 REPEAT

Số lần lặp: 3 lần

Công việc thực hiện: vẽ 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:

Tổ Tin Học Quận 12

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.

Tổ Tin Học Quận 12

13

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Ẽ

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

chuyển của bút vẽ sẽ không tạo ra nét vẽ.

PENDOWN

Đặt bút vẽ xuống. Sau lệnh này mọi di

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

FILL Tô màu khu vực của bút vẽ trong phạm vi

giới hạn bởi các nét vẽ.

LABEL (nội dung xuất)

Xuất 1 nhóm chữ hoặc 1 số hoặc giá trị của

1 biến ra màn hình tại vị trí bút vẽ theo

hướng của bút vẽ

SETHEADING (góc độ)

Quay bút vẽ 1 góc so với hướng chuẩn.

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

Tổ Tin Học Quận 12

14

Minh hoạ các lệnh:

ELLiPSE 30 70 ELLiPSE2 30 70 CiRCLE 70 CiRCLE2 70

FILL

Lệnh FILL này được

thực hiện sau các

lệnh:

_ SETFC 4

_ CIRCLE 70 LABEL “LOGO

Lệnh LABEL này

được thực hiện sau

lệnh RIGHT 30

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.

Tổ Tin Học Quận 12

15

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

Tổ Tin Học Quận 12

16

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.

Tổ Tin Học Quận 12

17

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

Tổ Tin Học Quận 12

18

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

Tổ Tin Học Quận 12

19

BÀI 4VÒNG LẶP FOR

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:

Tổ Tin Học Quận 12

20

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:

Tổ Tin Học Quận 12

21

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: Duøng leänh fd 10 (forward 10) ñeå veõ ñöôøng thaúng coù ñoä daøi laø 10 (tham soá).

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

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

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:

Tổ Tin Học Quận 12

22

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

Tổ Tin Học Quận 12

23

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.

Tổ Tin Học Quận 12

24

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

Tổ Tin Học Quận 12

25

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

Tổ Tin Học Quận 12

26

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

Tổ Tin Học Quận 12

27

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:

Tổ Tin Học Quận 12

28

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

Tổ Tin Học Quận 12

29

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:

Tổ Tin Học Quận 12

30

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

Tổ Tin Học Quận 12

31

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.

Tổ Tin Học Quận 12

32

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.

Tổ Tin Học Quận 12

33

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

Tổ Tin Học Quận 12

34

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

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]

[công việc 2]

Thực hiện công việc 1 trong trường hợp

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:

Tổ Tin Học Quận 12

35

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.

Tổ Tin Học Quận 12

36

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.

Tổ Tin Học Quận 12

37

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

Tổ Tin Học Quận 12

38

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 2 BÀI 1

BÀI 3 BÀI 4

Tổ Tin Học Quận 12

39

BÀI 6BÀI 5

BÀI 7 BÀI 8

Tổ Tin Học Quận 12

40

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 ]