Đề kiểm tra học kỳ II môn Tin - Lớp 8
Câu 1 (2 điểm)
a) Viết cú pháp câu lệnh lặp với số lần biết trước
b) Viết cú pháp câu lệnh lặp với số lần chưa biết trước
c) Viết cú pháp khai báo biến mảng
d) Viết lệnh khai báo một biến mảng gồm 50 phần tử có kiểu dữ liệu là số nguyên.
Câu 2 (1.5 điểm) Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
for i:=1 to 4 do s := s+i*2;
writeln(s);
Điền các giá trị vào bảng sau (sau khi thực hiện chương trình)
TRƯỜNG DTNT ĐẠTẺH TỔ TOÁN TIN ĐỀ KIỂM TRA HỌC KỲ II MÔN TIN - LỚP 8 NĂM HỌC 2012 – 2013 I. ĐỀ BÀI A. Phần trăc nghiệm:(mỗi câu đúng được 0.25đ; thời gian làm bài 16 phút ) Câu 1: Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước? A. Whiledo; B. If..then; C. Ifthenelse; D. Fordo; Câu 2: Phát biểu nào sau đây đúng nhất khi nói về câu lệnh lặp với số lần chưa biết trước: A. Kiểm tra điều kiện sau khi thực biện câu lệnh B. Nếu điều kiện đúng thì thực hiện câu lệnh và kết thúc C. Nếu điều kiện sai thì thực hiện câu lệnh và kết thúc D. Nếu điều kiện đúng thì thực hiện câu lệnh ngược lại ngừng vòng lặp Câu 3: điều kiện trong câu lệnh lặp với số lần chưa biết trước thường là : A. phép gán B. Phép so sánh C. Câu lệnh ghép D. Câu lệnh đơn Câu 4: Điều kiện để thực hiện trong câu lệnh lặp for :=to do là: A. giá trị của biến đếm phải nhỏ hơn giá trị đầu B. giá trị của biến đếm phải nhỏ hơn hoặc bằng giá trị cuối C. giá trị của biến đếm phải lớn hơn giá trị cuối D. giá trị của biến đếm phải nhỏ hơn giá trị cuối Câu 5: Đoạn lệnh sau đây : So : = 1; While So < 10 do writeln(So); So : = So + 1 sẽ cho kết quả gì ? A. In ra các số từ 1 đến 10; B. in ra 2. C. In ra vô hạn các số 1, mỗi số viết trên một dòng; D. In ra các số từ 1 đến 9; Câu 6: Trong lệnh lặp for to do của Pascal, thì các từ for, to, do là A. Các từ được khai báo B. Các từ khóa C. Các biến của vòng lặp D. Các tên chuẩn Câu 7: Cú pháp khai báo biến mảng nào sau đây là đúng? A. Var tên biến: array[chỉ số đầu,chỉ số cuối] of kiểu dữ liệu B. Var tên biến: array[chỉ số đầu..chỉ số cuối] of kiểu dữ liệu C. Var tên biến array: [chỉ số đầu..chỉ số cuối] of kiểu dữ liệu D. Var tên biến array[chỉ số đầu..chỉ số cuối] : kiểu dữ liệu Câu 8: Các khai báo mảng sau đây khai báo nào đúng? A. var X: Array[10,13] Of Integer; B. var X: Array[3.4..4.8] Of Integer; C. var X: Array[10..1] Of Integer; D. var X: Array[4..10] Of Real; Câu 9: Khai báo mảng A có 11 phần tử từ 5 đến 15 là các số nguyên thì ta khai báo như sau: A. Var A:Array [1..11] of integer; B. Var A:Array [5...15] of integer; C. Var A :Array [5..15] of integer; D. Var A: Array [11] of integer; Câu 10: Cú pháp gán giá trị cho phần tử của mảng nào sau đây đúng: A. Tên biến mảng[chỉ số] := B. Tên biến mảng(chỉ số) := C. Tên biến mảng[ giá trị ] := D. Tên biến mảng( giá trị ) := Câu 11: Trong lệnh lặp for to do của Pascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào? A. Tăng thêm 1 đơn vị B. Giảm 1 đơn vị C. một giá trị bất kì D. Một giá trị khác 0 Câu 12: Lệnh lặp While dừng: A. khi điều kiện đúng B. khi điều kiện sai C. khi biến đếm bằng giá trị cuối D. không ý nào đúng Câu 13: Câu lệnh pascal nào sau đây là hợp lệ? A. For i:= 2.5 to 10.5 do writeln(‘A’); B. For i:= 1 to 10 do writeln(‘A’); C. For i = 1 to 10 do writeln(‘A’); D. For i:= ’1’ to ‘10’ do writeln(‘A’); Câu 14: Trong câu lệnh lặp For i:=1 to 10 do begin end câu lệnh ghép được thực hiện bao nhiêu lần A. không lần nào B. 1 lần C. 2 lần D. 10 lần. Câu 15: Lệnh sau đây lặp bao nhiêu lần? for i:= 2 to 7 do write(‘A’); A. 2 lần B. 6 lần C. 7 lần D. 9 lần Câu 16: For là lệnh lặp với số lần biết trước, số vòng lặp là biết trước và được tính bằng A. giá trị cuối + giá trị đầu -1 B. giá trị cuối – giá trị đầu +1 C. giá trị đầu – giá trị cuối +1 D. Không có ý nào đúng. B. Phần tự luận (thời gian làm bài 29 phút) Câu 1 (2 điểm) Viết cú pháp câu lệnh lặp với số lần biết trước Viết cú pháp câu lệnh lặp với số lần chưa biết trước Viết cú pháp khai báo biến mảng Viết lệnh khai báo một biến mảng gồm 50 phần tử có kiểu dữ liệu là số nguyên. Câu 2 (1.5 điểm) Cho S và i là biến nguyên. Khi chạy đoạn chương trình : for i:=1 to 4 do s := s+i*2; writeln(s); Điền các giá trị vào bảng sau (sau khi thực hiện chương trình) Lần lặp thứ Giá trị của i Giá trị của S 1 ? ? 2 ? ? 3 ? ? 4 ? ? Kết quả in ra màn hình là ? Câu 3 (1.5 điểm) Cho S và i là biến nguyên. Khi chạy đoạn chương trình : While S<=10 do begin i:=i+1; S:=S+I; end; writeln(s); Điền các giá trị còn thiếu vào bảng sau (sau khi thực hiện chương trình) Lần lặp thứ Giá trị của i Giá trị của S 1 ? 1 ? 2 3 ? 3 6 ? ? ? ? ? ? . .. . Số vòng lặp thực hiện là ? Kết quả in ra màn hình là ? Câu 4 (1 điểm) Viết chương trình nhập vào một mảng số nguyên. Tính tổng các số nguyên đó. II. MA TRẬN Mức độ Kiến thức Nhận biết Thông Hiểu Vận dụng Tổng TN TL TN TL TN TL Câu lệnh lặp với số lần biết trước Số câu 4 1 4 1 10 Điểm 1 0.75 1 1 3.25 Câu lệnh lặp với số lần chưa biết trước Số câu 3 1 1 1 6 Điểm 0.75 0.75 0.25 1 2.75 Làm việc với dãy số Số câu 4 1 1 1 7 Điểm 1 0.75 0.75 1 4 Tổng Số câu 9 7 3 1 20 Điểm 2.75 2.25 1.25 2.75 1 10 III. ĐÁP ÁN A. Trắc nghiệm: 1 2 3 4 5 6 7 8 9 10 A D B B C B B D C A 11 12 13 14 15 16 A B B D B B B. Tự luận: HƯỚNG DẪN CHẤM VÀ THANG ĐIỂM Câu Hướng dẫn chấm Điểm 1a 1b 1c 1d For := to do While do Var :array[chỉ số đầu..chỉ số cuối] of kiểu dữ liệu Var A:array[1..50] of integer (3 điểm) 2 ( 1 đ) Lần lặp thứ Giá trị của i Giá trị của S 1 1 2 2 2 6 3 3 12 4 4 20 Kết quả in ra màn hình là 20 (1 điểm) 3 ( 1 đ) Lần lặp thứ Giá trị của i Giá trị của S 1 1 1 2 2 3 3 3 6 4 4 10 5 5 15 Số vòng lặp thực hiện là 5 Kết quả in ra màn hình là 15 (1 điểm) 3 ( 1 đ) Program nhapdayso; Uses crt; var: i , n , sum : integer; A:.[1..100] of integer; BEGIN Clrscr; Write(‘nhap so luong cac phan tu trong day so: ’); readln(n); for i:=1 to n do begin Write(‘ nhap gia tri phan tu thu ‘ , I , ‘A[‘, I , ‘] = ’); readln(A[i]); sum:=sum+A[i]; end; Writeln(‘tong cactrong day so : ’, ..); Readln END. Phần khai báo 0.25 điểm Phần thân 0.75 điểm
File đính kèm:
- 6dethihk22013 matran dapan.doc