Bài tập trắc nghiệm tin học 11 trọn năm
Chương I : MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
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;
D. phương tiện diễn đạt thuật toán để máy tính thực hiện công việc;
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à 2 khái niệm tương đương, đều là cách mô tả thuật toán bằng NNLT;
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;
Câu 3: Phát biểu nào sau đây chắc chắn sai ?
A. Mọi bài toán đều có thể giải được bằng máy tính;
B. Chương trình là một mô tả thuật toán bằng một ngôn ngữ lập trình;
C. Không thể viết được chương trình để giải một bài toán nếu như không biết thuật toán để giải bài toán đó;
D. Một bài toán có thể có nhiều thuật toán để giải;
Câu 4: 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ụngmá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;
Câu 5: Hãy chọn phương án ghép đúng . Ngôn ngữ lập trình là ngôn ngữ
A. cho phép thể hiện các dữ liệu trong bài toán mà các chương trình sẽ phải xử lí;
B. dưới dạng nhị phân để máy tính có thể thực hiện trực tiếp;
C. diễn đạt thuật toán để có thể giao cho máy tính thực hiện;
D. có tên là “ngôn ngữ thuật toán” hay còn gọi là “ngôn ngữ lập trình bậc cao” gần với ngôn ngữ toán học cho phép mô tả cách giải quyết vấn đề độc lập với máy tính;
Câu 6: Hãy chọn phương án ghép đúng . Ngôn ngữ máy là
A. bất cứ ngôn ngữ lập trình nào mà có thể diễn đạt thuật toán để giao cho máy tính thực hiện
B. ngôn ngữ để viết các chương trình mà mỗi chương trình là một dãy lệnh máy trong hệ nhị phân;
C. ngôn ngữ mà chương trình viết trên chúng sau khi dịch ra hệ nhị phân thì máy có thể chạy được;
D. diễn đạt thuật toán để có thể giao cho máy tính thực hiện;
Câu 7: Hãy chọn phương án ghép đúng . Hợp ngữ là ngôn ngữ
A. mà máy tính có thể thực hiện được trực tiếp không cần dịch;
B. có các lệnh được viết bằng kí tự nhưng về cơ bản mỗi lệnh tương đương với một lệnh máy . Để chạy được cần dịch ra ngôn ngữ máy;
C. mà các lệnh không viết trực tiếp bằng mã nhị phân ;
D.không viết bằng mã nhị phân,được thiết kế cho một số loại máy có thể chạy trực tiếp dưới dạng kí tự
Câu 8: Hãy chọn phương án ghép sai . Ngôn ngữ lập trình bậc cao là ngôn ngữ:
A. thể hiện thuật toán theo những quy ước nào đó không phụ thuộc vào các máy tính cụ thể;
B. mà máy tính không hiểu trực tiếp được, chương trình viết trên ngôn ngữ bậc cao trước khi chạy phải dịch sang ngôn ngữ máy;
C. có thể diễn đạt được mọi thuật toán;
D. sử dụng từ vựng và cú pháp của ngôn ngữ tự nhiên (tiếng Anh);
Câu 9: Phát biểu nào dưới đây chắc chắn sai ?
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;
Câu 10: Phát biểu nào dưới đây là sai khi nói về biên dịch và thông dịch ?
A. Chương trình dịch của ngôn ngữ lập trình bậc cao gọi là biên dịch còn thông dịch là chương trình dịch dùng với hợp ngữ;
B. 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;
C. Thông dịch lần lượt dịch và thực hiện từng câu lệnh còn biên dịch phải dịch trước toàn bộ chương trình sang mã nhị phân thì mới có thể thực hiện được;
D. Biên dịch và thông dịch đều kiểm tra tính đúng đắn của câu lệnh;
Câu 11: Phát biểu nào dưới đây là đúng ?
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;
Câu 12: Phát biểu nào dưới đây là đúng ?
A. Ngữ nghĩa trong ngôn ngữ lập trình phụ thuộc nhiều vào ý muốn của người lập trình tạo ra;
B. Mỗi ngôn ngữ lập trình đều có 3 thành phần là bảng chữ cái, cú pháp và ngữ nghĩa, nên việc khai báo kiểu dữ liệu, hằng, biến,… được áp dụng chung như nhau cho mọi ngôn ngữ lập trình;
C. Cú pháp của một ngôn ngữ lập trình là bộ quy tắc cho phép người lập trình viết chương trình trên ngôn ngữ đó;
D. Các ngôn ngữ lập trình đều có chung một bộ chữ cái;
A. Ngoài bảng chữ cái, cú pháp, ngữ nghĩa, một NNLT 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 để chương trình;
Câu 14: Chọn ý kiến đúng trong các ý kiến sau đây:
A. Chương trình cho kết quả đúng khi thực hiện đủ 20 test / 20 test thì chương trìn đó đúng;
B. Chương trình cho kết quả sai khi thực hiện 1 test thì chương trình đó sai;
C. Bộ test với kích thước dữ liệu lớn có nhiều khả năng phát hiện lỗi sai của chương trình hơn là các bộ test với kích thước dữ liệu nhỏ;
D. Khi dịch chương trình không thấy lỗi thì có thể kết luận chương trình là đúng.
Câu 15: Phát biểu nào dưới đây là hợp lí nhất ?
A. Biến là đại lượng nhận giá trị trước khi chương trình thực hiện .
B. Biến là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình.
C. Biến có thể lưu trữ nhiều loại giá trị khác nhau. D. Biến có thể đặt hoặc không đặt tên gọi .
Câu 16: Phát biểu nào dưới đây là hợp lí nhất ?
A. Biến dùng trong chương trình phải khai báo B. Biến được chương trình dịch bỏ qua .
C. Biến có thể lưu trữ nhiều loại giá trị khác nhau .
D. Biến là đại lượng nhận giá trị trước khi chương trình thực hiện .
Câu 17: Phát biểu nào dưới đây là hợp lí nhất ?
A. Hằng là đại lượng nhận giá trị trước khi chương trình thực hiện .
B. Hằng là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình
C. Hằng có thể lưu trữ nhiều loại giá trị khác nhau . D. Hằng được chương trình dịch bỏ qua .
Câu 18: Phát biểu nào dưới đây là hợp lí nhất ?
A. Tên gọi là đại lượng nhận giá trị trước khi chương trình thực hiện .
B. Tên gọi là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình .
C. Tên gọi có thể lưu trữ nhiều loại giá trị khác nhau .
D. Tên gọi do người lập trình tự đặt theo quy tắc do từng ngôn ngữ lập trình xác định .
Câu 19: Hãy chọn biểu diễn hằng đúng trong các biểu diễn sau :
A. Begin B. 58,5 C. ’65 D. 1024
Câu 20: Hãy chọn biểu diễn tên đúng trong những biểu diễn sau
A. ‘*****’ B. –tenkhongsai C. (bai_tap) D. Tensai
Câu 21: Chương trình viết bằng hợp ngữ không có đặc điểm nào trong các đặc điểm sau :
A. Dễ lập trình hơn so với ngôn ngữ bậc cao
B. Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ bậc cao
C. Gần với ngôn ngữ máy D. Sử dụng trọn vẹn các khả năng của máy tính
Câu 22: Chương trình dịch không có khả năng nào trong các khả năng sau ?
A. Phát hiện được lỗi ngữ nghĩa B. Phát hiện được lỗi cú pháp
C. Thông báo lỗi cú pháp D.Tạo được chương trình đích
Câu 23: Phát biểu nào dưới đây đúng ?
A. Chương trình là dãy các lệnh được tổ chức theo các quy tắc được xác định bởi ngôn ngữ lập trình cụ thể
B. Trong chế độ thông dịch, mỗi câu lệnh của chương trình nguồn được dịch thành một câu lệnh của chương trình đích
C. Mọi bài toán đều có chương trình để giải trên máy tính
D. Nếu chương trình nguồn có lỗi cú pháp thì chương trình đích cũng có lỗi cú pháp
Câu 24: Chương trình dịch là chương trình có chức năng
A. Chuyển đổi chương trình được viết bằng 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
B. Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình Pascal thành chương trình thực hiện được trên máy
C. Chuyển chương trình được viết bằng ngôn ngữ máy thành chương trình thực hiện được trên máy
D. Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình hợp ngữ
Câu 25: Trong tin học, hằng là đại lượng
A. Có giá trị thay đổi trong quá trình thực hiện chương trình
B. Có giá trị không thay đổi trong quá trình thực hiện chương trình
C. Được đặt tên
D. Có thể thay đổi giá trị hoặc không thay đổi giá trị tùy thuộc vào bài toán
Câu 26: Các thành phần của ngôn ngữ lập trình là
A. Chương trình thông dịch và chương trình biên dịch
B. Chương trình dịch, bảng chữ cái, cú pháp, ngữ nghĩa
C. Bảng chữ cái, cú pháp, ngữ nghĩa
D. Tên dành riêng, tên chuẩn và tên do người lập trình định nghĩa
Câu 27: Trong các cách khai báo Hằng sau đây, cách khai báo nào là đúng ?
A. Const Pi = 3,14; B. Const = Pi; C. Const Pi = 3.1; D. Pi = 3.14
Câu 28: Hãy chọn phát biểu sai ?
A. Các biến đều phải được khai báo và mỗi biến chỉ khai báo một lần
B. Một chương trình luôn luôn có hai phần : phần khai báo và phần thân
C. Sau từ khóa var có thể khai báo nhiều danh sách biến khác nhau
D. Chương trình dịch có hai loại : thông dịch và biên dịch
Câu 29: Trong ngôn ngữ Pascal, từ khóa CONST dùng để khai báo
A. Tên chương trình B. Hằng C. Biến D. Thư viện
Câu 30: Trong ngôn ngữ Pascal, từ khóa USES dùng để khai báo
A. Tên chương trình B. Hằng C. Biến D. Thư viện
Chương II : CHƯƠNG TRÌNH ĐƠN GIẢN
Câu 1: Chọn phát biểu sai trong các phát biểu sau :
A. Nói chung, chương trình thường gồm hai phần : phần khai báo và phần thân;
B. Phần thân chương trình nhất thiết phải có; C. Phần khai báo nhất thiết phải có;
D. Phần thân chương trình có thể không chứa một lệnh nào;
Câu 2: Chọn câu đúng trong các câu sau :
A. Trong phần khai báo, nhất thiết phải khai báo tên chương trình để tiện nhớ nội dung chương trình
B. Dòng khai báo tên chương trình cũng là một dòng lệnh;
C. Để sử dụng các chương trình lập sẵn trong các thư viện do ngôn ngữ lập trình cung cấp, cần khai báo các thư viện này trong phần khai báo;
D. Ngôn ngữ lập trình nào có hệ thống thư viện càng lớn thì càng dễ viết chương trình;
Câu 3: Chọn câu phát biểu hợp lí nhất ?
A. Khai báo hằng thường được sử dụng cho một giá trị tại mỗi thời điểm thực hiện chương trình;
B. Biến đơn là biến chỉ nhận những giá trị không đổi và xuất hiện nhiều lần trong chương trình;
C. Khai báo hằng thường được sử dụng cho những giá trị không đổi và xuất hiện nhiều lần trong chương trình;
D. Trong Pascal, tất cả các biến trong chương trình đều phải có giá trị không đổi và xuất hiện nhiều lần trong chương trình;
Câu 4: Chọn câu phát biểu hợp lí nhất ?
A. Trong Pascal, tất cả các biến trong chương trình đều phải đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lí;
B. Trong Pascal, tất cả các biến trong chương trình đều phải có một giá trị tại mỗi thời điểm thực hiện chương trình;
C. Khai báo hằng thường được sử dụng cho kiểu của hằng;
D. Biến đơn là biến chỉ nhận kiểu của hằng;
Câu 5: Chọn câu phát biểu hợp lí nhất ?
A. Trong Pascal, tất cả các biến trong chương trình đều phải có giá trị không đổi và xuất hiện nhiều lần trong chương trình;
B. Biến đơn là biến chỉ nhận một giá trị tại mỗi thời điểm thực hiện chương trình; (*)
C. Khai báo hằng thường được sử dụng cho đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lí; D. Biến đơn là biến chỉ nhận kiểu của hằng;
Câu 6: Chọn câu phát biểu hợp lí nhất ?
A. Khai báo hằng thường được sử dụng cho một giá trị tại mỗi thời điểm thực hiện chương trình;
B. Khai báo hằng còn xác định cả đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lí;
C. Trong Pascal, tất cả các biến trong chương trình đều phải có một giá trị tại mỗi thời điểm thực hiện chương trình;
D. Khai báo hằng còn xác định cả kiểu của hằng;
Câu 6.1: Xét chương trình Pascal cho khung dưới đây :
PROGRAM vi_du;
BEGIN
Writeln(‘Xin chao cac ban’);
Writeln(‘Moi cac ban lam quen voi Pascal’);
END.
Chọn phát biểu sai trong các phát biểu dưới đây :
A. Khai báo tên chương trình là vi du B. Khai báo tên chương trình là vi_du
C. Thân chương trình có hai câu lệnh D. Chương trình không có khai báo hằng
Câu 7: Hãy chọn phương án ghép sai. Ngôn ngữ lập trình cung cấp một số kiểu dữ liệu chuẩn để
A. người lập trình biết phạm vi giá trị cần lưu trữ;
B. người lập trình biết dung lượng bộ nhớ cần thiết để lưu trữ;
C. người lập trình biết có các phép toán nào có thể tác động lên dữ liệu;
D. người lập trình không cần đặt thêm các kiểu dữ liệu khác;
Câu 7.1: Chọn phát biểu đúng trong các phát biểu sau :
A. Mọi ngôn ngữ lập trình đều có các kiểu dữ liệu chuẩn là : kiểu nguyên, kiểu thực, kiểu kí tự, kiểu lôgic;
B. Quy định về phạm vi giá trị và kích thước bộ nhớ lưu trữ một giá trị của các kiểu dữ liệu chuẩn trong mọi ngôn ngữ lập trình là như nhau;
C. Dữ liệu kiểu byte có 256 giá trị từ 0, 1, 2, …, 255;
D. Dữ liệu kiểu kí tự chỉ có 256 giá trị;
Câu 8: Phát biểu nào dưới đây là sai ?
A. Cách khai báo biến trong ngôn ngữ lập trình khác nhau có thể khác nhau;
B. Trong Pascal các biến cùng kiểu có thể được khai báo trong cùng một danh sách biến, các biến cách nhau bởi dấu phẩy;
C. Kiểu dữ liệu của biến phải là kiểu dữ liệu chuẩn;
D. Hai biến cùng một phạm vi hoạt động (ví dụ như cùng trong khai báo var) không được trùng tên;
Câu 9: Cho các gợi ý về khai báo biến như sau :
- Nên đặt tên biến sao cho gợi nhớ đến ý nghĩa của biến đó.
- Không nên đặt tên biến quá ngắn.
- Không nên đặt tên biến quá dài, dễ mắc lỗi khi gõ tên biến trong chương trình.
- Khi khai báo biến cần chú ý đến phạm vi giá trị của nó để chọn kiểu biến cho phù hợp.
Có bao nhiêu gợi ý đúng ? A. 1 B. 2 C. 3 D. 4
Câu 10: Trong bài toán giải phương trình bậc hai : ax2 + bx + c = 0 ( a ≠ 0 ), có thể chọn đặt tên các biến tương ứng cho các đại lượng : hệ số của x2, hệ số của x, hệ số tự do, biệt số delta = b2 - 4*a*c, hai nghiệm (nếu có) là x1, x2 là :
A. a, b, c, delta, x1, x2 ;
B. hs_a, hs_b, hs_c, bietso_delta, nghiem_x1, nghiem_x2;
C. heso_xbingphuong, heso_x, bietso_delta, nghiem_thu_nhat, nghiem_thu_hai;
D. hs1, hs2, hs3, bs, n1, n2;