Giáo án ppt chuyên đề KHMT 10 kết nối: Bài 6 Chương trình điều khiển robot

Giáo án ppt chuyên đề Tin học khoa học máy tính 10 kết nối tri thức: Bài 6 Chương trình điều khiển robot. Bài giảng thiết kế hiện đại, sáng tạo giúp tiết học thêm phần thú vị, giúp giáo viên tiết kiệm thời gian nhưng vẫn có thể ứng dụng công nghệ vào công tác giảng dạy.

Nội dung chi tiết

... Còn nữa ...

CHÀO MỪNG CÁC EM ĐẾN VỚI BÀI HỌC MỚI!

KHỞI ĐỘNG

Em đã biết muốn điều khiển robot thì cần viết chương trình. Một chương trình điều khiển robot có đặc điểm gì? Cấu trúc một chương trình như thế nào?

BÀI 6: CHƯƠNG TRÌNH ĐIỀU KHIỂN ROBOT

NỘI DUNG BÀI HỌC

1

Thiết lập chương trình

điều khiển Robot

2

Cấu trúc chương trình

điều khiển Robot

3

Lập trình

điều khiển Robot

THIẾT LẬP CHƯƠNG TRÌNH ĐIỀU KHIỂN ROBOT

1

a. Ngôn ngữ lập trình

Đọc thông tin mục 1.a SGK và cho biết: Em hãy kể tên một số ngôn ngữ lập trình được sử dụng trong phần mềm lập trình điều khiển robot.

a. Ngôn ngữ lập trình

Hình 6.1. Giao diện phần mềm GaraBlock

Các phần mềm lập trình điều khiển robot cho phép sử dụng một số ngôn ngữ lập trình bậc cao như C++, Python… hoặc lập trình kéo thả để viết các chương trình điều khiển.

b. Thiết lập chương trình đầu tiên

Đọc thông tin mục 1.b SGK và cho biết: Em hãy chỉ ra các khối lệnh và ý nghĩa của chúng trong chương trình đầu tiên.

Hình 6.2. Chương trình đầu tiên

Khối thứ nhất (Khởi động chương trình):

gồm lệnh lặp bốn lần hành động đi thẳng với tốc độ 100 trong một giây.

Khối thứ hai (Lặp lại vô tận): gồm lệnh lặp vô tận hành độ đi thẳng với tốc độ 100 trong một giây và bật còi trong một giây sau đó tắt còi.

THẢO LUẬN NHÓM

Câu 1. Trong chương trình ở Hình 6.2, nếu bỏ 5 câu lệnh nằm trong vòng lập vô tận (trong khối lệnh thứ hai) ra ngoài vòng lặp vô tận thì chương trình sẽ chạy như thế nào?

Câu 2. Vì sao 5 câu lệnh trong khối lệnh thứ hai ở Hình 6.2 cần phải đưa vào trong vòng lặp vô tận?

Gợi ý trả lời

Câu 1

Chương trình sẽ thực hiện lần lượt 5 câu lệnh theo thứ tự từ trên xuống dưới trong một lần duy nhất.

Câu 2

Các câu lệnh cần được thực hiện liên tục cho đến khi ngắt kết nối robot với nguồn pin nên phải đưa vào vòng lặp vô tận.

CẤU TRÚC CHƯƠNG TRÌNH ĐIỀU KHIỂN ROBOT

2

Đọc thông tin mục 2 SGK và trả lời câu hỏi: Em hãy cho biết cấu trúc chung của chương trình điều khiển robot.

Cấu trúc chung của chương trình

Phần thực hiện 1 lần

(khi bắt đầu chương trình).

Phần lặp vĩnh viễn:

sẽ gồm các lệnh đợi nhận tín hiệu từ bên ngoài.

Ví dụ

Robot tự hành, khi thấy vật cản phía trước thì dừng lại:

  • Khi bắt đầu chương trình, chúng ta thiết lập lệnh cho robot chuyển động.
  • Trong vòng lặp vô tận, cần luôn thực hiện kiểm tra nếu thấy vật cản phía trước thì dừng lại.

Ví dụ

Robot dò đường, tự động tìm đường đi trên sa bàn:

  • Khi bắt đầu chương trình, cần thiết lập lệnh cho robot chuyển động.
  • Trong vòng lặp vô tận cần luôn kiểm tra dò đường, nếu thấy lệch khỏi đường đi thì điều chỉnh robot quay trái hoặc quay phải để đảm bảo đi đúng theo đường đã vạch ra trên sa bàn.

THẢO LUẬN NHÓM

Nếu thay vòng lặp vô tận trong sơ đồ ở Hình 6.3 bằng vòng lặp hữu hạn thì chương trình còn đúng không?

Hình 6.3. Cấu trúc chương trình điều khiển robot

Không đúng

LẬP TRÌNH ĐIỀU KHIỂN ROBOT

3

Đọc thông tin mục 3 SGK và trả lời câu hỏi: Em hãy cho biết cách viết chương trình điều khiển robot qua hệ thống mã giả (pseudocode).

Để mô tả chung chương trình điều khiển cho các loại robot khác nhau, chúng ta sẽ không sử dụng một ngôn ngữ lập trình cụ thể mà thiết lập một hệ thống mã giả đơn giản và dễ hiểu.

Bảng 6.1. Mô tả các lệnh mã giả cơ bản

LệnhMô tả bằng mã giảÝ nghĩa
Khởi động chương trình

Khởi động chương trình

<các lệnh>

<các lệnh> được thực hiện khi chạy chương trình
Lệnh gán<biến nhớ> = <giá trị>Định nghĩa và gán giá trị cho biến nhớ.
Lệnh rẽ nhánh, dạng thiếuif <điều kiện> <các lệnh>Nếu <điều kiện> đúng thì thực hiện <các lệnh>.

Lệnh rẽ nhánh,

dạng đầy đủ

if <điều kiện> <nhóm lệnh 1>

else <nhóm lệnh 2>

Nếu <điều kiện> đúng thì thực hiện <nhóm lệnh 1>, trái lại thực hiện <nhóm lệnh 2>.
Lệnh lặp vô tận foreverforever <các lệnh><nhóm lệnh> được thực hiện lặp vô tận.

LệnhMô tả bằng mã giảÝ nghĩa
Lệnh lặp hữu hạn repeatrepeat <số lần lặp> <nhóm lệnh><nhóm lệnh> sẽ được thực hiện đúng <số lần lặp> lần.
Lệnh lặp hữu hạn for

for <biến> = <giá trị đầu>

to <giá trị cuối> <nhóm lệnh>

Cho biến nhớ <biến> lần lượt gán từ giá trị <giá trị đầu> cho đến <giá trị cuối>, mỗi lần gán sẽ thực hiện <nhóm lệnh>.
Lệnh lặp có điều kiện dừng, kiểm tra trước whilewhile <điều kiện> <nhóm lệnh>Kiểm tra liên tục nếu <điều kiện> đúng thì thực hiện <các lệnh>.
Dừng toàn bộ chương trìnhstopDừng toàn bộ chương trình.

THẢO LUẬN NHÓM

Câu 1. Vì sao nhóm lệnh lặp vô tận phải đặt ở cuối chương trình?

Câu 2. Em hãy viết chương trình bằng mã giả để điều khiển G-Robot luôn đi thẳng với tốc độ 100 trong 1 giây và xoay trái với tốc độ 100 trong 0.5 giây.

Gợi ý trả lời

Câu 1

Vì sau lệnh lặp vô tận sẽ không có lệnh nào có thể thực hiện được nữa.

Câu 2

Chương trình có thể viết dưới dạng pserdocode

LUYỆN TẬP

--------------- Còn tiếp ---------------