MÔN TIN HỌC 11
Bài tập trắc nghiệm 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;
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 ;
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’ < ‘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 ;
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);
y := (x+2)*x – 5 ; writeln(‘gia tri cua y = ’, y);
End.
A. 13 B. 3 C. 5 D. 7