Nâng cao · Mức E · Bài 4

Khối lệnh tự tạo thứ hai: vẽ ngôi nhà

Mục tiêu: Tạo khối nha (canh) gọi hai khối vuong và tamgiac để vẽ ngôi nhà; đổi một số để nhà to nhỏ theo.

Em sẽ học gì

  • Nội dung trong bài: một khối tự tạo gọi các khối lệnh tự tạo khác.
  • Truyền tham số: khối nha đưa giá trị canh tiếp cho khối vuong và khối tamgiac.
  • Và chia nhỏ bài toán: ngôi nhà gồm thân nhà hình vuông và mái nhà hình tam giác.
Kết quả cần đạt
Kết quả cần đạt: bấm cờ xanh để chạy thử.
131

Bài làm như sau. Thu nhỏ mèo để không che nét vẽ: ô Kích thước gõ 30.

Bước 1
231

Thêm bộ bút: bấm nút Thêm phần mở rộng ở góc dưới bên trái, rồi chọn Bút vẽ.

Bước 2

Việc cần làm: tạo khối vuong (canh). Lặp 4 lần: đi canh bước, xoay trái 90 độ.

331

Theo sơ đồ khối, khối vuong lặp 4 lần: đi canh bước, rồi xoay trái 90 độ. Xoay trái nên hình vuông nằm phía trên điểm bắt đầu, chỗ để đặt mái nhà lên. Chọn nhóm Khối của tôi, bấm Tạo một khối. Gõ tên khối, viết không dấu: vuong. Bấm Thêm dữ liệu đầu vào số hay chữ, gõ canh: độ dài cạnh. Bấm OK, rồi kéo khối định nghĩa vuong xuống dưới tờ Việc cần làm.

Bước 3
431

Chọn nhóm Điều khiển, gắn khối lặp lại dưới khối định nghĩa, đổi thành 4 lần.

Bước 4
531

Bên trong vòng lặp, gắn khối di chuyển, trong nhóm Chuyển động. Ô số bước: kéo tham số canh trên khối định nghĩa, thả vào.

Bước 5
631

Gắn khối xoay trái, mũi tên ngược chiều kim đồng hồ, đổi thành 90 độ. Ta vừa làm khối vuong: lặp 4 lần: đi canh bước, xoay trái 90 độ.

Giải thích: Bốn lần xoay trái 90 độ là đủ một vòng 360 độ: mèo về đúng chỗ cũ, quay mặt về hướng cũ.

Bước 6

Việc cần làm: bấm cờ xanh: đi tới (-70, -130), hướng 90, xoá hình, bút cỡ 3, đặt bút. Gọi vuong (100) để thử.

731

Theo sơ đồ khối, chương trình chính đưa mèo tới góc dưới bên trái thân nhà, xoá hình cũ, đặt bút. Rồi gọi khối vuong với cạnh 100 để chạy thử.

Bước 7
831

Chọn nhóm Sự kiện, kéo khối Khi bấm vào cờ xanh.

Bước 8
931

Nhóm Chuyển động: gắn khối đi tới điểm x, y, x gõ âm 70, y gõ âm 130: góc dưới bên trái thân nhà.

Bước 9
1031

Gắn khối đặt hướng bằng 90: cạnh đầu tiên nằm ngang, hướng sang phải.

Bước 10
1131

Nhóm Bút vẽ: gắn khối xoá tất cả.

Giải thích: Khối xoá đặt sau khối đi tới: lần chạy lại, bút còn hạ, mèo đi về sẽ để lại một nét thừa. Xoá sau thì nét đó cũng mất.

Bước 11
1231

Gắn khối đặt kích thước bút vẽ, gõ 3.

Bước 12
1331

Gắn khối đặt bút: hạ bút xuống để vẽ.

Bước 13
1431

Nhóm Khối của tôi: gắn khối vuong, gõ 100.

Bước 14
1531
Chạy thử

Chạy thử: bấm cờ xanh, mèo vẽ thân nhà: một hình vuông cạnh 100. Khối vuong chạy đúng.

Bước 15

Việc cần làm: tạo khối tamgiac (canh). Lặp 3 lần: đi canh bước, xoay trái 120 độ.

1631

Theo sơ đồ khối, khối tamgiac giống khối vuong, chỉ khác: lặp 3 lần và xoay trái 120 độ. Chọn nhóm Khối của tôi, bấm Tạo một khối. Gõ tên khối, viết liền không dấu: tamgiac. Bấm Thêm dữ liệu đầu vào số hay chữ, gõ canh: độ dài cạnh. Bấm OK, rồi kéo khối định nghĩa tamgiac xuống dưới tờ Việc cần làm.

Bước 16
1731

Nhóm Điều khiển: gắn khối lặp lại, đổi thành 3 lần.

Bước 17
1831

Bên trong, gắn khối di chuyển. Thả tham số canh vào ô số bước.

Bước 18
1931

Gắn khối xoay trái, đổi thành 120 độ. Ta vừa làm khối tamgiac: lặp 3 lần: đi canh bước, xoay trái 120 độ.

Giải thích: Tam giác đều có ba góc 60 độ, nên mỗi lần mèo phải xoay 120 độ. Ba lần 120 độ cũng là 360 độ.

Bước 19

Việc cần làm: tạo khối nha (canh): gọi vuong (canh), lên góc trên bên trái thân nhà, gọi tamgiac (canh).

2031

Theo sơ đồ khối, khối nha không tự vẽ từng nét: nó gọi khối vuong để vẽ thân nhà. Rồi mèo đi lên góc trên bên trái thân nhà, và gọi khối tamgiac để vẽ mái. Nhóm Khối của tôi: bấm Tạo một khối. Gõ tên khối, viết không dấu: nha. Thêm dữ liệu đầu vào số hay chữ, gõ canh. Bấm OK, rồi kéo khối định nghĩa nha xuống dưới tờ Việc cần làm.

Bước 20
2131

Bảng khối giờ có ba khối tự tạo. Gắn khối vuong dưới khối định nghĩa nha. Ô của khối vuong: thả tham số canh của khối nha vào.

Giải thích: Khối nha nhận canh, rồi truyền tiếp canh cho khối vuong: nhà to bao nhiêu thì thân nhà to bấy nhiêu.

Bước 21
2231

Đi lên góc trên: nhóm Chuyển động, gắn khối xoay trái, 90 độ: mèo quay mặt lên trên,

Bước 22
2331

gắn khối di chuyển, thả tham số canh vào: đi lên đúng bằng chiều cao thân nhà,

Bước 23
2431

rồi gắn khối xoay phải, 90 độ: mèo quay mặt sang phải như lúc đầu.

Giải thích: Ba khối này đưa mèo lên góc trên bên trái thân nhà, quay mặt sang phải: đúng chỗ bắt đầu vẽ mái.

Bước 24
2531

Nhóm Khối của tôi: gắn khối tamgiac, thả tham số canh vào ô của nó. Ta vừa làm khối nha: gọi vuong vẽ thân nhà, lên góc trên bên trái, gọi tamgiac vẽ mái. Cả hai đều nhận canh từ khối nha. Giờ chương trình chính gọi khối nha thay cho khối vuong. Trong chương trình chính, bấm chuột phải vào khối vuong, chọn Xoá khối.

Bước 25
2631

Gắn khối nha vào cuối chương trình chính, gõ 100. Ta vừa làm: đi tới góc dưới bên trái, xoá hình, đặt bút, rồi gọi nha với cạnh 100.

Giải thích: Chương trình chính chỉ cần một khối nha. Phần chi tiết đã nằm trong các khối tự tạo.

Bước 26
2731
Chạy thử

Chạy thử: bấm cờ xanh, mèo vẽ thân nhà hình vuông, đi lên góc trên, rồi vẽ mái nhà tam giác.

Bước 27
2831

Đổi cạnh thành 60,

Bước 28
2931
Chạy thử

bấm cờ xanh: ngôi nhà nhỏ lại, thân và mái cùng nhỏ theo.

Bước 29
3031

Đổi thành 150,

Bước 30
3131
Chạy thử

bấm cờ xanh: ngôi nhà to hơn. Chỉ cần đổi một con số.

Bước 31

Các khối mới trong bài

  • Khối định nghĩa nha: khối tự tạo gọi hai khối tự tạo khác: vuong và tamgiac.
  • Khối tham số truyền tiếp: khối nha đưa giá trị canh của nó cho khối được gọi.
  • Khối xoay trái: quay ngược chiều kim đồng hồ, nên hình vẽ nằm phía trên điểm bắt đầu.

Kỹ thuật lập trình đã học

  • Về kỹ thuật lập trình, bài này ta học: chia nhỏ bài toán: ngôi nhà gồm thân nhà hình vuông và mái nhà tam giác, mỗi phần một khối.
  • Khối tự tạo gọi khối tự tạo khác: khối nha gọi khối vuong và khối tamgiac.
  • Truyền tham số: đổi một con số ở lời gọi nha, cả ngôi nhà to nhỏ theo.

Bài tập

Bài tập: vẽ ba ngôi nhà có cạnh khác nhau đứng cạnh nhau. Nhớ nhấc bút khi đi sang chỗ vẽ nhà mới.

Khối tự tạo: vẽ đa giác tuỳ ý Gỡ lỗi nâng cao
ZaloCộng đồng hỗ trợ lập trình ScratchCộng đồng hỗ trợ