Phần trắc nghiệm đơn tuyển 3 điểm: Hãy khoanh tròn đáp án đúng nhất trong mỗi câu sau: Câu 1: Trong ngôn ngữ lập trình Pascal, hằng và biến khác nhau cơ bản như thế nào?. a Hằng và bi
Trang 1ĐỀ KIỂM TRA 1 TIẾT LẦN 1 – MÔN TIN HỌC KHỐI 11
Cam Mạnh Dần
K56ACNTT
A Phần trắc nghiệm đơn tuyển (3 điểm):
Hãy khoanh tròn đáp án đúng nhất trong mỗi câu sau:
Câu 1: Trong ngôn ngữ lập trình Pascal, hằng và biến khác nhau cơ bản như
thế nào? Hãy chọn phương án trả lời đúng nhất trong các phương án sau?
a Hằng và biến bắt buộc phải khai báo;
b Hằng là đại lượng mà giá trị không thể thay đổi được trong quá
trình thực hiện chương trình, biến là đại lượng mà giá trị của chúng có thể thay đổi được trong chương trình;
c Hằng không cần khai báo, còn biến phải khai báo;
d Hằng và biến là hai đại lượng mà giá trị đều có thể thay đổi được
trong quá trình thực hiện chương trình;
Câu 2: Trong ngôn ngữ lập trình Pascal, trong các khẳng định sau, khẳng
định nào sai?
a Phần thân chương trình có thể có hoặc không;
b Phần khai báo có thể có hoặc không;
c Phần tên chương trình không nhất thiết phải có;
d Phần thân chương trình nhất thiết phải có;
Trang 2Câu 3: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp thì câu lệnh nào sau
đây là sai?
Câu 4: Trong ngôn ngữ lập trình Pascal, từ khóa CONST dùng để
c khai báo tên chương trình; d khai báo hằng;
Câu 5: Trong các tên biến sau đây, tên nào đặt tên sai quy tắc đặt tên của
Ngôn ngữ lập trình Pascal?
Câu 6: Kết quả của biểu thức sqr((ABS(25-50) mod 4) ) là:
II Phần tự luận (7 điểm):
Câu 1 (0,5 điểm): Viết các khai báo cho các yêu cầu sau sao cho hợp lý và
tốn ít bộ nhớ nhất:
a k1 là một biến có thể nhận các kí tự;
b songuyen là một biến nguyên có thể nhận các giá trị từ -10 đến 200;
Câu 2 (0,5 điểm): Chuyển các biểu thức viết trong Pascal sau đây thành
Trang 3biểu thức toán học thông thường:
a (a*ab*b)/(2*x)
b sqrt(x)sqr(b)
Câu 3 (1 điểm): Viết các biểu thức quan hệ sau bằng ngôn ngữ lập trình
Pascal:
a axb
b 12 b 7
Câu 4 (2 điểm): Cho m = 10, n = 7, p = 10, q = -9 Hãy xác định giá trị của
các biểu thức sau:
a sqrt(m1)sqr(q)
b trunc(sqrt(p1))sqrt(n2)
c (mn)or(q p)
d (mn)(q p)
Câu 5 (1 điểm): Cho chương trình sau:
Var x, y: integer;
Begin
x:=15;
y:=sqr(x);
y:=y+x;
x:=y-x;
Trang 4End
Hãy cho biết sau khi thực hiện xong đoạn chương trình trên thì giá trị của 2 biến x và y là bao nhiêu?
Câu 6 (2 điểm): Viết chương trình nhập từ bàn phím 2 số thực m và n, tính
và đưa ra màn hình giá trị của biểu thức m n
Trang 5Đề kiểm tra Tin học lớp 11- Thời gian 45’
Người thực hiện: Bùi Thị Thuỳ- K56A-CNTT- ĐHSP Hà Nội
Đề kiểm tra 45’ môn Tin học lớp 11 Chương 5: Tệp và thao tác với tệp
Phần một: Khoanh tròn vào đáp án đúng nhất trong các câu dưới đây
Câu 1: Cho một tệp văn bản có 100 dòng Ta có thể đọc trực tiếp ngay dòng 50
mà không cần truy nhập qua 49 dòng đầu tiên được không? Vì sao?
A Không Vì chúng ta không biết độ lớn của từng dòng nên không thể định vị trực tiếp dòng bất kì
B Không Vì tệp văn bản không hỗ trợ truy nhập trực tiếp
C Có Vì tệp văn bản hỗ trợ truy nhập tệp trực tiếp vào bất kì vị trí nào của tệp
D Có Vì ta đã biết phải truy nhập vào dòng thứ 50
Câu 2: Trong chương trình sử dụng tệp là DATA, ta có thể khai báo biến tệp tên
là DATA được không?
A Có Vì chúng chỉ trùng tên nhưng khác kiểu
B Không Vì hai đối tượng trong Pascal phải có tên khác nhau
C Không Vì chương trình không phân biệt được hai đối tượng trùng tên
D Có Vì tên biến kiểu tệp và tên tệp là hai đối tượng khác nhau, mối quan
hệ giữa chúng được xác lập qua lệnh mở tệp
Trang 6Đề kiểm tra Tin học lớp 11- Thời gian 45’
Người thực hiện: Bùi Thị Thuỳ- K56A-CNTT- ĐHSP Hà Nội
Câu 3: Cho một tệp có cấu trúc, ta có thể:
A Truy nhập vào bất kì vị trí nào của tệp
B Đọc trực tiếp dữ liệu ở bất kì chỗ nào trên tệp
C Có thể truy nhập trực tiếp vào byte thứ n mà không cần đi qua n-1 byte đầu
D Không ý kiến nào ở trên thoả mãn
Câu 4: Một tệp soạn thảo bằng Winword( có phần mở rộng là DOC) có phải là 1 tệp văn bản không?
A Không Nó là 1 tệp có cấu trúc
B Không Nó là 1 tệp văn bản
C Có Vì nó chứa dữ liệu và cho phép thao tác với văn bản
D Không ý kiến nào ở trên thoả mãn
Câu 5: Cho biết chương trình sau làm gì?
A Tìm giá trị lớn nhất và in ra số lần đạt giá trị lớn nhất
B Đọc dữ liệu từ tệp INPUT.DAT
C In ra số lần đạt giá trị lớn nhất
D Gán cho biến mx giá trị bất kì
Trang 7Đề kiểm tra Tin học lớp 11- Thời gian 45’
Người thực hiện: Bùi Thị Thuỳ- K56A-CNTT- ĐHSP Hà Nội
Câu6: Trong ngôn ngữ lập trình, tệp có phải là một kiểu dữ liệu không?
A Có
B Không
Câu 7: Đặc điểm của kiểu dữ liệu tệp?
A Được lưu dữ lâu dài ở bộ nhớ ngoài
B Không bị mất khi mất nguồn điện
C Chỉ phụ thuộc vào dung lượng bộ nhớ
D Tất cả các ý trên
Câu8: Trong các phát biểu sau, phát biểu nào là đúng?
A Tệp truy cập tuần tự cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí ( thường là số hiệu của dữ liệu đó) của dữ liệu
B Tệp truy nhập trưc tiếp cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ và đi qua lần lượt tất cả các dữ liệu trước nó
C Tệp truy nhập trực tiếp cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí ( thường là số hiệu của dữ liệu đó) của dữ liệu
D Tệp truy cập tuần tự là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định
Trang 8Đề kiểm tra Tin học lớp 11- Thời gian 45’
Người thực hiện: Bùi Thị Thuỳ- K56A-CNTT- ĐHSP Hà Nội
Câu 9: Cho biết thủ tục assign( tep1, ‘DULIEU.DAT’) làm gi?
A Khai báo một biến tệp có tên là DULIEU.DAT
B Mở một têp có tên là tep1 và gán cho tệp có tên là DULIEU.DAT
C Ghi tệp
D Gắn biến tệp có tên là tep1 với đại diện của nó là DULIEU.DAT
Câu 10: Các thủ tục read(tepA, A,B,C) và readln(tepA,A,B,C) làm nhiệm vụ gì?
A Ghi dữ liệu của các biến A, B, C vào biến tệp có tên là tệp A
B Ghi dữ liệu vào các tệp có tên là: A, B, C
C Đọc dữ liệu từ các biến A, B, C được lưu trữ trên tệp A
D Đọc dữ liệu từ các biến A, B, C
Phần hai: Lập trình bài toán thực hiện yêu cầu sau:
Phần hai:
Trang 9Đề kiểm tra Tin học lớp 11- Thời gian 45’
Người thực hiện: Bùi Thị Thuỳ- K56A-CNTT- ĐHSP Hà Nội
Cho tệp LINE.TXT, mỗi dòng chứa một xâu không quá 255 kí tự Hãy lập trình tạo tệp LINE.DAT chứa các xâu ở tệp LINE.TXT nhưng mỗi xâu đã được chuẩn hoá theo quy tắc sau:
Xoá tất cả các dấu cách đầu và cuối xâu
Nhiều dấu cách liên tiếp( nếu có) được thay bằng một dấu cách duy nhất
Trang 10KIỂM TRA MỘT TIẾT
Môn: Tin học - Lớp 11
Đào Ngọc Hà K56A-CNTT
1 Phát biểu nào sau đây đúng với câu lệnh rẽ nhánh:
Sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin; và End
Sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu ngoặc đơn Sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End
Sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End;
2 Đoạn chương trình sau đưa ra màn hình kết quả nào:
for i:= 1 to 10 do write(i);
Đưa ra 10 cấu cách 1 2 3 4 5 6 7 8 9 10
Không đưa ra gì cả 10 9 8 7 6 5 4 3 2 1
3 Câu lệnh if nào sau đây đúng:
if a= 5 then a:= d+1 else a:= d+2; if a= 5 then a:= d+1 else a:= d+2
if a= 5 then a:= d+1; else a:= d+2; if a= 5 then a= d+1 else a= d+2;
4 Cho S và i là biến nguyên Khi chạy đoạn chương trình
for i:=1 to 10 do s := s+i;
writeln(s);
Kết quả xuất ra màn hình là
5 Cho đoạn chương trình sau:
Var S, i : Integer;
Begin
i := 3; S:= 40;
if ( i > 5 ) then S:= 5 * 3 + ( 5 - i ) * 2
Câu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Đáp
án
Trang 11else
if ( i > 2 ) then S:= 5 * i
else S:= 0;
End
Sau khi chạy chương trình giá trị của S là:
6 Khi chạy chương trình:
Var S, i, j : Integer;
Begin
S := 0;
for i:= 1 to 3 do
S := S + 2 ;
End
Giá trị sau cùng của S là:
7 Cho S: số thực và i kiểu số nguyên Để tính tổng bình phương các số chẵn từ 1 > n Câu lệnh nào đúng
for i:= 1 to n do if a mod 2 = 0 then s= s+ sqr(i); for i:= 3 to n do if a mod 2 = 0 then s:= s+ sqr(i);
for i:= 1 to n do if a mod 2<> 0 then s:= s+ sqr(i); for i:= 1 to n do if a mod 2 = 0 then s:= s+ sqr(i);
8 Câu lệnh if nào sau đây đúng cú pháp:
if <biểu thức logic> then < câu lệnh> if <biểu thức logic>; then < câu lệnh>;
if <biểu thức logic> ;then < câu lệnh> if <biểu thức logic> then < câu lệnh>;
9 Cho N là một biến kiểu nguyên, chọn câu đúng cú pháp:
If N < 10 then write (' Nho hon 10 ') ; else write (' Lon hon 10 ');
If N < 10 then write (' Nho hon 10 ') else write (' Lon hon 10 ');
If N < 10 Write (' Nho hon 10 ') else then write (' Lon hon 10 ');
If N < 10 then N := 10 else N > 20 then write (' N > 20 ');
10 Lệnh nào sau đây in ra màn hình số lớn hơn trong 2 số A,B
d) If A < B then writeln(A) else writeln(B); a) If
A > B then write(B) else write(A);
Trang 12c) If A > B then Readln(A) else Readln(B); b) If
A > B then write(A) else write(B);
11 Câu lệnh nào đúng:
if a = 5 then
Begin
a:= d+1;
b:= 2;
End;
else a:= d+2;
if a = 5 then Begin
a:= d+1;
b:= 2;
End else a:= d+2;
if a = 5 then
a:= d+1;
b:= 2;
else a:= d+2;
if a = 5 then Begin
a:= d+1;
b:= 2;
End else a= d+2;
12 Để tính tích T:= 1*2*4*5* *n ( n là số nguyên nhập từ bàn phím)
Câu lệnh nào đúng
t:= 1; for i:=1 to n do t:= t*i; t:= 0; for i:=1 to n do t:= t*i;
t:= 1; for i:=1 to n do t:= t*n; t:= 1; for i:=1 to n do t:= t+i;
13 Để tính tổng các ước thực sự của N ( ứơc thực sự là ước không kể chính nó) Câu lệnh nào đúng
t:=0; for i:= 1 to n-1 do if n div i = 0 then t:= t+i; t:=1; for i:= 1 to n-1 do if n div i = 0 then t:= t+i;
t:=0; for i:= 1 to n-1 do if n mod i = 0 then t:= t+i;
t:=1; for i:= 1 to n-1 do if n mod i = 0 then t:= t+i;
14 Trong ngôn ngữ lập trình Pascal về mặt cú pháp cách viết câu lệnh ghép nào sau đây đúng: Begin
A:= 1;
B:= 5;
End
Begin:
A:= 1;
B:= 5;
End;
Trang 13Begin;
A:= 1;
B;= 5;
End
Begin A:= 1;
b:= 5;
End;
15 Muốn kiểm tra đồng thời cả A,B,C cùng lớn hơn 0 hay không, viết câu lệnh if nào đúng:
if a>0 and B>0 and c>0 then if (a>0) or (B>0) or (c>0) then
if (a>0) and (B>0) and (c>0) then if A,B,C>0 then
16 Câu lệnh nào sau đây đúng cú pháp:
if <biểu thức logic> then <câu lệnh 1> else <câu lệnh 2>
if <biểu thức logic> then <câu lệnh 1> else <câu lệnh 2>;
if <biểu thức logic>; then <câu lệnh 1> else <câu lệnh 2>;
if <biểu thức logic> then <câu lệnh 1>; else <câu lệnh 2>;
17 Cho Nhóm lệnh nào tính sai giá trị của S
S:=1; FOR i:=1 TO 100 DO S := S + i*i; S:=0; FOR i:=100 DOWNTO 1 DO S := S + i*i;
S:=0; FOR i:=1 TO 100 DO S := S + sqr(i); S:=0; FOR i:=100 TO 1 DO S := S
+SQR(I);
18 Cho i là biến nguyên Sau khi thực hiện các lệnh:
i:= 2; if i = 1 then i:= 1+1 else i:= i+2;
Giá trị cuối cùng của i là:
19 Kiểm tra 3 số a,b,c đều lớn hơn 1 thì xuất ra màn hình số 1.Chọn lệnh nào
if (a > 1) or (b > 1) or (c > 1) then write(1); if a > 1 and b > 1 and c > 1 then write(1);
if (a > 1) and ( b > 1) and ( c > 1) then write(1); if a, b , c đều > 1 then write(1);
20 Đoạn chương trình sau tính gì:
t:= 0; for i:=1 to n do if (i mod 3 = 0) then t:= t+i*i;
Tổng các số nguyên torng phạm vi từ 1 đến n
tổng các số chia hết cho 3 trong phạm vi từ 1 dến n
Tổng bình phương các số chia hết cho 3 trong khoảng từ 1 đến n
Tính tổng bình phương các số trong phạm vi từ 3 đến n
Trang 14Tiêu chí đánh giá:
- Kiểm tra lượng kiến thức học sinh thu nhận được qua các bài đã học
- Đánh giá được sự hiểu, biết và vận dụng của học sinh
- Phân loại học sinh khá giỏi