câu 1:Trong NNLT, cú pháp dùng để.. a, Thông dịch chương trình.[r]
(1)ĐỀ THI HỌC KỲ I
MÔN: TIN HỌC Thời gian: 45 phút Họ 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 thao tác thực
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 liệu; c, Var<Danh sách tên biến>: <Kiểu liệu>; d, Var<Danh sách tên biến>= <Kiểu 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 đúng?
a, Khai báo biến x 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 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ự 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 giá trị mà biến nhận đú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= ; 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 đoạn [0; 35000], kiểu liệu 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 chương trình gì?
(2)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 chương trình 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 := to s:= s*i; writeln(s);
end
Kết chương trình 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 := to
for j:= to s:= s+j; writeln(s);
End
Kết 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 biểu thức dạng toán học sau sang dạng biểu diễn tương ứng pascal :
a)
ac
b b) xx yy
2
c) 2x 2x 2x
Câu 2:(1đ) Viết chương trình nhập số nguyên dương a, b đưa số nhỏ nhất?
Câu 3: (2,5 đ) Viết chương trình nhập mảng chiều gồm 15 phần tử số nguyên thực công việc sau:
a, In phần tử vừa nhập;
(3)ĐỀ THI HỌC KỲ I
MÔN: TIN HỌC Thời gian: 45 phút Họ tên:
Lớp: Đề 2:
I Phần trắc nghiệm:(5 điểm)
Câu Biểu diễn biểu diễn 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ị khoảng [-10, 10], khai báo khai báo sau phù hợp nhất?
a, word; b, Integer; c, Byte; d, Real;
Câu 5: Trong Pascal, để đưa liệu hình ta sử dụng thủ tục nào?
a, write(danh sách giá trị); b, writeln(danh sách giá trị);
c, readln(danh sách biến); d, Cả a 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 chương trình
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 := to s:= s*i; writeln(s);
end
(4)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> <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> <câu lệnh>;
Câu 9: Xét chương trình sau:
Var i, j, s: Integer; Begin
s:= 0;
for i := to
for j:= to s:= s+i; writeln(s);
End
Kết chương trình sau:
a, 3; b, 5; c, 9; d, 12;
Câu 10: Cú pháp câu lệnh sau đú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 biểu thức dạng toán học sau sang dạng biểu diễn tương ứng pascal :
a, ax2 + bx + c b, 2
2
y
x
y x y x
y x
c
1 2008 2007
,
2
Câu 2:(1đ) Viết chương trình nhập số nguyên dương a, b đưa số lớn nhất?
Câu 3: (2,5 đ) Viết chương trình nhập mảng chiều gồm 10 phần tử số nguyên thực công việc sau:
a, In phần tử vừa nhập;
(5)Đáp án:
Đề 1:
I Phần trắc nghiệm (5 điểm) - Mỗi ý 0,5 điểm
Câu 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 ý 0,5 điểm
a) b*b 4*a*c0 c)sqrt(2*xsqrt(2*xsqrt(2*x)))
b) (sqt(x)+y)/(x-y) Câu 2:
- Viết phần khai báo nhập số nguyên dương 0,5 điểm
- Viết thuật toán đưa phần tử lớn 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 chiều 0.5 điểm;
- In mảng vừa nhập 0,5 điểm;
- Đếm phần tử chia hết cho k đ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 := to 15
Begin
write(‘a[‘,i,’]=’);
readln(a[i]); end;
(6)For i := to 15
if a[i]>=100 then dem:= dem+1; writeln(‘so phan tu co gia tri >= 100 là:’,dem); end
Đề 2:
I Phần trắc nghiệm (5 điểm) - Mỗi ý 0,5 điểm
Câu 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 y sqr x sqr sqrt )); /( )) ( ) ( /(( ) * 2008 * 2007 (
, x y sqr x sqr y x y
c
Câu 2:
- Viết phần khai báo nhập số nguyên dương 0,5 điểm
- Viết thuật toán đưa phần tử lớn 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 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 chiều 0.5 điểm;
- In mảng vừa nhập 0,5 điểm;
- Đếm phần tử chia hết cho k điểm
*Đáp án chương trình:
Program bai3; uses crt;
var i, dem: Integer;
a: array[1 10] of integer; Begin
clrscr;
writeln(‘nhap mang mot chieu:’); For i := to 10
(7)write(‘a[‘,i,’]=’); readln(a[i]); end;
For i := to 10 writeln(a[i]:4); dem:= 0;
For i := to 10