Bộ 5 đề thi học kì 2 môn Tin học Lớp 8 (Có đáp án)

I/ TRẮC NGHIỆM: ( 6.0 điểm)

Em hãy chọn một câu trả lời đúng nhất ghi vào phần bài làm, mổi câu chọn đúng được 0.5 điể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

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

doc 24 trang Ánh Mai 28/02/2023 6720
Bạn đang xem 20 trang mẫu của tài liệu "Bộ 5 đề thi học kì 2 môn Tin học Lớp 8 (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:

  • docbo_5_de_thi_hoc_ki_2_mon_tin_hoc_lop_8_co_dap_an.doc

Nội dung text: Bộ 5 đề thi học kì 2 môn Tin học Lớp 8 (Có đáp án)

  1. Đề thi Tin học 8 Học kì 2 - Đề số 1 Ma trận Đề thi Tin học 8 Học kì 2 Vận dụng Cấp độ Nhận biết Thông hiểu Tổng Thấp Cao Chủ đề TN TL TN TL TN TL TN TL - Biết tính kết - Biết được số quả của vòng - Viết được lần lặp của câu lặp trong câu chương trình lênh For do 1. Câu lệnh lặp đơn giản, sử được tính như lệnh lặp dụng câu thế nào? - Biết sử dụng cặp từ khóa nào lệnh lặp ngôn ngữ dành trong câu lênh For do cho máy tính lặp for do Số câu 2 (1, 8) 2 (12, 6) 1 (2) 5 Số điểm 1.0 1.0 2.0 4.0 - Nắm được hoạt động lặp của câu lênh 2. Lặp với White do - Hiểu được số lần - Nắm được vòng lặp chưa biết đâu là hoạt White do trước. động lặp với số lần chưa biết trước
  2. Số câu 2 (3, 9) 1 (11) 3 Số điểm 1.0 0.5 1.5 - Biết sử dụng vòng lặp trong - Nêu được cú khai báo biến pháp và cho mảng 3. Làm - Biết sử dụng được ví dụ - Biết được việc với vòng lặp trong trong trong cách khai báo dãy số biến mảng. khai báo biến biến mảng mảng - Nắm được câu lệnh khai báo biến mảng 4 (2,7,4, Số câu 1 (1) 1 (10) 6 5) Số điểm 2.0 2.0 0.5 4.5 Tổng số 5 6 1 2 14 câu Tổng số 4.0 3.0 2.0 1.0 10.0 điểm Đề thi Tin học 8 Học kì 2 I/ TRẮC NGHIỆM: ( 6.0 điểm) Em hãy chọn một câu trả lời đúng nhất ghi vào phần bài làm, mổi câu chọn đúng được 0.5 điể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
  3. 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 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ự
  4. 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; 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?
  5. 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 B. S = 8 C. S = 10 D. S = 12 II/ TỰ LUẬN: (4.0 điểm) Câu 1: (2.0 điểm): 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: (2.0 điểm): Viết chương trình tính tổng từ 1 đến 50 . Đáp án Đề thi Tin học 8 Học kì 2 I/ TRẮC NGHIỆM: (6.0đ)
  6. 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 : (4.0đ) Câu Ý Đáp án Điểm Câu 1 Câu 1 : (2.0 Var :Array[ ]of ; khai báo biến mảng Chỉ số đầu và chỉ số cuối là hai số nguyên trong pascal? thỏa mản chỉ số đầu <= chỉ số cuối và a/ Giải thích cú pháp a 0.5đ kiểu dữ liệu có thể là số nguyên (integer) khai báo biến mảng hay số thực (real). trong Pascal? b/ Cho ví dụ về khai báo biến mảng. Câu 2 : (2.0 điểm): Viết b Var thunhap: array[1 50] of real; 0.5đ chương trình tính tổng từ 1đến 50 . program Tinh_tong; Câu 3 : (2.0 điểm) : uses crt; Viết chương trình tính 0.5đ var i:integer; tổng từ 1 đến 50 . T:longint; begin Tổng:=0; 1.5đ writeln('Đây là chương trình tính tổng từ 1 đến 50');
  7. For i:= 1 to 50 do T:=T+i; write('Tổng=',T); end. Đề thi Tin học 8 Học kì 2 - Đề số 2 I. TRẮC NGHIỆM: (4,0 điểm) Khoanh tròn chữ cái trước đáp án đúng. Câu 1. Trong Pascal, câu lệnh nào sau đây được viết đúng? A. For i:= 4 to 1 do writeln(‘A’); B. For i= 1 to 10 writeln(‘A’); C. For i:= 1 to 10 do writeln(‘A’); D. For i to 10 do writeln(‘A’); Câu 2. Trong câu lệnh lặp: j:=0; For i := 1 to 10 do j:= j + 2; Khi kết thúc câu lệnh lặp trên, câu lệnh j:=j+2 được thực hiện bao nhiêu lần? A. 10 lần B. 5 lần C. 2 lần D. Không thực hiện. Câu 3. Cho đoạn chương trình: J:= 0; For i:= 1 to 5 do J:= j + i; Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu? A. 12 B. 22 C. 15 D. 42. Câu 4. Trong Pascal, câu lệnh nào sau đây là đúng? A. S:=1;While S<10 do write(S);
  8. B. i:=0; S:=1;While s 9 do write(S); Câu 5. Phần mềm quan sát hình không gian là A. finger Break out B. turbo pascal C. geogebra D. yenka Câu 6. 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. 1 B. 5 C. 6 D. 7 Câu 7. 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à 2 số thực. B. Chỉ số đầu chỉ số cuối. C. Kiểu dữ liệu có thể là integer hoặc real. D. Chỉ số đầu cuối là số nguyên. Câu 8. 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: tong:= 0; For i:= 1 to 5 do tong := tong + A[i]; Giá trị của biến tong là bao nhiêu? A. 4 B. 18
  9. C. 20 D. 22 II. TỰ LUẬN: (6,0 điểm) Câu 1. (2 điểm) Viết cú pháp câu lệnh lặp với số lần chưa biết trước. Nêu hoạt động của câu lệnh. Câu 2. (4 điểm) Viết chương trình nhập điểm kiểm tra học kỳ môn tin học cho N học sinh và in kết quả ra màn hình. Với N và điểm kiểm tra của từng học sinh được nhập từ bàn phím (sử dụng biến mảng). Đáp án: I. TRẮC NGHIỆM: (4 điểm – mỗi câu đúng 0,5 điểm). Câu 1 2 3 4 5 6 7 8 Đáp án C A C B D B A C II. TỰ LUẬN: (6 điểm) CÂU NỘI DUNG ĐÁP ÁN ĐIỂM - Cú pháp câu lệnh: while do ; 1 1 - Hoạt động: Khi thực hiện câu lệnh chương trình kiểm tra điều kiện. Nếu điều kiện đúng thực hiện câu lệnh 1 (2 điểm) sau từ khóa do và quay lại kiểm tra điều kiện. Nếu điều kiện sai bỏ qua câu lệnh sau từ khóa do và kết thúc. Program diem; Uses crt; 2 Var N, i: integer; 1 (4 điểm) Diem: array[1 50] of real; Begin
  10. Clrscr; Write(‘Nhap so luong hoc sinh N = ‘); Readln(N); Writeln(‘Nhap diem cho tung hoc sinh’); 0,5 For i := 1 to n do Begin 1 Write(‘Diem HS ‘,i,’ = ‘); readln(Diem[i]); End; 0,5 For i : = 1 to n do 1 Writeln(‘Diem cua HS ‘,i, ‘ = ‘,diem[i]); Readln; End. Lưu ý: Học sinh có thể có đáp án khác, nếu đúng vẫn đạt điểm tối đa. Đề thi Tin học 8 Học kì 2 - Đề số 3 I. PHẦN TRẮC NGHIỆM (5 điểm) Câu 1: Trong các cách khai báo biến mảng dưới đây, cách khai báo nào là đúng: A. Var A: array[1 5.5] of integer; B. Var A:array(1 100) of integer; C. Var A: array[1.5 100] of integer; D. Var A: array[1 100] of integer; Câu 2: Cho đoạn chương trình Pascal sau đây: tong:= 20; While tong>= 10 do tong:=tong - 1;
  11. Sau khi đoạn chương trình trên được thực hiện, giá trị của tổng bằng bao nhiêu: A. 19 B. 9 C. 21 D. 10 Câu 3: Sau khi đoạn chương trình sau được thực hiện, giá trị của biến S bằng bao nhiêu: S:= 0; for i:= 1 to 5 do S:= S + 1; A. 5 B. 10 C. 15 D. 20 Câu 4: Khi thực hiện đoạn chương trình sau: n:= 1; T:= 50; While n>20 do begin n:=n+5; T:=T - n end; Hãy cho biết giá trị của biến T bằng bao nhiêu? A. 14 B. 17 C. 16 D. 50 Câu 5: 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. 4 B. 5 C. 6 D. 7 Câu 6: 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. 20 B. 18 C. 21 D. 22 Câu 7: Em hiểu câu lệnh lặp theo nghĩa nào dưới đây?
  12. A. Một lệnh thay cho nhiều lệnh. B. Các câu lệnh được viết lặp đi lặp lại nhiều lần. C. Vì câu lệnh đã có tên là lệnh lặp. D. Cả a, b, c đều sai. Câu 8: Cho đoạn chương trình sau: n:=1; While n = to do ; B. For : = to do ; C. For := to do ; D. For = to do Câu 10: Cho đoạn chương trình: j := 0; k := 2; For i := 1 to 5 do j := j + 2; k := k + j; Sau khi thực hiện đoạn chương trình trên, giá trị của biến k bằng bao nhiêu? A. 12; B. 22; C. 32; D. 42. II. PHẦN TỰ LUẬN (5 điểm)
  13. Viết chương trình sử dụng biến mảng để nhập từ bàn phím các phần tử của một dãy số nguyên. Độ dài của dãy cũng được nhập từ bàn phím. In ra màn hình tổng các giá trị là số chẵn. Đáp án: I. PHẦN TRẮC NGHIỆM (5 điểm) Câu 1 2 3 4 5 6 7 8 9 10 Đáp án D B A D B A B C C A II. PHẦN TỰ LUẬN (5 điểm) Nội dung trả lời Điểm Program Tong_Chan; uses crt; 0.5 var i, n, Tong: integer; 0.5 A : array[1 100] of integer; Begin clrscr; 0.5 writeln(‘Nhap do dai cua day so, N=’); readln(n); writeln(‘Nhap cac phan tu cua day so:’); 0.5 For i:=1 to n do Begin write(‘a[‘,i,’]=’); 0.5 readln(a[i]);
  14. End; Tong:=0; 0.5 For i:=1 to n do 0.5 if a[i] mod 2 = 0 then 0.5 Tong:= Tong+a[i]; 0.5 writeln(‘Tong cac gia tri chan la:’,Tong); readln 0.5 End. Đề số 4 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:
  15. 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.
  16. 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 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
  17. 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: (4 điểm) PHẦN I (2 điểm) Mỗi câu đúng 0,25 điểm Câu 1 2 3 4 5 6 7 8
  18. Đáp án D C B A A D B C PHẦN II:( 1 điểm)Điền mỗi từ hoặc cụm từ đúng được 0.25 điểm (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 điểm) Ghép đúng mỗi ý được 0.25 điểm 1+c; 2+b; 3+d; 4+a B. PHẦN TỰ LUẬN: (6 điểm) CÂU ĐÁP ÁN ĐIỂM 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 Câu 1 Mỗi câu d) Sai. Vì chỉ số đầu trong mảng phải nhỏ hơn chỉ số cuối. (1.5 điểm) đúng 0,25 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 a)* Cú pháp câu lệnh lặp với số lần biết trước: For := to do ; (3.0 điểm) * Tác dụng của câu lệnh lặp: - Tiết kiệm thời gian. 0,5
  19. - Giảm nhẹ công sức khi viết chương trình. 0,5 b)* Cú pháp câu lệnh lặp với số lần chưa biết trước: While do ; 0,25 * Hoạt động: B1: Kiểm tra điều kiện. 0,25 B2: + Nếu điều kiện đúng thì câu lệnh sẽ được thực hiện 0,5 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 0,5 lệnh lặp kết thúc. a) A[2]: không xác định. A[7] = 15 Mỗi câu Câu 3 A[4] = 13 A[9]: không xác định. đúng 0,25 (1.5 điểm) b)A[2]:= A[3] + A[5] = 17 + 20 = 37 0,25 A[9]:= A[6] + A[7] = 10 + 15 = 25 0,25 Đề số 5 A. PHẦN TRẮC NGHIỆM: (6 điểm) Khoanh tròn vào đáp án đúng: 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;
  20. 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. D. Đáp án khác. Câu 7: Các câu lệnh Pascal nào sau đây hợp lệ?
  21. 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
  22. A. s:=5; i:=0; 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: (4 điểm) Câu 1: Đoạn chương trình (2đ) i:=0; T:=5; While T<20 do Begin i:=i+1; T=T*i;
  23. 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à . Câu 2: Đoạn chương trình (2đ) Write(‘ Nhap vao so cau hoi:’); Readln(n); S:=0; For i:=1 to n do S:=S+2*i Em hãy chạy chương trình và kiểm tra kết quả với những bộ thử sau: STT Số câu hỏi Tổng số bút cần mua 1 n= 8 S= 72 2 n=15 S= . (1đ) 3 n=32 S= . (1đ) ĐÁP ÁN A. Trắc nghiệm: (6 điểm) (Mỗi câu đúng được 0,5đ)
  24. 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: (4 điểm) Câu 1: Đoạn chương trình (2đ) Khởi tạo:i:=0; S:=5; i:=i+1; T =20 thì dừng vòng 10< 20àĐ i=3, T= 30 lặp 30<20à S Kết thúc vòng lặp Câu 2: Đoạn chương trình (2đ) STT Số câu hỏi Tổng số bút cần mua 1 n= 8 S= 72 2 n=15 S= 240 (1đ) 3 n=32 S= 1056 (1đ)