ĐỀ KIỂM TRA HỌC KÌ II Mục đích của đề kiểm tra *Kiến thức: Biết được cú pháp câu lệnh lặp, lệnh lặp với số lần chưa biết Hiểu được hoạt động các câu lệnh lặp Truy xuất, thao tác với các phần tử mảng *Kĩ năng: Khai báo và sử dụng biến mảng Viết được các câu lệnh lặp trong tình huống cụ thể Hình thức Kiểm tra trên giấy Ma trận đề Cấp độ Nội dung Nhận biết Thông hiểu Vận dụng Tổng Vận dụng thấp Vận dụng cao TNKQ TL TNKQ TL TNKQ TL TNKQ TL Câu lệnh lặp HS nhận biết được cú pháp câu lệnh lặp Câu 1, Câu 4, Câu 14, Câu 15 Nắm được tác dụng câu lệnh lặp Câu 1 Xác định được số lần lặp trong câu lệnh lặp Câu 6 Viết được câu lệnh lặp trong tình huống cụ thể Câu 19 Số câu Số điểm Tỉ lệ % 4 câu 1.0đ 10 % 1 câu 1.5đ 15% 1 câu 0.25đ 2.5% 1 câu 0.25đ 2.5% Số câu: 7 Số điểm: 3.0 điểm Tỉ lệ: 30% Lặp với số lần chưa biết trước Nhận biết được cú pháp câu lệnh lặp với số lần chưa biết trước Câu 5, Câu 7, Câu 8, Câu 11, Câu 16 Nắm được hoạt động câu lệnh lặp với số lần chưa biết trước Câu 9. Câu 10 Xác định được kết quả sau khi thực hiện câu lệnh lặp với số lần chưa biết trước Câu 2 Số câu Số điểm Tỉ lệ % 5 câu 1.25đ 12.5% 2 câu 0.5đ 5% 1 câu 2.0đ 20% Số câu: 8 Số điểm: 3.75 điểm Tỉ lệ 37.5% Làm việc với dãy số Biết cách khai báo và sử dụng biến mảng Câu 3, Câu 17, Câu 18, Câu 20, Câu 13 Truy xuất được các phần tử mảng Câu 2 Thao tác được với phần tử mảng Câu 12 Viết được câu lệnh nhập giá trị và thực hiện được tính toán với các phần tử mảng Câu 3 Số câu Số điểm Tỉ lệ 5 câu 1.25đ 12.5% 1 câu 0.25đ 2.5% 1 câu 0.25đ 2.5% 1 câu 1.5đ 15% Số câu:8 câu Số điểm: 3.25 điểm Tỉ lệ 32.5% Tổng số câu Tổng số điểm Tỉ lệ 15 câu 5.0 điểm 50% 5 câu 3.0 điểm 30% 3 câu 2.0 điểm 20% 23 câu 10 điểm: Tỉ lệ 100% Câu hỏi Phần trắc nghiệm (5.0 điểm) Sự khác nhau giữa lệnh For do và lệnh Whiledo là: For do là câu lệnh điều kiện còn Whiledo là lệnh lặp với số lần chưa biết trước; For do là lệnh lặp với số lần biết trước còn Whiledo là lệnh lặp với số lần chưa biết trước For do là lệnh rẽ nhánh còn Whiledo là lệnh lặp với số lần biết trước; For do là lệnh lặp còn Whiledo là câu lệnh điều kiện; Để nhập một giá trị cho phần tử thứ 5 của mảng Diem ta viết là: Readln(Diem); Readln(Diem[i]); Readln(Diem[5]); Readln(Diem(5)); Cho mảng A như hình sau 30 18 56 9.5 15 1 2 3 4 5 A Đâu là cách biểu diễn phần tử của mảng A và giá trị tương ứng là đúng? A[3] = 56 A[18]= 2 A[9]= 3 A[5]= 5. Câu lệnh lặp For do kết thúc khi: Khi giá trị biến đếm nhỏ hợn giá trị cuối; Khi giá trị biến đếm bằng giá trị cuối; Khi giá trị biến đếm lớn hơn giá trị cuối; Khi giá trị biến đếm lớn hơn giá trị đầu. sau từ khóa do trong câu lệnh Whiledo được thực hiện ít nhất bao nhiêu lần? 0 lần; 1 lần; 2 lần; Vô hạn lần Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu? S:=2; For i:=1 to 4 do S:=S + i; S=3 S=5 S=8 S=12 Cú pháp câu lệnh lặp với số lần chưa biết trước là While to ; While do ; While to do ; While ;do ; Câu lệnh Pascal nào sau đây hợp lệ? for i:=100 to 1 do writeln(‘A’); for i:= 1.5 to 10.5 do writeln(‘A’); for i:= 1 to 10 do writeln(‘A’); for i:=1 to 10 do; writeln(‘A’); Khi thực hiện đoạn chương trình sau, câu “Xin chào” được viết ra màn hình bao nhiêu lần? N:=1; While N>0 do Begin N:=N + 1; Writeln(‘Xin chao’; End; 0 lần; 10 lần; 9 lần; Vòng lập vô tận Xuất dữ liệu từ mảng B có 10 phần tử từ phần tử 10 đến 20 ta viết lệnh như sau: For i: =10 to 20 do Write(B[i]); For i: =10 to 20 do Readln(B[i]); For i:=1 to 10 do Write(B[i]); For i:=1 to 10 do Readln(B[i]); Việc đầu tiên mà câu lệnh lặp Whiledo cần thực hiện trước tiên là gì? Thực hiện sau từ khóa Do; Kiểm tra sau While; Kiểm tra ; Tăng giá trị cho biến trong . Cho đoạn chương trình sau: For i:=1 to 6 do If Tuoi[i] <= 50 then write(Tuoi[i],’ ‘); Giả sử mảng Tuoi gồm 6 phần tử có giá trị tương ứng là: 61 79 42 36 50 73 . Sau khi thực hiện đoạn chương trình trên ta nhận được kết quả là: 61 79 42 36 50 73 61 79 73 42 36 50 42 36 Viết biểu thức a[7] * b[2] trong Pascal có nghĩa là: 7*2 Giá trị phần tử thứ 7 mảng a nhân với giá trị phần tử thứ 2 mảng b; Biến a nhân với biến b Số 7 của mảng a nhân với số 2 của mảng b. Trong câu lệnh lặp với số lần biết trước (fordo), được thực hiện bào nhiêu lần? (giá trị cuối – giá trị đầu) lần Tùy thuộc vào bài toán mới biết được số lần Khoảng 10 lần (giá trị cuối – giá trị đầu + 1) lần Cú pháp của câu lệnh Fordo là For = to do ; For := to do ; For := to do ; For := to ;do ; Khi sử dụng lệnh lặp While do cần chú ý điều gì? Số lần lặp; Số lượng câu lệnh; Điều kiện dần đi đến sai; Điều kiện dần đi đến đúng. Để đọc giá trị của một phần tử bất kì trong mảng, ta có thể ghi như sau: Tên mảng[chỉ số] Tên mảng[giá trị phần tử] Tên mảng(chỉ số) Tên mảng(giá trị phần tử) Chỉ ra cách khai bào biến mảng đúng trong Pascal Var :Array [] of ; Var :Array [: ] of ; Var Array [ .. ] of ; Var :Array [..] of ; Một bạn muốn in ra 4 chữ B và 4 chữ C trên màn hình bẳng đoạn chương trình sau: Var i: integer; Begin For i:=1 to 4 do writeln(‘B’); writeln(‘C’); End. Em có nhận xét gì về đoạn chương trình trên? Đúng rồi; Phải đổi writeln thành write; Cần phải đưa hai lệnh writeln (‘B’); writeln(‘C’); vào trong cặp Begin và End; Phải đặt writeln (‘B’) và writeln (‘C’) ở hai dòng riêng biệt. Các phần tử của một mảng: Phải cùng kiểu dữ liệu; Phải khác kiểu dữ liệu; Phải có giá trị như nhau; Phải là các số nguyên; Phần tự luận (5.0 điểm) (1.5 điểm) Hãy xác định biến đếm, giá trị đầu, giá trị cuối, câu lệnh, số lần lặp trong câu lệnh sau: For i:=1 to 10 do if i mod 2 = 0 then s:=s+i; (2.0 điểm) Hãy cho biết số lần lặp và giá trị của s là bao nhiêu sau khi t hực hiện đoạn chương trình sau: s:=0; i:=1; while i<5 do begin if i mod 2 = 0 then s:=s+i; i:=i + 1; end; (1.5 điểm) Hãy bổ sung những lệnh còn thiếu để hoàn chỉnh chương trình tính tổng n, với n và các số nhập được nhập vào từ bàn phím program Tinh_tong; uses crt; var i,n:integer; s:real; a:array[1..50] of real; begin s:=0; write('Nhap so cac so can tinh tong:'); readln(n); writeln('Moi ban nhap cac so can tinh tong'); for write('Tong ',n, ' so la: ',s:5:2); readln end. ĐÁP ÁN Phần trắc nghiệm Mỗi câu trả lời đúng (0.25 điểm) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 B C A C A D B C D A B D B D B C A D C A Phần tự luận Câu 1 (1.5 điểm) Biến đếm: i (0.25đ) Giá trị đầu: 1 (0.25đ) Giá trị cuối: 10 (0.25đ) Câu lệnh: if i mod 2 = 0 then s:=s+i (0.25đ) Số lần lặp: 10 lần (0.5đ) Câu 2 (2.0 điểm) Đoạn chương trình thực hiện 4 lần lặp (1.0đ) Sau khi thực hiện đoạn chương trình giá trị của s là 6 (1.0đ) Câu 3 (1.5 điểm) Cách 1: For i:=1 to n do begin readln(a[i]); s:=s+a[i]; end; cách 2: for i:=1 to n do readln(a[i]); for i:=1 to n do s:=s+a[i];
Tài liệu đính kèm: