PHÒNG GD&ĐT CHÂU THÀNH Trường THCS BIÊN GIỚI CỢNG HÒA XÃ HỢI CHỦ NGHĨA VIỆT NAM Đợc lập – Tự do – Hạnh phúc ĐỀ THI KHẢO SÁT CHẤT LƯỢNG GIỮA HKII Mơn thi: TIN ; LỚP: 8 Thời gian: 45 phút (khơng kể thời gian phát đề) MA TRẬN ĐỀ Các cấp độ tư duy Nội dung Nhận biết Thông hiểu Vận dụng Tổng TN TL TN TL TN TL Câu lệnh điều kiện 2 0.5đ 2 0.5đ 4 1đ Câu lệnh lặp 3 0.75đ 2 3.5đ 3 0.75đ 8 5đ Lặp với số lần chưa biết trước 1 0.25đ 1 0.25đ 1 1.5đ 1 2đ 4 4đ Tổng 8 5đ 7 3đ 1 2đ 16 10đ NỘI DUNG ĐỀ I / Trắc nghiệm(3 đ) Khoanh tròn chữ cái đầu câu trả lời mà em cho là đúng nhất Câu 1: Sau khi thực hiện chương trình sau, giá trị của biến j bằng bao nhiêu? j := 0; For i := 1 to 5 do j := j + 2; A. 0 B. 2 C. 5 D. 10 Câu 2: Câu lệnh nào hợp lệ trong các câu lệnh pascal sau? A. for i := 10 to 1 do writeln(‘A’); B. for i := 1.5 to 10.5 do writeln(‘A’); C. for i = 1 to 10 do writeln(‘A’); D. for i:= 1 to 10 do writeln(‘A’); Câu 3: Trong đoạn chương trình sau, có mấy câu lệnh được lặp lại? S := 0; dem := 0; n := 10; While dem > n do Begin dem := dem +1; Write(‘ Nhap so X’,dem,’=’);Readln(X); S := S + X ; end; A. 0 B. 1 C. 3 D. 4 Câu 4: Câu lệnh nào hợp lệ trong các câu lệnh pascal sau? A. X:= 10; While X := 10 do X:= X + 5; B. X:= 10; While X = 10 do X = X + 5; C. X:= 10; While X = 10 do X:= X + 5; D. X:= 10 While X = 10 do X:= X + 5; Câu 5: Trong ngơn ngữ lập trình Pascal câu lệnh nào sau đây là đúng: If then else If then ; else ; If then else ; If ; then else ; Câu 6: Trong ngơn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh Ifthen? Nếu 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. Nếu 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 Nếu 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; Nếu 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. Câu 7: Trong ngơn ngữ lập trình Pascal câu lệnh nào sau đây là đúng: A. If a=5 then a:=d+1; else a:=d+2; B. If a=5 then a:=d+1else a:=d+2; C. If a=5 then a=d+1; else a=d+2; D. If a=5 then a:=d+1else a:=d+2 Câu 8: Trong ngơn ngữ Pascal, muốn kiểm tra đồng thời cả ba giá trị của A, B, C cĩ cùng lớn hơn 0 hay khơng ta viết câu lệnh If thế nào cho đúng nhất? If A, B, C > 0 then IF (A>0) and (B>0) and (C>0) then IF A>0 and B>0 and c>0 then IF (A>0) or (B>0) or (c>0) then Câu 9: Trong ngơn ngữ Pascal, về mặt cú pháp câu lệnh nào sau đây đúng với cấu trúc lặp For cĩ một lệnh con? For i:=1 to 100 do a:=a-1; B. For i:=1 to 100 do; a:=a-1; C. For i:=1 to 100 do a:=a-1 D. For i:=1; to 100 do a:=a-1; Câu 10: Trong lệnh lặp Fortodo của Pascal, trong mỗi vịng lặp biến đếm thay đổi như thế nào? A. +1; B. -1; C. Một giá trị bất kì; D. Một giá trị khác 0; Câu 11: Trong câu lệnh lặp for i:=1 to 10 do beginend; câu lệnh ghép được thực hiện bao nhiêu lần (nĩi cách khác, bao nhiêu vịng lặp được thực hiện?) A. Khơng lần nào B. 1 lần C. 3 lần D. 2 lần Câu 12: Trong ngơn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì? For i:=10 to 1 do write (i,’ ‘); 1 2 3 4 5 6 7 8 9 10 B. 10 9 8 7 6 5 4 3 2 1 C. Đưa ra 10 dấu cách D. Khơng đưa ra kết quả gì II/ Tự luận (7 điểm) Câu 13: (2đ) Hãy nêu tác dụng của câu lệnh lặp trong lập trình? Cho ví dụ về hoạt động lặp trong cuộc sống mà em biết. Câu 14: (2đ) Hãy tìm hiểu thuật toán sau, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc giá trị của S bằng bao nhiêu? Bước 1: S ! 10, X ! 0.5 Bước 2: Nếu S ≤ 5.5, chuyển sang bước 4 Bước 3: S ! S – X và quay lại bước 2 Bước 4: Thông báo S và kết thúc thuật toán. Câu 15:Em hãy viết chương trình tính tổng các số tự nhiên từ 100 đến 1000 ( Sử dụng vịng lặp xác định và vịng lặp khơng xác định)(3đ) HƯỚNG DẪN CHẤM A/ Trắc nghiệm(3 đ) Câu 1 2 3 4 5 6 7 8 9 10 11 12 Đáp án D D A C C C B B A A Không có đáp án đúng D Điểm 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,5 0,25 0,25 0,25 0,25 II/Tự luận (7 điểm) Câu Nội dung Điểm 13 Tác dụng của câu lệnh lặp trong lập trình là làm đơn giản và giảm nhẹ công sức của người viết chương trình. Cho ví dụ về hoạt động lặp trong cuộc sống đúng 1đ 1đ 14 9 vòng lặp , S= 5.5 1đ 1đ 15 Viết chương trình tính tổng các số tự nhiên từ 100 đến 1000 * Vịng lặp xác định: Program tinh_tong; Var i, S: Integer; Begin For i:= 100 to 1000 do S:= S + i; Wirteln(‘ tong cac so tu nhien tu 100 den 1000 la:’,S); Readln; End. * Vịng lặp khơng xác định: Program tinh_tong; Var i, S: Integer; Begin i:= 100; S:= 0; While i > 1000 do S:= S + i; i:= i + 1; Writeln(‘ Tong cac so tu nhien tu 100 den 1000 la:’,S); Readln; End. 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ 0.25đ
Tài liệu đính kèm: