btvn.vn
Tìm kiếm Đăng nhập

Chương trình máy tính và thuật toán

Lưu trên thiết bị này
Giải quyết vấn đề với sự trợ giúp của máy tính · Chọn bài khác

Từ thuật toán đến các lệnh

Thuật toán nêu cách giải quyết nhiệm vụ. **Chương trình máy tính** mô tả cách đó bằng các lệnh của một ngôn ngữ lập trình để máy tính thực hiện. Ngôn ngữ lập trình quy định cách viết hoặc ghép các lệnh. Scratch là ngôn ngữ lập trình trực quan: ghép các khối lệnh để tạo chương trình. Python, C và Java là những ngôn ngữ lập trình khác. Một bản liệt kê hay sơ đồ khối giúp phân tích cách làm. Để thực hiện cách làm ấy trong Scratch, cần chuyển thành các khối lệnh phù hợp; máy tính thực hiện theo chương trình đã tạo, không tùy ý đổi thứ tự theo mong muốn chưa được viết thành lệnh.

Bài luyện

Phát biểu nào mô tả đúng quan hệ giữa thuật toán và chương trình?
Chọn một đáp án

Đọc chương trình tính tổng

Các khối Scratch tính tổng: hỏi và lưu a, hỏi và lưu b, đặt tong bằng a + b rồi thông báo
Các khối Scratch tính tổng: hỏi và lưu a, hỏi và lưu b, đặt tong bằng a + b rồi thông báo
Ảnh này chụp các khối lệnh của chương trình Scratch 3, giao diện tiếng Anh. Lệnh bắt đầu khi nhấn cờ xanh; các lệnh tiếp theo thực hiện từ trên xuống dưới. | Bước của thuật toán | Khối lệnh tương ứng | |---|---| | Nhập số a | ask … and wait, rồi set a to answer | | Nhập số b | ask … and wait, rồi set b to answer | | Tính tổng | set tong to a + b | | Thông báo kết quả | say join “Tổng = ” tong | Khối **ask … and wait** hỏi và chờ câu trả lời. Giá trị **answer** là câu trả lời vừa nhập. Khối **set … to …** đặt giá trị cho biến; ở đây $a$, $b$ và tong là các tên dùng để lưu giá trị trong chương trình. Cần lưu câu trả lời thứ nhất vào $a$ trước khi hỏi tiếp. Sau câu hỏi thứ hai, answer chứa câu trả lời thứ hai. Với hai lần nhập $12$ và $7$, $a=12$, $b=7$, nên tong bằng $19$ và lệnh say tạo thông báo “Tổng = 19”. Khối join ghép phần chữ với kết quả; phép cộng nằm trong khối $a+b$.

Bài luyện

Trong chương trình tính tổng, vì sao cần “set a to answer” ngay sau câu hỏi nhập a?
Chọn một đáp án

Bài luyện

Với hai lần nhập lần lượt 12 và 7, đâu là đầu ra cuối của chương trình mẫu?
Chọn một đáp án

Thực hành tạo, chạy và lưu chương trình

Nhiệm vụ: tạo chương trình nhận hai số và thông báo tổng như mẫu. Dùng Scratch 3 trên trang scratch.mit.edu/projects/editor/, giao diện tiếng Anh; có thể thực hiện mà không đăng nhập. 1. Chọn nhân vật sẽ mang chương trình. Trong nhóm Variables, chọn Make a Variable để tạo ba biến tên a, b, tong; dùng phạm vi For all sprites. 2. Lấy khối when green flag clicked trong Events. Trong Sensing, lấy ask … and wait và answer. Ghép một khối hỏi số a, tiếp đó set a to answer; rồi một khối hỏi số b, tiếp đó set b to answer. 3. Trong Variables, lấy set tong to …; đặt phép cộng ở nhóm Operators vào ô giá trị, đưa biến a và b vào hai ô của phép cộng. 4. Trong Looks, lấy say …; đặt khối join của Operators vào ô lời nói. Ô thứ nhất nhập “Tổng = ”; ô thứ hai dùng biến tong. Ghép khối này dưới bước tính tổng. 5. Nhấn cờ xanh; nhập 12 rồi Enter, nhập 7 rồi Enter. Kết quả cần là “Tổng = 19”. Chạy lại với 0 và 0, kết quả cần là “Tổng = 0”. Nếu sai, kiểm tra hai biến đã nhận đúng câu trả lời, phép cộng và vị trí lệnh thông báo. 6. Chọn File → Save to your computer để lưu tệp .sb3. Lần mở sau, chọn File → Load from your computer rồi chọn tệp; chạy lại để kiểm tra chương trình còn đúng. Tệp mẫu ở liên kết dùng để mở và đối chiếu các khối sau khi tự ghép. Thay đổi giao diện không làm thay đổi nhiệm vụ nhập, tính và thông báo tổng.

Bài luyện

Chương trình cần thông báo tổng mới tính. Cách sắp xếp nào đúng?
Chọn một đáp án

Nhận ra cấu trúc lặp trong chương trình

Một chương trình khác đưa nhân vật về vị trí $x=0$, $y=0$, hướng sang phải, rồi dùng **repeat 4** chứa lệnh **move 15 steps**. Sau khối lặp là lệnh say “Đã đi xong”. repeat 4 yêu cầu làm lại phần bên trong $4$ lần. Mỗi lần di chuyển $15$ bước, nên nhân vật đi tổng cộng $4\times15=60$ bước sang phải, đến $x=60$, $y=0$. Lệnh nói nằm sau khối lặp nên chỉ thực hiện một lần khi lặp xong. Có thể mở tệp mẫu, nhấn cờ xanh và kiểm tra giá trị x của nhân vật bằng 60. Nếu kéo lệnh say vào trong repeat, lệnh nói sẽ được thực hiện ở mỗi vòng. Vị trí lệnh thể hiện công việc nào lặp, công việc nào làm sau cùng.

Bài luyện

Một khối repeat 4 chỉ chứa move 15 steps; lệnh say “Đã đi xong” nằm sau khối lặp. Chương trình thực hiện các lệnh này bao nhiêu lần?
Chọn một đáp án

Đang học