1 of 31

THÂN MẾN CHÀO CÁC EM

ĐẾN VỚI BÀI HỌC MỚI!

2 of 31

BÀI TOÁN MỞ ĐẦU

Bằng ngôn ngữ lập trình trực quan, bạn Khoa muốn tạo chương trình điều khiển nhân vật di chuyển theo đường đi là các hình như: tam giác đều, vuông,… Theo em, bạn Khoa cần thực hiện những công việc gì?

Hình 12.1. Nhân vật di chuyển

3 of 31

BÀI TOÁN MỞ ĐẦU

Bạn Khoa cần thực hiện các công việc sau:

  1. Xác định yêu cầu của bài toán
  2. Xây dựng kịch bản (thuật toán) cho nhân vật
  3. Lập trình dựa trên kịch bản

4 of 31

BÀI 12: TỪ THUẬT TOÁN

ĐẾN CHƯƠNG TRÌNH

Chủ đề 5. Giải quyết vấn đề với sự trợ giúp của máy tính

5 of 31

NỘI DUNG BÀI HỌC

Từ thuật toán đến chương trình

Thực hành: Tạo chương trình điều khiển máy tính thực hiện thuật toán

6 of 31

01

TỪ THUẬT TOÁN �ĐẾN CHƯƠNG TRÌNH

7 of 31

Thuật toán là gì?

Thuật toán là các bước để giải một bài toán hay giải quyết một vấn đề

Công thức làm kem sữa chua dưa hấu

  1. Cho dưa hấu vào tô
  2. Nghiền nát dưa hấu
  3. Cho sữa chua và mật ong vào tô
  4. Trộn đều hỗn hợp
  5. Cho hỗn hợp vào khuôn làm kem
  6. Đặt khuôn kem vào ngăn đá tủ lạnh
  7. Lấy kem ra thưởng thức

Giải phương trình bậc nhất

ax + b = 0

  1. Nếu a=0 và b=0: phương trình có vô số nghiệm
  2. Nếu a=0 bà b<>0: phương trình vô nghiệm
  3. Nếu a<>0: phương trình có nghiệm duy nhất x=-b/a

8 of 31

Thảo luận nhóm

Hoàn thành yêu cầu trong Hoạt động 1 SGK tr. 73:

Với trường hợp nhân vật di chuyển theo đường đi là một tam giác đều, em hãy:

1. Xác định góc quay của nhân vật khi hết một cạnh.

2. Liệt kê lần lượt các bước của thuật toán điều khiển

nhân vật (bằng ngôn ngữ tự nhiên).

120o

60o

9 of 31

    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ
    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ
    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ

Mô tả thuật toán

Thuật toán 1: Liệt kê các bước thực hiện hành động của nhân vật

120o

120o

120o

10 of 31

Mô tả thuật toán

120o

120o

120o

    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ
    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ
    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ

Thuật toán 1: Liệt kê các bước thực hiện hành động của nhân vật

11 of 31

Mô tả thuật toán

    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ
    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ
    • Di chuyển về phía trước 60 bước
    • Quay trái 120 độ

Liệt kê thuật toán�bằng ngôn ngữ tự nhiên

Bắt đầu

Kết thúc

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Sơ đồ khối

12 of 31

Sơ đồ khối

Mô tả thuật toán

Thuật toán 2: Thu gọn kịch bản theo cấu trúc lặp

Lặp lại 3 lần

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Bắt đầu

Kết thúc

Bắt đầu

Kết thúc

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Di chuyển về phía trước 60 bước

Quay trái 120 độ

13 of 31

Sơ đồ khối

Mô tả thuật toán

Lặp lại 3 lần

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Bắt đầu

Kết thúc

Bắt đầu

Kết thúc

Lần lặp =1

Lần lặp <=3

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Tăng lần lặp lên 1 đơn vị

Cấu trúc lặp

Sai

Đúng

Cấu trúc tuần tự

Thuật toán 2: Thu gọn kịch bản theo cấu trúc lặp

14 of 31

Máy tính có hiểu được thuật toán được viết bằng ngôn ngữ tự nhiên hoặc sơ đồ khối không ?

?

Từ thuật toán đến chương trình

15 of 31

Máy tính không thể hiểu được thuật toán được viết dưới dạng ngôn ngữ tự nhiên hoặc sơ đồ khối, chúng ta có thể viết chương trình để máy tính “hiểu” và thực hiện được thuật toán.

Thuật toán

Lập trình

Mã máy

Chuyển đổi

Xử lí

Từ thuật toán đến chương trình

16 of 31

Chương trình

Sơ đồ khối

Lặp lại 3 lần

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Bắt đầu

Kết thúc

Từ thuật toán đến chương trình

17 of 31

Khai thác thông tin SGK

Thế nào là chương trình?

Hãy quan sát Hình 12.3 và cho biết các thành phần của một vòng lặp và các thành phần đó được thể hiện trong sơ đồ khối như thế nào?

18 of 31

Chương trình là dãy các lệnh điều khiển máy tính thực hiện một thuật toán.

Khai thác thông tin SGK

19 of 31

Giá trị khởi đầu của lần lặp là bao nhiêu?

Điều kiện kết thúc vòng lặp là gì?

Các khối lệnh được thực hiện trong mỗi bước lặp là gì?

Bắt đầu

Kết thúc

Lần lặp =1

Lần lặp <=3

Di chuyển về phía trước 60 bước

Quay trái 120 độ

Tăng lần lặp lên 1 đơn vị

Sai

Đúng

20 of 31

Ba thành phần của một vòng lặp bao gồm:

  1. Các giá trị được gán một lần trước khi thực hiện vòng lặp, còn được gọi là các giá trị khởi đầu.
  2. Điều kiện tiếp tục hay kết thúc vòng lặp, được kiểm tra trước hoặc sau mỗi bước lặp.
  3. Các khối lệnh được thực hiện trong mỗi bước lặp, còn được gọi là thân lặp.

Khai thác thông tin SGK

21 of 31

Củng cố kiến thức

A. Đặt phía trước lệnh lặp.

B. Đặt phía sau lệnh di chuyển.

C. Đặt phía sau lệnh xoay.

D. Đặt phía trước lệnh di chuyển.

An muốn nhân vật dừng lại 1 giây sau khi đi hết mỗi cạnh của tam giác. Em hãy lựa chọn vị trí cần bổ sung.

?

Hiển thị đáp án

Đáp án nào đúng ?

Đáp án đúng là B

22 of 31

Ghi nhớ kiến thức

Chương trình là dãy các lệnh điều khiển máy tính thực hiện một thuật toán.

Xác định yêu cầu

Mô tả thuật toán

Thực hiện lập trình

23 of 31

Bài 1 (SGK tr. 75):

Em hãy mô tả thuật toán bằng sơ đồ khối trong trường hợp đường đi của nhân vật là một hình vuông.

Nhiệm vụ 1

LUYỆN TẬP

Gợi ý: Trong bài toán mở đầu, đường đi của nhân vật là hình tam giác đều thì số lần lặp là 3. Vậy đường đi của nhân vật là hình vuông thì số lần lặp là bao nhiêu? Góc quay là bao nhiêu độ?

24 of 31

Bắt đầu

Kết thúc

Lần lặp =1

Lần lặp <=4

Di chuyển về phía trước 60 bước

Quay trái 90 độ

Tăng lần lặp lên 1 đơn vị

Sai

Đúng

25 of 31

Bài 3a (SGK tr. 75):

3. Bạn Khoa viết kịch bản mô tả hoạt động của xe ô tô chạy trên đường như sau: Khi hai xe cách hòn đá nhỏ hơn 120 bước, xe sẽ dừng lại.

Nhiệm vụ 2

26 of 31

Bài 3a (SGK tr. 75):

a) Em hãy hoàn thành sơ đồ khối theo kịch bản trên bằng cách ghép mỗi lệnh dưới đây với một ô phù hợp được đánh số và trong Hình 12.6.

Nhiệm vụ 2

Di chuyển 5 bước

Cách hòn đá < 120 bước?

27 of 31

VẬN DỤNG

Trong bài học trên, đường đi của nhân vật là hình tam giác đều. Đường đi đó có thể là hình vuông, lục giác đều,… Khi đó các con số nào trong chương trình ở Hình 12.3 cần thay đổi?

28 of 31

3 cạnh bằng nhau

→ Số lần lặp bằng 3

4 cạnh bằng nhau

→ Số lần lặp bằng 4

6 cạnh bằng nhau

→ Số lần lặp bằng 6

Góc quay

= 120 độ

= 360/3

Góc quay

= 90 độ

= 360/4

Góc quay

= 60 độ

= 360/6

29 of 31

Có thể khái quát bài toán để đường đi của nhân vật là một hình có n cạnh đều (n cạnh bằng nhau):

  • Số bước lặp của câu lệnh lặp là n.
  • Dựa trên kích thước sân khấu, có thể lấy số bước di chuyển để đảm bảo hình vẽ đường đi không vượt ra ngoài sân khấu là 900/n.
  • Góc quay: tùy thuộc vào hình mà góc quay có giá trị khác nhau, công thức tính góc quay là 360/n.

Hướng dẫn trả lời:

30 of 31

HƯỚNG DẪN VỀ NHÀ

Ôn lại kiến thức đã học.

Xem trước phần 2. Thực hành

Chạy thử Bài toán mở đầu bằng ngôn ngữ lập trình Scratch

Chạy thử đường đi của nhân vật là hình vuông, lục giác đều bằng Scratch

31 of 31

BÀI HỌC KẾT THÚC, �TẠM BIỆT VÀ HẸN GẶP LẠI!