Hệ thống câu hỏi và đáp án

Hệ thống câu hỏi và đáp án

1. Trong Turbo Pascal, tên được đặt theo quy tắc:

A. Là dãy liên tiếp không quá 256 ký tự gồm chữ cái, chữ số và dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới;

B. Là dãy liên tiếp không quá 127 ký tự gồm chữ cái, chữ số và dấu gạch ngang và bắt đầu bằng chữ số hoặc dấu gạch ngang;

C. Là dãy liên tiếp không quá 127 ký tự gồm chữ cái, chữ số và dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới;

 D. Tất cả đều sai;

 

doc 8 trang Người đăng quocviet Lượt xem 3036Lượt tải 1 Download
Bạn đang xem tài liệu "Hệ thống câu hỏi và đáp án", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Sở GD-ĐT Ninh Thuận 	 Đề kiểm tra học kỳ I 2007 - 2008
Trường THPT Trường Chinh 	 Môn : Tin Học 11
HỆ THỐNG CÂU HỎI VÀ ĐÁP ÁN
(Phần in đậm trong mỗi câu là đáp án )
Trong Turbo Pascal, tên được đặt theo quy tắc:
Là dãy liên tiếp không quá 256 ký tự gồm chữ cái, chữ số và dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới;
B. Là dãy liên tiếp không quá 127 ký tự gồm chữ cái, chữ số và dấu gạch ngang và bắt đầu bằng 	chữ số hoặc dấu gạch ngang;
C. Là dãy liên tiếp không quá 127 ký tự gồm chữ cái, chữ số và dấu gạch dưới và bắt đầu bằng 	chữ cái hoặc dấu gạch dưới;	
	D. Tất cả đều sai;
Phát biểu nào sau đây là sai
	A. Các biến đều phải được khai báo và mỗi biến chỉ được khai báo 1 lần.
	B. Kiểu dữ liệu của mọi ngôn ngữ lập trình chỉ cho phép mô tả các đại lượng rời rạc và hữu hạn.
	C. Dữ liệu của bài toán được biểu diễn thông qua biến trong chương trình theo quy tắc của ngôn 	ngữ lập trình cụ thể.
	D.Dữ liệu của bài toán được biểu diễn thông qua lệnh trong chương trình theo quy tắc của 	 ngôn ngữ lập trình.	
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 cú pháp;	B. Phát hiện được lỗi ngữ nghĩa;
	C. Thông báo lỗi cú pháp;	D. Tạo được chương trình đích;
Chú thích giúp cho người đọc chương trình:
	A. Nhận biết ý nghĩa chương trình dễ hơn;
	B. Nhận biết được quá trình biên dịch nhanh hay chậm;
	C. Có thể mô tả lại thuật toán để máy hiểu nhanh hơn;
	D.Tất cả ý trên đều đúng;
Chọn câu phù hợp điền vào chỗ trống trong câu sau:”Ba thành phần cơ bản của ngôn ngữ lập trình bậc cao là: Bảng chữ cái,	 và ngữ nghĩa.
	A. Cú pháp	B. Ngữ pháp	C. Chữ số 	D.Ngữ âm
Trong Pascal, những tên sau đây tên nào không là tên dành riêng?
	A. Program	B. Uses	C. Byte	D. Begin
Những biểu diễn nào sau đây không là biểu diễn hằng trong Pascal?
	A. 256.0	B. 512,2	C. 6-3	D. ‘HOC’
Hằng được định nghĩa như sau:
	A. Là đại lượng có giá trị thay đổi trong quá trình thực hiện chương trình;
	B. Là đại lượng số nguyên có giá trị không đổi khi thực hiện chương trình;
	C. Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình;
	D. Tất cả đều sai;
Chức năng của chương trình dịch là:
A. Nối kết chương trình nguồn với chương trình đích cho máy thực hiện;
B. Chuyển đổi chương trình đích sang chương trình nguồn;
	C. Chuyển đổi chương trình ngôn ngữ bậc cao thành chương trình trên ngôn ngữ máy;
	D. Dịch chương trình đích sang ngôn ngữ máy cho máy hiểu và thực hiện;
Hãy chọn biểu diễn tên đúng trong pascal những biểu diễn sau:
	A. PbP_PbP	B. +12345	C. ******’	D. Hong Huong	
Tên dành riêng là tên:
	A. Được ngôn ngữ lập trình quy định dùng với ý nghĩa riêng không xác định, được sử dụng với ý nghĩa khác khi ta cần;
B. Được ngôn ngữ lập trình quy định dùng với ý nghĩa riêng xác định, được sử dụng với ý nghĩa khác khi khai báo lại;
	C. Được ngôn ngữ lập trình quy định dùng với ý nghĩa riêng xác định, không được sử dụng với ý nghĩa khác;
	D. Tất cả đều sai;
Trong Pascal, những tên sau đây tên nào không là tên chuẩn?
	A. Real	B. Var	C. Integer	D. 	Sqr
Biến là:
	A. Đại lượng có giá trị có thể được thay đổi trong quá trình thực hiện chương trình;
	B. Đại lượng có giá trị không đổi trong quá trình thực hiện chương trình;
	C. Đại lượng không phụ thuộc vào chương trình nguồn hay chương trình đích;
	D. Đại lượng không có giá trị xác định trong suốt quá trình thực hiện chương trình;
Biên dịch được hiểu là:
	A. Dịch toàn bộ chương trình đích thành chương trình nguồn để máy thực hiện;
	B. Dịch toàn bộ chương trình nguồn thành chương trình đích có thể thực hiện trên máy và có 	thể lưu lại khi cần thiết;
	C. Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình;
	D. Dịch và thực hiện từng câu lệnh, nếu còn tiếp theo thì quá trình còn tiếp tục;
Chương trình ngôn ngữ bậc cao không có đặc điểm nào trong các đặc điểm sau:
Không phụ thuộc vào loại máy, chương trình có thể thực hiện trên nhiều loại máy;
Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp;
Kiểu dữ liệu đa dạng thuận tiện cho mô tả thuật toán;
Máy tính có thể hiểu và thực hiện trực tiếp chương trình này;
Viết biểu thức 0<X2+Y2R2 sang dạng biểu diễn tương ứng trong pascal:
SQR(X)+SQR(Y) > 0 AND SQR(X)+SQR(Y) <= SQR(R) ;	
SQR(X)+SQR(Y) < 0 AND SQR(X)+SQR(Y) <= SQR(R);	
SQR(X)+ SQR(Y) < 0 OR SQR(X)+SQR(Y) <= SQR(R);	
SQR(X)+SQR(Y) > 0 OR SQR(X)+SQR(Y) <= SQR(R);
Xét đoạn chương trình sau:
	 if x=0 then y:=0
 	 else if x<0 then y:=sqrt(sqrt(-x))
 else y:=sqrt(sqrt(x));
	Đoạn chương trình trên được viết ngắn gọn hơn cho kết quả tương đương, cách viết nào là đúng:
A. if x=0 then y:=0
 	 else y:=sqrt(sqrt(abs(x)));
B. if x=0 then y:=0
 else if x<=0 then y:=sqrt(sqrt(abs(x));
C. if x=0 then y:=0
 	 else if x0 then y:=sqrt(sqrt(x));
D.Tất cả đều đúng.
Biết rằng a,b là 2 cạnh góc vuông, c là cạnh huyền trong tam giác vuông, những biểu thức quan hệ nào sau đây cho kết quả là true?
sqr(a)-sqr(b)>sqr(c);	B. sqr(a)+sqr(b)<sqr(c);	
sqr(a)+sqr(b)=sqr(c);	D. sqrt(a)+sqrt(b)=sqrt(c);
Xét khai báo sau:
	var K, M, N:word;
 	 a, b, c:char;
 	 j1, k, d8:real;
	Lỗi nào sau đây là đúng:
Các biến kiểu real khai báo chưa hợp lý.	
Biến j1,d8 đặt tên sai quy tắc	
Biến K khai báo 2 lần, vì trong pascal không phân biệt hoa với chữ thường
Tất cả đều sai
Biểu thức ở dạng toán học chuyển sang dạng biểu diễn trong pascal 
a+cos(x)/sqr(a*a+x*x+b)	B. (a+cos(x))/sqr(sqrt(a)+sqrt(x)+b	
C. (a+cos(x))/sqrt(sqr(a)+sqr(x)+b)	D. a+cos(x)/sqrt(sqr(a)+sqrt(x)+b
Chương trình dịch pascal sẽ cấp phát bao nhiêu bộ nhớ cho các biến trong khai báo sau?
 	var a,b: integer;
	 c:extended;
10 byte	B. 8 byte	C. 14 byte	 D. 16 byte
Khai báo như thế nào là đúng với đoạn chương trình sau:
	begin
	 read(a,b);
	 if(check=true) then x:=-b/a;
	 write(x);
	end.
var a,b:byte; 
	 x: real;
 check:boolean; 	
var x,a,b:byte;
 	 check: word;	
var a,b, check:integer; 
	 x: boolean;	
var x,a,b:byte;
 	 check: real;
xét chương trình sau:
	 var x,y:integer; 
	 z:boolean;
	begin
	 x:=250;
	 y:=300;
	 z:=x*y;
	 write(z);
	 readln
	end.
	Chương trình trên bị lỗi nào trong các lỗi sau:
Biến z nhận giá trị không hợp lýù;
Lệnh write(z) sai vì z không có dấu nháy đơn;	
Thiếu khai báo tên chương trình program;	
Lệnh readln không có tham số;
Xét chương trình pascal sau:
	program tinh;
	var y,x: real;
	begin
	 write('x');readln(x);
	 y:=(((x+2)*x+3)*x+4)*x+5;
	 writeln('y=', y:4:2);
	end.
 	Chương trình trên tính giá trị biểu thức nào trong các biểu thức sau?
y= x+2x+3x+4x+5	 B. y=(x+2)(x+3)(x+4)+5	
C. y=x4+2x3+3x2+4x+5	 D. y=(x+2)(x+3)(x+4)(x+5)
Chương trình sau đây có bao nhiêu lỗi:
	Program 2dt_hinhchunhat;
	uses crt;
	var a, b, t : integer;
	Begin
	a:=280; 
	b:=200;
	t:=a*b;
	write(s);
	end.
4 lỗi	B. 1 lỗi	C. 2 lỗi	D. 3 lỗi
 Biểu thức: sqrt(p*(p+d))+sqr(a)/(2-d) từ dạng biểu diễn trong pascal sang toán học câu nào là đúng:
	A. +;	B. (p(p+d))2+;	
	C. (p(p+d))2+;	D. Tất cả đều sai;
Xét đoạn chương trình sau:
 	 var x,y:integer;
	begin
	 x:=x+y;
	y:=x-y;
 	x:=x-y;
 	 end.
	A. Tính hiệu của xvà y	B. Tính tổng của x và y	
	C. Hoán đổi giá trị của x và y	D. Giá trị x và y bằng nhau sau dãy lệnh
Biến X có thể nhận các giá trị 5; 10; 20; 30; 35; và biến Y có thể nhận các giá trị 0.3; 0.6; 4.32; 0.73. Khai báo nào trong các khai báo sau là tiết kiệm bộ nhớ nhất?
	A. var X:byte;	B. var X:real; 
	 Y: real;	 Y:byte; 	
	C. var X, Y:real;	D. var X, Y:byte;
 Phần khai báo gồm các thành phần nào sau là đúng:
Tên chương trình, thư viện, hằng, biến và chương trình con;
Tên chương trình, dãy lệnh khai báo, kích thước chương trình, kết quả chương trình.
Tên chương trình, tên các biến, chương trình chính và kết quả nhập xuất.
Tấc cả đều sai.
Khai báo sau đây là khai báo gì?
	Const Max = 100;
 Ex = 2.345;
	 Loichao = ‘chao tam biet!’;
Khai báo biến	B. Khai báo thư viện
 C. Khai báo hằng	D. Khai báo chương trình con
Phạm vi lưu trữ một giá trị của kiểu dữ liệu longint gồm:
1 byte	B. 2 byte	 C. 4 byte	D. 6 byte
Kiểu dữ liệu Extended là kiểu dữ liệu thuộc:
Kiểu nguyên	B.Kiểu thực	
 Kiểu kí tự	D. Kiểu Lôgíc
Nếu khai báo thừa biến hoặc hằng, tức là khai báo các biến, hằng mà không dùng đến trong phần thân chương trình, thì chương trình dịch có báo sai không?
Không
Có
Hiểu chức năng về câu lệnh gán như sau:
Cộng giá trị cũ vớii giá trị mới và kết quả đưa lại cho biến đó.
Đặt tên biến có tên ở vế trái bằng giá trị của biểu thức ở vế phải.
Lệnh gán chỉ là tạm thời lưu giá trị của biến, trong một thời gian nào đó giá trị sẽ thay đổi trở lại.
Tất cả đều sai.
Xét đoạn chương trình :
 Var x,y,a,b:integer;
 Begin
 x:=50; y:=5; a:=10; b:=12;
 a:=a+x;
	 b:=b*y;
	 x:=x-a;
 y:=y-b;
 end.
Kết quả nào sau đây là đúng:
x=50, y=60, a=38, b=50;	B. x=60, y=50, a=48, b= 30;
x= -10, y= -55, a= 60, b=60;	D. x=40, y= -7, a= 60, b=60;
Khi soạn thảo chương trình xong, nhấn tổ hợp phím: Ctrl+F9 để làm gì trong các thao tác sau:
Đóng cửa sổ chương trình;	B. Chạy chương trình;
Thoát khỏi phần mềm;	D. Biên dịch chương trình;
Trong pascal một biến chỉ nhận giá trị nguyên trong phạm vi từ 20 đến 40200 thì biến đó có thể được khai báo kiểu dữ liệu nào là ít tốn bộ nhớ nhất?
Word ;	B. Byte ;	C. Longint ;	D. Integer ;
Các phép toán được thực hiện theo thứ tự:
Thực hiện các phép toán trong ngoặc trước. Nếu không có dấu ngoặc thì thì thực hiện từ trái qua phải, theo thứ tự phép nhân(*), chia(/), chia nguyên(div), chia lấy dư(mod) thực hiện trước và phép cộng(+), trừ (-)thực hiện sau;
Thực hiện các phép toán ngoài ngoặc trước. Nếu không có dấu ngoặc thì thì thực hiện từ trái qua phải, theo thứ tự phép nhân(*), chia(/), chia nguyên(div), chia lấy dư(mod) thực hiện trước và phép cộng(+), trừ (-)thực hiện sau;
Thực hiện các phép toán dễ tính trước. Nếu không có dấu ngoặc thì thì thực hiện từ phải qua 	trái, theo thứ tự phép nhân(*), chia(/), chia nguyên(div), chia lấy dư(mod) thực hiện sau và 	phép cộng(+), trừ (-)thực hiện trước;
D.	Tất cả đều sai.
Định lý Bohn Jacopini được phát biểu như thế nào là đúng:
Mọi quá trình hoạt động đều có thể diễn tả và mô phỏng dựa trên ba cấu trúc cơ bản là cấu trúc 	sơ đồ, cấu trúc chia nhánh và hoạt động toàn cục.
Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên ba cấu trúc cơ bản là cấu 	trúc tuần tự, cấu trúc rẻ nhánh và cấu trúc lặp.
 Mọi quá trình tính toán đều có thể trình bày và biểu diễn dựa trên những yếu tố cơ bản đó là 	mô tả, đánh giá và kết hợp.
 Tất cả đều sai.
Phát biểu nào trong các phát biểu sau là sai về câu lệnh while - do?
 Câu lệnh sau do sẽ được thực hiện ít nhất 1 lần;
 Câu lệnh sau do có thể không được thực hiện lần nào;
 Câu lệnh sau do không được phép là một câu lệnh while do;
 Câu lệnh while do là câu lệnh lặp biết trước số lần lặp.
Một chương trình có chứa câu lệnh while do, trong đó điều kiện viết sau while luôn luôn đúng( 	ví dụ: while (a*a>=0) do). Có thể khẳng định được ngay là chương trình này sai không?
Không 	B. Có 
Dạng nào không phải là câu lệnh if – then trong Pascal:
if then ;
if then else ;
if( else.
Hãy chọn câu đúng với dạng lặp tiến:
for := to do ;
for := downto do ;
for := to do ;
for := downto do ;
Phát biểu nào là đúng đối với hoạt động của lệnh for – do dạng lặp tiến:
Câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
Câu lệnh viết sau từ khoá do được thực hiện nhiều lần, với biến đếm ngẫu nhiên nhận giá trị ngẫu nhiên liên tiếp từ giá trị đầu đến giá trị cuối.
Câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị từ giá trị cuối đến giá trị đâu.
Câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu.
Phát biểu nào là đúng đối với câu lệnh for - do
Là lệnh lặp với số lần chưa biết trước;	B. Là lệnh lặp với số lần lớn nhất là 100;
C. Là lệnh lặp với số lần đã biết trước;	D. Tất cả đều sai.
Đọc chương trình thể hiện thuật toán tìm ước số chung lớn nhất;
 Program USCLN;
	 Var M, N, sodu : integer ;
	 Begin 
	 	Write(‘hay nhap M, N’);Readln(M, N);	
	 While (?) do
 	 begin
 	sodu:=M mod N;
 	M:=N;
 	N:=sodu;
 end;
 writeln('uscln=',M);
 readln
 end.
	Hãy chọn và điền vào điều kiện của while (dấu ?) cho thích hợp:
sodu = 0;	B. M 0; 	C. N 0 ;	D. N = 0.
Xét đoạn chương trình sau:
 if x=0 then y:=0
 else if x<0 then y:=sqrt(sqrt(-x))
 else y:=sqrt(sqrt(x));
 Khẳng định nào sau đây là đúng:
Đoạn chương trình trên tính y = 	B. Đoạn chương trình trên tính y= ;
 C. Đoạn chương trình trên tính y= ;	D. Tất cả đều sai.
Xét đoạn chương trình sau:
	Var a,b,N:byte;
	 S:real;
	 Begin
	 Write(‘Nhap vao gia tri a, b’);
	 Readln(a,b);	
	 S:=b/a;
	 For N:=50 downto 1 do
	 S:= S+b/(a+N);
 Write(S);
 Readln
 End. 
	 Đoạn chương trình trên tính tổng nào sau đây?
Tính tổng S= ; 	B. Tính tổng S =;
 C. Tính tổng S= ; D. Tất cả đều đúng.
Phát biểu nào sau đây là đúng đối với vòng lặp For – do?
 	A. Giá trị đầu và giá trị cuối là các biểu thức cùng kiểu với biến đếm;
	B. Số lần lặp sẽ không nhất thiết phải chạy hết vòng lặp;
	C. Giá trị đầu lớn hơn giá trị cuối vòng lặp vẫn thực hiện.
	D. Vòng lặp sẽ không lặp một cách tuần tự
Phát biểu nào là đúng trong lệnh while - do:
	A. Điều kiện là câu lệnh ghép;
	B. Điều kiện là biểu thức lôgic;
	C. Lệnh sau do có thể không lặp lần nào;
	D. Điều kiện chỉ được mang giá trị đúng, không thể mang giá trị sai.	
----------------&-----------------

Tài liệu đính kèm:

  • dockt khi.doc