đề thi HKI(Hay mới) – Tài liệu text

đề thi HKI(Hay mới)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (119.25 KB, 7 trang )

ĐỀ THI HỌC KỲ I
MÔN: TIN HỌC Thời gian: 45 phút
Họ và tên:……………………………………………………………
Lớp:………………
Đề 1:
I. Phần trắc nghiệm:(5 điểm)
câu 1:Trong NNLT, cú pháp dùng để?
a, Thông dịch chương trình.
b, Biên dịch chương trình.
c, Làm quy tắc viết chương trình.
d, Xác định các thao tác thực hiện.
Câu 2:Trong Pascal, cú pháp để khai báo biến?
a, Var<Danh sách tên biến>;
b, <Danh sách tên biến>: kiểu dữ liệu;
c, Var<Danh sách tên biến>: <Kiểu dữ liệu>;
d, Var<Danh sách tên biến>= <Kiểu dữ liệu>;
Câu 3: Để khai báo biến A kiểu số nguyên, ta chọn cách khai báo nào?
a, var a: Integer; b, var a : real;
c, Var: A Integer; d, Var : A real;
Câu 4:Trong khai báo sau, khai báo nào đúng?
a, Khai báo biến x là kiểu số thực: Var x: read;
b, Khai báo biến p, q có kiểu byte: Var p: byte; q: byte;
c, Khai báo 2 biến x1, x2 có kiểu thực: Var x1, x2:real;
d, Khai báo biến c có kiểu kí tự và z có kiểu số thực: Var z: char, c : Char;
Câu 5: Với khai báo biến:
Var ch: char;
a,b: integer;
c, d: byte;
e, f: boolean;
Hỏi bộ giá trị nào mà các biến nhận được dưới đây là đúng?
a, ch= ‘1’; a=2; b=3; c=4; d=5; e=6; f = 7;

b, ch= ‘3’; a=2; b=3; c=4; d=5; e=true; f = false;
c, ch= 2 ; a=2; b=3; c=4; d=5; e=true; f = true;
d, ch= ‘A’; a=2; b=3; c=4.8; d=5.3; e=true; f = false;
Câu 6: Biến x nhận giá trị nguyên trong đoạn [0; 35000], kiểu dữ liệu nào dưới đây là
phù hợp?
a, word; b, Integer; c, Byte; d, Real;
Câu 7: Xét chương trình sau:
Var a, b: longint;
Begin
a:= 1234567; b:= 456;
End.
Kết quả của chương trình là gì?
a, 1234567-456; b, 1234111;
c, 1234567456; d, Tất cả đều sai;
Câu 8: Xét chương trình sau:
Var a,b: integer;
begin
a:= 10; b:= -10;
if a<b then write(-1) else write (1);
if a = b then write (0);
end.
Kết quả của chương trình trên là?
a, -1 b, 1; c, -10; d, 10;
Câu 9: Xét chương trình sau:
Var i, s: Integer;
Begin
s:=1;
for i := 1 to 5 do s:= s*i;
writeln(s);
end.

Kết quả của chương trình trên là?
a, 1; b, 5; c, 100; d, 120;
Câu 10: Xét chương trình sau:
Var i, j, s: Integer;
Begin
s:= 0;
for i := 1 to 2 do
for j:= 1 to 3 do s:= s+j;
writeln(s);
End.
Kết quả của chương trình sau:
a, 5; b, 6; c, 9; d, 12;
II. Phần tự luận:(5 điểm)
Câu 1(1.5 )Viết lại các biểu thức dạng toán học sau sang dạng biểu diễn tương ứng trong
pascal :
a)
04
2
acb

b)
yx
yx

+
2

xxxc 222)
++
Câu 2:(1đ) Viết chương trình nhập 2 số nguyên dương a, b và đưa ra số nhỏ nhất?

Câu 3: (2,5 đ) Viết chương trình nhập mảng một chiều gồm 15 phần tử các số nguyên rồi
thực hiện các công việc sau:
a, In ra các phần tử vừa nhập;
b, Đếm xem có bao nhiêu phần tử có giá trị lớn hơn hoặc bằng 100;
ĐỀ THI HỌC KỲ I
MÔN: TIN HỌC Thời gian: 45 phút
Họ và tên:……………………………………………………………
Lớp:………………
Đề 2:
I. Phần trắc nghiệm:(5 điểm)
Câu 1 Biểu diễn nào dưới đây không phải là biểu diễn hằng trong pascal?
a, 167.0; b, 1.8E-15; c, 15,78; d. ‘23’
Câu 2:Trong NNLT Pascal từ khoá CONST dùng để
a, Khai báo biến; b, Khai báo hằng;
c, Khai báo tên chương trình; d, Khai báo tên thư viện;
Câu 3: Để khai báo biến A kiểu số thực, ta chọn cách khai báo nào?
a, var a: Integer; b, var a : real;
c, Var: A Integer; d, Var : A real;
Câu 4: Biến x nhận giá trị trong khoảng [-10, 10], khai báo nào trong các khai báo
sau là phù hợp nhất?
a, word; b, Integer; c, Byte; d, Real;
Câu 5: Trong Pascal, để đưa dữ liệu ra màn hình ta sử dụng thủ tục nào?
a, write(danh sách các giá trị); b, writeln(danh sách các giá trị);
c, readln(danh sách các biến); d, Cả a và b;
Câu 6: Xét chương trình sau:
var a,b : longint;
Begin
a:= 123456; b:= 456;
writeln(‘Gia tri cua a, b la:, a, ‘ ‘ , b);
write(‘Hieu cua a va b la:’,a-b);

End.
Kết quả của chương trình là
a, Gia tri cua a, b la: 123456 456
Hieu cua a va b la: 123000
b, Gia tri cua a, b la: 123456 456
Hieu cua a va b la: 123456-456
c, Gia tri cua a: 123456 Gia tri cua b: 456
Hieu cua a va b la: 123000
d, Gia tri cua a: 123456 Gia tri cua b: 456
Hieu cua a va b la: 123456-456
Câu 7: Xét chương trình sau:
Var i, s: Integer;
Begin
s:=2;
for i := 1 to 5 do s:= s*i;
writeln(s);
end.
a, 2; b, 10; c, 160; d, 240;
Câu 8: Cú pháp khai báo cấu trúc lặp dạng tiến với số lần lặp biết trước là:
a, For<Biến đếm>:= <giá trị đầu> to <giá trị cuối><câu lệnh>;
b, For<Biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
c, For<Biến đếm>:= <giá trị đầu>downto <giá trị cuối><câu lệnh>;
d, For<Biến đếm>:= <giá trị đầu> downto <giá trị cuối> do <câu lệnh>;
Câu 9: Xét chương trình sau:
Var i, j, s: Integer;
Begin
s:= 0;
for i := 1 to 2 do
for j:= 1 to 3 do s:= s+i;
writeln(s);

End.
Kết quả của chương trình sau:
a, 3; b, 5; c, 9; d, 12;
Câu 10: Cú pháp câu lệnh nào sau đây là đúng?
a. Type mang: array[-100 ..100] of integer;
b. Type mang : array[-100 to 100] of integer;
c. Type mang = array[-100 to 100] of integer;
d. Type mang = array[-100 .. 100] of integer;
II. Phần tự luận:(5 điểm)
Câu 1(1.5 )Viết lại các biểu thức dạng toán học sau sang dạng biểu diễn tương ứng trong
pascal :
a, ax
2
+ bx + c b,
22
2
1
yx
+

yx
yx
yx
c
+
++
+
1
20082007
,

22
Câu 2:(1đ) Viết chương trình nhập 2 số nguyên dương a, b và đưa ra số lớn nhất?
Câu 3: (2,5 đ) Viết chương trình nhập mảng một chiều gồm 10 phần tử các số nguyên rồi
thực hiện các công việc sau:
a, In ra các phần tử vừa nhập;
b, Đếm xem có bao nhiêu phần tử chia hết cho 3;
Đáp án:
Đề 1:
I. Phần trắc nghiệm (5 điểm)
– Mỗi ý đúng được 0,5 điểm.
Câu 1 2 3 4 5 6 7 8 9 10
Đáp
án
c c a c b a b b d d
II. Phần tự luận (5 điểm)
Câu 1: Mỗi ý đúng được 0,5 điểm
a)
0**4* cabb

)))*2(*2(*2() xsqrtxsqrtxsqrtc
++
b) (sqt(x)+y)/(x-y)
Câu 2:
– Viết được phần khai báo và nhập 2 số nguyên dương 0,5 điểm.
– Viết được thuật toán đưa ra phần tử lớn nhất được 0,5 điểm.
* Đáp án chương trình:
Program bai2;
uses crt;
var a, b: Integer;
Begin

clrscr;
writeln(‘nhap a=’); read(a);
writeln(‘nhap b=’); read(b);
if a< b then writeln(‘so nho nhat la:’,a)
else writeln(‘so nho nhat la:’,b);
end.
Câu 3:
– Khai báo 0.5 điểm;
– Nhập mảng 1 chiều 0.5 điểm;
– In ra mảng vừa nhập 0,5 điểm;
– Đếm các phần tử chia hết cho k 1 điểm.
*Đáp án chương trình:
Program bai3;
uses crt;
var i, k, dem: Integer;
a: array[1..15] of integer;
Begin
clrscr;
writeln(‘nhap mang mot chieu:’);
For i := 1 to 15 do
Begin
write(‘a[‘,i,’]=’);
readln(a[i]);
end;
For i := 1 to 15 do writeln(a[i]:4);
dem:= 0;

b, ch= ‘3’; a=2; b=3; c=4; d=5; e=true; f = false;c, ch= 2 ; a=2; b=3; c=4; d=5; e=true; f = true;d, ch= ‘A’; a=2; b=3; c=4.8; d=5.3; e=true; f = false;Câu 6: Biến x nhận giá trị nguyên trong đoạn [0; 35000], kiểu dữ liệu nào dưới đây làphù hợp?a, word; b, Integer; c, Byte; d, Real;Câu 7: Xét chương trình sau:Var a, b: longint;Begina:= 1234567; b:= 456;End.Kết quả của chương trình là gì?a, 1234567-456; b, 1234111;c, 1234567456; d, Tất cả đều sai;Câu 8: Xét chương trình sau:Var a,b: integer;begina:= 10; b:= -10;if a:= to ;b, For:= to do ;c, For:= downto ;d, For:= downto do ;Câu 9: Xét chương trình sau:Var i, j, s: Integer;Begins:= 0;for i := 1 to 2 dofor j:= 1 to 3 do s:= s+i;writeln(s);End.Kết quả của chương trình sau:a, 3; b, 5; c, 9; d, 12;Câu 10: Cú pháp câu lệnh nào sau đây là đúng?a. Type mang: array[-100 ..100] of integer;b. Type mang : array[-100 to 100] of integer;c. Type mang = array[-100 to 100] of integer;d. Type mang = array[-100 .. 100] of integer;II. Phần tự luận:(5 điểm)Câu 1(1.5 )Viết lại các biểu thức dạng toán học sau sang dạng biểu diễn tương ứng trongpascal :a, ax+ bx + c b,22yxyxyxyx++2008200722Câu 2:(1đ) Viết chương trình nhập 2 số nguyên dương a, b và đưa ra số lớn nhất?Câu 3: (2,5 đ) Viết chương trình nhập mảng một chiều gồm 10 phần tử các số nguyên rồithực hiện các công việc sau:a, In ra các phần tử vừa nhập;b, Đếm xem có bao nhiêu phần tử chia hết cho 3;Đáp án:Đề 1:I. Phần trắc nghiệm (5 điểm)- Mỗi ý đúng được 0,5 điểm.Câu 1 2 3 4 5 6 7 8 9 10Đápánc c a c b a b b d dII. Phần tự luận (5 điểm)Câu 1: Mỗi ý đúng được 0,5 điểma)0**4* cabb)))*2(*2(*2() xsqrtxsqrtxsqrtc++b) (sqt(x)+y)/(x-y)Câu 2:- Viết được phần khai báo và nhập 2 số nguyên dương 0,5 điểm.- Viết được thuật toán đưa ra phần tử lớn nhất được 0,5 điểm.* Đáp án chương trình:Program bai2;uses crt;var a, b: Integer;Beginclrscr;writeln(‘nhap a=’); read(a);writeln(‘nhap b=’); read(b);if a< b then writeln(‘so nho nhat la:’,a)else writeln(‘so nho nhat la:’,b);end.Câu 3:- Khai báo 0.5 điểm;- Nhập mảng 1 chiều 0.5 điểm;- In ra mảng vừa nhập 0,5 điểm;- Đếm các phần tử chia hết cho k 1 điểm.*Đáp án chương trình:Program bai3;uses crt;var i, k, dem: Integer;a: array[1..15] of integer;Beginclrscr;writeln(‘nhap mang mot chieu:’);For i := 1 to 15 doBeginwrite(‘a[‘,i,’]=’);readln(a[i]);end;For i := 1 to 15 do writeln(a[i]:4);dem:= 0;