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.

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

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

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

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

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

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

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

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

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

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.

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

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

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

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.

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

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

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

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

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

Đ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,

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à,

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.

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.

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.

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.

Đổi cạnh thành 60,

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

Đổi thành 150,

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

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.