Bài tập trắc nghiệm môn Tin học Lớp 11
Bạn đang xem tài liệu "Bài tập trắc nghiệm môn Tin học Lớp 11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_tap_trac_nghiem_mon_tin_hoc_lop_11.docx
Nội dung text: Bài tập trắc nghiệm môn Tin học Lớp 11
- Bài tập trắc nghiệm tin học 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; Page 1
- 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; Câu 13: Phát biểu nào dưới đây là đúng ? 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 ? Page 2
- 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 Câu 31: Tên nào không đúng trong ngôn ngữ Pascal A. abc_123 B. _123abc C. 123_abc D. abc123 Câu 32: Bằng 2 chữ cái A và B , người ta có thể viết được mấy tên đúng có độ dài không quá 2 chữ cái A. 2 B. 4 C. 6 D. 8 Câu 33: Có mấy loại hằng ? A. 2 B. 3 C. 4 D. 5 Câu 34: Trong Pascal, các đoạn chú thích được đặt giữa cặp dấu nào ? A. { và } B. [ và ] C. ( và ) D. /* và */ Câu 35: Trong những biểu diễn dưới đây, biểu diễn nào là từ khóa trong Pascal ? A. End B. Sqrt C. Crt D. LongInt Câu 36: Khái niệm nào sau đây là đúng về tên dành riêng ? A. Tên dành riêng là tên do người lập trình đặt B. Tên dành riêng là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, không được sử dụng với ý nghĩa khác C. Tên dành riêng là tên đã được NNLT qui định đúng với ý nghĩa riêng xác định, có thể được định nghĩa lại D. Tên dành riêng là các hằng hay biến Câu 37: Khai báo nào sau đây là đúng về tên chuẩn ? A. Tên chuẩn là tên do người lập trình đặt B. Tên chuẩn là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, không được sử dụng với ý nghĩa khác C. Tên chuẩn là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, có thể được định nghĩa lại D. Tên chuẩn là các hằng hay biến Page 3
- 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 ? Page 4
- 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; Câu 11: Trường hợp nào dưới đây không phải là tên biến trong Pascal ? A. Giai_Ptrinh_Bac_2; B. Ngaysinh; C. _Noisinh; D. 2x; Câu 12: Trường hợp nào dưới đây là tên biến trong Pascal ? A. Giai-Ptrinh-Bac 2; B. Ngay_sinh; C. _Noi sinh; D. 2x; Câu 13: Cho khai báo biến sau đây (trong Pascal). Tìm lệnh gán sai: Var m, n : integer ; x, y : real ; A. m := -4 ; B. n := 3.5 ; C. x := 6 ; D. y := +10.5 ; Câu 14: Trường hợp nào sau đây không phải là lệnh gán trong Pascal ? A. a := 10 ; B. a + b := 1000 ; (*) C. cd := 50 ; D a := a*2 ; Câu 15: Tìm lỗi của chương trình sau: Var A, b, c : real ; A := 1; b := 1; c := 5 ; d := b*b – 4*a*c ; writeln(‘d = ’,d); END. A. Thiếu Begin B. Không khai báo d C. Thiếu Begin và khai biến d D. Không có END. Câu 16: Chọn phát biểu sai trong các phát biểu sau đây : A. Hầu hết các ngôn ngữ lập trình đều có các phép toán số học và phép toán quan hệ; B. Trong Pascal, phép chia số thực (kí hiệu là “/”) cũng áp dụng được cho chia hai số nguyên; C. Trong máy tính, không thể chia một số cho số nhỏ tùy ý (tùy ý sát gần giá trị 0); D. Trong Pascal, phép chia số nguyên (kí hiệu là div) cũng áp dụng được cho hai số thực; Câu 17: Phát biểu nào dưới đây là đúng ? A. Hằng số không là biểu thức số học; B. Biến số không là biểu thức số học; C. Chỉ khi hằng số và biến số liên kết với nhau bởi các phép toán; D. Cả 3 đều sai; Câu 18: Phát biểu nào dưới đây là sai ? A. Trong biểu thức số học, cặp ngoặc tròn “(” “)” khi cần thiết được dùng để xác định trình tự thực hiện phép toán; B. Để tính giá trị biểu thức, các biến và hằng trong biểu thức phải được xác định giá trị trước; C. Phép toán được thực hiện theo thứ tự từ trái qua phải; D. Phép toán trong ngoặc được thực hiện trước. Trong dãy các phép toán không chứa ngoặc nếu một toán hạng có thể tham gia vào hai phép toán ở hai mức với hai mức ưu tiên khác nhau thì toán hạng sẽ tham gia vào phép toán có mứa ưu tiên hơn; ngược lại nếu hai phép toán cùng mức ưu tiên thì toán hạng sẽ tham gia vào phép toán bên trái (quy định của nhiều trình biên dịch). Câu 19: Thực hiện chương trình Pascal sau đây. Ta thu được kết quả nào ? Var a, N : integer ; BEGIN N := 645 ; Page 5
- A := N mod 10 ; N := N div 10 ; A := A + N div 10 ; A := A + N mod 10 ; Write(a); END. A. 6; B. 5; C. 15; D. 64; Câu 20: Hãy chọn phương án ghép đúng . Biểu thức : 25 div 3 + 5 / 2 * 3 có giá trị là : A. 8.0; B. 15.5; C. 15.0; D. 8.5; Câu 21: Hãy chọn phương án ghép đúng . Biểu thức : 25 mod 3 + 5 / 2 * 3 có giá trị là : A. 8.0; B. 15.5; C. 15.0 D. 8.5; Câu 22: Những biểu thức nào sau đây có giá trị TRUE ? A. ( 20 > 19 ) and ( ‘B’ 2 ) and not( 4 + 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 ; Câu 23: Cho x và y là các biến đã khai báo kiểu thực, câu lệnh nào sau đây là đúng ? A. Readln(x,5); B. Readln( ‘ x= ’ , x); C. Readln(x:5:2); D. Readln(x,y); Câu 24: Cho x là biến đã khai báo kiểu thực. Sau khi thực hiện hai câu lệnh sau thì dạng kết quả là: x := 10 ; Writeln(x:7:2); A. 10; B. 10.00 C. 1.000000000000000E+001; D. _ _ 10.00; Câu 25: Cho x là biến thực đã được gán giá trị 12.41235. Để thực hiện lên màn hình nội dung “x=12.41” cần chọn câu lệnh nào sau đây ? A. Writeln(x); B. Writeln(x:5); C. Writeln(x:5:2); D. Writeln(‘x=’ ,x:5:2); Câu 26: Cho x, y, z là ba biến nguyên. Cách nhập giá trị nào sau đây là sai khi muốn nhập giá trị 3, 4, 5 cho ba biến này từ bàn phím bằng câu lệnh readln(x,y,z); ? A. Gõ 3, 4, 5 sau đó nhấn phím Enter (giữa hai số liên tiếp gõ dấu phẩy); B. Gõ 3, 4, 5 sau đó nhấn phím Enter (giữa hai số liên tiếp gõ một dấu cách); C. Gõ 3 sau đó nhấn phím Enter rồi gõ 4 sau đó nhấn phím Enter rồi gõ 5 sau đó nhấn phím Enter; D. Gõ 3 sau đó nhấn phím Tab rồi gõ 4 sau đó nhấn phím Tab rồi gõ 5 sau đó nhấn phím Enter; Câu 27: Cho S là biến có kiểu xâu (String) và y là biến kiểu thực. Trong các cách sau đây, khi thực hiện câu lệnh readln(S,y) nhập giá trị cho S = ‘ Tran Van Thong’ và y = 7.5 từ bàn phím, cách nhập nào đúng ? A. Gõ “Tran Van Thong 7.5” sau đó nhấn Enter; B. Gõ “Tran Van Thong” sau đó nhấn phím Enter rồi gõ “7.5” sau đó nhấn phím Enter; C. Gõ “Tran Van Thong 7.5” sau đó nhấn phím Enter; D. Gõ “Tran Van Thong ” rồi gõ dấu phẩy rồi gõ “7.5” sau đó nhấn phím Enter; Câu 28: Để đưa ra màn hình giá trị của biến a kiểu nguyên và biến b kiểu thực ta dùng lệnh A. Write(a:8:3, b:8); B. Readln(a,b); C. Writeln(a:8, b:8:3); D. Writeln(a:8:3, b:8:3); Câu 29: Để nhập giá trị cho 2 biến a và b ta dùng lệnh : A. Write(a,b); B. Real(a,b); C. Readln(a,b); D. Read(‘a,b’); Câu 30: Biến X có thể nhận các giá trị 1; 100; 150; 200 và biến Y có thể nhận các giá trị 1; 0,2; 0,3; 1,99. Khai báo nào trong các khai báo sau là đúng ? A. Var X, Y : byte; B. Var X, Y : real; C. Var X:real; Y:byte; D. Var X:BYTE; Y:real; Câu 31: Để tính diện tích S của hình vuông có cạnh A với giá trị nguyên nằm trong phạm vi từ 10 đến 100, cách khai báo S nào dưới đây là đúng và tốn ít bộ nhớ nhất . A. Var S : integer; B. Var S : real; C. Var S : longint; D. Var S : word; Câu 32: Để thực hiện gán giá trị 10 cho biến X. Phép gán nào sau đây là đúng ? A. X = 10; B. X := 10; C. X =: 10; D. X : = 10; Câu 32.1: Hàm cho giá trị bằng bình phương của x là : A. Sqrt(x); B. Sqr(x); C. Abs(x); D. Exp(x); Câu 33: 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); Câu 34: Câu lệnh xóa màn hình trong thư viện CRT có dạng : A. Clear screen; B. Clear scr; C. Clrscr; D. Clr scr; Câu 35: Nếu nhập x = 2 thì giá trị của biến y bằng bao nhiêu qua chương trình Var x,y : real; Begin Write(‘Nhap vao gia tri cua x = ’); readln(x); Page 6
- y := (x+2)*x – 5 ; writeln(‘gia tri cua y = ’, y); End. A. 13 B. 3 C. 5 D. 7 a2 2bc Câu 36: Biểu diễn biểu thức (a b) trong NNLT Pascal là a c a b A. (a+b) + sqrt(a*a+2*b*c) / ( c – a / (a+b) ) B. (a+b) + sqr(a*a+2*b*c) / c – a / (a+b) C. (a+b) + sqrt( sqr(a) + 2*b*c / c – a / (a+b) D. (a+b) + sqr( sqrt(a) + 2*b*c) / (c – a / (a+b) ) Câu 37: Trong NNLT Pascal, để chạy chương trình ta dùng tổ hợp phím A. Alt + F9 B. Shift + F9 C. Ctrl + F9 D. Ctrl + Alt + F9 Câu 38: Cấu trúc của chương trình được mô tả như sau : A. [ ] B. [ ] C. [ ] D. [ ] Câu 39: X := Y ; có nghĩa là A. Gán giá trị X cho Y B. Gán giá trị Y cho X C. So sánh xem X=Y không D. Ý nghĩa khác Câu 40: Để biên dịch chương trình trong Pascal ta dùng tổ hợp phím : A. Ctrl + F9 B. Alt + F9 C. Alt + F8 D. Shift + F9 Câu 41: Câu lệnh nào sau đây dùng để nhập một số từ bàn phím vào biến x A. Writeln(‘Nhap x = ’); B. Writeln(x); C. Readln(x); D. Read(‘X’); Câu 42: Câu lệnh nào sau đây dùng để in giá trị lưu trong biến x ra màn hình A. Writeln(x); B. Readln(x); C. Write(‘X’); D. Không có câu lệnh nào đúng Câu 43: Khai báo nào sau đây là sai A. Var a, b, c : integer; B. Var 1, 2, 3 : integer C. Var x, y, z : real; D. Var a1, b2, c3 : char; Câu 44: Trong các kiểu dữ liệu sau, kiểu nào cần bộ nhớ lớn nhất A. Byte; B. Integer; C. LongInt; D. Real; Câu 45: Trong các hàm sau, hàm nào cho kiểu đối số thực A. Sqrt(x); B. Sqr(x); C. Abs(x); D. Cả 3 Câu 46: Câu lệnh nào sau đây là khai báo hằng trong Pascal A. Const max = 50 B. Const max := 50; C. Const int max = 50; D. Const max 50; Câu 47: Trong Pascal, câu lệnh nào sau đây là sai A. X := x; B. X := 12345; C. X := 123,456; D. X := pi*100; Câu 48: Trong Pascal, phép toán MOD với số nguyên có tác dụng gì ? A. Chia lấy phần nguyên B. Chia lấy phần dư C. Làm tròn số D. Thực hiện phép chia Câu 49: Trong Pascal, phép toán DIV với số nguyên có tác dụng gì ? A. Chia lấy phần nguyên B. Chia lấy phần dư C. Làm tròn số D. Thực hiện phép chia Câu 50: Cho biết kết quả sau khi thực hiện lệnh : Begin a := 100; b := 30; x := a div b ; Write(x); End. A. 10 B. 33 C. 3 D. 1 Câu 51: Cú pháp của thủ tục nhập dữ liệu vào từ bàn phím : A. Write( , , , ); B. Readln , , , ; C. Read( , , , ); D. Read( , , , ); Câu 52: Cú pháp của thủ tục xuất dữ liệu ra màn hình : A. Readln( ); B. Writeln ; C. Writeln( ); D. Writeln( ) Câu 53: Trong INTEGER và WORD, phạm vi giá trị của kiểu nào lớn hơn ? A. Kiểu INTEGER có phạm vi giá trị lớn hơn kiểu WORD. B. Kiểu INTEGER có phạm vi giá trị bằng với kiểu WORD. C. Kiểu WORD có phạm vi giá trị lớn hơn kiểu INTEGER. D. Kiểu WORD có phạm vi giá trị nhỏ hơn kiểu INTEGER. Page 7
- Câu 54: Xét biểu thức lôgic : (m mod 100 0), với giá trị nào của m dưới đây biểu thức trên cho giá trị TRUE. A. 66 B. 99 C. 2007 D. 2011 Câu 55: Tìm kết quả của đoạn chương trình Var a, b : real; Begin a := 1; b := 12*(a-2); writeln(b); End. A. -12 B. -1.2000000000E+01 C. -1.2000000000E+00 D. -12.000000000E+01 Chương III : CẤU TRÚC RẼ NHÁNH VÀ LẶP Câu 1: Hãy chọn phương án ghép đúng nhất . Để mô tả cấu trúc rẽ nhánh trong thuật toán, nhiều ngôn ngữ lập trình bậc cao dùng câu lệnh IF – THEN, sau IF là . Điều kiện là A. biểu thức lôgic; B. biểu thức số học; C. biểu thức quan hệ; D. một câu lệnh; Câu 2: Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhánh IF THEN , câu lệnh đứng sau THEN được thực hiện khi A. điều kiện được tính toán xong; B. điều kiện được tính toán và cho giá trị đúng; C. điều kiện không tính được; D. điều kiện được tính toán và cho giá trị sai; Câu 3: Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhánh IF THEN ELSE , câu lệnh 2 được thực hiện khi A. biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong; B. câu lệnh 1 được thực hiện; C. biểu thức điều kiện sai; D.biểu thức điều kiện đúng; Câu 4: Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau : A. if A 0 then begin X1 := ( – B – SQRT(DELTA) ) / (2*A); X2 := – B / A – X1; writeln(‘ X1 = ’, X1); writeln(‘ X2 = ’, X2); end; readln END. Hãy chọn phát biểu sai trong các phát biểu sau đây : A. Đây là chương trình giải phương trình bậc hai nhưng chưa xét hết các trường hợp; B. Là chương trình giải phương trình bậc hai nhưng không đưa ra thông báo gì khi chương trình có nghiệm kép C. Đây là chương trình giải và thông báo nghiệm của một phương trình bậc hai nếu phương trình đó có nghiệm; D. Đây là chương trình giải phương trình bậc hai, nhưng không đưa ra thông báo gì khi phương trình vô nghiệm Câu 6: Cho chương trình viết bằng PASCAL sau đây : Page 8
- PROGRAM GiaiPTBac2; uses crt; var A, B, C : real; DELTA, X1, X2 : real; BEGIN write(‘ Nhap cac he so A, B, C : ’); readln(A, B, C); DELTA := B*B – 4*A*C ; if DELTA B C. N mod 100 D. “A nho hon B” Câu 8: Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh ? A. 100 > 99 B. “A > B” C. “A nho hon B” D. “false” Câu 9: Chọn phát biểu sai trong các phát biểu sau đây : A. Để mô tả việc lặp đi lặp lại một số thao tác (hoặc câu lệnh) trong một thuật toán ta có thể dùng cấu trúc lặp. B. Tùy từng trường hợp cụ thể (khi mô tả một thuật toán), khi thì ta biết trước số lần lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tác nào đó. C. Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán. D. Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu không dùng cấu trúc lặp. Câu 10: Chọn phát biểu đúng trong các phát biểu sau đây : A. Có thể dùng câu lệnh FOR – DO để thay thế cho câu lệnh lặp WHILE – DO. B. Câu lệnh lặp không được xuất hiện trong đứng sau từ khóa THEN của cấu trúc rẽ nhánh. C. Câu lệnh rẽ nhánh không được xuất hiện trong của một cấu trúc lặp. D. Một cấu trúc lặp có thể xuất hiện trong của một cấu trúc lặp khác. Câu 11: Cho hai dạng lặp FOR – DO trong PASCAL như sau : Dạng lặp tiến : FOR := TO DO ; Dạng lặp lùi : FOR := DOWNTO DO ; Chọn phát biểu sai trong các phát biểu đưới dây : A. Biến đếm là biến đơn, thường có kiểu nguyên. B. Với mỗi giá trị của biến đếm trong khoảng từ giá trị đầu đến giá trị cuối, câu lệnh sau DO được thực hiện một lần. C. Phải có lệnh thay đổi biến đếm trong mỗi sau DO trong cấu trúc lặp này, vì giá trị của biến đếm không được tự động điều chỉnh sau mỗi lần thực hiện câu lệnh lặp. D. Ở dạng lặp tiến câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối. Câu 12: Cho hai dạng lặp FOR – DO trong PASCAL như sau Dạng lặp tiến : FOR := TO DO ; Dạng lặp lùi : FOR := DOWNTO DO ; Chọn phát biểu đúng trong các phát biểu sau đây : A. Ở dạng lặp tiến câu lệnh sau DO luôn được thực hiện ít nhất một lần. Page 9
- B. Ở dạng lặp lùi câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối. C. Ở dạng lặp lùi câu lệnh sau DO có thể không được thực hiện lần nào, đó là trường hợp giá trị cuối nhỏ hơn giá trị đầu. D. Biểu thức giá trị đầu và biểu thức giá trị cuối có thể thuộc kiểu số thực. Câu 13: Trong các ngôn ngữ lập trình bậc cao thường có cấu trúc lặp để mô tả việc lặp đi lặp lại một số thao tác nào đó khi một điều kiện cho trước được thỏa mãn. Để tổ chức việc lặp như vậy PASCAL dùng câu lệnh WHILE – DO có dạng : WHILE DO ; Chọn phát biểu sai trong các phát biểu dưới đây : A. Điều kiện là biểu thức cho giá trị logic. B. Về mặt cú pháp, những biểu thức có thể điền vào điều kiện trong cấu trúc WHILE – DO cũng có thể điền vào điều kiện trong cấu trúc rẽ nhánh IF – THEN . C. Không cần có lệnh thay đổi điều kiện trong mỗi câu lệnh sau DO trong cấu trúc lặp này, vì giá trị của biểu thức điều kiện được tự động điều chỉnh sau mỗi lần thực hiện câu lệnh lặp. (*) D. Nếu không có lệnh nào thay đổi điều kiện trong mỗi câu lệnh sau DO thì có thể gặp hiện tượng lặp vô hạn khi thực hiện chương trình, nghĩa là lặp không dừng được, Câu 14: Trong các ngôn ngữ lập trình bậc cao thường có cấu trúc lặp để mô tả việc lặp đi lặp lại một số thao tác nào đó khi một điều kiện cho trước được thỏa mãn. Để tổ chức việc lặp như vậy PASCAL dùng câu lệnh WHILE – DO có dạng : WHILE DO ; Chọn phát biểu đúng trong các phát biểu dưới đây : Biểu thức điều kiện được tính và kiểm tra, nếu biểu thức đó sai thì câu lệnh sau DO được thực hiện. A. Câu lệnh sau DO bao giờ cũng được thực hiện ít nhất một lần. B. điều kiện trong cấu trúc lặp WHILE – DO có thể là một biểu thức kiểu nguyên hoặc kiểu kí tự. C. Khi xác định được trước số lần lặp vẫn có thể dùng cấu trúc lặp WHILE – DO. (*) Câu 15: Cho chương trình viết bằng ngôn ngữ PASCAL sau đây : Uses crt; Var M, N, I : integer; BEGIN clrscr; M := 0 ; N := 0 ; For I := 1 TO 10000 do Begin if ( (I mod 3) = 0 ) then M := M + 1 ; if ( (I mod 3) = 0 ) and ( (I mod 5) = 0 ) then N := N + 1 ; End; writeln( M,‘ ’, N ); readln END. Phát biểu nào dưới đây về chương trình trên là đúng ? A. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3; B. Đây là chương trình đếm và thông báo ra màn hình rằng trong khoảng từ 1 đến 10000 có bao nhiêu số nguyên là bội số của 3 và có bao nhiêu số là bội số chung của 3 và 5; (*) C. Đây là chương trình đếm số các số nguyên nhỏ hơn 10000 và chia hết cho 3; D. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3 và 5; Câu 16: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp cách viết các câu lệnh ghép nào sau đây là đúng ? A. Begin : C. Begin A := 1 ; A := 1 ; B := 5 ; B := 5 ; End ; End : B. Begin ; D. Begin A := 1 ; A := 1 ; B := 5 ; B := 5 ; End ; End ; Câu 17: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ? A. If ; then . B. If then ; Page 10
- C. If ; then ; D. If then . Câu 18: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ? A. If ; then ; else ; B. If ; then else ; C. If then ; else ; D. If then else ; Câu 19: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ? A. If then ; else ; B. If then else ; C. If ; then else ; D. If ; then ; else ; Câu 20: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ? A. If a = 5 then C. If a = 5 then a := d + 1 ; a := d + 1 else else a := d + 2 ; a := d + 2 ; B. If a = 5 then D. If a = 5 then a := d + 1 a := d + 1 else else a := d + 2 ; a := d + 2 . Câu 21: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ? A. If a = 5 then a := d + 1 ; b := 2 else a := d + 2 ; B. If a = 5 then Begin a := d + 1 ; b := 2 ; End ; else a := d + 2 ; C. If a = 5 then Begin a := d + 1 ; b := 2 End else a := d + 2 ; D. If a = 5 then Begin a := d + 1 ; b := 2 ; End else a := d + 2 . Câu 22: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if then ? A. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn; B. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End ; C. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn; D. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End . Câu 23:Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if then else? A. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn; B. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End ; (*) C. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn; D. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End . Page 11
- Câu 24: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if then else? A. Nếu sau else muốn thực hiện nhiều câu lệnh thí các câu lệnh phải đặt giữa hai dấu ngoặc đơn; B. Nếu sau else muốn thực hiện nhiều câu lệnh thí các câu lệnh phải đặt giữa Begin và End; C. Nếu sau else muốn thực hiện nhiều câu lệnh thí các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn; D. Nếu sau else muốn thực hiện nhiều câu lệnh thí các câu lệnh phải đặt giữa Begin và End; Câu 25: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng ? A. Sau mỗi câu lệnh đầu có dấu chấm phẩy “ ; ” B. Trước lệnh else bắt buộc phải có dấu chấm phẩy “ ; ” C. Có phân biệt chữ hoa và chữ thường D. Câu lệnh trước câu lệnh End không nhất thiết phải có dấu chấm phẩy “ ; ” (*) Câu 26: Trong ngôn ngữ lập trình Pascal, muốn kiểm tra đồng thời cả ba giá trị của A, B, C có cùng lớn hơn 0 hay không ta viết câu lệnh If thế nào cho đúng ? A. If A, B, C > 0 then B. If (A > 0) and (B > 0) and (C > 0) then (*) C. If A>0 and B>0 and C>0 then D. If (A>0) or (B>0) or (C>0) then Câu 27: Trong ngôn ngữ lập trình Pascal, về mặc cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp For có một lệnh con ? A. For i := 1 to 100 do a := a – 1 ; B. For i := 1 to 100 do; a := a – 1 ; C. For i := 1 to 100 do a := a – 1; D. For i := 1 ; to 100 do a := a – 1 ; Câu 28: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp For có nhiều lệnh con ? A. For i := 1 to 100 do a := a – 1 ; b := a – c ; EndFor ; B. For i := 1 to 100 do Begin a := a – 1 ; b := a – c ; End; C. For i := 1 to 100 do Begin a := a – 1 ; b := a – c End; D. For i := 1 to 100 do a := a – 1 ; b := a – c ; Câu 29: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp While có một lệnh con ? A. While a>5 do a := a – 1 ; B. While a>5 do ; a := a – 1 C. While a>5 do a := a – 1 ; D. While a>5 ; do a := a – 1 ; Câu 30: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp While có một lệnh con ? A. While a>5 and a 5) and (a 5) and (a 5) and (a 5 do a := a – 1 ; b := a – c ; EnWhile ; B. While a>5 do ; Begin a := a – 1 ; b := a – c ; End; C. While a>5 do a := a – 1 ; b := a – c ; Page 12
- D. While a>5 do ; Begin a := a – 1 ; b := a – c End; Câu 32: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì ? For i := 10 downto 1 do write(i, ‘ ’); A. 1 2 3 4 5 6 7 8 9 10 B. 10 9 8 7 6 5 4 3 2 1 C. Đưa ra 10 dấu cách D. Không đưa ra kết quả gì Câu 33: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì ? For i := 10 to 1 do write(i, ‘ ’); A. 1 2 3 4 5 6 7 8 9 10 B. 10 9 8 7 6 5 4 3 2 1 C. Đưa ra 10 dấu cách D. Không đưa ra kết quả gì Câu 34: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì ? i := 0 ; while i <> 0 do write(i, ‘ ’) ; A. Đưa ra màn hình 10 chữ số 0 ; B. Không đưa ra thông tin gì; C. Lặp vô hạn việc đưa ra màn hình số 0 ; D. Đưa ra màn hình một chữ số 0 ; Câu 35: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau cho kết quả trên màn hình là gì với i là biến số nguyên ? For i := 1 to 100 do if i mod 9 = 0 then write(i, ‘ ’); A. 1 2 3 4 5 6 100 ; B. 91827364554637281; C. 9 18 27 36 45 54 63 72 81 90 99; D. 9 9 9 9 9 9 9 9 9 9 Câu 36: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì ? T := 0 ; For i := 1 to N do If (i mod 3 = 0) or (i mod 5 = 0) then T := T + i ; A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến N ; B. Tính tổng các ước thực sự của N ; C. Tính tổng các số chia hết cho cả 3 và 5 trong phạm vi từ 1 đến N ; D. Tìm một ước số của số N ; Câu 37: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì ? T := 0 ; For i := 1 to N do If (i mod 3 = 0) and (i mod 5 = 0) then T := T + i ; A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến N ; B. Tính tổng các ước thực sự của N ; C. Tính tổng các số chia hết cho cả 3 và 5 trong phạm vi từ 1 đến N ; D. Tìm một ước số của số N ; Câu 38: Trong ngôn ngữ lập trình Pascal, hãy cho biết giá trị của M sau khi thực hiện đoạn chương trình sau với a=19 và b=12 ? M := a ; If a<b then M := b ; A. M = 12 B. M = 10 C. M nhận cả hai giá trị trên D. M không nhận giá trị nào Câu 39: Trong ngôn ngữ lập trình Pascal, hãy cho biết đoạn chương trình sau làm công việc gì ? I := 0 ; T := 0 ; While I < 10000 do Begin T := T + I ; I := I + 2 ; End ; A. Tính tổng các số tự nhiên nhỏ hơn hoặc bằng 10000 ; B. Tính tổng các số tự nhiên chẵn nhỏ hơn 10000 ; C. Tính tổng các số tự nhiên chẵn nhỏ hơn hoặc bằng 10000 ; D. Tính tổng các số tự nhiên nhỏ hơn hoặc 10000 ; Page 13