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
Trang 1Một số câu hỏi trắc nghiệm TIN HỌC 11 Trang _ 1Chương I : MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH
VÀ NGÔN NGỮ LẬP TRÌNHCâ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;
Câu 2 : _ Phát biểu nào dưới đây chắc chắn sai ?
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ậttoá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àitoá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;
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ầnvớ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áytí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áytí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. cá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ựctiế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áytí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 caotrướ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; (*)
Trang 2Một số câu hỏi trắc nghiệm TIN HỌC 11 Trang _ 2
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ậptrì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ăngcườ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êndị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
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ậptrì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 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ựchiệ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ươngtrì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ệnchươ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
Trang 3Một số câu hỏi trắc nghiệm TIN HỌC 11 Trang _ 3
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ệnchươ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
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ànhmộ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ươngtrình thực hiện được trên máy
C. Chuyển đổi chương trình được viết bằng ngôn ngữ máy thành chương trình thựchiệ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ànhchươ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;
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
Trang 4Một số câu hỏi trắc nghiệm TIN HỌC 11 Trang _ 4
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
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
Trang 5Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 5
Chương II : CHƯƠNG TRÌNH ĐƠN GIẢN
Câu 38 : _ 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 39 : _ 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 ghi 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ươngtrình;
Câu 40 : _ 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ệnchươ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 trongchươ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 41 : _ 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ỗithờ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 42 : _ 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ìnhdị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 43 : _ 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ệnchươ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ỗithờ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 44 : _ 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.
Trang 6Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 6 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 45 : _ 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 46 : _ 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 47 : _ 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áchbiế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 một khai báo var)
không được trùng tên;
Câu 48 : _ 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 gợi ý đúng;
B. 2 gợi ý đúng;
C. 3 gợi ý đúng;
D 4 gợi ý đúng; (*)
Câu 49 : _ Trong bài toán giải phương trình bậc hai : ax 2 + 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 x 2 , hệ số của x, hệ số tự do, biệt số delta = b 2 - 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;
Trang 7Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 7 Câu 53 : _ 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 54 : _ Cho một chương trình còn lỗi như sau :
Tìm kết luận đúng nhất về lỗi của chương trình trong các kết luận sau :
A. Thiếu Begin
B. Không khai báo biến d
C Thiếu Begin và không khai biến d (*)
D. Không có END.
Câu 55 : _ 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 quanhệ;
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 56 : _ 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 mệnh đề trên đều sai; (*)
Câu 57 : _ 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ôngchứ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ớihai 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 ưutiê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 giavào phép toán bên trái (quy định của nhiều trình biên dịch)
Câu 58 : _ Thực hiện chương trình Pascal sau đây :
Ta thu được kết quả nào ?
END.
Trang 8Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 8
Câu 63 : _ 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ì kết quả dạng nào sẽ xuất hiện trên màn hình trong những dạng kết quả sau ?
A. 10;
B. 10.00
C. 1.000000000000000E+001;
D _ _ 10.00; (*)
Câu 64 : _ 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 65 : _ 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ấnphím Enter;
Câu 66 : _ 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 67 : _ Để đư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);
x := 10 ; Writeln(x:7:2);
Trang 9Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 9
Câu 69 : _ 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 70 : _ Để 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
Câu 75 : _ Cho chương trình :
Var x,y : real;
Begin
Write(‘Nhap vao gia tri cua x = ’);
readln(x);
y := (x+2)*x – 5 ; writeln(‘gia tri cua y = ’, y);
a b
+ + +
− +
trong NNLT Pascal là
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) )
Trang 10Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 10 Câu 77 : _ Trong NNLT Pascal, để chạy chương trình ta dùng tổ hợp phím
D. Không có câu lệnh nào đúng
Câu 83 : _ 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 84 : _ Trong các kiểu dữ liệu sau, kiểu nào cần bộ nhớ lớn nhất
Câu 88 : _ 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ố
Trang 11Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 11
D. Thực hiện phép chia
Câu 89 : _ 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âu 91 : _ Cú pháp của thủ tục nhập dữ liệu vào từ bàn phím :
A. Write(<tênbiến 1>, <tên biến 2>,…, <tên biến n>);
B. Readln<tên biến 1>, <tên biến 2>,…, <tên biến n>;
C. Readln(<tên hàng 1>, <tên hàng 2>,…,<tên hằng n>);
D Readln(<tên biến 1>, <tên biến 2>,…,<tên biến n>); (*)
Câu 92 : _ Cú pháp của thủ tục xuất dữ liệu ra màn hình :
A. Readln(<danh sách kết quả ra>);
B. Writeln<danh sách kết quả ra>;
C Writeln(<danh sách kết quả ra>); (*)
D. Writeln(<danh sách kết quả ra>)
Câu 93 : _ 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
Câu 94 : _ Xét biểu thức lôgic : (m mod 100 < 10 ) and (m div 100 > 0), với giá trị nào
của m dưới đây biểu thức trên cho giá trị TRUE.
Trang 12Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 12Chương III : CẤU TRÚC RẼ NHÁNH VÀ LẶP
Câu 97 : _ 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> Đ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 98 : _ Hãy chọn phương án ghép đúng Với cấu trúc rẽ nhánh IF <điều kiện> THEN <câu lệnh>,
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 99 : _ Hãy chọn phương án ghép đúng Với cấu trúc rẽ nhánh IF <điều kiện> THEN <câu lệnh
1> ELSE <câu lệnh 2>, 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 100 : _ 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 <= B then X := A else X := B;
B. if A < B then X := A; (*)
C. X := B; if A < B then X := A;
D. if A < B then X := A else X := B;
Câu 101 : _ Cho chương trình viết bằng PASCAL sau đây :
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. Đâ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 chươngtrì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ươngtrình đó có nghiệm; (*)
Trang 13Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 13
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ươngtrình vô nghiệm
Câu 102 : _ Cho chương trình viết bằng PASCAL sau đây :
Hãy chọn phát biểu đúng 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 hoàn chỉnh;
B. Đây là chương trình giải phương trình bậc hai sai vì không thông báo nghiệm trong trườnghợp có nghiệm kép;
C. Đây là chương trình giải phương trình bậc hai sai vì với trường hợp phương trình vô nghiệm,chương trình vẫn thực hiện tính nghiệm thực; (*)
D. Đây là chương trình giải phương trình bậc hai sai vì chỉ xét trường hợp DELTA < 0 mà thôi
Câu 103 : _ 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. A + B
B. A > B (*)
C. N mod 100
D. “A nho hon B”
Câu 104 : _ 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 105 : _ 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ấutrúc lặp
Câu 106 : _ 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 <câu lệnh> đứ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âu lệnh> 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âu lệnh> của một cấu trúc lặp khác (*)
Câu 107 : _ Cho hai dạng lặp FOR – DO trong PASCAL như sau :
writeln(‘ X1 = ’, X1);
writeln(‘ X2 = ’, X2);
readln END.
Trang 14Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 14
Dạng lặp lùi :
FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh> ;
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 <câu lệnh> 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 108 : _ Cho hai dạng lặp FOR – DO trong PASCAL như sau :
Dạng lặp tiến :
FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh> ;
Dạng lặp lùi :
FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh> ;
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.
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 109 : _ 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 <điều kiện> DO <câu lệnh>;
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 110 : _ 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 <điều kiện> DO <câu lệnh>;
Chọn phát biểu đúng trong các phát biểu dưới đây :
A 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
B Câu lệnh sau DO bao giờ cũng được thực hiện ít nhất một lần.
C đ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ự
D. 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 (*)
Trang 15Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 15
Câu 111 : _ Cho chương trình viết bằng ngôn ngữ PASCAL sau đây :
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ó baonhiê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 112 : _ 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 :
A := 1 ;
B := 5 ; End ;
B. Begin ;
A := 1 ;
B := 5 ; End ;
C. Begin
A := 1 ;
B := 5 ; End :
D. Begin
A := 1 ;
B := 5 ;
Câu 113 : _ Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ?
A. If <biểu thức logic> ; then <câu lệnh>
B. If <biểu thức logic> then <câu lệnh> ; (*)
C. If <biểu thức logic> ; then <câu lệnh> ;
D. If <biểu thức logic> then <câu lệnh >
Câu 114 : _ Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ?
A. If <biểu thức logic> ; then <câu lệnh 1> ; else <câu lệnh 2> ;
B. If <biểu thức logic> ; then <câu lệnh 1> else <câu lệnh 2> ;
C. If <biểu thức logic> then <câu lệnh 1> ; else <câu lệnh 2> ;
Trang 16Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 16
D. If <biểu thức logic> then <câu lệnh 1> else <câu lệnh 2> ;
Câu 115 : _ Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng ?
A. If <biểu thức logic> then <câu lệnh 1> ; else <câu lệnh 2> ;
B. If <biểu thức logic> then <câu lệnh 1> else <câu lệnh 2> ; (*)
C. If <biểu thức logic> ; then <câu lệnh 1> else <câu lệnh 2> ;
D. If <biểu thức logic> ; then <câu lệnh 1> ; else <câu lệnh 2> ;
Câu 116 : _ 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 ; else
a := d + 2 ;
B. If a = 5 then
a := d + 1 else
a := d + 2 ; (*)
C. If a = 5 then
a := d + 1 else
a := d + 2 ;
D. If a = 5 then
a := d + 1 else
Trang 17Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 17
Câu 119 : _ 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…
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 120 : _ 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…
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 121 : _ 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 122 : _ 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 ……
Câu 124 : _ 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 ;
Trang 18Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 18
Câu 125 : _ 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ó nhiều lệnh con ?
A. While a>5 do
a := a – 1 ;
b := a – c ;EnWhile ;
B. While a>5 do ;
Begin
a := a – 1 ;
b := a – c ;End;
Câu 128 : _ 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 129 : _ 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 130 : _ 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 131 : _ 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 ?
Trang 19Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 19
For i := 1 to 100 do if i mod 9 = 0 then write(i, ‘ ’);
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 ; (*)
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 134 : _ 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 135 : _ 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 ;
Chương IV : KIỂU DỮ LIỆU CÓ CẤU TRÚC
Câu 136 : _ Phát biểu nào dưới đây về kiểu mảng là phù hợp ?
A. Là một tập hợp các số nguyên;
B. Độ dài tối đa của mảng là 255;
C Là một dãy hữu hạn các phần tử cùng kiểu; (*)
D. Mảng không thể chứa kí tự;
Câu 137 : _ Hãy chọn phương án ghép đúng nhất Để khai báo số phần tử của mảng
trong PASCAL, người lập trình cần
A. khai báo một hằng số là số phần tử của mảng;
B khai báo chỉ số bắt đầu và kết thúc của mảng; (*)
C. khai báo chỉ số kết thúc của mảng;
D. không cần khai báo gì, hệ thống sẽ tự xác định;
Câu 138 : _ Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất ?
Trang 20Var a : array[0 50] of real ;
Var m : array[0 10] of integer ;
Một số câu hỏi trắc nghiệm TIN HỌC 11 Chương 4 Trang _ 20
A Dùng để truy cập đến một phần tử bất kì trong mảng; (*)
B. Dùng để quản lí kích thước của mảng;
C. Dùng trong vòng lặp với mảng;
D. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng;
Câu 139 : _ Phát biểu nào sau đây về mảng là không chính xác ?
A. Chỉ số của mảng không nhất thiết bắt đầu từ 1;
B. Có thể xây dựng mảng nhiều chiều;
C. Xâu kí tự cũng có thể xem như là một loại mảng;
D Độ dài tối đa của mảng là 255; (*)
Câu 140 : _ Thế nào là khai báo biến mảng gián tiếp ?
A. Khai báo mảng của các bản ghi;
B. Khai báo mảng xâu kí tự;
C. Khai báo mảng hai chiều;
D Khai báo thông qua kiểu mảng đã có; (*)
Câu 141 : _ Mảng table dưới đây chứa bao nhiêu phần tử ?
A. 12
B. 16
C. 20
D 25 (*)
Câu 142 : _ Phương án nào dưới đây là khai báo mảng hợp lệ ?
A mang : ARRAY[0 10] OF INTEGER; (*)
B. mang : ARRAY[0 10] : INTEGER;
C. mang : INTEGER OF ARRAY[0 10];
D. mang : ARRAY(0 10) : INTEGER;
Câu 143 : _ Cho khai báo sau :
Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ?
A. for k := 1 to 16 do write(a[k]);
B for k := 16 downto 0 do write(a[k]); (*)
C. for k:= 0 to 15 do write(a[k]);
D. for k := 16 down to 0 write(a[k]);
Câu 144 : _ Cho khai báo mảng và đoạn chương trình như sau :
Đoạn chương trình trên thực hiện công việc gì dưới đây ?
if a[i] > a[k] then k := i ;