MA TRẬN ĐỀ Cấp độ Chủ đề Nhận biết Thơng hiểu Vận dụng Cộng Cấp độ thấp Cấp độ cao 1. Một số khái niệm lập trình và ngôn ngữ lập trình Số câu Số điểm Tỉ lệ % 1 0,25 1 0,25 1 0,25 3 0,75 điểm= 7,5% 2. Chương trình đơn giản Số câu Số điểm Tỉ lệ % 4 1 1(TL) 1 2,5 0,25 1 0,25 6 1(TL) 4 điểm= 40% 3. Cấu trúc rẽ nhánh và lặp Số câu Số điểm Tỉ lệ % 2 0,5 1 0,25 1 0,25 4 1 điểm= 10 % 4. Kiểu dữ liệu có cấu trúc Số câu Số điểm Tỉ lệ % 5 1,25 4 1 1 (TL) 1 1,5 0,25 1 0,25 11 1(TL) 4,25 điểm= 42,5% Tổng số câu Tổng số điểm Tỉ lệ % 12 3 30% 6 1(TL) 4 40 % 6 1(TL) 3 30 % 24 2(TL) 10 PHẦN TRẮC NGHIỆM: (6đ) 1). Khai báo nào sau đây đúng: A). Var B:array[1 10] of read; B). Var B:array[1 10] of real; C). Var B:array[1…10] of real; D). Var B:array[1 10] : read; 2). Để xuất giá trị biến a ta dùng câu lệnh: A). write(x); B). Read(a); C). write(a); D). Read('x'); 3). Các phần tử của mảng một chiều được sắp theo thứ tự: A). Giá trị giảm dần B). Theo chỉ số C). Giá trị tăng dần D). Không sắp thứ tự 4). Cho st là biến kiểu xâu, sau khi thực hiện lệnh: ko:=copy('hoc sinh gioi tin',5,9); writeln(ko); kết quả in ra màn hình là: A). sinh gioi tin B). sinh gioi C). hoc tin D). hoc sinh 5). Để tham chiếu đến phần tử thứ 2, cột 5 của mảng 2 chiều B, ta viết: A). B[5 2] B). B[5,2] C). B[2,5] D). B[2],[5] 6). Chọn biểu thức có giá trị True: A). 'abcdg' > 'abcde' B). 'Tin hoc'='Hoc tin' C). 'Tin hoc' <> 'Tin hoc' D). 'abcd' < 'abc' 7). Khai báo hằng nào sau đây đúng qui định: A). Const nmax = 50; B). Const nmax 20; C). Const nmax := 20; D). Const nmax : 20; 8). Cho s:= 'nguyen teo!'; Hàm length(s) cho giá trị: A). 12 B). 11 C). 10 D). 9 9). Chuyển biểu thức toán học sau: b ac sang pascal: A). a/b*c B). 1/b*a/c C). 1/a*b/c D). b/a*c 10). Biểu diễn nào dưới đây là biểu diễn hằng : A). '65' B). End C). Begin D). 16+14 11). Trong NNLT Pascal sau khi thực hiện đoạn chương trình sau, giá trị của biến s là: S:='Bao Loc mua dong'; Delete(s,9,8); Insert('Mua thu',s,1); A). Bao Locmua dong B). Mua thuBao Loc C). Bao LocBao Loc D). Bao LocMua Thu 12). Cho biết giá trị của biến X khi thực hiện xong lệnh gán: X:=9 div 2 +2; A). 5 B). 6 C). 4 D). 3 13). Đoạn chương trình sau thực hiện việc gì: S:=0; for i:=1 to n do s:=s+B[i]; A). In ra màn hình tổng mảnh B B). Tính tổng các phần tử mảng B C). Đếm số phần tử mảng B D). Không thực hiện gì 14). Có xâu s1:='thitinhoccoban'; và xâu s2:='bangthieunhi'; để tạo xâu có nội dung: thitinhoccobanbangthieunhi dùng thủ tục nào: A). Insert(s2,s1,length(s1)); B). s3:=copy(s2,1,14); C). s3:=copy(s1,14,1); D). Insert(s1,s2,length(s2)); 15). Kết quả sau khi thực hiện những lệnh sau: S:=1; for i:=1 to 5 do s:=s*i; A). 5 B). 120 C). 1 D). 150 16). Trong Pascal, mảng B có giá trị các phần tử như sau: B[1], B[2], , B[5] lần lượt là: 2,3,4,5,6 lệnh in giá trị các phần tử ra màn hình: A). for i:=1 to 5 do write(a[i]); B). for i:=1 to 5 do write(a[15]); C). for i:=1 to 5 do write(a[1]); D). for i:=1 to 5 do write(a[5]); 17). Chuyển biểu thức trong pascal sau: b/sqrt(a)+b sang toán học lựa chọn nào đúng: A). b a b+ B). b b a + C). 2 b b a + D). 2 b a b+ 18). Với biến kiểu dữ liệu xâu ta có thể: A). Cộng hai biến xâu B). Nhân hai xâu với nhau C). Ghép hai biến xâu D). Gán một kí tự cho biến xâu 19). Xoá 4 kí tự từ vị trí thứ 10 trong xâu s. Cách nào đúng: A). Delete(s;10,4); B). Delete(s,4,10); C). Delete(s,10,4); D). Delete(s;4,10); 20). Cho s kiểu chuỗi và k nguyên, sau khi thực hiện lệnh: s:='thoi dai cntt'; k:=pos('cn',s); thì giá trị của k là: A). 8 B). 10 C). 7 D). 9 21). Cho khai báo sau: Var A:array[1 10] of real; lệnh gán nào là đúng: A). A:=8; B). A[5]:=5.5; C). A[1]:=5; D). A[11]:=8; 22). Thủ tục Insert('127','lophoc11',4); cho kết quả là: A). lophoc B). lop11 C). lophoc11127 D). lop127hoc11 23). Trong NNLT Pascal, đoạn chương trình sau thực hiện việc gì trong các việc sau: For i:=1 to n do readln(A[i]); A). In ra màn hình mảng A. B). Nhập mảng A. C). Không thực hiện việc gì. D). Tính tổng các phần tử của mảng 1 chiều. 24). Cho biết Kết quả xuất ra màn hình của các câu lệnh sau: a:=11; Write('hoc gioi ' , a); A). hoc gioi B). hoc gioi11 C). hocgioitin D). hoc gioi a PHẦN TỰ LUẬN: (4 ĐIỂM) Câu 1: Viết chương trình nhập vào một dãy nguyên, tính tích. Đưa ra màn hình dãy số đó và tích. Câu 2: Viết chương trình nhập vào một xâu và đưa ra màn hình xâu theo thứ tự ngược? 0.5đ 1đ 1đ ĐÁP ÁN Trắc nghiệm: (mỗi câu 0.25đ) 01. B 07. A 13. B 19. C 02. C 08. B 14. A 20. B 03. B 09. C 15. B 21. B 04. B 10. A 16. A 22. D 05. C 11. B 17. B 23. B 06. A 12. B 18. C 24. B Tự luận: (4đ) Câu 1:(2.5đ) Program cau1; Uses crt; Var A:array[1 30] of integer; n,i,p: integer; Begin p:=1; Write('nhap so phan tu cua day:'); Readln(n); For i:=1 to n do begin Write(' phan tu thu ',i,' la:'); readln(a[i]); p:=p*a[i]; End; Write(‘day so la:’); For i:=1 to n do write(A[i]:4); Write(‘Tich cac phan tu day:’,p); Readln End. Câu 2: (1.5đ) Var i,d: byte; a: string; 0,5 Begin write(‘nhap xau:’); readln(a); 0,5 d:=length(a); for i:=d downto 1 do write(a[i]); 0,5 readln End. . Insert(&apos ;12 7','lophoc 11& apos;,4); cho kết quả là: A). lophoc B). lop 11 C). lophoc 111 27 D). lop12 7hoc1 1 23). Trong NNLT Pascal, đoạn chương trình sau thực hiện việc gì trong các việc sau: For i: =1 to n do. 0.25đ) 01. B 07. A 13 . B 19 . C 02. C 08. B 14 . A 20. B 03. B 09. C 15 . B 21. B 04. B 10 . A 16 . A 22. D 05. C 11 . B 17 . B 23. B 06. A 12 . B 18 . C 24. B Tự luận: (4đ) Câu 1: (2.5đ) Program cau1; Uses. phần tử của mảng 1 chiều. 24). Cho biết Kết quả xuất ra màn hình của các câu lệnh sau: a: =11 ; Write(&apos ;hoc gioi ' , a); A). hoc gioi B). hoc gioi 11 C). hocgioitin D). hoc gioi a PHẦN