Phát biểu nào sau đây chắc chắn sai một bài toán có thể có nhiều thuật toán để giải

Phát biểu nào sau đây chắc chắn sai một bài toán có thể có nhiều thuật toán để giải

45 điểm

Trần Tiến

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

Tổng hợp câu trả lời (1)

Trả lời: 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. Đáp án: B

Câu hỏi hay nhất cùng chủ đề

  • Em hãy hoàn thiện chương trình sau để tính tổng S =1+1/8+1/27+...1/n^3
  • 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.
  • Những biểu thức nào sau đây có giá trị TRUE ? A. ( 20 > 19 ) and ( ‘B’ < ‘A’ ); B. ( 4 > 2 ) and not( 4 + 2 < 5 ) or ( 2 >= 4 div 2 ); C. ( 3 < 5 ) or ( 4 + 2 < 5 ) and ( 2 < 4 div 2 ); D. 4 + 2 * ( 3 + 5 ) < 18 div 4 * 4 ;
  • Trong ngôn ngữ lập trình Pascal, biểu thức số học nào sau đây là hợp lệ ? A. 5a + 7b + 8c; B. 5*a + 7*b + 8*c; (*) C. {a + b}*c; D. X*y(x+y);
  • Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng: A. While S>=108 do B. While S < 108 do C. While S < 1.0E8 do D. While S >= E8 do
  • Đại lượng dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình gọi là: A. Hằng B. Biến C. Hàm D. Biểu thức
  • Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào? A. Longint B. integer C. word D. real
  • Cho dãy số gồm n số. Tìm dãy con lớn nhất các phần tử tăng (giảm) dần.
  • Chọn phát biểu đúng trong các phát biểu dưới đây: A. Ngoài bảng chữ cái, cú pháp, ngữ nghĩa, một ngôn ngữ lập trình còn có các quy tắc để khai báo biến, hằng,… B. Ngoài bảng chữ cái, có thể dùng các kí tự thông dụng trong toán học để viết chương trình C. Chương trình có lỗi cú pháp có thể được dịch ra ngôn ngữ máy nhưng không thực hiện được D. Cú pháp là bộ quy tắc dùng để viết chương trình
  • Biến là … A. Là đại lượng có giá trị không thay đổi trong suốt quá trình thực hiện chương trình B. Là đại lượng có giá trị có thể được thay đổi trong quá trình thực hiện chương trình C. Tên không cần theo nguyên tắc đặt tên D. Không cần khai báo trước khi sử dụng

Tham khảo giải bài tập hay nhất

Loạt bài Lớp 11 hay nhất

xem thêm

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.


Đáp án: B

Trắc nghiệm: 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

Lời giải:

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

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.

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

1. Khái niệm lập trình, ngôn ngữ lập trì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.

Phát biểu nào sau đây chắc chắn sai một bài toán có thể có nhiều thuật toán để giải

2. Phân loại ngôn ngữ lập trình

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

3. Chương trình dịch

– Chương trình dịch: Là chương trình đặc biệt nhằm chuyển đổi chương trình viết bằng ngôn ngữ lập trình bậc cao(chương trình nguồn) sang ngôn ngữ máy (chương trình đích).

Phát biểu nào sau đây chắc chắn sai một bài toán có thể có nhiều thuật toán để giải

Chương trình dịch có 2 loại:

+ Thông dịch: 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. Thích hợp cho môi trường đối thoại giữa người và hệ thống. Tuy nhiên nếu một câu lệnh nào đó phải thực hiện bao nhiêu lần thì nó phải được dịch bấy nhiêu lần.

Phát biểu nào sau đây chắc chắn sai một bài toán có thể có nhiều thuật toán để giải
                                        Giao tiếp giữa người và hệ thống.

Cụ thể thông dịch được thực hiện bằng lặp lại các bước sau:

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

B2: 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.

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

– Biên dịch: Được thực hiện qua hai bước

B1: Duyệt, 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

B2: 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.

Thông thường, trong môi trường làm việc trên một ngôn ngữ lập trình cụ thể, ngoài chương trình biên dịch còn có một số thành phần chức năng như biên soạn, lưu trữ, tìm kiếm.

Ví dụ trên Free Pascal:

Phát biểu nào sau đây chắc chắn sai một bài toán có thể có nhiều thuật toán để giải

4. Bài tập luyện tập 

Câu 1: Hãy nêu sự khác biệt giữa 2 loại của chương trình dịch là biên dịch và thông dịch?

Gợi ý trả lời:

– Biên dịch:

+ Đọc và dịch toàn bộ mã nguồn trong một lần

+ Thực thi chương trình vừa biên dịch được

+ Chương trình có thể được lưu trữ để dùng về sau

– Thông dịch:

+ Đọc và dịch từng câu lệnh trong mã nguồn

+ Thực thi từng câu lệnh sau khi câu lệnh đó được dịch xong

+ Không được lưu trữ để dùng về sau

Câu 2: Trong chế độ biên dịch, một chương trình đã được dịch thông suốt, hệ thống không báo lỗi. Có thể khẳng định rằng ta đã có một chương trình đúng hay chưa? Tại sao?

Gợi ý trả lời:

Không thể khẳng định chương trình đúng vì chương trình có thể vẫn còn chứa lỗi ngữ nghĩa.

Câu 3: Trong chế độ thông dịch, giả sử hai phần ba số câu lệnh trong chương trình đã được thự hiện. Có thể khẳng định rằng chương trình không còn chứa lỗi cú pháp nữa hay không? Tại sao?

Gợi ý trả lời:

Không thể khẳng định. Cú pháp của các câu lệnh chưa thực hiện chưa được kiểm tra.

Câu 4: Sau khi chương trình đã được dịch thông suốt, không còn lỗi cú pháp, có cần tiếp tục hiệu chỉnh, tức là tìm và sửa lỗi trong chương trình nguồn nữa hay không?

Gợi ý trả lời:

Có. Cần kiểm tra ngữ nghĩa.