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

A/ Trắc nghiệm khách quan:  
I. Hãy điền vào bảng điền đáp án bên dưới ứng với câu trả lời em cho là đúng nhất: 
Câu 1: Khi nào thì câu lệnh lặp For…do (dạng tiến) kết thúc? 
A. Khi biến đếm nhỏ hơn giá trị cuối. 
B. Khi biến đếm lớn hơn giá trị cuối. 
C. Khi biến đếm bằng giá trị cuối. 
D. Khi biến đếm bằng giá trị đầu. 
Câu 2: Khi sử dụng lệnh lặp While…do cần chú ý `điều gì? 
A. Điều kiện dần đi đến sai. 
B. Số lần lặp. 
C. Số lượng câu lệnh. 
D. Điều kiện dần đi đến đúng. 
Câu 3: Kết quả của phép so sánh: 
A. Có thể có giá trị đúng hoặc giá trị sai. 
B. Chỉ có giá trị đúng. 
C. Đồng thời nhận giá trị đúng và giá trị sai. 
D. Chỉ có giá trị sai. 
Câu 4: Trong Pascal, câu lệnh lặp với số lần chưa xác định trước có dạng: 
A. While <điều kiện=""> do
B. While <điều kiện="">; do
C. While <điều kiện=""> then
D. While <điều kiện="">; then
Câu 5: Việc đầu tiên mà câu lệnh lặp While…do cần thực hiện là gì? 
A. Thực hiện sau từ khóa do. 
B. Kiểm tra giá trị của <điều kiện="">.
pdf 13 trang Ánh Mai 15/03/2023 4360
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 Văn Lang (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 Văn Lang (Có đáp án)

  1. ĐỀ THI HỌC KÌ 2 NĂM HỌC 2021 - 2022 MÔN TIN HỌC 8 TRƯỜNG THCS VĂN LANG 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 khách quan: I. Hãy điền vào bảng điền đáp án bên dưới ứng với câu trả lời em cho là đúng nhất: Câu 1: Khi nào thì câu lệnh lặp For do (dạng tiến) kết thúc? A. Khi biến đếm nhỏ hơn giá trị cuối. B. Khi biến đếm lớn hơn giá trị cuối. C. Khi biến đếm bằng giá trị cuối. D. Khi biến đếm bằng giá trị đầu. Câu 2: Khi sử dụng lệnh lặp While do cần chú ý `điều gì? A. Điều kiện dần đi đến sai. B. Số lần lặp. C. Số lượng câu lệnh. D. Điều kiện dần đi đến đúng. Câu 3: Kết quả của phép so sánh: A. Có thể có giá trị đúng hoặc giá trị sai. B. Chỉ có giá trị đúng. C. Đồng thời nhận giá trị đúng và giá trị sai. D. Chỉ có giá trị sai. Câu 4: Trong Pascal, câu lệnh lặp với số lần chưa xác định trước có dạng: A. While do ; B. While ; do ; C. While then ; D. While ; then ; Câu 5: Việc đầu tiên mà câu lệnh lặp While do cần thực hiện là gì? A. Thực hiện sau từ khóa do. B. Kiểm tra giá trị của .
  2. C. Thực hiện sau từ khóa then. D. Kiểm tra . Câu 6: Cho đoạn chương trình sau: N:=0; While N>0 do Begin N:=N+1; Writeln(‘Xin chao’); End; Khi thực hiện chương trình, câu “Xin chao” được viết ra màn hình mấy lần? A. 10. B. 9. C. 0. D. Vòng lặp vô tận. Câu 7: Trước khi khai báo mảng A:array[1 n] of Real, thì phải khai báo điều gì trước? A. Const n=10; B. Var n:integer; C. Cả A và B đều đúng. D. Cả A và B đều sai. Câu 8: Chỉ ra cú pháp khai báo biến mảng đúng trong Turbo Pascal: A. Var : array[ ] of ; B. Var : array[ ]: ; V. Var : array[ : ]: ; D. Var : array[ ]of ; Câu 9: Trong câu lệnh lặp với số lần định trước (for do), được thực hiện mấy lần? A. ( - ) lần. B. Tùy thuộc vào bài toán mới biết được số lần. C. Khoảng 10 lần. D. ( - + 1) lần. Câu 10: Các phần tử của mảng:
  3. A. Phải khác kiểu dữ liệu. B. Phải có giá trị như nhau. C. Phải cùng kiểu dữ liệu. D. Có thể cùng kiểu hoặc khác kiểu dữ liệu. Câu 11: Chỉ ra khai báo biến mảng đúng trong các cách khai báo sau: A. Var a:array[1 10] of integer; B. Var a:array(1 10] of integer; C. Var a:array(1 10) of integer; D. Var a:array[1 10] of integer; Câu 12: Cho đoạn chương trình sau: N:=1; While N sau từ khóa do trong câu lệnh lặp While do được thực hiện ít nhất: A. 1 lần. B. 0 lần. C. 2 lần. D. Còn tùy thuộc vào bài toán. Câu 14: Cho đoạn chương trình sau: S:=0; For i:=1 to 1 do S:=S+1; Sau khi chạy đoạn chương trình trên, giá trị S là:
  4. A. S=100. B. S=0. C. S=1. D. Không xác định. Câu 15: Chỉ ra câu lệnh lặp với số lần lặp biết trước trong các câu lệnh rút gọn sau đây? A. While do. B. If – then – else. C. If – then. D. For do. Câu 16: Trong các cách viết câu lệnh lặp với số lần định trước như sau, cách nào đúng? A. For := to ;do B. For := to do ; C. For := to do D. For = to do ; II/ 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: 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: Cho chương trình sau (bằng Turbo Pascal): Begin {1} Write(‘Tong cac so chan nho hon 50 la:’,t ); {2} While i<50 do {3} Begin {4} If i mod 2 =0 then {5} t:=t + i; {6}
  5. i:=i+1; {7} end; {8} Uses crt; {9} Var i, t:integer; {10} i:=1; t:=0; {11} Clrscr; {12} Readln; {13} End. {14} a/ Chương trình trên bị sai về vị trí các dòng {2}, {9}, {10}, {11}, {12}, hãy sắp xếp lại vị trí của các dòng này để được chương trình đúng b/ Hãy cho biết công dụng của chương trình trên Câu 2: Hãy vẽ hình nút lệnh và nêu tên gọi tương ứng của các công cụ tạo mối quan hệ hình học có trong chương trình Geogebra. Câu 3: Viết chương trình (bằng ngôn ngữ Pascal) thực hiện công việc nhập 10 phần tử có giá trị nguyên cho mảng A (mảng 1 chiều) từ bàn phím và tính tổng các phần tử lẽ có trong mảng A. ĐÁP ÁN A/ Trắc nghiệm khách quan: I/ Bảng điền đáp án Câu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Đ.án B A A A B C A D D C D C B C D B II/ 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+ c b/ Tìm hiểu thời gian. 2. Sun Times. 2+ b c/ Luyện gõ phím nhanh. 3. Geogebra. 3+ d d/ Học vẽ hình. 4. Yenka. 4+ a e/ Học lập trình.
  6. B/ Tự luận: Câu 1: a/ Chương trình sắp xếp lại thứ tự đúng: Uses crt; {9} Var i, t:integer; {10} Begin Clrscr; {12} i:=1; t:=0; {11} While i<50 do Begin If i mod 2 =0 then t:=t + i; i:=i+1; end; Write(‘Tong cac so chan nho hon 50 la:’,t ); {2} Readln; End. b/ Công dụng: Dùng để tính tổng các số chẵn có trong dãy số từ 1 đến 49 Câu 2: - Minh họa đúng hình của mỗi nút lệnh có trong công cụ tạo mối liên hệ hình học trong chương trình Geogebra: - Nêu đúng tên gọi tương ứng của mỗi nút lệnh (ứng với hình minh họa) có trong chương trình Geogebra: Câu 3: Thực hiện đúng theo yêu cầu
  7. Đáp án mẫu (có thể có đáp án khác, miễn thực hiện được việc nhập và tính tổng các phần tử lẽ có trong mảng) uses crt; var i, t:integer; A: array[1 10] of integer; begin clrscr; writeln('Nhap gia tri cho cac phan tu trong mang:'); for i:=1 to 10 do begin write('Phan tu thu ',i,': '); readln(A[i]); end; t:=0; for i:=1 to 10 do if a[i] mod 2 <>0 then t:=t+a[i]; write('Tong cac pahn tu le co trong mang la: ',t); readln; end. 2. ĐỀ SỐ 2 I/ TRẮC NGHIỆM: Câu 1: Số lần lặp của câu lệnh lặp for to do được tính như thế nào? A. Giá trị đầu – giá trị cuối B. Giá trị đầu – giá trị cuối + 1 C. Giá trị cuối – giá trị đầu D. Giá trị cuối – giá trị đầu + 1 Câu 2: Giả sử biến Chiều cao gồm 20 phần tử, cách khai báo nào dưới đây là đúng
  8. A. Var Chieucao: array[1 20] of real; B. Var Chieucao: array[1 20] of integer; C. Var Chieucao: array[1 20] of string; D. Var Chieucao: array[1 20] of char; Câu 3: Trong câu lệnh While do nếu điều kiện đúng thì: A. Tiếp tục vòng lặp B. Vòng lặp vô tận C. Lặp 10 lần D. Thoát khỏi vòng lặp Câu 4: Khai báo biến mảng: A: array[1 7] of real;. Sử dụng câu lệnh For i:= 1 to 5 do readln(A[i]); để gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được bao nhiêu giá trị? A. 7 B. 6 C. 5 D. 4 Câu 5: Trong cú pháp khai báo biến mảng, chỉ số đầu và chỉ số cuối là hai số A. số nguyên B. số thực C. kí tự D. xâu kí tự Câu 6: Trong câu lệnh For do sau từ khóa “do” có hai câu lệnh trở lên ta “gói” chúng trong: A. Begin readln; B. Begin and; C. End Begin D. Begin end; Câu 7: 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;
  9. 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 8: Cú pháp câu lệnh lặp nào sau đây là đúng? A. For := down to do ; B. For := to do ; C. For := to do ; D. For = to do ; Câu 9: Trong các hoạt động dưới đây, đâu là hoạt động lặp với số lần chưa biết trước: A. Mỗi buổi học đúng 5 tiết. B. Mỗi ngày ăn cơm 3 buổi. C. Mỗi ngày phải học bài cho đến khi thuộc. D. Rằm tháng Giêng là Tết Nguyên tiêu. Câu 10: Giả sử biến mảng A có 5 phần tử và giá trị của các phần tử lần lượt là 1, 4, 7, 2, 6. Khi thực hiện câu lệnh sau: tb:= 0; For i:= 1 to 5 do tb := tb + A[i]; Giá trị của biến tb là bao nhiêu? A. 18 B. 22 C. 21 D. 20 Câu 11: Hãy cho biết kết quả của đoạn chương trình dưới đây: a:=10; white a>=10 do write(A); A. Trên màn hình xuất hiện một chữ a; B. Trên màn hình xuất hiện 10 chữ a; C. Trên màn hình xuất hiện một số 10; D. Chương trình bị lặp vô tận Câu 12: Vòng lặp sau cho kết quả S bằng bao nhiêu: S := 1; For i := 1 to 3 do S := S * 2; A. S = 6
  10. B. S = 8 C. S = 10 D. S = 12 II/ TỰ LUẬN: Câu 1: Hãy nêu cú pháp khai báo biến mảng trong pascal? a/ Giải thích cú pháp khai báo biến mảng trong Pascal? b/ Cho ví dụ về khai báo biến mảng. Câu 2: Viết chương trình tính tổng từ 1 đến 50. ĐÁP ÁN I/ TRẮC NGHIỆM: Câu 1 2 3 4 5 6 7 8 9 10 11 12 Đáp án D A A C A D D B C D D B II/ TỰ LUẬN: Câu 1: Var :Array[ ]of ; a. Chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mản chỉ số đầu <= chỉ số cuối và kiểu dữ liệu có thể là số nguyên (integer) hay số thực (real). b. Var thunhap: array[1 50] of real; Câu 2: program Tinh_tong; uses crt; var i:integer; T:longint; begin Tổng:=0; writeln('Đây là chương trình tính tổng từ 1 đến 50'); For i:= 1 to 50 do T:=T+i; write('Tổng=',T);
  11. end. 3. ĐỀ SỐ 3 I. PHẦN TRẮC NGHIỆM: Hãy khoanh tròn câu trả lời đúng nhất trong các câu hỏi sau: Câu 1: Trong các câu lệnh Pascal sau. Câu lệnh nào là hợp lệ: A. For i:=4 to 1 do writeln(‘Y’); B. For i=1 to 10 do writeln(‘Y’); C. For i:=1 to 10 do writeln(‘Y’); D. For i to 10 do writeln(‘Y’); 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,100] of integer; B. Var a: array[1.5 100.5] of integer; C. Var a: array[1 100] of integer; D. Var a: array[1.5,100.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 20 do writeln(‘Y’); Số vòng lặp của câu lệnh này là bao nhiêu? A. 14 B. 17 C. 15 D. 16 Câu 5: Cho đoạn chương trình: j:=0; For i:=0 to 5 do j:=j+2; Sau khi thực hiện đoạn chương trình trên, thì giá trị của biến j bằng bao nhiêu: A. 12 B. 20 C. 15
  12. D. 18 Câu 6: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây sai: 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. Chỉ số cuối phải nhỏ hơn hoặc bằng 100 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ô số lần C. Lặp với số lần chưa biết trước D. Lặp 10 lần Câu 8: Kết quả của phép so sánh: A. Có thể có giá trị đúng hoặc giá trị sai B. Chỉ có giá trị đúng C. Đồng thời nhận giá trị đúng và giá trị sai D. Chỉ có giá trị sai II. PHẦN TỰ LUẬN: Câu 1: Dữ liệu kiểu mảng là gì? Hãy nêu cách khai báo biến mảng trong Pascal và các thành phần của nó. Câu 2: a) Hãy nêu cú pháp 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âu lệnh lặp với số lần chưa biết trước. Câu 3: Viết chương trình tính tổng: S = 1+2+3+ +n. Trong đó n là số nguyên nhập từ bàn phím. ĐÁP ÁN I. PHẦN TRẮC NGHIỆM: Câu 1 2 3 4 5 6 7 8 Đáp án C C B D A D C A II. PHẦN TỰ LUẬN: Câu 1: - Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, 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ử. * Cách khai báo biến mảng trong Pascal:
  13. Var tên mảng: array [ ] of ; Trong đó: Chỉ số đầu và chỉ số cuối là hai số nguyên thoả mãn Chỉ số đầu chỉ số cuối và kiểu dữ liệu có thể là integer hoặc real. 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 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: - Khi gặp câu lệnh này chương trình sẽ kiểm tra điều kiện. + 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à lệnh lặp kết thúc. Câu 3: Program Tong; Uses crt; Var S: real; n, i: integer; Begin Clrscr; Write(‘Nhap so n = ‘); Readln(n); S:= 0; For i:= 1 to n do S: = S + i; Writeln(‘Tong can tim la: ‘, S:6:2); Readln End.