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 (115.58 KB, 7 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>ĐỀ THI HỌC KỲ I</b>
<b>MÔN: TIN HỌC</b> <b>Thời gian: 45 phút</b>
<b>Họ và tên:...</b>
<b>Lớp:...</b>
<b>Đề 1:</b>
<b>I. Phần trắc nghiệm:(5 điểm)</b>
<i><b>câu 1:Trong NNLT, cú pháp dùng để?</b></i>
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.
<i><b>Câu 2:Trong Pascal, cú pháp để khai báo biến?</b></i>
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>;
<i><b>Câu 3: Để khai báo biến A kiểu số nguyên, ta chọn cách khai báo nào?</b></i>
a, var a: Integer; b, var a : real;
c, Var: A Integer; d, Var : A real;
<i><b>Câu 4:Trong khai báo sau, khai báo nào đúng?</b></i>
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;
<i><b>Câu 5: Với khai báo biến: </b></i>
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;
<i><b>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à </b></i>
<i><b>phù hợp?</b></i>
a, word; b, Integer; c, Byte; d, Real;
<i><b>Câu 7: Xét chương trình sau</b></i>:
Var a, b: longint;
a:= 1234567; b:= 456;
End.
Kết quả của chương trình là gì?
<i><b>Câu 8: Xét chương trình sau:</b></i>
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;
<i><b>Câu 9: Xét chương trình sau:</b></i>
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;
<i><b>Câu 10: Xét chương trình sau:</b></i>
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;
<b>II. Phần tự luận:(5 điểm)</b>
<b>Câu 1(1.5 )</b>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
a) 2 4 0
<i>ac</i>
<i>b</i> b) <i>x<sub>x</sub></i> <i><sub>y</sub>y</i>
2
<i>c</i>) 2<i>x</i> 2<i>x</i> 2<i>x</i>
<b>Câu 2:(1đ)</b> Viết chương trình nhập 2 số nguyên dương a, b và đưa ra số nhỏ nhất?
<b>Câu 3: (2,5 đ)</b> 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>ĐỀ THI HỌC KỲ I</b>
<b>MÔN: TIN HỌC</b> <b>Thời gian: 45 phút</b>
<b>Họ và tên:...</b>
<b>Lớp:...</b>
<b>Đề 2:</b>
<b>I. Phần trắc nghiệm:(5 điểm)</b>
<i><b>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?</b></i>
a, 167.0; b, 1.8E-15; c, 15,78; d. ‘23’
<i><b>Câu 2:Trong NNLT Pascal từ khoá CONST dùng để </b></i>
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;
<i><b>Câu 3: Để khai báo biến A kiểu số thực, ta chọn cách khai báo nào?</b></i>
a, var a: Integer; b, var a : real;
c, Var: A Integer; d, Var : A real;
<i><b>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 </b></i>
<i><b>sau là phù hợp nhất?</b></i>
a, word; b, Integer; c, Byte; d, Real;
<i><b>Câu 5: Trong Pascal, để đưa dữ liệu ra màn hình ta sử dụng thủ tục nào?</b></i>
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;
<i><b>Câu 6: Xét chương trình sau:</b></i>
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
<i><b>Câu 7: Xét chương trình sau:</b></i>
Var i, s: Integer;
Begin
s:=2;
for i := 1 to 5 do s:= s*i;
writeln(s);
end.
<i><b>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à:</b></i>
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>;
<i><b>Câu 9: Xét chương trình sau:</b></i>
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;
<i><b>Câu 10: Cú pháp câu lệnh nào sau đây là đúng?</b></i>
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;
<b>II. Phần tự luận:(5 điểm)</b>
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, ax2<sub> + bx + c</sub> <sub>b, </sub> 2 2
2
1
<i>y</i>
<i>x</i>
<i>y</i>
<i>x</i>
<i>y</i>
<i>x</i>
<i>y</i>
<i>x</i>
<i>c</i>
1
2008
2007
,
2
2
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>Đề 1:</b>
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) <i>b</i>*<i>b</i> 4*<i>a</i>*<i>c</i>0 <i>c</i>)<i>sqrt</i>(2*<i>x</i><i>sqrt</i>(2*<i>x</i><i>sqrt</i>(2*<i>x</i>)))
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.
<b>* Đáp án chương trình:</b>
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.
<b>*Đáp án chương trình:</b>
Program bai3;
uses crt;
var i, k, dem: Integer;
a: array[1..15] of integer;
Begin
clrscr;
writeln(‘nhap mang mot chieu:’);
Begin
write(‘a[‘,i,’]=’);
readln(a[i]);
end;
For i := 1 to 15 do
if a[i]>=100 then dem:= dem+1;
writeln(‘so phan tu co gia tri >= 100 là:’,dem);
end.
<b>Đề 2:</b>
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 b b d d a d b c a
II. Phần tự luận:
Câu 1: Mỗi ý 0.5 điểm
a, a*sqr(x)+ b*x + c b, * ( ( ) ( ))
2
1
<i>y</i>
<i>sqr</i>
<i>x</i>
<i>sqr</i>
<i>sqrt</i>
));
/(
1
))
(
)
(
/((
)
*
2008
*
2007
(
, <i>x</i> <i>y</i> <i>sqr</i> <i>x</i> <i>sqr</i> <i>y</i> <i>x</i> <i>y</i>
<i>c</i>
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.
<b>* Đáp án chương trình:</b>
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 lon nhat la:’,a)
else writeln(‘so lon 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.
<b>*Đáp án chương trình:</b>
Program bai3;
uses crt;
var i, dem: Integer;
a: array[1..10] of integer;
Begin
clrscr;
writeln(‘nhap mang mot chieu:’);
For i := 1 to 10 do
write(‘a[‘,i,’]=’);
readln(a[i]);
end;
For i := 1 to 10 do writeln(a[i]:4);
dem:= 0;
For i := 1 to 10 do