Đề thi học kì 2 môn Tin học Lớp 8 - Năm học 2021-2022 - Trường THCS Hậu Giang (Có đáp án)

PHẦN I. Em hãy khoanh tròn câu trả lời đúng nhất trong các câu hỏi sau: 
Câu 1: Kết quả của điều kiện trong câu lệnh While … do có giá trị là 
A. Số nguyên 
B. Số thực. 
C. Dãy kí tự.                      
D. Đúng hoặc sai 
Câu 2: Trong các cánh khai báo biến mảng sau đây, cách khai báo nào là hợp lệ: 
A. Var a: array[1,15] of integer;             
B. Var a: array[1.5..10.5] of integer;                
C. Var a: array[1..15] of integer;                         
D. Var a: array[1.5,10.5] of integer; 
Câu 3: Các cách khai báo biến sau đây, cách khai báo nào là hợp lệ trong Turbo Pascal: 
A. Var a= integer;                          
B. Var a: integer;                                                     
C. Var a: array;                                     
D. Var : a: integer;           
Câu 4: Cho câu lệnh Pascal sau: For i:=5 to 25 do writeln(‘Y’); 
Số vòng lặp của câu lệnh này là bao nhiêu? 
A. 21 
B. 22        
C. 23                              


D. 24             
Câu 5: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì? 
         For i:=1 to 5 do write (i:3); 
A. 1  2  3   4   5                                                
B.  5   4   3   2   1 
C. Đưa ra i:3 
D. Không đưa ra kết quả gì 
Câu 6: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây không đúng? 
A. Chỉ số đầu và chỉ số cuối là hai số nguyên; 
B. Chỉ số đầu chỉ số cuối;               
C. Kiểu dữ liệu có thể là integer hoặc real; 
D. Dấu ba chấm (...) nằm giữa chỉ số đầu và chỉ số cuối 
Câu 7: Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc: 
A. Lặp với số lần biết trước. 
B. Lặp với số lần chưa biết trước.                                   
C. Lặp vô số lần. 
D. Lặp 10 lần.            

pdf 11 trang Ánh Mai 15/03/2023 2360
Bạn đang xem tài liệu "Đề thi học kì 2 môn Tin học Lớp 8 - Năm học 2021-2022 - Trường THCS Hậu Giang (Có đáp án)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfde_thi_hoc_ki_2_mon_tin_hoc_lop_8_nam_hoc_2021_2022_truong_t.pdf

Nội dung text: Đề thi học kì 2 môn Tin học Lớp 8 - Năm học 2021-2022 - Trường THCS Hậu Giang (Có đáp án)

  1. ĐỀ THI HỌC KÌ 2 NĂM HỌC 2021 - 2022 MÔN TIN HỌC 8 TRƯỜNG THCS HẬU GIANG Thời gian làm bài : 45 phút (Không kể thời gian phát đề) 1. ĐỀ SỐ 1 A. TRẮC NGHIỆM PHẦN I. Em hãy khoanh tròn câu trả lời đúng nhất trong các câu hỏi sau: Câu 1: Kết quả của điều kiện trong câu lệnh While do có giá trị là A. Số nguyên B. Số thực. C. Dãy kí tự. D. Đúng hoặc sai Câu 2: Trong các cánh khai báo biến mảng sau đây, cách khai báo nào là hợp lệ: A. Var a: array[1,15] of integer; B. Var a: array[1.5 10.5] of integer; C. Var a: array[1 15] of integer; D. Var a: array[1.5,10.5] of integer; Câu 3: Các cách khai báo biến sau đây, cách khai báo nào là hợp lệ trong Turbo Pascal: A. Var a= integer; B. Var a: integer; C. Var a: array; D. Var : a: integer; Câu 4: Cho câu lệnh Pascal sau: For i:=5 to 25 do writeln(‘Y’); Số vòng lặp của câu lệnh này là bao nhiêu? A. 21 B. 22 C. 23
  2. D. 24 Câu 5: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì? For i:=1 to 5 do write (i:3); A. 1 2 3 4 5 B. 5 4 3 2 1 C. Đưa ra i:3 D. Không đưa ra kết quả gì Câu 6: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây không đúng? A. Chỉ số đầu và chỉ số cuối là hai số nguyên; B. Chỉ số đầu chỉ số cuối; C. Kiểu dữ liệu có thể là integer hoặc real; D. Dấu ba chấm ( ) nằm giữa chỉ số đầu và chỉ số cuối Câu 7: Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc: A. Lặp với số lần biết trước. B. Lặp với số lần chưa biết trước. C. Lặp vô số lần. D. Lặp 10 lần. Câu 8: Kết quả của phép so sánh: A. Chỉ có giá trị sai. B. Chỉ có giá trị đúng. C. Có thể có giá trị đúng hoặc giá trị sai. D. Đồng thời nhận giá trị đúng và giá trị sai. PHẦN II. Chọn các từ, cụm từ: “Biến mảng, Dữ liệu kiểu mảng, không có thứ tự, giá trị của mảng, có thứ tự, kiểu mảng” để điền vào chỗ trống thích hợp trong các câu dưới đây: a) (1) là một tập hợp hữu hạn các phần tử (2) , mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử. b) (3) là biến có kiểu dữ liệu là (4) , các biến có cùng một kiểu và một tên duy nhất. PHẦN III. Hãy điền đáp án vào cột C: Là kết quả ghép nối đúng giữa cột A với cột B, mỗi câu
  3. A (Tên chương trình) B (Công dụng thu gọn) C (Kết quả) a) Quan sát hình không gian. 1. Finger Break Out 1+ b) Tìm hiểu thời gian. 2. Sun Times 2+ c) Luyện gõ phím nhanh. 3. Geogebra 3+ d) Học vẽ hình. 4. Yenka 4+ e) Học lập trình B. TỰ LUẬN Câu 1: (1,5 điểm) Em hãy xác định các câu lệnh sau đây đúng hay sai? Nếu sai hãy giải thích tại sao? For i:=150 to 1 do writeln(‘A’); For i:=1.5 to 30.5 do writeln(‘B’); S:=0;n:=0; While S<=20 do begin n:=n+1;S:=S+n; end. Var X: array[10 1] of integer; Var X: array[1,5 20,5] of integer; Var X: array[1 30] of integer; Câu 2: (3,0 điểm) a. Hãy nêu cú pháp của câu lệnh lặp với số lần biết trước. Nêu tác dụng của câu lệnh lặp. b. Hãy nêu cú pháp và hoạt động của câu lệnh lặp với số lần chưa biết trước. Câu 3: (1.5 điểm) Cho mảng A chứa các giá trị sau: A 17 13 20 10 15 i 3 4 5 6 7 a. Xác định các giá trị của A[2], A[4], A[7], A[9] là bao nhiêu? b. Cho các câu lệnh sau: A[2]:= A[3] + A[5] A[9]:= A[6] + A[7] Dựa vào bảng trên, hãy tính giá trị của các phần A[2], A[9]. ĐÁP ÁN A. PHẦN TRẮC NGHIỆM: PHẦN I:
  4. Câu 1 2 3 4 5 6 7 8 Đáp án D C B A A D B C PHẦN II: (1) Dữ liệu kiểu mảng (2) Có thứ tự (3) Biến mảng (4) Kiểu mảng PHẦN III: 1+c; 2+b; 3+d; 4+a B. PHẦN TỰ LUẬN: Câu 1: a) Sai. Vì giá trị đầu phải nhỏ hơn giá trị cuối. b) Sai. Vì biến chạy i chỉ nhận các giá trị nguyên. c) Đúng d) Sai. Vì chỉ số đầu trong mảng phải nhỏ hơn chỉ số cuối. e) Sai. Vì chỉ số đầu và chỉ số cuối của mảng không nhận giá trị số thực (mà chỉ nhận giá trị số nguyên). f) Đúng Câu 2: a)* Cú pháp câu lệnh lặp với số lần biết trước: For := to do ; * Tác dụng của câu lệnh lặp: - Tiết kiệm thời gian. - Giảm nhẹ công sức khi viết chương trình. b)* Cú pháp câu lệnh lặp với số lần chưa biết trước: While do ; * Hoạt động: B1: Kiểm tra điều kiện.
  5. B2: + Nếu điều kiện đúng thì câu lệnh sẽ được thực hiện và quay lại bước 1. + Nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Câu 3: a) A[2]: không xác định. A[7] = 15 A[4] = 13 A[9]: không xác định. b)A[2]:= A[3] + A[5] = 17 + 20 = 37 A[9]:= A[6] + A[7] = 10 + 15 = 25 2. ĐỀ SỐ 2 A. TRẮC NGHIỆM KHÁCH QUAN. (4đ) Chọn đáp án đúng nhất Câu 1: Cách khai báo mảng nào sau đây chương trình không báo lỗi? A. var X : Array [10, 13] of real; B. var X : Array [1 100] of integer; C. var X : Array [3.4 4.8] of integer; D. var X : Array [1 100] of real; Câu 2: Sau khi thực hiện đoạn chương trình sau: s:=1; for i:= 1 to 3 do s:= s*i; Giá trị của biến s bằng bao nhiêu? A. 10; B. 5; C. 6; D. 15. Câu 3: Cho đoạn chương trình sau: a := 1; b: = 7; While a Kết quả cuối cùng a bằng bao nhiêu? A. 5; B. 6; C. 7; D. 8. Câu 4: 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?
  6. A. Tăng thêm 1 đơn vị; B. +1 hoặc -1; C. Giá trị bất kì; D. Một giá trị khác 0. Câu 5: Trong phần mềm GeoGebra công cụ nào dùng để tạo ra trung điểm của đoạn thẳng? Câu 6: Giá trị của các mảng được cho như sau: A[1]:=4; A[2]:=7; A[3]:=1; A[4]:=9; A[5]:=2; Kết quả của T:= A[3]+A[5]+A[2]+10; bằng bao nhiêu? A. 10; B. 15; C. 20; D. 23. Câu 7: Với câu lệnh for i:=1 to 10 do x:=x+1; biến i được khai báo thuộc kiểu dữ liệu nào? A. Real; B. Integer; C. String; D. Char. Câu 8: Trong các câu lệnh lặp Pascal sau đây, câu nào chương trình không báo lỗi? A. While i:= 1 do t:=10 B. While x 0) do i:= i+ 1; B. TỰ LUẬN (6đ) Câu 1: (2đ) Các câu lệnh Pascal sau có đúng không? Hãy sửa lại cho đúng nếu sai? a) for i:=1 to 10 do writeln('A');
  7. b) var X; Array[5 10] Of Char; c) X:=10; while X=10 do X := X+5; d) for i=1.5 to 10.3 do writeln('A'); Câu 2: (4đ) Viết chương trình tính tổng dãy n số nguyên với n được nhập từ bàn phím. ĐÁP ÁN A. TRẮC NGHIỆM 1B; 2C; 3C; 4A; 5D; 6C; 7B; 8D B. TỰ LUẬN Câu 1: Câu Đúng Sai Sửa lại cho đúng nếu sai a) for i:=1 to 10 do writeln('A'); X b) var X; Array[5 10] Of Char; X var X: Array[5 10] Of Integer (Real); c) X:=10; while X=10 do X := X+5; X d) for i=1.5 to 10.3 do writeln('A'); X for i:=1 to 10 do writeln('A'); Câu 2: Câu Đúng Sai Sửa lại cho đúng nếu sai a) for i:=1 to 10 do writeln('A'); X b) var X; Array[5 10] Of Char; X var X: Array[5 10] Of Integer (Real); c) X:=10; while X=10 do X := X+5; X d) for i=1.5 to 10.3 do writeln('A'); X for i:=1 to 10 do writeln('A'); 3. ĐỀ SỐ 3 A. PHẦN TRẮC NGHIỆM:
  8. Câu 1: Câu lệnh viết đúng cú pháp là: A. While to ; B. While do ; C. While to do; D. While ; do ; Câu 2: Cú pháp của câu lệnh lặp for do là ? A. If (điều kiện) then (câu lệnh); B. Var n, i:interger; C. Phải kết hợp cả a, b và c. D. For := to do ; Câu 3: Hoạt động nào sau đây có thể tính toán được số lần làm việc: A. Múc từng gáo nước đến đầy bể B. Đi lên tầng, đến tầng 10 thì dừng C. Học cho tới khi thuộc bài D. Nhặt từng cọng rau cho tới khi xong Câu 4: Vòng lặp while do là vòng lặp: A. Biết trước số lần lặp B. Biết trước số lần lặp nhưng giới hạn là =10 Câu 5: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì? For i:=1 to 10 do write (i,’ ‘); A. 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ì Câu 6: Bạn An ăn sang mỗi ngày? A. Lặp với số lần biết trước. B. Lặp với số lần chưa biết trước. C. Không có hoạt động lặp.
  9. D. Đáp án khác. Câu 7: Các câu lệnh Pascal nào sau đây hợp lệ? A. for i:=100 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 8: Câu lệnh Pascal : While (4*5>=20) do Writeln (4*5); sẽ : A. In số 20 ra màn hình 4 lần. B. In số 20 ra màn hình 5 lần. C. Không thực hiện lệnh Writeln (4*5); D. Lặp vô hạn lần lệnh Writeln (4*5); Câu 9: While S 20 B. S=20 C.S<>20 D. S<20 Câu 10: Đoạn lệnh sau đây sẽ cho kết quả gì? so:=1; While so < 10 do writeln(so); so:=so + 1; A. In ra vô hạn các số 1, mỗi số trên một dòng; B. Không phương án nào đúng C. In ra các số từ 1 đến 9; D. In ra các số từ 1 đến 10; Câu 11: Câu lệnh nào sau đây lặp vô hạn lần A. s:=5; i:=0; C. s:=5; i:=1; While i<=s do While s:=s i<=s + do1; i:=i + 1;
  10. D. s:=0; i:=0; n:=5; While i s do If (i mod 2)=1 Then S:=S + i; i:=i + 1; Else i:=i+1; End; Câu 12: Để tính tổng S=1/2+1/4 + 1/6 + +1/ n; em chọn đoạn lệnh: A. for i:=1 to n do C. for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; if ( i mod 2) 0 then S:=S + i; B. for i:=1 to n do D. for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i if ( i mod 2)=0 then S:=S +1/ i Else S:= S + 1/i; Else S:=S-1/i; B. TỰ LUẬN: Câu 1: Đoạn chương trình i:=0; T:=5; While T<20 do Begin i:=i+1; T=T*i; End; Cho biết với đoạn lệnh trên chương trình thực hiện bao nhiêu vòng lặp và ý nghĩa câu lệnh lặp bằng cách điền vào chỗ trống bên dưới: Khởi tạo: i:=i+1; T<20? Số vòng lặp: . T:=T*i; Ý nghĩa: <20à Đ . . < 20à . . . < 20à .
  11. ĐÁP ÁN A. Trắc nghiệm: 1 2 3 4 5 6 7 8 9 10 11 12 B D B C A B D D A A A A B. Tự Luận: Đoạn chương trình Khởi tạo:i:=0; S:=5; i:=i+1; T Đ i=1, T= 5 Số vòng lặp:3 5 Đ i=2, T= 10 Ý nghĩa: Tính tích 10 Đ i=3, T= 30 Đến khi nào T >= 20 thì dừng vòng lặp 30 S Kết thúc vòng lặp