SGK Tin Học 8 - Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH

  • Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH trang 1
  • Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH trang 2
  • Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH trang 3
  • Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH trang 4
  • Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH trang 5
  • Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH trang 6
LAP
GIAN
BÀI 1
MÁY TÍNH
VÀ CHƯƠNG TRÌNH MÁY TÍNH
ì. Con người ra lệnh cho máy tính như thế nào?
Máy tính là công cụ trợ giúp con người để xử lí thông tin một cách hiệu quả. Tuy nhiên, để máy tính có thể thực hiện một công việc cụ thể, con người phải đưa ra những chỉ dẫn thích họp cho máy tính.
Khi nháy đúp chuột lên biểu tượng của một phần mềm trên màn hình nền, phần mềm sẽ được khởi động. Bằng cách đó ta đã cho máy tính những chỉ dẩn, nói cách khác, đã ra lệnh cho máy tính khởi động phần mềm.
Khi soạn thảo văn bản, ta gõ một phím chữ (chẳng hạn phím chữ A), chữ tương ứng sẽ xuất hiện trên màn hình. Như vậy, ta cũng đã ra lệnh cho máy tính (hiện chữ lên màn hình).
Khi thực hiện lệnh sao chép một phần văn bản từ vị trí này sang vị trí khác, thực chất ta đã yêu cầu máy tính thực hiện liên tiếp hai lệnh, đó là lệnh sao chép nội dung phần văn bản vào bộ nhớ của máy tính và lệnh sao chép nội dung đó từ bộ nhớ vào vị trí mới trên văn bản.
Như vậy, để chỉ dẫn máy tính thực hiện một công việc nào đó, con người ra lệnh cho máy tính một hoặc nhiều lệnh, máy tính sẽ lần lượt thực hiện các lệnh đó.
Ví dụ: rô-bốt nhặt rác
Rô-bốt (hay người máy) là một loại máy có thể tự động thực hiện được một số công việc thông qua sự điều khiển của con người. Chúng ta sẽ tìm hiểu cách ra lệnh cho máy tính thông qua một ví dụ vê' rô-bốt.
Giả sử ta có một rô-bốt có thể thực hiện được các thao tác cơ bản như tiến một bước, quay phải, quay trái, nhặt rác và bỏ rác vào thùng. Hình l sau đây mô tả vị trí của rô-bốt, rác và thùng rác. Có nhiều cách để chỉ dẫn rô-bốt di chuyển từ vị trí hiện thời, nhặt rác và bỏ vào thùng rác để ở nơi quy định. Dưới đây là một trong các cách đó:
Tiến 2 bước;
Quay trái, tiến 1 bước;
Nhặt rác;
Quay phải, tiến 3 bước;
Quay trái, tiến 2 bước;
Bỏ rác vào thùng;
Hình 1. Rô-bốt “nhặt rác”
Giả sử các lệnh trên được viết và lưu trong rô-bốt với tên “Hãy nhặt rác”. Khi đó ta chỉ cần ra lệnh “Háy nhặt rác”, rô-bốt sẽ tự động thực hiện lần lượt các lệnh nói trên.
Viết chương trình - ra lệnh cho máy tính làm việc
về thực chất, việc viết các lệnh để điều khiển rô-bốt trong ví dụ nói trên chính là viết chương trình. Tương tự, để điều khiển máy tính làm việc, chúng ta cũng viết chương trình máy tính.
Theo nghĩa đó, chương trình máy tính là một dãy các lệnh mà máy tính có thể hiểu và thực hiện được. Khi thực hiện chương trình, máy tính sẽ thực hiện các lệnh có trong chương trình một cách tuần tự, nghĩa là thực hiện xong một lệnh sẽ thực hiện lệnh tiếp theo, từ lệnh đầu tiên đến lệnh cuối cùng.
Bắt đầu
Tiến 2 bước;
Quay trái, tiến 1 bước; Nhặt rác;
Quay phải, tiến 3 bước; Quay trái, tiến 2 bước; Bỏ rác vào thùng;
Kết thúc.
Trở lại ví dụ về rô-bốt nhặt rác, chương trình có thể có các lệnh như hình 2.
Hình 2. Ví dụ về chương trình
Tại sao cần viết chương trình?
Khi gõ một phím hoặc nháy chuột, thực chất ta đã “ra lệnh” cho máy tính. Tuy nhiên, trong thực tế các công việc con người muốn máy tính thực hiện rất đa dạng và phức tạp. Một lệnh đon giản không đủ để chỉ dẫn cho máy tính. Vì thế việc viết nhiều lệnh và tập hợp lại trong một chương trình giúp con người điều khiển máy tính một cách dễ dàng và hiệu quả hơn.
Chương trình và ngôn ngữ lập trình
Chúng ta đã biết rằng, để máy tính có thể xử lí, thông tin đưa vào máy tính phải được chuyển đổi thành dạng dãy bít (dãy các số chỉ gồm 0 và 1). Các dãy bit là cơ sở để tạo ra ngôn ngữ dành cho máy tính, được gọi là ngôn ngữ máy. Những chương trình máy tính đầu tiên khi máy tính mới xuất hiện được viết chính bằng ngôn ngữ này.
Hình 3
Tuy nhiên, việc viết chương trình bằng ngôn ngữ máy rất khó khăn và mất nhiều thời gian, công sức. Bởi lẽ, vê' mặt trực quan, các câu lệnh được viết dưới dạng các dãy bit khác xa với ngôn ngữ tự nhiên nên khó nhớ, khó sử dụng. Vì vậy người ta mong muốn có thể sử dụng được các từ có nghĩa, dễ hiểu và dễ nhớ để viết các câu lệnh thay cho các dãy bit khô khan. Các ngôn ngữ lập trình đã ra đời để phục vụ mục đích đó.
Ngôn ngữ lập trình là ngôn ngữ dùng để viết các chương trình máy tính.
Như vậy, để tạo chương trình máy tính, chúng ta phải viết chương trình theo một ngôn ngữ lập trình nào đó. Nói cách khác, ngôn ngữ lập trình là công cụ giúp để tạo ra các chương trình máy tính.
*
Tuy nhiên, máy tính vẫn chưa thể hiểu được trực tiếp các chương trình được viết bằng ngôn ngữ lập trình. Chương trình còn cần được chuyển đổi sang ngôn ngữ máy bằng một chương trình dịch tương ứng:
Hình 4
Tóm lại, việc tạo ra chương trình máy tính thực chất gồm hai bước sau:
Viết chương trình bằng một ngôn ngữ lập trình;
Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được.
Dịch
Hình 5
Kết quả nhận được sau bước (1) là danh sách các lệnh được lưu thành một tệp văn bản trong máy tính; còn kết quả của bước (2) là một tệp có thể thực hiện trên máy tính. Các tệp đó được gọi chung là chương trình.
Người ta thường viết chương trình bằng một chương trình soạn thảo (tương tự như chương trình soạn thảo văn bản). Chương trình soạn thảo và chương trình dịch cùng với các công cụ trợ giúp tìm kiếm, sửa lỗi và thực hiện chương trình thường được kết hợp vào một phần mềm, được gọi là môi trường lập trình. Ví dụ, với ngôn ngữ lập trình Pascal có hai môi trường làm việc phổ biến là Turbo Pascal và Free Pascal.
Có rất nhiều ngôn ngữ lập trình khác nhau. Có thể kể tên một số ngôn ngữ lập trình phổ biến hiện nay như c, Java, Basic, Pascal,... Mỗi ngôn ngữ lập trình được tạo ra với định hướng sử dụng trong một số lĩnh vực cụ thể và có điểm mạnh cũng như điểm yếu riêng.
GHI NHÓ
Con người chỉ dẫn cho máy tính thực hiện công việc thông qua các lệnh.
Viết chương trình là hướng 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ể.
Ngôn ngữ dùng để viết các chương trình máy tính được gọi lầ ngôn ngữ lập trình.
Câu hỏi và bài tập
Trong ví dụ về rô-bốt, nếu thay đổi thứ tụ của lệnh 1 và lệnh 2 trong chương trình, rô-bốt có thục hiện được công việc nhặt rác không? Hãy xác định vị trí mới của rô-bốt sau khi thục hiện xong chương trình. Em hãy bổ sung hai lệnh để rô-bốt trỏ lại vị trí ban đầu.
Hãy cho biết lí do cần phải viết chương trình để điều khiển máy tính.
Tại sao người ta phải tạo ra các ngôn ngữ lập trình trong khi có thể điều khiển máy tính bằng ngôn ngữ máy?
Chương trình dịch làm gì?