Trong bài viết này chúng tôi hướng dẫn các bạn giải câu 2b bảng B1 tài năng trẻ tin học 2019
Phần khởi tạo các giá trị.
Làm công việc khởi tạo giá trị mảng có n phần tử (5 đến 15) phần tử, các phần tử này là duy nhất, khi khởi tạo một giá trị cho mảng thì nó cũng tạo một bản sao hình tròn có kích thước và giá trị bằng phần tử vừa tạo. Giá trị được lưu vào biến cục bộ Value, sau đó đi chuyển một khoảng 32, khoảng cách này tùy theo bạn thiết kế hình tròn, nếu nhỏ thì giảm số 32 này lại.
Đoạn cuối khởi tạo bạn thấy dùng để di chuyển bản chính về góc dưới bên phải. Đặt Value là -1 để tránh thao tác nhầm với các bản sao (Value >0).
Giải thuật:
- Duyệt qua mảng mảng từ vị trí số 1 tìm phần tử nhỏ nhất lên vị trí 1.
- Duyệt qua mảng mảng từ vị trí số 2 tìm phần tử nhỏ nhất lên vị trí 2.
- Duyệt qua mảng mảng từ vị trí số 3 tìm phần tử nhỏ nhất lên vị trí 3..
- ….
Tìm MIN với tham trị là Z sẽ tìm từ vị trí Z ra giá trị nhỏ nhất ghi nhận chỗ vị trí đấy thông qua biến k, lưu ý trường hợp số đang tìm đã là nhỏ nhất ví dụ (1, 5, 7, 2, 8, 9) Tìm MIN(1) thì k lúc này = 1.
Sau khi gọi Tìm MIN (z) thì chúng ta đã có được vị trí 2 số cần hoán đổi.
Chúng ta cũng gửi thông báo Di Chuyển để hoán đổi vị trí của 2 hình tròn luôn. Trước khi hoán đổi thì ta phải ghi nhận lại vị trí tọa độ x của 2 hình tròn, đoạn code sau làm công việc này.
Tiếp theo chỉ cần đổi chỗ 2 hình tròn
Đoạn code này chỉ dùng để test xem hình tròn có mang đúng các giá trị của mảng hay không thôi.
Các biến sử dụng trong chương trình.
Demo
- Bảng B1 câu 2b sắp xếp – tài năng trẻ tin học 2019 trên Scratch.mit.edu.
- Bảng A1 câu 2a đổi tiền tài năng trẻ 2019.
- Bảng B1 câu 1 THCS tài năng trẻ tin học 2019 vẽ quạt.