Skip to main content

Đánh giá và giải thích

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên - Giới thiệu về hiệu quả của mã

Bây giờ học sinh đã thực hành viết các chuỗi mã để hoàn thành một nhiệm vụ cụ thể, các em sẽ được yêu cầu áp dụng các kỹ năng đó để đọc các chuỗi mã và đánh giá chúng. Trong hoạt động này, học sinh sẽ được cung cấp một bản đồ tương tự như bản đồ trong phần Chơi và được yêu cầu xem 3 chuỗi mã để chọn giải pháp ưu tiên. Đối với mỗi trình tự, học sinh sẽ trả lời 3 câu hỏi:

  • Mã này có hoàn thành nhiệm vụ không?

  • Nếu nó hoạt động, những ưu điểm của mã này so với các mã khác là gì?

  • Những nhược điểm của mã này so với các mã khác là gì?

Sau đó, nhìn vào tất cả các trình tự, các sinh viên sẽ được giới thiệu về ý tưởng về hiệu quả của mã và được hỏi giải pháp ưa thích của họ là gì - dựa trên hiệu quả và sở thích của chính họ - và để giải thích lý do tại sao. Đây có thể là bàn đạp cho cả lớp thảo luận về hiệu quả và độ chính xác trong việc lập trình.

Trình tự mã đọc để chọn giải pháp ưu tiên

Khi lớp học của bạn làm việc trên phần Play, bạn có thể nhận thấy rằng có nhiều giải pháp khác nhau cho cùng một vấn đề đã được trình bày. Đó là điều thường xảy ra trong thế giới lập trình. Mặc dù có thể có nhiều cách khác nhau để làm điều gì đó, nhưng mọi người sẽ có một phương pháp hoặc giải pháp ưa thích và điều đó có thể dựa trên một số yếu tố. Trong hoạt động này, nhóm của bạn sẽ xem xét 3 giải pháp khối mã có thể cho một vấn đề, tìm hiểu xem chúng có hoạt động theo cách dự định hay không, sau đó chọn một giải pháp ưa thích từ nhóm và giải thích lý do tại sao bạn chọn nó.

Vấn đề: Tạo một chuỗi, khi robot bắt đầu ở điểm Bắt đầu, sẽ đi vào và ra khỏi cả 3 lớp học (theo thứ tự bất kỳ) và trở về điểm Kết thúc. Robot phải điều hướng xung quanh cầu thang và có thể đi qua các ô cửa được đánh dấu bằng các hình chữ nhật nhỏ trên hình ảnh bản đồ.

Bố cục phác thảo hiển thị Bắt đầu ở góc dưới cùng bên trái và Kết thúc ở góc dưới cùng bên phải. Phía trên Điểm bắt đầu là Phòng A với một ô cửa đối diện với điểm bắt đầu và một ô bên phải, đối diện với cầu thang ở trung tâm. Ngay bên phải cầu thang là Phòng B và Phòng C xếp chồng lên nhau phía trên Đầu cầu thang. Có cửa vào Phòng B và C đối diện với cầu thang, và một cửa nối hai phòng này.

  • Đối với mỗi giải pháp dưới đây, hãy trả lời 3 câu hỏi sau trong sổ ghi chép kỹ thuật của bạn:
    • Mã này có hoàn thành nhiệm vụ không? Tại sao có hoặc tại sao không?
    • Nếu nó hoạt động, những ưu điểm của mã này so với các mã khác là gì?
    • Những nhược điểm của mã này so với các mã khác là gì?
  • Hầu hết thời gian, lập trình được đánh giá dựa trên hiệu quả của nó và giải pháp ưu tiên là giải pháp hoàn thành mục tiêu theo cách hiệu quả nhất có thể.

Nhấp vào các giải pháp bên dưới để xem hình ảnh lớn hơn.

Giải pháp ví dụ cho thử thách bao gồm 19 Drive to và Turn cho các khối được kết nối với khối When Started. Theo thứ tự, các khối sẽ làm cho robot rẽ phải 90 độ, lái xe về phía trước 10 inch, rẽ trái 90 độ lái xe về phía trước 3 inch, sau đó đảo ngược 6 inch, sau đó rẽ trái 90 độ, lái xe về phía trước 10 inch. Sau đó rẽ phải 90 độ, lái xe về phía trước 8 inch và lùi 4 inch, rẽ phải 90 độ, lái xe về phía trước 10 inch. Sau đó rẽ trái 90 độ, lái xe về phía trước 1 inch, rẽ phải 90 độ, lái xe về phía trước 3 inch và đảo ngược 4, sau đó rẽ phải 90 độ và lái xe về phía trước 5 inch.
Dung dịch A (inch)

Một giải pháp ví dụ với 11 Drive for và Turn cho các khối được kết nối với khối Khi bắt đầu. Theo thứ tự, các khối sẽ làm cho robot lái về phía trước 10 inch, rẽ trái 90 độ, lái về phía trước 1 inch, rẽ trái 90 độ, lái về phía trước 1 inch, rẽ phải 90 độ, lái về phía trước 10 inch, rẽ phải 90 độ, sau đó lái ngược lại 5 inch, rẽ phải 90 độ và lái về phía trước 10 inch.
Dung dịch B (inch)
Một giải pháp ví dụ với 10 Drive for và Turn cho các khối được kết nối với khối Khi bắt đầu. Theo thứ tự, các khối sẽ làm cho robot lái xe về phía trước 8 inch sau đó 4 inch, rẽ phải 90 độ, lái xe về phía trước 13 inch, rẽ trái 90 độ, lái xe về phía trước 8 inch, rẽ trái 90 độ, lái xe về phía trước 4 inch, rẽ phải 90 độ, và lái xe ngược lại cho 5 inch.
Dung dịch C (inch)
Giải pháp ví dụ cho thử thách bao gồm 19 Drive to và Turn cho các khối được kết nối với khối When Started. Theo thứ tự, các khối sẽ làm cho robot rẽ phải 90 độ, lái xe về phía trước 254mm, rẽ trái 90 độ lái xe về phía trước 76mm, sau đó đảo ngược 152mm, sau đó rẽ trái 90 độ, lái xe về phía trước 254mm. Sau đó rẽ phải 90 độ, lái xe về phía trước 203mm và đảo ngược 101mm, rẽ phải 90 độ, lái xe về phía trước 254mm. Sau đó rẽ trái 90 độ, lái xe về phía trước 25mm, rẽ phải 90 độ, lái xe về phía trước 76mm và đảo ngược 101mm, sau đó rẽ phải 90 độ và lái xe về phía trước 127mm.
Giải pháp A (số liệu)
Một giải pháp ví dụ với 11 Drive for và Turn cho các khối được kết nối với khối Khi bắt đầu. Theo thứ tự các khối sẽ làm cho robot lái về phía trước 254mm, rẽ trái 90 độ, lái về phía trước 25mm, rẽ trái 90 độ, lái về phía trước 25mm, rẽ phải 90 độ, lái về phía trước 254mm, rẽ phải 90 độ, sau đó lái ngược 127mm, rẽ phải 90 độ và lái về phía trước 254mm..
Dung dịch B (hệ mét)
Một giải pháp ví dụ với 10 Drive for và Turn cho các khối được kết nối với khối Khi bắt đầu. Theo thứ tự, các khối sẽ làm cho robot lái về phía trước cho 203mm sau đó 101mm, rẽ phải 90 độ, lái xe về phía trước 330mm, rẽ trái 90 độ, lái xe về phía trước 203mm, rẽ trái 90 độ, lái xe về phía trước 10mm, rẽ phải 90 độ, và lái xe ngược lại cho 127mm..
Giải pháp C (số liệu)

Hiệu quả của mã là gì?

Nếu bạn cần lấy 3 thứ từ nhà bếp của mình, có lẽ bạn sẽ nhận được tất cả 3 thứ trong một chuyến đi, thay vì thực hiện 3 chuyến đi riêng biệt. Tại sao? Bởi vì nó sẽ hiệu quả hơn. Hiệu quả có nghĩa là "đạt được năng suất tối đa với nỗ lực hoặc chi phí lãng phí tối thiểu." Vậy điều đó liên quan như thế nào đến lập trình? Hiệu quả

mã có nghĩa là một chương trình được viết để hoạt động tốt và nhanh chóng, sử dụng ít công việc nhất, hoặc các bước, đúng cách, trong khi vẫn thực hiện công việc của mình. Điều này rất quan trọng vì nó làm giảm nguy cơ một chương trình không hoạt động tốt, và đến lượt nó, gây ra vấn đề cho các phần khác của chương trình đang chạy xung quanh nó. Hiệu quả của một mã có thể là thước đo chất lượng và khi chúng tôi viết các dự án trong khối VEXcode IQ, chúng tôi thường tìm kiếm dự án "hiệu quả" nhất làm giải pháp ưu tiên.

Về cơ bản, hiệu quả mã là một nguyên tắc có nghĩa là bạn muốn viết một mã hoàn thành mục tiêu của mình bằng cách sử dụng ít lệnh hoặc khối nhất có thể.

Trong Sổ ghi chép kỹ thuật của bạn, hãy trả lời các câu hỏi sau:

  • Với hiệu quả mã trong tâm trí, giải pháp ưa thích của bạn là gì và tại sao?
  • Bạn có nghĩ rằng đó là giải pháp tốt nhất, tại sao hay tại sao không?

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên - Câu trả lời

Câu trả lời có thể khác nhau vì không có kích thước cụ thể nào được đưa ra ở trên để tạo trình tự di chuyển xung quanh ba phòng.
Nhấp vào đây để xem giải pháp ví dụ khả thi.

Biểu tượng thúc đẩy thảo luận Thúc đẩy thảo luận

Mặc dù hiệu quả là hữu ích, chúng ta thường có những cân nhắc khác về cách thức hoặc lý do tại sao chúng ta làm mọi việc theo một cách nhất định. Yêu cầu học viên chia sẻ câu trả lời của các em trong Sổ tay Kỹ thuật và/hoặc sử dụng câu hỏi này để đóng khung một cuộc thảo luận về sự cân bằng giữa hiệu quả và hành động.
Q: Trong lập trình, hiệu quả thường là phương pháp được ưa thích; bạn có thể nghĩ ra lý do tại sao lại như vậy không?
A: Câu trả lời sẽ khác nhau, nhưng một số bao gồm:

  • Chỉnh sửa các dự án để chúng hiệu quả hơn sẽ giúp những người trong tương lai có thể làm việc với cùng một dự án. Ví dụ: nếu bạn làm việc trong một dự án và sau đó vài ngày, hãy yêu cầu bạn của bạn cập nhật dự án và thêm một vài mục nữa để tăng chức năng, bạn của bạn sẽ dễ đọc và làm việc hơn nếu dự án được viết hiệu quả.

  • Các dự án luôn dễ bị sai sót. Một dự án được viết càng hiệu quả thì càng ít có khả năng xảy ra lỗi.

  • Các cá nhân sử dụng lập trình để điều khiển robot công nghiệp dựa vào những dự án hiệu quả đó để tiết kiệm thời gian, năng lượng và tài nguyên của công ty.