Skip to content

Chuyên đề 1: Lập trình Vẽ hình Mỹ thuật & Đệ quy (Chi tiết từng bài)

Chuyên đề này hướng dẫn chi tiết từng bài học từ Tuần 5 đến Tuần 11 theo lộ trình ôn thi Tin học trẻ. Mỗi bài học đều có phần phân tích toán học, các khối lệnh cần dùng và thuật toán giải cụ thể.


📘 Bài 1 (Tuần 5): Công thức Đa giác đều Tổng quát

Mục tiêu: Hiểu rõ khái niệm góc quay ngoài và lập trình vẽ bất kỳ đa giác đều nào theo tham số truyền vào.

1. Phân tích Toán học & Góc quay ngoài

Khi một nhân vật vẽ một đa giác khép kín và quay về hướng ban đầu, nhân vật đó đã thực hiện một vòng quay trọn vẹn 360 độ (360°).

  • Đối với đa giác đều có n cạnh, nhân vật sẽ thực hiện di chuyển vẽ cạnh n lần và thực hiện n lần quay góc.
  • Do đó, góc quay tại mỗi đỉnh của nhân vật (gọi là góc quay ngoài) luôn bằng:
    • Góc quay = 360 / n
  • Lưu ý quan trọng: Đây là góc quay ngoài của đa giác (góc bẻ hướng của nhân vật), không phải góc trong của đa giác. Ví dụ, tam giác đều có góc trong là 60 độ nhưng nhân vật phải quay một góc là 180 - 60 = 120 độ để vẽ cạnh tiếp theo.

2. Các bước lập trình trong Scratch

  1. Tạo một khối định nghĩa tên là Vẽ đa giác đều [số cạnh] [độ dài cạnh].
  2. Kịch bản vẽ chi tiết dưới khối định nghĩa:
    • Đặt bút.
    • Lặp lại [số cạnh] lần:
      • Di chuyển [độ dài cạnh] bước.
      • Quay phải (360 / [số cạnh]) độ.
    • Nhấc bút.

3. Ví dụ áp dụng cụ thể:

  • Tam giác đều: Gọi khối Vẽ đa giác đều [3] [100] -> Lặp 3 lần, đi 100 bước, quay 120 độ.
  • Hình vuông: Gọi khối Vẽ đa giác đều [4] [100] -> Lặp 4 lần, đi 100 bước, quay 90 độ.
  • Ngũ giác đều: Gọi khối Vẽ đa giác đều [5] [80] -> Lặp 5 lần, đi 80 bước, quay 72 độ.
  • Lục giác đều: Gọi khối Vẽ đa giác đều [6] [70] -> Lặp 6 lần, đi 70 bước, quay 60 độ.
  • Hình tròn: Coi hình tròn là đa giác đều 360 cạnh. Gọi khối Vẽ đa giác đều [360] [1] (đoạn di chuyển rất nhỏ để hình tròn không vượt quá sân khấu).

📘 Bài 2 (Tuần 6): Hoa văn Xoay tâm và Đối xứng tròn

Mục tiêu: Vẽ các hoa văn phức tạp được tạo ra từ việc xoay nhiều đa giác cơ sở xung quanh một tâm cố định.

1. Nguyên lý phân tích hoa văn xoay tâm

Đề thi thường cho một hình vẽ phức tạp. Để vẽ được, ta thực hiện theo 2 bước:

  1. Tìm hình cơ sở: Xem hình vẽ đó được cấu tạo từ việc lặp lại hình cơ bản nào (hình vuông, tam giác, lục giác, hay thậm chí là một nhánh hoa vẽ tự do).
  2. Xác định số lượng hình cơ sở (k): Đếm xem có bao nhiêu cánh hoa hoặc bao nhiêu hình lồng ghép quanh tâm.
  3. Tính góc quay tâm:
    • Góc quay tâm = 360 / k (độ)

2. Thuật toán tổng quát

  • Lặp lại k lần:
    • Gọi khối vẽ Hình cơ sở (ví dụ: vẽ hình vuông).
    • Quay phải một góc bằng 360 / k độ.

3. Ví dụ thực tế: Vẽ hoa văn gồm 8 hình lục giác đều xoay quanh tâm

  • Tạo khối định nghĩa Vẽ lục giác (Lặp 6 lần: di chuyển 60 bước, quay phải 60 độ).
  • Kịch bản vẽ hoa văn:
    • Lặp lại 8 lần:
      • Vẽ lục giác.
      • Quay phải 45 độ (vì 360 / 8 = 45).

📘 Bài 3 (Tuần 7): Kỹ thuật Tô màu Đa giác đều

Mục tiêu: Tô màu đặc cho tam giác đều và hình vuông.

1. Thuật toán tô màu Tam giác đều (Cạnh a)

Phương pháp tốt nhất là vẽ các tam giác đều đồng dạng thu nhỏ dần từ kích thước a về 0.

  • Đặt một biến số do_dai bằng a.
  • Đặt bút.
  • Lặp lại cho đến khi do_dai < 1:
    • Lặp lại 3 lần:
      • Di chuyển do_dai bước.
      • Quay phải 120 độ.
    • Di chuyển 1 bước (di chuyển tiến lên để thu hẹp tâm vẽ).
    • Quay phải 120 độ.
    • Di chuyển 1 bước.
    • Quay trái 120 độ. (Hai bước di chuyển phụ này giúp nhân vật dịch chuyển đều vào tâm của tam giác).
    • Thay đổi do_dai một lượng -2 (giảm độ dài cạnh vẽ tiếp theo).
  • Nhấc bút.

2. Thuật toán tô màu Hình vuông (Cạnh a)

  • Đặt biến số do_dai bằng a.
  • Lặp lại cho đến khi do_dai < 1:
    • Lặp lại 4 lần:
      • Di chuyển do_dai bước.
      • Quay phải 90 độ.
    • Di chuyển 1 bước.
    • Quay phải 90 độ.
    • Di chuyển 1 bước.
    • Quay trái 90 độ. (Dịch chuyển tịnh tiến chéo vào tâm).
    • Thay đổi do_dai một lượng -2.

📘 Bài 4 (Tuần 8): Kỹ thuật Tô màu Hình tròn và Hình elip

Mục tiêu: Tô màu đặc cho hình tròn và vẽ hình elip nghệ thuật.

1. Thuật toán tô màu Hình tròn bán kính R (Tối ưu nhất)

Vẽ 360 nét vẽ thẳng từ tâm hướng ra ngoài biên.

  • Đặt biến huong_ve bằng 0.
  • Hướng về phía 0.
  • Lặp lại 360 lần:
    • Đi tới điểm x: 0 y: 0 (Tâm hình tròn).
    • Hướng về phía huong_ve.
    • Đặt bút.
    • Di chuyển R bước (vẽ nét từ tâm ra biên).
    • Nhấc bút.
    • Thay đổi huong_ve một lượng 1.

2. Thuật toán vẽ Hình elip cơ bản

Scratch không có lệnh vẽ elip sẵn. Chúng ta mô phỏng bằng cách vẽ 360 đoạn thẳng nhỏ nhưng thay đổi độ dài bước đi theo góc quay.

  • Lặp lại 180 lần:
    • Di chuyển a bước.
    • Quay phải 1 độ.
    • Di chuyển b bước.
    • Quay phải 1 độ. (Trong đó a và b đại diện cho bán trục lớn và bán trục nhỏ để tạo ra độ dẹt của elip).

📘 Bài 5 (Tuần 9): Khối định nghĩa có tham số & Chạy không trễ

Mục tiêu: Làm sạch code bằng Khối định nghĩa và áp dụng chế độ "Run without screen refresh" để hình vẽ xuất hiện lập tức.

1. Khai báo tham số trong Khối của tôi

Khi tạo một khối, nhấp vào nút "Thêm dữ liệu đầu vào: số hoặc văn bản" (Add an input: number or text).

  • Ví dụ: Tạo khối Vẽ hoa văn [số cánh] [kích thước].
  • Việc truyền tham số giúp tái sử dụng khối lệnh cho nhiều bài toán có kích thước khác nhau mà không cần viết lại mã.

2. Chế độ Chạy không làm mới màn hình (Run without screen refresh)

  • Khi bạn tick vào tùy chọn này, Scratch sẽ tạm thời tắt cơ chế hiển thị từng bước vẽ trên màn hình. Chương trình sẽ chạy toàn bộ các phép tính toán và nét vẽ trong bộ nhớ trước, sau đó chỉ cập nhật kết quả cuối cùng lên màn hình trong một khung hình duy nhất (1/30 giây).
  • Lưu ý phòng thi: Đối với các bài vẽ hoa văn có hàng nghìn nét bút vẽ hoặc tô màu đặc, bắt buộc phải dùng chế độ này để tránh bị Ban giám khảo trừ điểm hiệu năng.

📘 Bài 6 (Tuần 10): Vẽ hình theo lưới tọa độ và Bàn cờ

Mục tiêu: Lập trình vẽ các cấu trúc sắp xếp theo hàng và cột.

1. Thuật toán Lưới tọa độ

Để vẽ một ma trận hình vẽ kích thước M hàng và N cột (ví dụ vẽ bàn cờ):

  • Đặt biến tọa độ x ban đầutọa độ y ban đầu.
  • Đặt biến chỉ số hàng r = 1.
  • Lặp lại M lần (Duyệt hàng):
    • Đặt biến chỉ số cột c = 1.
    • Lặp lại N lần (Duyệt cột):
      • Nhấc bút.
      • Đi tới điểm x = tọa độ x ban đầu + (c - 1) * độ rộng ô, y = tọa độ y ban đầu - (r - 1) * độ cao ô.
      • Gọi khối vẽ hình ô cơ sở (Ví dụ: vẽ hình vuông nhỏ).
      • Thay đổi c một lượng 1.
    • Thay đổi r một lượng 1.

2. Thuật toán vẽ Bàn cờ vua đen trắng xen kẽ

  • Trong vòng lặp cột ở trên, ta cần tô màu ô vuông.
  • Sử dụng phép toán kiểm tra tổng số hàng và số cột là chẵn hay lẻ:
    • Nếu ((r + c) mod 2) = 0 thì:
      • Đặt màu bút thành màu đen và gọi khối Tô màu hình vuông.
    • Ngược lại:
      • Đặt màu bút thành màu trắng và gọi khối Tô màu hình vuông.

📘 Bài 7 (Tuần 11): Vẽ hoa văn Đệ quy cơ bản (Fractals)

Mục tiêu: Tiếp cận tư duy lập trình đệ quy qua các cấu trúc hình học tự đồng dạng.

1. Nguyên lý Đệ quy hình học

Một hình vẽ đệ quy là hình vẽ chứa các phiên bản nhỏ hơn của chính nó. Ví dụ: Một cây đệ quy gồm 1 thân chính. Tại đầu thân chính, nó tách làm 2 nhánh nhỏ hơn. Tại đầu mỗi nhánh nhỏ, nó lại tiếp tục tách làm 2 nhánh nhỏ hơn nữa.

2. Thuật toán vẽ Cây đệ quy cơ bản

Tạo khối định nghĩa có tên: Vẽ nhánh cây [độ dài] (Bắt buộc tích chọn Run without screen refresh).

  • Điều kiện dừng: Nếu [độ dài] < 5 thì dừng khối lệnh này (không vẽ nữa).
  • Phần vẽ:
    • Đặt bút.
    • Di chuyển [độ dài] bước (vẽ thân cây).
    • Quay trái 30 độ.
    • Gọi khối Vẽ nhánh cây [độ dài * 0.7] (Vẽ nhánh con bên trái nhỏ hơn 30%).
    • Quay phải 60 độ (Xoay sang hướng nhánh phải).
    • Gọi khối Vẽ nhánh cây [độ dài * 0.7] (Vẽ nhánh con bên phải).
    • Quay trái 30 độ (Xoay hướng nhân vật về thẳng như cũ).
    • Nhấc bút.
    • Di chuyển [- độ dài] bước (Lùi nhân vật về lại vị trí gốc ban đầu - đây là bước cực kỳ quan trọng để đệ quy chạy đúng).

Tài liệu hướng dẫn học Scratch Tin học trẻ