Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (686.12 KB, 10 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐĂK LĂK </b>
<b>TRƯỜNG THPT TRẦN QUỐC TOẢN </b>
<b>KIỂM TRA 1 TIẾT HK2 LỚP 11 </b>
<b>MÔN TIN HỌC </b>
<b>NĂM 2018 - 2019 </b>
<b>Đề số 1: </b>
<b>Câu 1.</b> Cho xâu s1:= 'Truong'; s2:= 'TQT'; s3 := 'Khoi 11'; để được xâu mới 'Khoi 11 Truong TQT' ta
thực hiện:
<b>A.</b> s3 + ' ' + s1 + ' ' s2 ; <b>B.</b> s3 + s1 + s2 ;
<b>C.</b> 's3' + 's1' + 's2' ; <b>D.</b> 's3' + ' ' + 's1' + ' ' 's2' ;
<b> Câu 2.</b> Để tìm ước số chung lớn nhất của 2 số nguyên dương a, b ta dùng cấu trúc lặp:
<b>A.</b> Có thể dùng While - Do hoặc For - Do <b>B.</b> Đáp án khác
<b>C.</b> Chỉ có thể dùng cấu trúc lặp For - Do <b>D.</b> Chỉ có thể dùng cấu trúc lặp While - Do
<b> Câu 3.</b> Trong câu lệnh lặp với số lần chưa biết trước khẳng định nào sau đây là đúng.
<b>A.</b> Sẽ thoát ra khỏi vịng lặp khi điều kiện có giá trị là đúng
<b>B.</b> Câu lệnh còn được thực hiện khi điều kiện có giá trị sai.
<b>C.</b> "Điều kiện" là biểu thức bất kỳ <b>D.</b> Phải có ít nhất một câu lệnh làm thay đổi giá trị biểu
thức điều kiện
<b> Câu 4.</b> Đoạn chương trình sau thực hiện i:=1; S:=0; While (i < N) Do begin S:=S+i; i := i+2; end;
Write('S = ',S);
<b>A.</b> Tính tổng các số lẽ từ 1 đến N -1 <b>B.</b> Tính tổng các số từ 1 đến N
<b>C.</b> Tính tổng các số chẵn từ 1 đến N <b>D.</b> Tính tổng các số lẽ từ 1 đến N
<b> Câu 5. </b>Cho mảng B một chiều, đoạn chương trình sau làm gì?S: = 0; For i:= 1 to N do If ((B[i] mod 2 )
< > 0) and (B[i] mod 3) = 0 then S:= S + B[i];
<b>A.</b> Tính tổng các phần tử có giá trị là lẽ là ước của 3. <b>B.</b> Tính tổng các phần tử có thứ tự là lẽ và chia
hết cho 3.
<b>C.</b> Tính tổng các phần tử có giá trị là lẽ và bội của 3. <b>D.</b> Tính tổng các phần tử có giá trị là chẵn và bội
của 3.
<b> Câu 6.</b> Cho biết kết quả của đoạn chương trình sau N:=10975; While (N >=10) Do N := N div 10;
Writeln('N = ',N)
<b>A.</b> N = 1 <b>B.</b> N = 0 <b>C.</b> N = 5 <b>D.</b> N = 10
<b> Câu 7.</b> Cách khai báo mảng nào sau đây là đúng
<b>A.</b> Var D : array [ 1.2 .. 20] of integer; <b>B.</b> Var A : array [ -10 .. 10] of char;
<b>C.</b> Var B : array [ 100 .. 20] of byte; <b>D.</b> Var C : array [ n .. m] of real;
<b> Câu 8.</b> Trong cấu trúc lặp với số lần chưa trước khẳng định nào sau đây là đúng
<b>A.</b> Câu lệnh sau Do phải là câu lệnh ghép
<b>B.</b> Câu lệnh sau Do phải có ít nhất một câu lệnh làm thay đổi biểu thức điều kiện
<b>C.</b> Câu lệnh sau Do phải là câu lệnh đơn <b>D.</b> Câu lệnh còn được thực hiện (lặp) khi điều kiện có
giá trị là sai.
<b> Câu 9. </b>Với i là các biến nguyên. Ðoạn chương trình sau cho kết quả nào ?<b> </b>i:=1; while (i > 5) do i := i
+1; write(i,' ');
<b> Câu 10.</b> Cho a,b,z là các biến nguyên, cho ðoạn chương trình:a:=5: b:=8; <b>While</b> (b>=a) <b>Do</b> a:=a+1;
Write('a=',a,', b=',b); cho kết quả của a, b là:
<b>A.</b>a=8, b=8 <b>B.</b> đáp án khác <b>C. </b>a=9, b=8 <b>D.</b> a=5, b=8
<b> Câu 11.</b> Những tên nào sau đây là tên các hàm xử lý xâu trong Pascal
<b>A.</b> Pos; Copy; length; <b>B.</b> Copy; Insert; Length; Upcase
<b>C.</b> Pos; Delete; Upcase; Copy <b>D.</b> Tất cả đều đúng
<b> Câu 12.</b> Cách khai báo mảng nào sau đây là sai
<b>A.</b> Var D : array [ 1 .. 100] of real; <b>B.</b> Var A : array [ 1 .. N ] of integer;
<b>C.</b> Var C : array [ 20 .. 200] of string; <b>D.</b> Var B : array [ -10 .. 200] of char;
<b> Câu 13.</b> Trong ngơn ngữ lập trình Pascal muốn chuyển đổi xâu S từ chữ thường sang chữ in hoa ta dùng:
<b>A.</b> Tất cả đều sai. <b>B.</b> Upcase(S); <b>C.</b> Length(S); <b>D.</b> Pos(S)
<b> Câu 14.</b> Câu Lệnh While <điều kiện> Do <Câu lệnh> thực hiện như thế nào ?
<b>A.</b> Trong khi điều kiện còn đúng thì câu lệnh sau từ khóa "Do" cịn được thực hiện.
<b>B.</b> Nếu điều kiện đúng thì <câu lệnh> sau từ khóa "Do" khơng được thực hiện.
<b>C.</b> Nếu điều kiện sai thì <câu lệnh> sau từ khóa "Do" được thực hiện.
<b>D.</b> Trong khi điều kiện còn sai thì câu lệnh sau từ khóa "Do" cịn được thực hiện.
<b> Câu 15.</b> Trong câu lệnh lặp for - do (dạng lùi), câu lệnh còn được thực hiện (lặp) khi nào ?
<b>A.</b> giá trị cuối > giá trị của biến đếm >= giá trị đầu <b>B.</b> giá trị cuối > giá trị của biến đếm > giá trị đầu
<b>C.</b> giá trị cuối >= giá trị của biến đếm >= giá trị đầu <b>D.</b> giá trị cuối > giá trị của biến đếm = giá trị đầu
<b> Câu 16. </b>Với A[1]:=4; A[2]:=5; A[3]:=3; A[4]:=7; A[5]:=2; S: = 0; For i:= 5 Downto 1 do If ((i mod
2)<>0 then) S:=S + A[i]; Write('S=',S); cho giá trị
<b>A.</b>S=5 <b>B.</b> S=9 <b>C.</b> S=15 <b>D.</b> 7;
<b> Câu 17.</b> Cho biết kết quả của đoạn chương trình sau Dem:=1; While (Dem < 5) Do Dem:=Dem+1;
Writeln('Dem = ',Dem)
<b>A.</b> Dem =5 <b>B.</b> Dem = 6 <b>C.</b> Dem = 1 <b>D.</b> Dem = 4
<b> Câu 18. </b>Chọn khẳng định đúng khi dùng vịng lặp giải bài tốn sau:Tính tổng:S = 1+1/2 +1/3 +...+
1/1000
<b>A.</b>Sử dụng được cả hai câu lênh While..do và For..do <b>B.</b> Không thể dùng
lệnh For..do
<b>C.</b>Không thể sử dụng While..do <b>D.</b>Chỉ dùng được lệnh For..do
<b> Câu 19.</b> Trong câu lệnh lặp for - do (dạng tiến), câu lệnh còn được thực hiện (lặp) khi nào ?
<b>A.</b> giá trị đầu <= giá trị của biến đếm < giá trị cuối <b>B.</b> giá trị đầu < giá trị của biến đếm <= giá trị cuối
<b>C.</b> giá trị đầu < giá trị của biến đếm < giá trị cuối <b>D.</b> giá trị đầu <= giá trị của biến đếm <= giá trị
cuối
<b> Câu 20. </b>Ðoạn chương trình sau cho kết quả gì?T:=0; <b>for</b> i:=1 <b>to</b> n <b>do</b> if (i mod 3=0) then T:=T+i*i;
<b>A.</b>Tính tổng bình phương các số lẽ trong phạm vi từ 1đến n. <b>B.</b> Tính tổng các số chia hết cho 3 từ
1đến n
<b>C.</b> Tính tổng bình phương các số là bội của 3 từ 1đến n <b>D.</b>Tính tổng bình
phương các số là ước của 3 từ 1đến n
<b>A.</b> chuyển đổi các ký chữ cái trong xâu S thành chữ in hoa <b>B.</b> đáp án khác.
<b>C.</b> báo lỗi <b>D.</b> khơng có chức năng gì
<b>Phần II. </b>Viết chương trình nhập vào xâu S bất kỳ từ bàn phím. In ra màn hình các chữ cái có trong xâu,
nếu khơng có thì in ra màn hình dịng thơng báo „khong co ky tu nao la chu cai co trong xau‟.<b> </b>
<b>Đề số 2:</b>
<b> Câu 1. </b>Trong câu lệnh For <biến đếm:=giá trị đầu> To <giá trị cuối> Do <câu lệnh>; khẳng định nào
sau đây là đúng.
<b>A.</b> câu lệnh sau từ khóa Do phải có câu lệnh làm thay đổi giá trị của biến đếm.
<b>B.</b> là câu lệnh lặp với số lần chưa biết trước
<b>C.</b> giá trị đầu và giá trị cuối phải cùng kiểu với biến đếm
<b>D.</b> câu lệnh sau từ khóa Do phải là câu lệnh đơn.
<b> Câu 2.</b> Trong ngơn ngữ lập trình Pascal muốn chuyển đổi xâu S từ chữ thường sang chữ in hoa ta dùng:
<b>A.</b> Length(S); <b>B.</b> Tất cả đều sai. <b>C.</b> Pos(S) <b>D.</b> Upcase(S);
<b> Câu 3.</b> Trong ngôn ngữ lập trình Pascal, cho 2 xâu s1:= 'abd'; s2:='abcde'. khi so sánh 2 xâu đáp án nào
là đúng
<b>A.</b> s2 > s1 <b>B.</b> đáp án khác <b>C.</b> s1 = s2 <b>D.</b> s1 > s2
<b> Câu 4. </b>Với A[1]:=4; A[2]:=5; A[3]:=3; A[4]:=7; A[5]:=2; S: = 0; For i:= 5 Downto 1 do If ((i mod
2)<>0 then) S:=S + A[i]; Write('S=',S); cho giá trị
<b>A.</b>S=15 <b>B.</b> S=9 <b>C.</b> 7; <b>D.</b> S=5
<b> Câu 5.</b> Trong câu lệnh lặp for - do (dạng lùi), câu lệnh còn được thực hiện (lặp) khi nào ?
<b>A.</b> giá trị cuối > giá trị của biến đếm > giá trị đầu <b>B.</b> giá trị cuối > giá trị của biến đếm >= giá trị
đầu
<b>C.</b> giá trị cuối > giá trị của biến đếm = giá trị đầu <b>D.</b> giá trị cuối >= giá trị của biến đếm >= giá trị
đầu
<b> Câu 6.</b> Trong câu lệnh lặp for - đo khẳng định nào sau đây là sai.
<b>A.</b> Câu lệnh sau Do phải có câu lệnh làm thay đổi giá trị của biến đếm B<b>.</b> Giá trị đầu <= giá trị
cuối.
<b>C.</b> Biến đếm là biến đơn, thường có kiểu nguyên D<b>.</b> Câu lệnh sau Do là câu lệnh đơn hoặc
ghép
<b>Câu 7. </b>Ðoạn chương trình sau:For i:=1 to 5 do If ((i mod 2) <> 0) then Write(i,', '); writeln(i); Cho kết
quả là
<b>A.</b>1, 3 <b>B.</b> 1, 3, 5 <b>C.</b> 1, 3, 5, 5 <b>D.</b> 2, 4
<b> Câu 8.</b> Trong câu lệnh lặp với số lần chưa biết trước khẳng định nào sau đây là đúng.
<b>A.</b> Phải có ít nhất một câu lệnh làm thay đổi giá trị biểu thức điều kiện
<b>B.</b> Sẽ thoát ra khỏi vịng lặp khi điều kiện có giá trị là đúng <b>C.</b> "Điều kiện" là biểu
<b>D.</b> Câu lệnh còn được thực hiện khi điều kiện có giá trị sai.
<b> Câu 9.</b> Cho biết kết quả của đoạn chương trình sau Dem:=1; While (Dem < 5) Do Dem:=Dem+1;
Writeln('Dem = ',Dem)
<b> Câu 10.</b> Cho biết kết quả của đoạn chương trình sau: S:=0; for i :=1 To 3 do For J:=1 To 3 do S:=S+J;
Writeln('S =',S);
<b>A.</b> S = 6 <b>B.</b> 9 <b>C.</b> S = 10 <b>D.</b> S = 18
<b> Câu 11.</b> Những tên nào sau đây là tên các hàm xử lý xâu trong Pascal
<b>A.</b> Tất cả đều đúng <b>B.</b> Pos; Delete; Upcase; Copy
<b>C.</b> Copy; Insert; Length; Upcase <b>D.</b> Pos; Copy; length;
<b> Câu 12.</b> Cho biết kết quả của đoạn chương trình sau N:=10975; While (N >=10) Do N := N div 10;
Writeln('N = ',N)
<b>A.</b> N = 1 <b>B.</b> N = 10 <b>C.</b> N = 5 <b>D.</b> N = 0
<b> Câu 13.</b> Cho xâu s1:= 'Truong'; s2:= 'TQT'; s3 := 'Khoi 11'; để được xâu mới 'Khoi 11 Truong TQT' ta
thực hiện:
<b>A.</b> 's3' + ' ' + 's1' + ' ' 's2' ; <b>B.</b> s3 + s1 + s2 ;
<b>C.</b> s3 + ' ' + s1 + ' ' s2 ; <b>D.</b> 's3' + 's1' + 's2' ;
<b> Câu 14. </b>Với i,j là các biến nguyên. Cho ðoạn chương trình sau<b>: </b>For i:=1 to 3 do For j:=i downto 1 do
<b>A.</b>0 1 0 3 2 1 0 <b>B.</b>0 1 2 3 2 1 0 <b>C.</b> 0 1 1 1 1 0 <b>D.</b> 0 1 0 2 1 0
<b> Câu 15.</b> Cho a,b,z là các biến nguyên, cho ðoạn chương trình:a:=5: b:=8; <b>While</b> (b>=a) <b>Do</b> a:=a+1;
Write('a=',a,', b=',b); cho kết quả của a, b là:
<b>A.</b> đáp án khác <b>B.</b> a=5, b=8 <b>C.</b> a=8, b=8 <b>D. </b>a=9, b=8
<b> Câu 16.</b> Cách khai báo mảng nào sau đây là sai
<b>A.</b> Var C : array [ 20 .. 200] of string; <b>B.</b> Var D : array [ 1 .. 100] of real;
<b>C.</b> Var B : array [ -10 .. 200] of char; <b>D.</b> Var A : array [ 1 .. N ] of integer;
<b> Câu 17.</b> Trong kiểu dữ liệu kiểu mảng, khẳng định nào sau đây là sai
<b>A.</b> Có 2 cách để khai báo mảng một chiều. <b>B.</b> Mảng được đặt tên và mỗi phần tử của nó có
một chỉ số
<b>C.</b> Các phần tử trong mảng có cùng kiểu dữ liệu <b>D.</b> Là một dãy vô hạn các phần tử cùng kiểu
<b> Câu 18.</b> Trong câu lệnh lặp với số lần biết trước, giá trị của biến đếm :
<b>A.</b> có kiểu nguyên hoặc thực <b>B.</b> có thể là chữ hoặc số
<b>C.</b> tự động điều chỉnh sau khi thực hiện câu lệnh sau từ khóa Do <b>D.</b> không tự động điều
chỉnh.
<b> Câu 19.</b> Trong câu lệnh For <biến đếm:=giá trị đầu> To <giá trị cuối> Do <câu lệnh>; thì <biến đếm>
phải có giá trị như thế nào?
<b>A.</b> là biến đơn, thường có kiểu dữ liệu là nguyên hoặc thực. <b>B.</b> là biến đơn, có kiểu dữ liệu là kiểu
thực.
<b>C.</b> có giá trị đầu lớn hơn giá trị cuối <b>D.</b> là biến đơn, thường có kiều nguyên.
<b> Câu 20. </b>Cho mảng B một chiều, đoạn chương trình sau làm gì?S: = 0; For i:= 1 to N do If ((B[i] mod 2
) < > 0) and (B[i] mod 3) = 0 then S:= S + B[i];
<b>A.</b> Tính tổng các phần tử có giá trị là lẽ và bội của 3.
<b> B.</b> Tính tổng các phần tử có giá trị là lẽ là ước của 3.
<b> Câu 21. </b>Ðoạn chương trình sau cho kết quả gì?T:=0; <b>for</b> i:=1 <b>to</b> n <b>do</b> if (i mod 3=0) then T:=T+i*i;
<b>A.</b>Tính tổng bình phương các số là ước của 3 từ 1đến n
<b> B.</b>Tính tổng bình phương các số lẽ trong phạm vi từ 1đến n.
<b>C.</b>Tính tổng các số chia hết cho 3 từ 1đến n
<b>D.</b> Tính tổng bình phương các số là bội của 3 từ 1đến n
<b>Phần II: </b>Cho mảng B một chiều gồm N phần tử. Viết chương trình nhập giá trị vào cho mảng và in ra
màn hình các phần tử có giá trị là lẽ và không phải là bội của 3 có trong mảng. Nếu khơng có thì in ra
màn hình “khong co phan tu nao thoa man”<b> </b>
<b>Đề số 3: </b>
<b> Câu 1. </b>Với i là các biến nguyên. Ðoạn chương trình sau cho kết quả nào ?<b> </b>i:=1; while (i > 5) do i := i
+1; write(i,' ');
<b>A.</b>2 3 4 5 <b>B.</b>1 <b>C.</b> 1 2 3 4 5 <b>D.</b> 5
<b> Câu 2.</b> Câu Lệnh While <điều kiện> Do <Câu lệnh> thực hiện như thế nào ?
<b>A.</b> Trong khi điều kiện cịn đúng thì câu lệnh sau từ khóa "Do" cịn được thực hiện.
<b>B.</b> Nếu điều kiện đúng thì <câu lệnh> sau từ khóa "Do" không được thực hiện.
<b>C.</b> Nếu điều kiện sai thì <câu lệnh> sau từ khóa "Do" được thực hiện.
<b>D.</b> Trong khi điều kiện cịn sai thì câu lệnh sau từ khóa "Do" cịn được thực hiện.
<b> Câu 3. </b>Với A[1]:=4; A[2]:=5; A[3]:=3; A[4]:=7; A[5]:=2; S: = 0;
For i:= 5 Downto 1 do If ((i mod 2)<>0 then) S:=S + A[i]; Write('S=',S); cho giá trị
<b>A.</b> S=9 <b>B.</b>7; <b>C.</b> S=15 <b>D.</b> S=5
<b> Câu 4. </b>Cho mảng B một chiều, đoạn chương trình sau làm gì?
S: = 0; For i:= 1 to N do If ((B[i] mod 2 ) < > 0) and (B[i] mod 3) = 0 then S:= S + B[i];
<b>A.</b> Tính tổng các phần tử có giá trị là chẵn và bội của 3.
<b> B.</b> Tính tổng các phần tử có thứ tự là lẽ và chia hết cho 3.
<b>C.</b> Tính tổng các phần tử có giá trị là lẽ là ước của 3.
<b> D.</b> Tính tổng các phần tử có giá trị là lẽ và bội của 3.
<b> Câu 5.</b> Trong ngơn ngữ lập trình Pascal muốn chuyển đổi xâu S từ chữ thường sang chữ in hoa ta dùng:
<b>A.</b> Upcase(S); <b>B.</b> Pos(S) <b>C.</b> Tất cả đều sai. <b>D.</b> Length(S);
<b> Câu 6.</b> Trong câu lệnh For <biến đếm:=giá trị đầu> To <giá trị cuối> Do <câu lệnh>; thì <biến đếm>
phải có giá trị như thế nào?
<b>A.</b> là biến đơn, thường có kiều nguyên. <b>B.</b> có giá trị đầu lớn hơn giá trị cuối
<b>C.</b> là biến đơn, có kiểu dữ liệu là kiểu thực. <b>D.</b> là biến đơn, thường có kiểu dữ liệu là nguyên
hoặc thực.
<b> Câu 7.</b> Cho S là một xâu bất kỳ. Đoạn chương trình sau có chức năng gì. For i:=1 to length(s) Do
s[i]:=Upcase(s[i]);
<b>A.</b> chuyển đổi các ký chữ cái trong xâu S thành chữ in hoa <b>B.</b> không có chức năng gì
<b>C.</b> đáp án khác. <b>D.</b> báo lỗi
<b> Câu 8.</b> Cho biết kết quả của đoạn chương trình sau Dem:=1; While (Dem < 5) Do Dem:=Dem+1;
Writeln('Dem = ',Dem)
<b> Câu 9.</b> Trong câu lệnh lặp với số lần biết trước, giá trị của biến đếm :
<b>A.</b> không tự động điều chỉnh. <b>B.</b> có kiểu nguyên hoặc thực
<b>C.</b> tự động điều chỉnh sau khi thực hiện câu lệnh sau từ khóa Do <b>D.</b> có thể là chữ hoặc số
<b> Câu 10.</b> Để tính tổng S = 1 + 2 + 3 + .... + N cho đến khi S >= 1000 thì kết thúc ta dùng cấu trúc lặp nào
<b>A.</b> Cấu trúc If - Then <b>B.</b> Cấu trúc For - do
<b>C.</b> Cấu trúc For - do hoặc While - do <b>D.</b> Cấu trúc While - do
<b> Câu 11.</b> trong câu lệnh While <biểu thức điều kiện> Do <Câu lệnh>; câu lệnh sau từ khóa Do là :
<b>A.</b> Câu lệnh đơn hoặc ghép và có nhiều hơn 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b>B.</b> Câu lệnh ghép và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b>C.</b> Câu lệnh đơn và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b>D.</b> Câu lệnh đơn hoặc ghép và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b> Câu 12.</b> Trong cấu trúc lặp với số lần chưa biết trước khẳng định nào sau đây là đúng
<b>A.</b> Câu lệnh sau Do phải là câu lệnh ghép
<b>B.</b> Câu lệnh còn được thực hiện (lặp) khi điều kiện có giá trị là sai.
<b>C.</b> Câu lệnh sau Do phải là câu lệnh đơn
<b>D.</b> Câu lệnh sau Do phải có ít nhất một câu lệnh làm thay đổi biểu thức điều kiện
<b> Câu 13.</b> Đoạn chương trình sau thực hiện i:=1; S:=0; While (i < N) Do begin S:=S+i; i := i+2; end;
Write('S = ',S);
<b>A.</b> Tính tổng các số lẽ từ 1 đến N <b>B.</b> Tính tổng các số lẽ từ 1 đến N -1
<b>C.</b> Tính tổng các số chẵn từ 1 đến N <b>D.</b> Tính tổng các số từ 1 đến N
<b> Câu 14.</b> Cho a,b,z là các biến nguyên, cho ðoạn chương trình:a:=5: b:=8; <b>While</b> (b>=a) <b>Do</b> a:=a+1;
Write('a=',a,', b=',b); cho kết quả của a, b là:
<b>A. </b>a=9, b=8 <b>B.</b>a=8, b=8 <b>C.</b> a=5, b=8 <b>D.</b> đáp án khác
<b> Câu 15. </b>Ðoạn chương trình sau:
For i:=1 to 5 do If ((i mod 2) <> 0) then Write(i,', '); writeln(i); Cho kết quả là
<b>A.</b> 1, 3, 5 <b>B.</b>1, 3 <b>C.</b> 1, 3, 5, 5 <b>D.</b> 2, 4
<b> Câu 16.</b> Những tên nào sau đây là tên các hàm xử lý xâu trong Pascal
<b>A.</b> Pos; Delete; Upcase; Copy <b>B.</b> Pos; Copy; length;
<b>C.</b> Tất cả đều đúng <b>D.</b> Copy; Insert; Length; Upcase
<b> Câu 17.</b> Trong kiểu dữ liệu kiểu mảng, khẳng định nào sau đây là sai
<b>A.</b> Mảng được đặt tên và mỗi phần tử của nó có một chỉ số
<b> B.</b> Các phần tử trong mảng có cùng kiểu dữ liệu
<b>C.</b> Là một dãy vô hạn các phần tử cùng kiểu
<b> D.</b> Có 2 cách để khai báo mảng một chiều.
<b> Câu 18.</b> Trong câu lệnh lặp for - đo khẳng định nào sau đây là sai.
<b>A.</b> Biến đếm là biến đơn, thường có kiểu nguyên B<b>.</b> Câu lệnh sau Do là câu lệnh đơn hoặc ghép
C<b>.</b> Giá trị đầu <= giá trị cuối. <b>D.</b> Câu lệnh sau Do phải có câu lệnh làm thay đổi
giá trị của biến đếm
<b> Câu 19.</b> Trong ngơn ngữ lập trình Pascal, cho 2 xâu s1:= 'abd'; s2:='abcde'. khi so sánh 2 xâu đáp án nào
là đúng
<b> Câu 20.</b> Cho biết kết quả của đoạn chương trình sau: S:=0; for i :=1 To 3 do For J:=1 To 3 do S:=S+J;
Writeln('S =',S);
<b>A.</b> S = 6 <b>B.</b> S = 18 <b>C.</b> 9 <b>D.</b> S = 10
<b> Câu 21.</b> Cho biết kết quả của đoạn chương trình sau N:=10975; While (N >=10) Do N := N div 10;
Writeln('N = ',N)
<b>A.</b> N = 10 <b>B.</b> N = 5 <b>C.</b> N = 1 <b>D.</b> N = 0
<b>Phần II. </b>Viết chương trình nhập vào xâu bất kỳ từ bàn phím. In ra màn hình xâu thu được từ nó sau khi
loại bỏ khoảng cách nếu có.
<b>Đề số 4: </b>
<b>Câu 1.</b> trong câu lệnh While <biểu thức điều kiện> Do <Câu lệnh>; câu lệnh sau từ khóa Do là :
<b>A.</b> Câu lệnh đơn và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b>B.</b> Câu lệnh ghép và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b>C.</b> Câu lệnh đơn hoặc ghép và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b>D.</b> Câu lệnh đơn hoặc ghép và có nhiều hơn 1 câu lệnh làm thay đổi biểu thức điều kiện.
<b> Câu 2.</b> Cho biết kết quả của đoạn chương trình sau Dem:=1; While (Dem < 5) Do Dem:=Dem+1;
Writeln('Dem = ',Dem)
<b>A.</b> Dem = 4 <b>B.</b> Dem = 6 <b>C.</b> Dem =5 <b>D.</b> Dem = 1
<b> Câu 3.</b> Trong câu lệnh lặp với số lần biết trước, giá trị của biến đếm :
<b>A.</b> có kiểu nguyên hoặc thực <b>B.</b> không tự động điều chỉnh.
<b>C.</b> tự động điều chỉnh sau khi thực hiện câu lệnh sau từ khóa Do <b>D.</b> có thể là chữ hoặc số
<b> Câu 4. </b>Ðoạn chương trình sau: For i:=1 to 5 do If ((i mod 2) <> 0) then Write(i,', '); writeln(i); Cho
kết quả là
<b>A.</b> 1, 3, 5, 5 <b>B.</b> 2, 4 <b>C.</b> 1, 3 <b>D.</b> 1, 3, 5
<b> Câu 5.</b> Trong câu lệnh lặp for - đo khẳng định nào sau đây là sai.
<b>A.</b> Giá trị đầu <= giá trị cuối. <b>B.</b> Biến đếm là biến đơn, thường có kiểu nguyên
<b>C.</b> Câu lệnh sau Do phải có câu lệnh làm thay đổi giá trị của biến đếm
<b>D.</b> Câu lệnh sau Do là câu lệnh đơn hoặc ghép
<b> Câu 6.</b> Cho S là một xâu bất kỳ. Đoạn chương trình sau có chức năng gì. For i:=1 to length(s) Do
s[i]:=Upcase(s[i]);
<b>A.</b> đáp án khác. <b>B.</b> báo lỗi
<b>C.</b> khơng có chức năng gì <b>D.</b> chuyển đổi các ký chữ cái trong xâu S thành
chữ in hoa
<b> Câu 7.</b> Trong ngôn ngữ lập trình Pascal muốn chuyển đổi xâu S từ chữ thường sang chữ in hoa ta dùng:
<b>A.</b> Pos(S) <b>B.</b> Tất cả đều sai. <b>C.</b> Length(S); <b>D.</b> Upcase(S);
<b> Câu 8.</b> Trong câu lệnh For <biến đếm:=giá trị đầu> To <giá trị cuối> Do <câu lệnh>; thì <biến đếm>
phải có giá trị như thế nào?
<b>A.</b> là biến đơn, thường có kiều nguyên. <b>B.</b> là biến đơn, có kiểu dữ liệu là kiểu thực.
<b>C.</b> có giá trị đầu lớn hơn giá trị cuối <b>D.</b> là biến đơn, thường có kiểu dữ liệu là nguyên
hoặc thực.
<b>A.</b> Có thể dùng While - Do hoặc For - Do <b>B.</b> Chỉ có thể dùng cấu trúc lặp While - Do
<b>C.</b> Chỉ có thể dùng cấu trúc lặp For - Do <b>D.</b> Đáp án khác
<b> Câu 10.</b> Trong ngôn ngữ lập trình Pascal, cho 2 xâu s1:= 'abd'; s2:='abcde'. khi so sánh 2 xâu đáp án nào
là đúng
<b>A.</b> đáp án khác <b>B.</b> s1 = s2 <b>C.</b> s1 > s2 <b>D.</b> s2 > s1
<b> Câu 11. </b>Cho mảng B một chiều, đoạn chương trình sau làm gì?
S: = 0; For i:= 1 to N do If ((B[i] mod 2 ) < > 0) and (B[i] mod 3) = 0 then S:= S + B[i];
<b>A.</b> Tính tổng các phần tử có giá trị là chẵn và bội của 3. <b>B.</b> Tính tổng các
<b>C.</b> Tính tổng các phần tử có giá trị là lẽ và bội của 3. <b>D.</b> Tính tổng các phần tử có giá trị là lẽ là
ước của 3.
<b> Câu 12. </b>Ðoạn chương trình sau cho kết quả gì?T:=0; <b>for</b> i:=1 <b>to</b> n <b>do</b> if (i mod 3=0) then T:=T+i*i;
<b>A.</b> Tính tổng bình phương các số là bội của 3 từ 1đến n <b>B.</b>Tính tổng các số chia hết cho 3 từ 1đến
n
<b>C.</b>Tính tổng bình phương các số lẽ trong phạm vi từ 1đến n. <b>D.</b>Tính tổng bình phương các số là ước
của 3 từ 1đến n
<b> Câu 13. </b>Với i là các biến nguyên. Ðoạn chương trình sau cho kết quả nào ?<b> </b>i:=1; while (i > 5) do i := i
+1; write(i,' ');
<b>A.</b>1 2 3 4 5 <b>B.</b>1 <b>C.</b> 5 <b>D.</b> 2 3 4 5
<b> Câu 14.</b> Cho biết kết quả của đoạn chương trình sau N:=10975; While (N >=10) Do N := N div 10;
Writeln('N = ',N)
<b>A.</b> N = 10 <b>B.</b> N = 0 <b>C.</b> N = 5 <b>D.</b> N = 1
<b> Câu 15.</b> Trong câu lệnh lặp for - do (dạng lùi), câu lệnh còn được thực hiện (lặp) khi nào ?
<b>A.</b> giá trị cuối > giá trị của biến đếm > giá trị đầu <b>B.</b> giá trị cuối > giá trị của biến đếm = giá trị đầu
<b>C.</b> giá trị cuối > giá trị của biến đếm >= giá trị đầu <b>D.</b> giá trị cuối >= giá trị của biến đếm >= giá trị
đầu
<b> Câu 16.</b> Cách khai báo mảng nào sau đây là đúng
<b>A.</b> Var D : array [ 1.2 .. 20] of integer; <b>B.</b> Var C : array [ n .. m] of real;
<b>C.</b> Var A : array [ -10 .. 10] of char; <b>D.</b> Var B : array [ 100 .. 20] of byte;
<b> Câu 17.</b> Trong cấu trúc lặp với số lần chưa biết trước khẳng định nào sau đây là đúng
<b>A.</b> Câu lệnh sau Do phải là câu lệnh đơn
<b>B.</b> Câu lệnh sau Do phải có ít nhất một câu lệnh làm thay đổi biểu thức điều kiện
<b>C.</b> Câu lệnh sau Do phải là câu lệnh ghép <b>D.</b> Câu lệnh còn được thực hiện (lặp) khi điều kiện có
giá trị là sai.
<b> Câu 18.</b> Trong kiểu dữ liệu kiểu mảng, khẳng định nào sau đây là sai
<b>A.</b> Mảng được đặt tên và mỗi phần tử của nó có một chỉ số <b>B.</b> Có 2 cách để khai báo mảng một
chiều.
<b>C.</b> Là một dãy vô hạn các phần tử cùng kiểu <b>D.</b> Các phần tử trong mảng có cùng
kiểu dữ liệu
<b>A.</b> Tính tổng các số lẽ từ 1 đến N -1 <b>B.</b> Tính tổng các số chẵn từ 1 đến N
<b>C.</b> Tính tổng các số từ 1 đến N <b>D.</b> Tính tổng các số lẽ từ 1 đến N
<b> Câu 20.</b> Câu Lệnh While <điều kiện> Do <Câu lệnh> thực hiện như thế nào ?
<b>A.</b> Trong khi điều kiện cịn đúng thì câu lệnh sau từ khóa "Do" còn được thực hiện.
<b>B.</b> Trong khi điều kiện cịn sai thì câu lệnh sau từ khóa "Do" cịn được thực hiện.
<b>C.</b> Nếu điều kiện sai thì <câu lệnh> sau từ khóa "Do" được thực hiện.
<b>D.</b> Nếu điều kiện đúng thì <câu lệnh> sau từ khóa "Do" không được thực hiện.
<b> Câu 21. </b>Với i,j là các biến nguyên. Cho ðoạn chương trình sau<b>: </b>For i:=1 to 3 do For j:=i downto 1 do
<b>A.</b>0 1 1 1 1 0 <b>B.</b>0 1 2 3 2 1 0 <b>C.</b> 0 1 0 2 1 0 <b>D.</b> 0 1 0 3 2 1 0
<b>Phần II: </b>Cho mảng B một chiều gồm M phần tử. Viết chương trinh nhập giá trị vào cho mảng, sau đó in
ra màn hình các phần tử các phần tử có giá trị là chẵn và là bội của 4 có trong mảng.
<b>ĐÁP ÁN </b>
<b>Đáp án mã đề: 1</b>
01. A; 02. A; 03. D; 04. A; 05. C; 06. A; 07. B; 08. B; 09. C; 10. D; 11. A; 12. B; 13. A; 14. A; 15. C;
16. B; 17. A; 18. A; 19. D; 20. C; 21. A;
<b>Đáp án mã đề: 2</b>
01. C; 02. B; 03. D; 04. B; 05. D; 06. C; 07. C; 08. A; 09. B; 10. D; 11. D; 12. A; 13. C; 14. D; 15. B;
16. D; 17. D; 18. C; 19. D; 20. A; 21. D;
<b>Đáp án mã đề: 3</b>
01. B; 02. A; 03. A; 04. D; 05. C; 06. A; 07. A; 08. C; 09. C; 10. D; 11. D; 12. D; 13. B; 14. C; 15. C;
16. B; 17. C; 18. C; 19. D; 20. B; 21. C;
<b>Đáp án mã đề: 4</b>
01. C; 02. C; 03. C; 04. A; 05. D; 06. D; 07. B; 08. A; 09. A; 10. C; 11. C; 12. A; 13. B; 14. D; 15. D;
16. C; 17. B; 18. C; 19. A; 20. A; 21. C;
Website <b>HOC247</b> cung cấp một môi trường <b>học trực tuyến</b> sinh động, nhiều <b>tiện ích thơng minh</b>, nội
<b>I. Luyện Thi Online </b>
-<b>Luyên thi ĐH, THPT QG:</b> Đội ngũ <b>GV Giỏi, Kinh nghiệm</b> từ các Trường ĐH và THPT danh tiếng
xây dựng các khóa <b>luyện thi THPTQG </b>các mơn: Tốn, Ngữ Văn, Tiếng Anh, Vật Lý, Hóa Học và Sinh
Học.
-<b>Luyện thi vào lớp 10 chuyên Tốn: </b>Ơn thi <b>HSG lớp 9</b> và <b>luyện thi vào lớp 10 chuyên Toán</b> các
trường <i>PTNK, Chuyên HCM (LHP-TĐN-NTH-GĐ), Chuyên Phan Bội Châu Nghệ An</i> và các trường
Chuyên khác cùng <i>TS.Trần Nam Dũng, TS. Pham Sỹ Nam, TS. Trịnh Thanh Đèo và Thầy Nguyễn Đức </i>
<i>Tấn.</i>
<b>II. Khoá Học Nâng Cao và HSG </b>
-<b>Toán Nâng Cao THCS:</b> Cung cấp chương trình Tốn Nâng Cao, Toán Chuyên dành cho các em HS
THCS lớp 6, 7, 8, 9 u thích mơn Tốn phát triển tư duy, nâng cao thành tích học tập ở trường và đạt
điểm tốt ở các kỳ thi HSG.
-<b>Bồi dưỡng HSG Tốn:</b> Bồi dưỡng 5 phân mơn <b>Đại Số, Số Học, Giải Tích, Hình Học </b>và <b>Tổ Hợp</b> dành
cho học sinh các khối lớp 10, 11, 12. Đội ngũ Giảng Viên giàu kinh nghiệm: <i>TS. Lê Bá Khánh Trình, TS. </i>
<i>Trần Nam Dũng, TS. Pham Sỹ Nam, TS. Lưu Bá Thắng, Thầy Lê Phúc Lữ, Thầy Võ Quốc Bá Cẩn</i> cùng
đơi HLV đạt thành tích cao HSG Quốc Gia.
<b>III. Kênh học tập miễn phí </b>
-<b>HOC247 NET:</b> Website hoc miễn phí các bài học theo <b>chương trình SGK</b> từ lớp 1 đến lớp 12 tất cả
-<b>HOC247 TV:</b> Kênh <b>Youtube</b> cung cấp các Video bài giảng, chuyên đề, ôn tập, sửa bài tập, sửa đề thi
miễn phí từ lớp 1 đến lớp 12 tất cả các mơn Tốn- Lý - Hố, Sinh- Sử - Địa, Ngữ Văn, Tin Học và Tiếng
Anh.
<i><b> Học mọi lúc, mọi nơi, mọi thiết bi – Tiết kiệm 90% </b></i>
<i><b>Học Toán Online cùng Chuyên Gia </b></i>