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

Khối tự tạo: vẽ đa giác tuỳ ý

Mục tiêu: Tạo khối vedagiac (canh, dai) rồi gọi nó để vẽ tam giác, hình vuông, lục giác và bông hoa 12 ngũ giác.

Em sẽ học gì

  • Nội dung trong bài: tự tạo một khối lệnh mới, còn gọi là chương trình con.
  • Khối tự tạo có tham số: mỗi lần dùng, ta đưa vào những giá trị khác nhau.
  • Và gọi khối đó nhiều lần, để vẽ nhiều hình mà không phải viết lại code.
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 vedagiac (canh, dai). Hạ bút, lặp canh lần: đi dai bước, xoay 360 / canh độ. Nhấc bút.

331

Theo sơ đồ khối, khối vedagiac nhận hai giá trị: canh là số cạnh, dai là độ dài mỗi cạnh. Đầu tiên hạ bút xuống. Chưa lặp đủ canh lần thì đi dai bước, rồi xoay phải 360 chia canh độ. Lặp đủ thì nhấc bút, rồi quay về chỗ đã gọi khối. Chọn nhóm Khối của tôi, bấm nút Tạo một khối. Gõ tên khối, viết liền không dấu: vedagiac. Bấm Thêm dữ liệu đầu vào số hay chữ, rồi gõ canh: số cạnh của hình. Thêm một dữ liệu đầu vào nữa, gõ dai: độ dài mỗi cạnh. Bấm OK. Vùng lập trình có khối định nghĩa vedagiac. Kéo nó xuống dưới tờ Việc cần làm.

Giải thích: Đây là khối định nghĩa. Các khối gắn bên dưới là việc khối vedagiac sẽ làm, mỗi khi được gọi.

Bước 3
431

Chọn nhóm Bút vẽ, gắn khối đặt bút dưới khối định nghĩa: hạ bút xuống để vẽ.

Bước 4
531

Chọn nhóm Điều khiển, gắn khối lặp lại. Ô số lần lặp: kéo tham số canh trên khối định nghĩa, thả vào. Kéo ra là Scratch tạo một bản sao.

Giải thích: Hình có bao nhiêu cạnh thì lặp bấy nhiêu lần: tam giác lặp 3 lần, hình vuông lặp 4 lần.

Bước 5
631

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

Bước 6
731

Gắn khối xoay phải.

Bước 7
831

Ô số độ: thả khối phép chia, trong nhóm Các phép toán. Ô bên phải phép chia: thả tham số canh, ô bên trái gõ 360.

Giải thích: Vẽ hết một hình, mèo quay tổng cộng 360 độ, chia đều cho các cạnh: tam giác quay 120 độ, hình vuông quay 90 độ.

Bước 8
931

Cuối cùng, dưới vòng lặp, gắn khối nhấc bút, trong nhóm Bút vẽ. Ta vừa làm khối vedagiac: hạ bút, lặp canh lần: đi dai bước, xoay 360 chia canh độ, rồi nhấc bút. Khối định nghĩa không tự chạy. Phải có chương trình gọi nó, như ta làm ngay sau đây.

Giải thích: Vẽ xong thì nhấc bút, để lúc mèo đi tới chỗ vẽ hình sau thì không để lại nét thừa.

Bước 9

Việc cần làm: bấm cờ xanh: xoá hình cũ, bút cỡ 3, hướng 90. Ba lần: đi tới chỗ vẽ, gọi vedagiac.

1031

Theo sơ đồ khối, chương trình chính xoá hình cũ, rồi đi tới chỗ vẽ hình đầu tiên. Khối có hai vạch dọc là lời gọi khối tự tạo. Mỗi lời gọi đưa vào số cạnh và độ dài khác nhau.

Bước 10
1131

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

Bước 11
1231

Nhóm Bút vẽ: gắn khối xoá tất cả, xoá hình của lần chạy trước,

Bước 12
1331

rồi khối đặt kích thước bút vẽ, gõ 3 cho nét vẽ đậm hơn.

Bước 13
1431

Nhóm Chuyển động: gắn khối đặt hướng bằng 90: hình nào cũng bắt đầu bằng cạnh nằm ngang.

Bước 14
1531

Gắn khối đi tới điểm x, y, x gõ âm 180, y gõ 40: chỗ vẽ tam giác, bên trái sân khấu.

Bước 15
1631

Chọn nhóm Khối của tôi: khối vedagiac có sẵn ở đây. Gắn nó dưới khối đi tới. Ô thứ nhất là canh: gõ 3, ô thứ hai là dai: gõ 80.

Giải thích: Đây là lời gọi khối. Lúc chạy, canh nhận giá trị 3, dai nhận giá trị 80: mèo vẽ tam giác cạnh 80 bước.

Bước 16
1731
Chạy thử

Chạy thử: bấm cờ xanh, mèo vẽ một tam giác: ba cạnh, mỗi lần xoay 360 chia 3, bằng 120 độ.

Bước 17
1831

Hình thứ hai: gắn thêm khối đi tới điểm x, y, x gõ âm 40, y gõ 40.

Bước 18
1931

Gắn khối vedagiac, trong nhóm Khối của tôi, canh gõ 4, dai gõ 80: hình vuông.

Bước 19
2031

Hình thứ ba: khối đi tới điểm x, y, x gõ 100, y gõ 40.

Bước 20
2131

Gắn khối vedagiac, canh gõ 6, dai gõ 50: hình lục giác. Ta vừa làm: xoá hình cũ, rồi ba lần: đi tới chỗ vẽ, gọi vedagiac với số cạnh 3, 4 và 6.

Giải thích: Cùng một khối vedagiac, chỉ đổi hai tham số là ra hình khác: không phải viết lại vòng lặp.

Bước 21
2231
Chạy thử

Chạy thử: bấm cờ xanh, mèo vẽ tam giác, hình vuông, rồi hình lục giác: ba hình từ một khối.

Bước 22

Việc cần làm: bấm phím trắng: xoá hình, về giữa. Lặp 12 lần: vẽ ngũ giác, xoay phải 30 độ.

2331

Theo sơ đồ khối, bấm phím trắng thì xoá hình cũ, mèo về giữa sân khấu. Chưa lặp đủ 12 lần thì gọi vedagiac vẽ một ngũ giác, xoay phải 30 độ, rồi quay lại kiểm tra.

Bước 23
2431

Chọn nhóm Sự kiện, kéo khối khi bấm phím, để nguyên phím trắng.

Bước 24
2531

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

Bước 25
2631

Nhóm Chuyển động: gắn khối đi tới điểm x, y, x gõ 0, y gõ 0: giữa sân khấu.

Bước 26
2731

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

Bước 27
2831

Bên trong vòng lặp, gắn khối vedagiac, canh gõ 5, dai gõ 60: một hình ngũ giác.

Bước 28
2931

Dưới khối vedagiac, gắn khối xoay phải, trong nhóm Chuyển động, đổi thành 30 độ. Ta vừa làm: khi bấm phím trắng, xoá hình, về giữa, lặp 12 lần: gọi vedagiac vẽ ngũ giác, rồi xoay phải 30 độ.

Giải thích: Lặp 12 lần, mỗi lần xoay 30 độ: 12 nhân 30 bằng 360, nên 12 ngũ giác xếp đều quanh một vòng.

Bước 29
3031
Chạy thử

Chạy thử: bấm phím trắng, mèo vẽ 12 hình ngũ giác xoay quanh giữa sân khấu, thành một bông hoa.

Bước 30
3131

Không có khối tự tạo, mỗi hình phải chép lại cả vòng lặp và tự tính góc quay. Có khối vedagiac, mỗi hình chỉ cần một khối.

Bước 31

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

  • Khối định nghĩa: đặt tên cho một đoạn code; các khối bên dưới là việc khối tự tạo sẽ làm.
  • Khối tham số: giá trị đưa vào khi gọi khối; kéo từ khối định nghĩa ra để dùng.
  • Khối gọi khối tự tạo: chạy đoạn code của khối, với các giá trị gõ trong ô.

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

  • Về kỹ thuật lập trình, bài này ta học: chương trình con: đóng gói một đoạn code thành một khối riêng, có tên.
  • Tham số: cùng một khối, đưa vào giá trị khác thì ra kết quả khác.
  • Và trừu tượng hoá: dùng khối vedagiac mà không cần nghĩ bên trong nó làm gì.

Bài tập

Bài tập: gọi vedagiac với canh bằng 8 hoặc 10, xem hình gần tròn hơn thế nào. Rồi đổi bông hoa thành 18 lục giác, mỗi lần xoay 20 độ.

Danh sách điểm: trung bình, cao nhất, thấp nhất Khối lệnh tự tạo thứ hai: vẽ ngôi nhà
ZaloCộng đồng hỗ trợ lập trình ScratchCộng đồng hỗ trợ