THI HKII –KHỐI 8 - ĐỀ 1 THỜI GIAN 45’ TRƯỜNG HỌ TÊN: MÃ SỐ: LỚP: ĐIỂM: SỐ CÂU ĐÚNG PHIẾU TRẢ LỜI Phần trả lời : Số thứ tự câu trả lời dưới đây ứng với số thứ tự câu trắc nghiệm trong đề. Đối với mỗi câu trắc nghiệm, học sinh chọn và tô kín một ô tròn tương ứng với phương án trả lời đúng. 01. ; / = ~ 04. ; / = ~ 07. ; / = ~ 10. ; / = ~ 02. ; / = ~ 05. ; / = ~ 08. ; / = ~ 11. ; / = ~ 03. ; / = ~ 06. ; / = ~ 09. ; / = ~ 12. ; / = ~ Chọn câu trả lời đúng nhất Câu 1: Lệnh lặp nào sau đây là đúng? A. For <biến đếm>= <giá trò đầu> to <giá trò cuôí> do <câu lệnh>; B. For <biến đếm>:= <giá trò đầu> to <giá trò cuôí> do <câu lệnh>; C. For <biến đếm>:= <giá trò cuôí> to <giá trò đầu> do <câu lệnh>; D. For <biến đếm>: <giá trò đầu> to <câu lệnh> do <giá trò cuối>; Câu 2: Câu lệnh pascal nào sau đây là hợp lệ? A) For i:=100 to 1 do writeln(‘A’); C) For i:=1.5 to 10.5 do writeln(‘A’); B) For i= 1 to 10 do writeln(‘A’); D) For i:= 1 to 10 do writeln(‘A’); Câu 3: Vòng lặp while do là vòng lặp: A) Biết trước số lần lặp C) Chư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à <=100 D) Biết trước số lần lặp nhưng giới hạn là >=100 Câu 4: Câu lệnh lặp while…do có dạng đúng là: A) While <điều kiện> do; <câu lệnh>; C) While <điều kiện> <câu lệnh> do; B) While <câu lệnh> do <điều kiện>; D) While <điều kiện> do <câu lệnh>; Câu 5: Trong chương trình pascal sau đây: Var x : integer ; Begin X:= 3 ; If (45 mod x) =0 then x:= x +2; If x > 10 then x := x +10 ; End. X có giá trò là mấy A) 3 B) 5 C) 15 D)10 Câu 6: Để tính tổng S=2 + 4 + 6 … + 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 + i; if ( i mod 2)=1 then S:=S + i; B) for i:=1 to n do D) for i:=1 to n do S:= S + i ; if ( i mod 2)<>0 then S:=S + i; Câu 7: Câu lệnh nào sau đây lặp vô hạn lần A) s:=5; i:=0; While i<=s do s:=s + 1; C) s:=5; i:=1; While i<=s do i:=i + 1; B) s:=5; i:=1; While i> s do i:=i + 1; D) s:=0; i:=0; n:=5; While i<=n do begin if (i mod 2)=1 Then S:=S + i; Else i:=i+1; End; Câu 8: Để 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 if ( i mod 2)=0 then S:=S + 1/i; C) for i:=1 to n do if ( i mod 2) < > 0 then S:=S + i; B) for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i Else S:= S + 1/i; D) for i:=1 to n do if ( i mod 2)=0 then S:=S +1/ i Else S:=S-1/i; Câu 9: cho chương trình sau: Var a,b : integer ; Begin A:=16 ; b:=8 ; If a< b then a:= a + b else Begin a:= a- b; b:= b + a; end; Writeln( ‘ a= ‘, a , ‘ b = ‘, b); End. Biến a và b có giá trò là mấy: A) a=16 ;b = 8; C) a= 24 ; b= 8; B) a = 8 ; b =16; D) a =24 ; b =16; Câu 10: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu A) Integer; B) real; C) string D) tất cả các kiểu trên đều được Câu 11: Lần lượt thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); sẽ viết ra màn hình? A) Thứ tự của biến đếm, chiếm 3 chỗ và lấy 1 chữ số sau phần thập phân B) Viết số 1 rồi viết số 3.5 C) Chỉ viết số 3.5 mà thôi D) Không thực hiện được vì giá trò của biến đếm có kiểu dữ liệu là Real Câu 12: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; thì giá trò của j là? A) 4 B) 6 C) 8 D)10 II/ PHẦN TỰ LUẬN Sau mỗi câu lệnh trong pascal sau đây x sẽ có giá trò là bao nhiêu , nếu trước đó giá trò của x bằng 5: sau thực hiện các lệnh x có các giá tri Câu lệnh Giá trò của x A/ if (x mod 3 = 2) then x:= x +1; B/ if (x mod 3 =0) or (x>=5) then x:= 2*x; C/ if (x mod 2 =1 ) and (x >10 ) then x:=0 ; D/ if x mod 5 = 0 then Begin x:=x*x ; x:=x -10; end; THI HKII –KHỐI 8 - ĐỀ 2 THỜI GIAN 45’ TRƯỜNG HỌ TÊN: MÃ SỐ: LỚP: ĐIỂM: SỐ CÂU ĐÚNG PHIẾU TRẢ LỜI Phần trả lời : Số thứ tự câu trả lời dưới đây ứng với số thứ tự câu trắc nghiệm trong đề. Đối với mỗi câu trắc nghiệm, học sinh chọn và tô kín một ô tròn tương ứng với phương án trả lời đúng. 01. ; / = ~ 04. ; / = ~ 07. ; / = ~ 10. ; / = ~ 02. ; / = ~ 05. ; / = ~ 08. ; / = ~ 11. ; / = ~ 03. ; / = ~ 06. ; / = ~ 09. ; / = ~ 12. ; / = ~ Chọn câu trả lời đúng nhất Câu 1: Câu lệnh lặp while…do có dạng đúng là: A) While <điều kiện> do <câu lệnh>; C) While <điều kiện> <câu lệnh> do; B) While <câu lệnh> do <điều kiện>; D) While <điều kiện> do; <câu lệnh>; Câu 2: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu A) Integer; B) real; C) string D) tất cả các kiểu trên đều được Câu 3: Trong chương trình pascal sau đây: Var x : integer ; Begin X:= 5 ; If (45 mod x) =0 then x:= x +2; If x > 10 then x := x +10 ; End. X có giá trò là mấy A) 6 B) 15 C) 7 D)9 Câu 4: Để tính tổng S=2 + 4 + 6 … + 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)=1 then S:=S + i; if ( i mod 2)=0 then S:=S + i; B) for i:=1 to n do D) for i:=1 to n do S:= S + i ; if ( i mod 2)<>0 then S:=S + i; Câu 5: Lần lượt thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); sẽ viết ra màn hình? A) Thứ tự của biến đếm, chiếm 3 chỗ và lấy 1 chữ số sau phần thập phân B) Không thực hiện được vì giá trò của biến đếm có kiểu dữ liệu là Real C) Chỉ viết số 3.5 mà thôi D) Viết số 1 rồi viết số 3.5 Câu 6: Sau khi thực hiện đoạn chương trình j:= 2; for i:= 1 to 3 do j:=j+2; thì j có giá trò là? A) 4 B) 6 C) 8 D)10 Câu 7: Lệnh lặp nào sau đây là đúng? A) For <biến đếm>= <giá trò đầu> to <giá trò cuôí> do <câu lệnh>; B) For <biến đếm>:= <giá trò đầu> to <giá trò cuôí> do <câu lệnh>; C) For <biến đếm>:= <giá trò cuôí> to <giá trò đầu> do <câu lệnh>; D) For <biến đếm>: <giá trò đầu> to <câu lệnh> do <giá trò cuối>; Câu 8: Câu lệnh nào sau đây lặp vô hạn lần A) s:=5; i:=0; While i<=s do s:=s + 1; C) s:=5; i:=1; While i<=s do i:=i + 1; B) s:=5; i:=1; While i> s do i:=i + 1; D) s:=0; i:=0;n:=3; While i<=n do begin if (i mod 2)=1 Then S:=S + i; Else i:=i+1; End; Câu 9: Để 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 If ( i mod 2)=0 then S:=S + 1/i; C) for i:=1 to n do if ( i mod 2) < > 0 then S:=S + i; B) for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i Else S:= S + 1/i; D) for i:=1 to n do if ( i mod 2)=0 then S:=S +1/ i Else S:=S-1/i; Câu 10: Câu lệnh pascal nào sau đây là hợp lệ? B) 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 11: Vòng lặp while do là vòng lặp: A) Chưa biết trước số lần C) lặp Biết trước số lần lặp C) Biết trước số lần lặp nhưng giới hạn là <=100 D) Biết trước số lần lặp nhưng giới hạn là >=100 Câu 12: Cho chương trình sau: Var a,b : integer ; Begin A:=16 ; b:=8 ; If a> b then a:= a + b else Begin a:= a- b; b:= b + a; end; Writeln( ‘ a= ‘, a , ‘ b = ‘, b); End. Biến a và b có giá trò là mấy: A) a=16 ;b = 8; C) a= 24 ; b= 8; B) a = 8 ; b =16; D) a =24 ; b =16; II/ PHẦN TỰ LUẬN Sau mỗi câu lệnh trong pascal sau đây x sẽ có giá trò là bao nhiêu , nếu trước đó giá trò của x bằng 7: sau thực hiện các lệnh x có các giá trò Câu lệnh Giá trò của x A/ if (x mod 3 = 2) then x:= x +1; B/ if (x mod 2 =0) or (x>=5) then x:= 2*x; C/ if (x mod 2 =1 ) and (x >5 ) then x:=0 ; D/ if x mod 7 = 0 then Begin x:=x*x ; x:=x -6; end; Ñaùp aùn 8 Ñeà 1 01. - / - - 04. - - - ~ 07. ; - - - 10. ; - - - 02. - - - ~ 05. - / - - 08. ; - - - 11. - - - ~ 03. - - = - 06. ; - - - 09. - / - - 12. - / - - A/ x=6 B/ x= 10 C/ x= 5 D/ x=15 Ñaùp aùn 8 Ñeà 2 01. ; - - - 04. - - = - 07. - / - - 10. - - - ~ 02. ; - - - 05. - / - - 08. ; - - - 11. ; - - - 03. - - = - 06. - - = - 09. ; - - - 12. - - = - A/ x=7 B/ x= 14 C/ x= 0 D/ x=8 . ; b: =8 ; If a< b then a:= a + b else Begin a:= a- b; b:= b + a; end; Writeln( ‘ a= ‘, a , ‘ b = ‘, b); End. Biến a và b có giá trò là mấy: A) a=16 ;b = 8; C) a= 24 ; b= 8; B) a = 8 ; b. ; b: =8 ; If a> b then a:= a + b else Begin a:= a- b; b:= b + a; end; Writeln( ‘ a= ‘, a , ‘ b = ‘, b); End. Biến a và b có giá trò là mấy: A) a=16 ;b = 8; C) a= 24 ; b= 8; B) a = 8 ; b. and (x >10 ) then x:=0 ; D/ if x mod 5 = 0 then Begin x:=x*x ; x:=x -10; end; THI HKII –KHỐI 8 - ĐỀ 2 THỜI GIAN 45’ TRƯỜNG HỌ TÊN: MÃ SỐ: LỚP: ĐIỂM: SỐ CÂU ĐÚNG PHIẾU TRẢ LỜI Phần