Bài học hay

https://baihochay.com

Soạn tin học 8 - Bài 1. Máy tính và chương trình máy tính

Hướng dẫn soạn chi tiết Tin học 8, Bài 1. Máy tính và chương trình máy tính, Hướng dẫn trả lời câu hỏi và bài tập trong bài học
Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
Thời lượng: 2 tiết
1. Mục đích, yêu cầu
- Biết con người chỉ dẫn cho máy tính thực hiện công việc thông qua lệnh;
- Biết chương trình là cách để con người chỉ dẫn cho máy tính thực hiện nhiều công việc liên tiếp một cách tự động;
- Biết rằng viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể;
- Biết ngôn ngữ được dùng để viết chương trình máy tính gọi là ngôn ngữ lập trình;
- Biết vai trò của chương trình dịch.

2. Những điểm cần lưu ý và gợi ý dạy học
a) Khái niệm về lệnh, nút lệnh HS đã được biết đến ở Quyển 1 và Quyển 2. Dựa trên hiểu biết có sẵn của HS về lệnh, GV cần nhắc để HS nhớ lại và hình dung về lệnh một cách đơn giản, phổ thông.
HS đã thực hiện các thao tác khởi động/thoát khỏi phần mềm, sao chép, di chuyển và thực hiện các bước để tắt máy tính (theo đúng trình tự). Đặc biệt, HS vẫn thường xuyên sử dụng các nút lệnh trên dải lệnh để làm việc với chương trình soạn thảo văn bản, chương trình bảng tính. Khi thực hiện các thao tác này chính là HS ra lệnh cho máy tính thực hiện một công việc nào đó. Ví dụ, khi thực hiện thao tác nháy vào nút lệnh Cut trên dải lệnh Home của Word là đã ra lệnh cho máy tính thực hiện công việc xoá một phần văn bản và lưu vào bộ nhớ của máy tính.
Thực ra khái niệm về lệnh trong máy tính khá phức tạp, tuy nhiên ở đây không nên giới thiệu sâu về lệnh, mà chỉ nên cho HS thấy lệnh máy tính là một chỉ dẫn của con người để máy tính thực hiện một công việc cụ thể nào đó.

b) Sau phần khởi động, HS cần biết được con người điều khiển máy tính thông qua lệnh.
Cần cho HS nhận thấy sự khác biệt giữa việc ra lệnh cho máy tính với ra lệnh cho con người. Qua ví dụ điều khiển rô-bốt nhặt rác, GV cần cho HS nhận thấy một công việc rất đơn giản với con người, nhưng khi muốn máy tính thực hiện thì cần phải chia thành nhiều thao tác nhỏ, đơn giản, cụ thể mà rô-bốt có thể thực hiện được.
Có hai cách để có thể điều khiển rô-bốt thực hiện công việc trên: Cách thứ nhất là ra từng lệnh và rô-bốt thực hiện từng thao tác; Cách thứ hai là chỉ dẫn để rô-bốt tự động thực hiện lần lượt các thao tác trên. Việc viết các lệnh để điều khiển, chỉ dẫn rô-bốt (hay máy tính) thực hiện tự động một loạt các thao tác liên tiếp chính là viết chương trình máy tính (hay còn gọi tắt là chương trình).

c) Kết thúc mục 1, HS cần biết chương trình là cách để con người chỉ dẫn cho máy tính thực hiện nhiều công việc liên tiếp một cách tự động và viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể.
Có thể dẫn dắt HS tiếp cận khái niệm ngôn ngữ lập trình như sau: Chương trình mà con người viết ra phải đảm bảo máy tính có thể "hiểu" được. HS đã biết máy tính chỉ có thể hiểu được ngôn ngữ máy (dãy các bit, tức là dãy số 0 và 1). Vì vậy, về nguyên tắc để máy tính "hiểu" được phải viết chương trình bằng ngôn ngữ máy.
Vấn đề là ngôn ngữ máy lại rất khó hiểu, khó nhớ đối với con người nên khi sử dụng ngôn ngữ này để viết chương trình người lập trình rất vất vả.
Do đó xuất hiện nhu cầu cần có một ngôn ngữ trung gian giữa con người và máy tính làm sao để con người dễ dàng sử dụng khi viết chương trình và máy tính cũng có thể hiểu được. Ngôn ngữ lập trình bậc cao được ra đời để đáp ứng nhu cầu này. Có thể liệt kê ra một số ngôn ngữ lập trình bậc cao như Pascal, C, Java...

d) Qua mục 2, như đã nêu ở trên, máy tính chỉ hiểu được ngôn ngữ máy, nên chương trình viết bằng ngôn ngữ lập trình phải được chuyển sang thành chương trình ở ngôn ngữ máy. Điều này cũng giống như việc phiên dịch khi trao đổi với người nước ngoài vậy. Chương trình đóng vai trò dịch từ ngôn ngữ lập trình bậc cao sang ngôn ngữ máy gọi là "chương trình dịch".
Như vậy, để có được một chương trình mà máy tính có thể thực hiện được cần qua hai bước:
(1) Viết chương trình theo ngôn ngữ lập trình;
(2) Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được.
Cần lưu ý rằng, các bước nêu trên chỉ là hai trong số rất nhiều bước (giai đoạn) để tạo ra một chương trình cụ thể có thể "chạy" trên máy tính. Để có một chương trình hoạt động hiệu quả trên máy tính và phục vụ đúng mục tiêu, người ta còn phải thực hiện nhiều công việc khác, bắt đầu từ việc khảo sát nhu cầu của người dùng (xác định mục tiêu, yêu cầu, khảo sát các quy trình nghiệp vụ,...), phân tích, thiết kế, lập trình, kiểm thử, triển khai cài đặt, đào tạo, hỗ trợ,... Hai bước nói trên chỉ là một phần của công việc lập trình, sau khi thuật toán đã được xây dựng. Tuy nhiên, đối với HS mới bắt đầu làm quen với lập trình và ngôn ngữ lập trình, cách giới thiệu như trong SGK là đủ và nhằm để HS phân biệt được hai công việc viết chương trình và dịch chương trình. Trong các bài thực hành với Pascal, HS sẽ phân biệt rõ hơn hai bước này.
Có thể nói nhiệm vụ chính của ngôn ngữ lập trình là dịch chương trình đã được soạn thảo sang ngôn ngữ máy. Tuy nhiên, một ngôn ngữ lập trình thường cung cấp một số công cụ đi kèm với chương trình dịch để hỗ trợ người lập trình như: phần mềm soạn thảo văn bản; phát hiện và thông báo lỗi; công cụ theo dõi, gỡ rối chương trình; các thư viện chương trình chuẩn;... Các dịch vụ, công cụ này tạo nên môi trường lập trình. GV không cần giải thích kĩ về môi trường lập trình với HS.

e) Ở mục này, HS cần ghi nhớ được ngôn ngữ lập trình là công cụ để viết chương trình máy tính và chương trình dịch đóng vai trò dịch chương trình viết bằng ngôn ngữ lập trình sang ngôn ngữ máy.
Nội dung của bài 1 được xem như là một cầu nối cho HS từ người dùng sang người xây dựng chương trình máy tính. Qua bài này HS cần biết phía sau những thao tác như nháy nút lệnh Cut, Copy,... mà các em đã quen sử dụng là những chương trình máy tính tương ứng. Khi nháy chuột vào một nút lệnh là các em đã yêu cầu máy tính thực hiện một chương trình tương ứng đã được viết sẵn.

3. Hướng dẫn trả lời câu hỏi và bài tập
Bài 1. Lệnh "Tìm kiếm và thay thế" trong phần mềm soạn thảo có thể được hiểu là dãy các lệnh sau:
1) Tìm kiếm từ cần tìm.
2) Nếu không tìm thấy thì thông báo hoàn thành công việc.
3) Nếu tìm thấy thì thực hiện việc thay thế cụm từ này.
4) Tìm tiếp bằng cách thực hiện lại lệnh 1) cho phần văn bản tiếp theo.
Thứ tự các lệnh trên không thể thay đổi.

Bài 2. Nếu thay đổi thứ tự của lệnh 1 "Tiến 2 bước" và lệnh 2 "Quay trái, tiến 1 bước" trong chương trình điều khiển rô-bốt thì sau hai lệnh trên rô-bốt sẽ "Quay trái và tiến 3 bước" và nó sẽ đi tới vị trí không có rác, dẫn đến rô-bốt sẽ không thực hiện được công việc nhặt rác. Nói chung, các lệnh trong chương trình cần được đưa ra theo một thứ tự xác định sao cho ta đạt kết quả mong muốn.
Vị trí mới của rô-bốt sau khi thực hiện xong chương trình "Hãy nhặt rác" là vị trí có thùng rác (ở góc đối diện).
Ta có nhiều cách khác nhau để đưa ra hai lệnh để rô-bốt trở lại vị trí ban đầu của mình, một trong các cách đó là ba lệnh "Quay trái, tiến 3 bước", "Quay trái, tiến 3 bước" và "Quay phải, tiến 2 bước".

Bài 3. Lí do: Điều khiển máy tính tự động thực hiện các công việc đa dạng và phức tạp mà một lệnh đơn giản không đủ để chỉ dẫn.

Bài 4. Trong ngôn ngữ máy, mọi lệnh đều được biểu diễn bằng các con số 0 và 1. Ngôn ngữ máy khó đọc và khó sử dụng.
Các ngôn ngữ lập trình được phát triển để khắc phục các nhược điểm của ngôn ngữ máy. Ngôn ngữ lập trình sử dụng các cụm từ tự nhiên nên dễ nhớ, dễ sử dụng.

Bài 5. Chương trình dịch giúp chuyển đổi chương trình được viết bằng ngôn ngữ lập trình thành chương trình bằng ngôn ngữ máy thực hiện được trên máy tính. Như vậy, chương trình dịch chuyển đổi tệp gồm các dòng lệnh được soạn thảo thành tệp có thể chạy trên máy tính.