Mỗi bài toán đều có chương trình để giải trên máy tính

Trắc nghiệm: Phát biểu nào dưới đây là đúng trong các phát biểu dưới đây?

A. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch

B. Chương trình dịch gồm hợp dịch, thông dịch, biên dịch

C. Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân

D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau

Trả lời: 

Đáp án đúng D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau

Giải thích:

Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau như thông dịch và biên dịch. Bất kì một chương trình được viết bằng ngôn ngữ nào đều phải dịch sang ngôn ngữ máy.

Tìm hiểu về khái niệm ngôn ngữ lập trình cùng Top Tài Liệu nhé!

– Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô phỏng dữ liệu và diễn đạt các thao tác của thuật toán

– Ngôn ngữ lập trình là ngôn ngữ dùng để viết chương trình

a. Khái niệm

– Chương trình có chức năng chuyển đổi chương trình viết trên ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính gọi là chương trình dịch

Trong đó:

+ Chương trình nguồn: Là chương trình viết trên ngôn ngữ lập trình bậc cao

+ Chương trình đích: Là chương trình nguồn được chuyển đổi sang ngôn ngữ máy nhờ chương trình dịch

b. Phân loại:

– Chương trình dịch có 2 loại: thông dịch và biên dịch.

– Thông dịch (Interpret) được thực hiện bằng cách lặp lại dãy các bước sau:

+ Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn;

+ Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy;

+ Thực hiện các câu lệnh vừa chuyển đổi được.

Như vậy, quá trình dịch và thực hiện các câu lệnh là luân phiên. Các chương trình thông dịch lần lượt dịch và thực hiện từng câu lệnh. Nó thích hợp cho môi trường đối thoại giữa người và hệ thống, được ứng dụng cho các ngôn ngữ khai thác hệ quản trị cơ sở dừ liệu, ngôn ngữ đối thoại với hệ điều hành,..

Mỗi bài toán đều có chương trình để giải trên máy tính

– Biên dịch (compile) được thực hiện qua hai bước:

+ Duyệt, kiểm tra, phát hiện lỗi, kiếm tra tính đúng đắn của các câu lệnh trong chương trình nguồn;

+ Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết.

Như vậy, trong thông dịch, không có chương trình đích để lưu trữ, trong biên dịch cả chương trình nguồn và chương trình đích đều có thể lưu trữ lại để sử dụng về sau. Nó được ứng dụng vào việc biên soạn, lưu trữ, tìm kiếm, cho biết các kết quả trung gian,.. Toàn bộ các dịch vụ trên tạo thành một môi trường làm việc trên một ngôn ngữ lập trình cụ thể.

Ví dụ, Turbo Pascal 7.0, Free Pascal 1.2, Visual Pascal 2.1 …. trên ngôn ngữ Pascal, Turbo C++, Visual C++,…

– Ngôn ngữ lập trình được chia thành ba loại:

+ Ngôn ngữ máy: Ngôn ngữ duy nhất máy có thể trực tiếp hiểu và thực hiện

+ Hợp ngữ: Rất gần với ngôn ngữ máy, nhưng mã lệnh được thay bằng tên viết tắt của thao tác (thường là tiếng Anh)

+ Ngôn ngữ bậc cao: Gần với ngôn ngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào loại máy và chương trình phải dịch sang ngôn ngữ máy mới thực hiện được

Câu 1: Hãy chọn phương án ghép phù hợp nhất. Ngôn ngữ lập trình là gì?

A. Phương tiện để soạn thảo văn bản trong đó có chương trình

B. Ngôn ngữ Pascal hoặc C

C. Phương tiện diễn đạt thuật toán để máy tính thực hiện công việc

D. Phương tiện diễn đạt thuật toán

Giải thích: Ngôn ngữ lập trình là ngôn ngữ để viết chương trình diễn đạt thuật toán giúp  máy tính hiểu và thực hiện.

Câu 2: Phát biểu nào dưới đây chắc chắn sai?

A. Lập trình là viết chương trình

B. Lập trình và chương trình là hai khái niệm tương đương, đều là cách mô tả thuật toán bằng ngôn ngữ lập trình

C. Chương trình được tạo thành từ tổ hợp các câu lệnh và các khai báo cần thiết về biến, hằng, hàm, …

D. Chương trình chưa chắc là đã đúng nếu cho kết quả đúng với rất nhiều bộ dữ liệu vào.

Giải thích:

+ Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. Hay lập trình chính là viết chương trình.

+ Chương trình được tạo thành từ tổ hợp các câu lệnh và các khai báo cần thiết về biến, hằng, hàm, …

→Lập trình và chương trình là hai không khái niệm tương đương⇒  Loại B.

Câu 3: Phát biểu nào sau đây chắc chắn sai?

A. Để giải bài toán bằng máy tính phải viết chương trình mô tả thuật toán giải bài toán đó

B. Mọi người sử dụng máy tính đều phải biết lập chương trình

C. Máy tính điện tử có thể chạy các chương trình

D. Một bài toán có thể có nhiều thuật toán để giải

Giải thích:

Lập chương trình là phải biết một hoặc một vài ngôn ngữ lập trình như: Pascal, C. C++…để viết trình. Việc học này thường rất khó và phức tạp vì vậy người sử dụng máy tính đơn thuần không nhất thiết phải biết lập trình mà chỉ việc biết thao tác đơn giản trên máy tính.

Câu 4: Phát biểu nào dưới đây là đúng trong các phát biểu dưới đây?

A. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch

B. Chương trình dịch gồm hợp dịch, thông dịch, biên dịch

C. Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân

D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau

Giải thích:

Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau như thông dịch và biên dịch. Bất kì một chương trình được viết bằng ngôn ngữ nào đều phải dịch sang ngôn ngữ máy.

Câu 5: Phát biểu nào không đúng trong các phát biểu dưới đây?

A. Chương trình dịch cho phép chuyển chương trình viết bằng một ngôn ngữ lập trình nào đó sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được mà vẫn bảo toàn được ngữ nghĩa của chương trình nguồn

B. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình

C. Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình

D. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch

Giải thích:

Mỗi chương trình viết bằng ngôn ngữ khác muốn máy tính thực hiện trên máy tính đều phải được dịch ra ngôn ngữ máy nhờ chương trình dịch. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình. Có hai chương trình dịch: thông dịch và biên dịch.

Xem toàn bộ tài liệu Lớp 10: tại đây

Câu 1: Các bước giải bài toán trên máy tính được tiến hành theo thứ tự nào sau đây:

A. Xác định bài toán – Lựa chọn thuật toán – Viết chương trình – Hiệu chỉnh – Viết tài liệu

B. Xác định bài toán – Viết chương trình – Lựa chọn thuật toán – Viết tài liệu

C. Lựa chọn thuật toán – Xác định bài toán – Viết chương trình – Hiệu chỉnh – Viết tài liệu

D. Viết chương trình – Hiệu chỉnh – Viết tài liệu

Đáp án : A

Giải thích :

Các bước giải bài toán trên máy tính được tiến hành theo thứ tự: Xác định bài toán – Lựa chọn thuật toán – Viết chương trình – Hiệu chỉnh – Viết tài liệu.

Câu 2: Mỗi bài toán được đặc tả bởi mấy thành phần:

A. 4

B. 3

C. 2

D. 1

Đáp án : C

Giải thích :

Mỗi bài toán được đặc tả bởi 2 thành phần là Input và Output.

Câu 3: Viết chương trình là?

A. Biểu diễn thuật toán

B. Dùng ngôn ngữ lập trình để diễn đạt bài toán

C. Dùng ngôn ngữ lập trình và cấu trúc dữ liệu thích hợp để diễn tả thuật toán

D. Tất cả đều đúng

Đáp án : C

Giải thích :

Viết chương trình là tổng hợp giữa việc dùng ngôn ngữ lập trình và cấu trúc dữ liệu thích hợp để diễn tả đúng thuật toán.

Câu 4: Tiêu chuẩn lựa chọn thuật toán:

A. Lượng tài nguyên thuật toán đòi hỏi và lượng tài nguyên cho phép

B. Độ phức tạp của thuật toán

C. Các tài nguyên như thời gian thực hiện, số lượng ô nhớ…

D. Cả 3 ý trên đều đúng

Đáp án : D

Giải thích :

Khi lựa chọn thuật toán để giải một bài toán cụ thể cần căn cứ vào các tiêu chí sau:

+ Lượng tài nguyên thuật toán đòi hỏi và lượng tài nguyên cho phép

+ Độ phức tạp của thuật toán

+ Các tài nguyên như thời gian thực hiện, số lượng ô nhớ…

Câu 5: Giải bài toán trên máy tính được tiến hành qua mấy bước?

A. 3

B. 4

C. 5

D. 6

Đáp án : C

Giải thích :

Giải bài toán trên máy tính được tiến hành qua 5 bước: Xác định bài toán – Lựa chọn thuật toán – Viết chương trình – Hiệu chỉnh – Viết tài liệu.

Câu 6: Tiêu chí lựa chọn hoặc thiết kế thuật toán là?

A. Hiệu quả về thời gian

B. Hiệu quả về không gian

C. Khả thi khi cài đặt

D. Tất cả đều đúng

Đáp án : D

Giải thích :

Tiêu chí lựa chọn hoặc thiết kế thuật toán là nhanh, tốn ít bộ nhớ, chạy được khi cài đặt.

Câu 7:D

A. Lựa chọn hoặc thiết kế thuật toán

B. Viết chương trình

C. Xác định bài toán

D. Hiệu chỉnh

Đáp án : A

Giải thích :

Bước quan trọng nhất để giải một bài toán trên máy tính là lựa chọn hoặc thiết kế thuật toán. Vì mỗi thuật toán chỉ giải 1 bài toán, nhưng 1 bài toán có thể có nhiều thuật toán khác nhau. Vì vậy cần thiết kế hoặc lựa chọn thuật toán sao cho phù hợp.

Câu 8: Mục đích của việc hiệu chỉnh là:

A. Xác định lại Input và Output của bài toán

B. Phát hiện và sửa sai sót

C. Mô tả chi tiết bài toán

D. Để tạo ra một chương trình mới

Đáp án :

Giải thích :

Sau khi viết chương trình xong vẫn có thể còn nhiều lỗi khác chưa phát hiện được vì vậy cần phải hiệu chỉnh, thử chương trình bằng cách thực hiện nó với một số bộ Input tiêu biểu phụ thuộc vào đặc thù bài toán để bằng cách nào đó ta biết trước Output nhằm phát hiện và sửa sai sót.

Câu 9: Thuật toán tối ưu là?

A. Sử dụng ít thời gian, ít bộ nhớ…

B. Sử dụng ít thời gian, nhiều bộ nhớ, ít phép toán…

C. Sử dụng nhiều thời gian, nhiều bộ nhớ, ít phép toán…

D. Sử dụng ít thời gian, ít bộ nhớ, ít phép toán…

Đáp án : D

Giải thích :

Thuật toán tối ưu là sử dụng ít thời gian, ít bộ nhớ, ít phép toán, ít phức tạp…

Câu 10: Các bước cần phải có khi giải bài toán trên máy tính là:

A. Xác định bài toán, lựa chọn hoặc thiết kế thuật toán, diễn tả thuật toán, hiệu chỉnh, viết tài liệu

B. Xác định bài toán, lựa chọn hoặc thiết kế thuật toán, viết chương trình, viết tài liệu

C. Xác định bài toán, lựa chọn hoặc thiết kế thuật toán, viết chương trình, hiệu chỉnh, viết tài liệu

D. Xác định bài toán, viết thuật chọn, viết chương trình, viết tài liệu

Đáp án : C

Giải thích :

Các bước cần phải có khi giải bài toán trên máy tính là: Xác định bài toán, lựa chọn hoặc thiết kế thuật toán, viết chương trình, hiệu chỉnh, viết tài liệu.