KIỂM TRA HỌC KỲ I
MÔN: TIN HỌC
Họ và tên:............................................... Lớp:...................... Đề 1
I. Phần trắc nghiệm: Lựa chon và khoanh tròn vào đáp án đúng nhất
1/ Lệnh Write(‘10+2=’,10+2) sẽ cho ra màn hình là:
a 12=10+2 b 10+2=10+2 c 10+2=12 d 12=12
2/ Khai báo Var x: real; A, B: byte; ch: char;. Khai báo đó có nghĩa là:
a Khai báo biến x có kiểu thực, biến A, B có kiểu nguyên byte, biến ch có kiểu kí tự
b Khai báo biến x có kiểu thực, biến A, B có kiểu nguyên, biến ch có kiểu kí tự
c Khai báo hằng x có kiểu thực, hằng A, B có kiểu nguyên byte, hằng ch có kiểu kí tự
d Khai báo hằng x có kiểu thực, biến A, B có kiểu nguyên byte, hằng ch có kiểu logic
3/ Trong các tên sau, tên nào là tên đúng theo qui tắc của Turbo Pascal?
a 1_A_2a b 1bai hoc c Tong 2a d Bai_tong_hop
4/ Vị trí khai báo biến là:
a Trước khai báo hằng b Trước phần thân chương trình
c Trước khai báo thư viện d Trước khai báo kiểu
5/ 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 lỗi ngữ nghĩa b Phát hiện lỗi cú pháp
c Thông báo lỗi cú pháp d Tạo được chương trình đích
6/ Chọn câu lệnh để nhập giá trị cho N vào từ bàn phím
a Writeln (‘N=’); b Read ( N); c Write (‘Nhap N =’); d Readln ([N]);
7/ Ngôn ngữ lập trình Pascal là
a Ngôn ngữ bậc cao b Hợp ngữ c Ngôn ngữ máy d Tất cả đều đúng
8/ Giả sử OK= TRUE thì OK là
a Hằng logic b Hằng xâu c Hằng số thực d Hằng số
9/ Để gán x:=sqrt(a); phải khai báo x kiểu:
a Boolean b Real c Integer d Char
10/ Giả sử biến S có kiểu số thực thì lệnh Write (S); ghi giá trị của S có dạng:
a Số thực theo dạng động b Số thực
c Số thực theo dạng tĩnh d Tất cả đều đúng
11/ SQRT thuộc loại tên nào sau đây?
a Tên dành riêng b Tên chuẩn
c Tên do người lập trình đặt d Tất cả đều sai
12/ Câu lệnh for j:= 1 to 10 do Writeln (j); dùng để làm gì?
a In ra màn hình các số từ 1 đến 10, mỗi số trên 1 dòng
b In ra màn hình các số từ 1 đến 10
c Viết ra màn hình các giá trị của j
d Tất cả đều đúng
13/ Trong cấu trúc rẽ nhánh, sau THEN, ELSE cho phép thực hiện bao nhiêu câu lệnh?
a 3 lệnh b 1 lệnh c 2 lệnh d 4 lệnh
14/ Câu lệnh Writeln(a+b); cho kết quả là
a Tổng của a + b b Đưa con trỏ về đầu dòng tiếp theo
c Giá trị của tổng a + b d C và B
15/ Trong cấu trúc lặp FOR dạng tiến thì:
a Giá trị đầu <= giá trị cuối bGiá trị đầu < giá trị cuối
c Giá trị đầu >= giá trị cuối dGiá trị đầu > giá trị cuối
16/ Chương trình viết bằng ngôn ngữ lập trình bậc cao không có đặc điểm nào trong các đặc điểm nào sau đây?
a Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng thuận tiện cho mô tả thuật toán
b Máy tính có thể hiểu và thực hiện trực tiếp chương trình này
c Ngắn gọn, dễ hiệu chỉnh, dễ nâng cấp
d 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
17/ Trong cấu rẽ nhánh, <Điều kiện> thuộc loại biểu thức nào?
a Quan hệ b Số học c Logic d A và C
18/ Cho S, i và N>0 là các biến nguyên. Ðể tính tổng các số lẽ từ 1 đến N, ta viết:
a S := 0; For i := 1 to N do S := S + i*2;
b S := 1; For i := 1 to N do If i mod 2 <> 0 then S:=S+i;
c S := 1; For i := 1 to N do S := S * i + 2;
d S := 0; For i := 1 to N do If i mod 2 <> 0 then S:=S+i;
19/ Ấn tổ hợp phím ALT - X để:
a Biên dịch chương trình b Mở một file mới
c Thoát khỏi TP d Thực hiện chương trình
20/ Trong chương trình có dòng { Day la phuong trinh bac 2 } gọi là:
a Dòng lệnh b Dòng thông báo c Dòng chú thích d Tất cả đều đúng
II. Phần tự luận:
1. Cho chương trình sau
Var x,y,a,b,c,d: integer; Z:real;
Begin
Write(‘ nhap vao a,b,c,d’);
readln(a,b,c,d);
x:= abs(b)+sqrt(asb(c));
y:=x +2*a-d;
z:=x/y;
Write(x:4,y:4,z:4:2);
Readln
end.
Giả sử dữ liệu nhập vào từ bàn phím như sau: 3 -5 4 1
Sau khi thực hiện chương trình kết quả thu được là gì?
2. viết câu lệnh rẽ nhánh tính :
2 2 2 2
1
, 0
, 0
X Y Khi X Y
Z X Y Khi X Y
X Y Khi X Y
+ + ≤
= + <
− ≥
K K
K K
K K
3. Viết chương trình nhập vào bàn phím số n nguyên dương. Tính và đưa ra màn hình giá trị tổng
S= 1
2
+2
2
+…+n
2
KIỂM TRA HỌC KỲ I
MÔN: TIN HỌC
Họ và tên:............................................... Lớp:...................... Đề 2
I. Phần trắc nghiệm:Lựa chon và khoanh tròn vào đáp án đúng nhất
1/ Phát biểu nào sau đây là ĐÚNG?
a Thông dịch là dịch toàn bộ chương trình nguồn thành chương trình đích
b Chương trình dịch có 2 loại là thông dịch và biên dịch
c Biên dịch là dịch và thực hiện từng lệnh một
d A, B và C đúng
2/ Trong các tên sau, tên nào là tên đúng theo qui tắc của Turbo Pascal?
a Tong 2a b 1bai hoc c 1_A_2a d Bai_tong_hop
3/ SQRT thuộc loại tên nào sau đây?
a Tên chuẩn b Tên do người lập trình đặtc Tên dành riêng d Tất cả đều sai
4/ Câu lệnh Readln (‘Xin chao’); có tác dụng:
a Đưa con trỏ về đầu dòng tiếp theo
b Đưa ra màn hình hằng xâu Xin chao và đưa con trỏ về đầu dòng tiếp theo
c Câu lệnh sai
d Đưa ra màn hình hằng xâu Xin chao
5/ Vị trí khai báo biến là:
a Trước khai báo thư viện b Trước phần thân chương trình
c Trước khai báo kiểu d Trước khai báo hằng
6/ Biểu thức nào sau đây có giá trị TRUE :
a (4.5 + 2 > 5) and (2 >= 4 div 2); b (23 > 76) and ('B' > 'A');
c (4.5 + 2 < 5) or (2 < 4 div 2); d 2*(3+5) < 18 div 4*4;
7/ Giả sử biến S có kiểu số thực thì lệnh Write (S); ghi giá trị của S có dạng:
a Số thực theo dạng tĩnh b Số thực c Số thực theo dạng động d Tất cả đều đúng
8/ Tên dành riêng CONST dùng để làm gì?
a Khai báo hằng b Khai báo c Khai báo thư viện d Khai báo kiểu
9/ Chọn câu lệnh để nhập giá trị cho N vào từ bàn phím
a Write (‘Nhap N =’); b Readln ([N]); c Read ( N); d Writeln (‘N=’);
10/ Câu lệnh Writeln(a+b); cho kết quả là
a Đưa con trỏ về đầu dòng tiếp theo b Tổng của a + b
c Giá trị của tổng a + b d C và A
11/ Trong cấu trúc rẽ nhánh, sau THEN, ELSE cho phép thực hiện bao nhiêu câu lệnh?
a 3 lệnh b 2 lệnh c 1 lệnh d 4 lệnh
12/ Câu lệnh CLRSCR; nằm trong thư viện nào?
a SYSTEM b DOS c CRT d GRAPH
13/ Chương trình viết bằng ngôn ngữ lập trình bậc cao không có đặc điểm nào trong các đặc điểm nào sau đây?
a Ngắn gọn, dễ hiệu chỉnh, dễ nâng cấp
b 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
c Máy tính có thể hiểu và thực hiện trực tiếp chương trình này
d Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng thuận tiện cho mô tả thuật toán
14/ Khai báo Var x: real; A, B: byte; ch: char;. Khai báo đó có nghĩa là:
a Khai báo biến x có kiểu thực, biến A, B có kiểu nguyên byte, biến ch có kiểu kí tự
b Khai báo hằng x có kiểu thực, biến A, B có kiểu nguyên byte, hằng ch có kiểu logic
c Khai báo biến x có kiểu thực, biến A, B có kiểu nguyên, biến ch có kiểu kí tự
d Khai báo hằng x có kiểu thực, hằng A, B có kiểu nguyên byte, hằng ch có kiểu kí tự
15/ Biểu thức nào dưới đây cho kết quả là False
a 9 div 5 = 4 b 10 div 3 = 3 c 140 mod 20 = 0 d 17 mod 3 = 2
16/ Trong cấu trúc lặp FOR dạng lùi thì
a Biến đếm tự động tăng lên 1 đơn vị b Biến đếm tự động giảm đi một đơn vị
c Biến đếm giảm 1 đơn vị d Biến đếm tăng 1 đơn vị
17/ Để gán x:=sqrt(a); phải khai báo x kiểu:
a Char b Boolean c Integer d Real
18/ Chọn khai báo đúng?
a Program bai-tap; b Program c Program toi_ten_la; d. Program baiso1
19/ Lệnh Write(‘10+2=’,10+2) sẽ cho ra màn hình là:
a 12=12 b 10+2=12 c 12=10+2 d 10+2=10+2
20/ Câu lệnh for j:= 1 to 10 do Writeln (j); dùng để làm gì?
a In ra màn hình các số từ 1 đến 10
b Viết ra màn hình các giá trị của j
c In ra màn hình các số từ 1 đến 10, mỗi số trên 1 dòng
d Tất cả đều đúng
II. Phần tự luận:
1. Cho chương trình sau
Var x,y,a,b,c,d: integer; Z:real;
Begin
Write(‘ nhap vao a,b,c,d’);
readln(a,b,c,d);
y:= abs(b)+sqrt(asb(c));
x:=y +2*a-d;
z:=x/y;
Write(x:4,y:4,z:4:2);
end.
Giả sử dữ liệu nhập vào từ bàn phím như sau: 4 -2 -3 1
Sau khi thực hiện chương trình kết quả thu được là gì?
2. viết câu lệnh rẽ nhánh tính:
Z=
4
4
0
X 0
X Khi X
X Khi
<
≥
K K
K K
3. Viết chương trình nhập vào bàn phím hai số a, n nguyên dương. Tính và đưa ra màn hình giá trị tổng
S= (a+1)
2
+(a+2)
2
+…+(a+n)
2
KIỂM TRA HỌC KỲ I
MÔN: TIN HỌC
Họ và tên:............................................... Lớp:...................... Đề 3
I. Phần trắc nghiệm:Lựa chon và khoanh tròn vào đáp án đúng nhất
1/ Giả sử biến S có kiểu số thực thì lệnh Write (S); ghi giá trị của S có dạng:
a Số thực theo dạng tĩnh b Số thực theo dạng động c Số thực d Tất cả đều đúng
2/ Phát biểu nào sau đây là ĐÚNG?
a Thông dịch là dịch toàn bộ chương trình nguồn thành chương trình đích
b Biên dịch là dịch và thực hiện từng lệnh một
c Chương trình dịch có 2 loại là thông dịch và biên dịch
d A, B và C đúng
3/ Vị trí khai báo biến là:
a Trước phần thân chương trình b Trước khai báo hằng
c Trước khai báo thư viện d Trước khai báo kiểu
4/ Trong cấu trúc rẽ nhánh, sau THEN, ELSE cho phép thực hiện bao nhiêu câu lệnh?
a 2 lệnh b 1 lệnh c 3 lệnh d 4 lệnh
5/ Trong cấu trúc lặp FOR dạng tiến thì:
a Giá trị đầu <= giá trị cuối b Giá trị đầu < giá trị cuối
c Giá trị đầu >= giá trị cuối d Giá trị đầu > giá trị cuối
6/ Trong các tên sau, tên nào là tên đúng theo qui tắc của Turbo Pascal?
a 1bai hoc b 1_A_2a c Bai_tong_hop d Tong 2a
7/ Chọn khai báo đúng?
a Program bai-tap; b Program c Program toi_ten_la; d Program baiso1
8/ Chọn câu lệnh để nhập giá trị cho N vào từ bàn phím
a Read ( N); b Readln ([N]); c Write (‘Nhap N =’); d Writeln (‘N=’);
9/ Cho S, i và N>0 là các biến nguyên. Ðể tính tổng các số lẽ từ 1 đến N, ta viết:
a S := 1; For i := 1 to N do S := S * i + 2;
b S := 0; For i := 1 to N do If i mod 2 <> 0 then S:=S+i;
c S := 1; For i := 1 to N do If i mod 2 <> 0 then S:=S+i;
d S := 0; For i := 1 to N do S := S + i*2;
10/ Câu lệnh Writeln(a+b); cho kết quả là
a Tổng của a + b b Giá trị của tổng a + b
c Đưa con trỏ về đầu dòng tiếp theo d B và C
11/ Chương trình viết bằng ngôn ngữ lập trình bậc cao không có đặc điểm nào trong các đặc điểm nào sau đây?
a 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
b Máy tính có thể hiểu và thực hiện trực tiếp chương trình này
c Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng thuận tiện cho mô tả thuật toán
d Ngắn gọn, dễ hiệu chỉnh, dễ nâng cấp
12/ Để làm việc với TP, cần tối thiểu các tệp nào?
a Turbo.exe, graph.tpu b Turbo.exe, egavga.bgi, turbo.tpl
c Graph.tpu, turbo.tpl, turbo.exe, egavga.bgi d Turbo. Tpl, egavga.bgi, graph.tpu
13/ Kiểu của biến đếm có thể là:
a Byte b Integer c Real d A và B
14/ SQRT thuộc loại tên nào sau đây?
a Tên dành riêng b Tên chuẩn c Tên do người lập trình đặt d Tất cả đều sai
15/ Hằng là đại lượng:
a Trong TP được khai báo bằng Uses
b Có giá trị cố định trong quá trình thực hiện chương trình
c Có giá trị Biến đổi trong quá trình thực hiện chương trình
d Được khai báo bằng Var
16/ Để gán x:=sqrt(a); phải khai báo x kiểu:
a Integer b Char c Real d Boolean
17/ Khai báo nào sau đây dùng để khai báo thư viện DOS?
a USE CRT; b USE DOS; c USES DOS; d A và B đúng
18/ Câu lệnh Readln (‘Xin chao’); có tác dụng:
a Câu lệnh sai
b Đưa ra màn hình hằng xâu Xin chao
c Đưa ra màn hình hằng xâu Xin chao và đưa con trỏ về đầu dòng tiếp theo
d Đưa con trỏ về đầu dòng tiếp theo
19/ Khai báo Var x: real; A, B: byte; ch: char;. Khai báo đó có nghĩa là:
a Khai báo hằng x có kiểu thực, hằng A, B có kiểu nguyên byte, hằng ch có kiểu kí tự
b Khai báo biến x có kiểu thực, biến A, B có kiểu nguyên, biến ch có kiểu kí tự
c Khai báo biến x có kiểu thực, biến A, B có kiểu nguyên byte, biến ch có kiểu kí tự
d Khai báo hằng x có kiểu thực, biến A, B có kiểu nguyên byte, hằng ch có kiểu logic
20/ 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 lỗi cú pháp b Tạo được chương trình đích
c Thông báo lỗi cú pháp d Phát hiện lỗi ngữ nghĩa
II. Phần tự luận:
Hãy chỉ ra 4 lỗi và sửa các lỗi phát hiện được trong chương trình sau:
1. Var x,y,z :byte;
2. Begin
3. x :=221
4. y :=250 ;
5. z =x/y ;
6. wriite(z) ;
7. readln
8. End
Câu 2: Hãy viết câu lệnh rẽ nhánh cho bài toán như sau:
v = x + y nếu x > 1 và y > 1 ;
x – y nếu x > 1 và y ≤ 1 ;
- x + y nếu x ≤ 1 và y > 0 ;
- x – y nếu x ≤ 1 và y ≤ 0 ;
Câu 3: Viết chương trình tính giá trị Z=1.2.3...n sử dụng cấu trúc lặp.