Đề ôn thi học kì 2 môn Tin học 11

docx 12 trang Người đăng khanhhuyenbt22 Ngày đăng 21/06/2022 Lượt xem 595Lượt tải 0 Download
Bạn đang xem tài liệu "Đề ôn thi học kì 2 môn Tin học 11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Đề ôn thi học kì 2 môn Tin học 11
 BÀI 11: KIỂU MẢNG
 Mảng một chiều là dãy 
 Các phần tử có thứ tự.
 Hữu hạn các phần tử cùng kiểu.
 Vô số các phần tử có giá trị
 Các số nguyên hoặc số thực
 Khai báo biến mảng một chiều có dạng:
 Var :array[kiểu chỉ số] of ;
 Type :array[kiểu chỉ số] of ;
 Var =array[kiểu chỉ số] of ;
 Type =;
 Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất ?
 Dùng để truy cập đến một phần tử bất kì trong mảng;
 Dùng để quản lí kích thước của mảng;
 Dùng trong vòng lặp với mảng;
 Dùng trong vòng lặp với mảng để quản lí kích thước của mảng;
 Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần 
 Khai báo một hằng số là số phần tử của mảng; 
 Khai báo chỉ số bắt đầu và kết thúc của mảng;
 Khai báo chỉ số kết thúc của mảng;
 Không cần khai báo gì, hệ thống sẽ tự xác định;
 Var X: ARRAY[0..100] OF INTEGER; biến mảng X có thể nhập tối đa bao nhiêu phần tử? 
 101	
 100	
 202	
 90
 Cho khai báo mảng như sau :
Var m : array[0..10] of integer ;
Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ?
 a[10]	
 a(10)	
 a[9]	
 a(9)
 Cho khai báo mảng như sau :
Var m : array[0..10] of integer ;
Với khai báo trên mảng A có thể nhập tối đa bao nhiêu phần tử ?
 100	
 10	
 11	
 9
 Cho khai báo mảng như sau :
Var m : array[0..100] of integer ;
Với khai báo trên, mảng A máy cung cấp cho bao nhiêu byte?
 100	
 200	
 202	
 50
 Phương án nào dưới đây là khai báo mảng hợp lệ ?
 mang : ARRAY[0..10] OF INTEGER;
 mang : ARRAY[0..10] : INTEGER;
 mang : INTEGER OF ARRAY[0..10];
 mang : ARRAY(0..10) : INTEGER;
 Var A:ARRAY [1..200] OF REAL. Biến A máy cung cấp cho bao nhiêu byte?
 200	
1200	
6	
100
 Với khai báo var a:array[1..10] of integer; Sau khi thực hiện đoạn chương trình, giá trị s =?
 S:=0;
 for i:=1 to 10 do a[i]:=i;
 for i:=5 downto 1 do s:=s+a[i];
 20
 10
 5
 15
 Cho khai báo sau:
VAR	A: array [0..16] of integer;
Câu lệnh nào sẽ in ra tất cả các phần tử của mảng trên
 For k :=1 to 16 do write(a[k]);	
 For k :=16 downto 0 do write(a[i]);
 For k :=0 to 15 do write(a[k]);	
 For k := 16 downto 0 do write(a[k]);
 Kết quả của đoạn chương trình sau: 	
d:=0; x[1]:=10; x[2]:=20; x[3]:=30; x[4]:=150;
for i:=1 to 3 do if x[i] mod 3=0 then d:=d+1;
 1 	
 60	 
 30	
 180
 Giả thiết M và N là hai mảng một chiều được khai báo như sau:
Var M,N:array[1..20] of integer;
Giả sử giá trị M[i] và N[i] (i nhận giá trị từ 1 đến 20) đã được xác định. Xét đoạn chương trình sau:
d:=0;
for i:=1 to 20 do if M[i] N[i] then d:=d+1;
writeln(d);
Đoạn chương trình trên thực hiện công việc gì dưới đây?
 Đếm số phần tử của M khác các phần tử của N.
 Đếm số phần tử khác nhau của M và N.
 Đếm số cặp phần tử tương ứng khác nhau của M và N
 Cả 3 câu còn lại sai
 Giả sử mảng a có giá trị như sau: a[1]=3, a[2]=-1, a[3]= 0, a[4] =-3, a[5]=8. Muốn in giá trị tất cả các phần tử trong mảng ra màn hình ta dùng câu lệnh:
 For i:=1 to 5 do read(a[i]);	
 For i:= 1 to 5 do write(a(i));
 For i:=1 to 5 do write(a[i]);	
 For i:=0 to 5 do read(a[i]);
 Cho khai báo mảng và đoạn chương trình như sau :
Var a : array[0..50] of real ;
k := 0 ;
for i := 1 to 50 do
if a[i] > a[k] then k := i ;	
	Đoạn chương trình trên thực hiện công việc gì dưới đây ?
 Tìm phần tử nhỏ nhất trong mảng;
 Tìm phần tử lớn nhất trong mảng;
 Tìm chỉ số của phần tử lớn nhất trong mảng;
 Tìm chỉ số của phần tử nhỏ nhất trong mảng
 var a:array[1..10] of integer; s,i:integer;
begin s:=0;
 	for i:=1 to 10 do a[i]:=i;
 	for i:=5 downto 1 do s:=s+a[i];
 	 writeln(s);
end.
Sau khi thực hiện chương trình trên, giá trị hiển thị lên màn hình là gì?
 	 20
 	10
	 5
 	15
 Cho khai báo mảng và đoạn chương trình như sau :
Var a : array[0..50] of real ;
k := 0 ;
for i := 1 to 50 do
if a[i] > a[k] then k := i ;	
	Đoạn chương trình trên thực hiện công việc gì dưới đây ?
 Tìm phần tử nhỏ nhất trong mảng;
 Tìm phần tử lớn nhất trong mảng;
 Tìm chỉ số của phần tử lớn nhất trong mảng;
 Tìm chỉ số của phần tử nhỏ nhất trong mảng;
 BÀI 12. Kiểu xâu
 Độ dài tối đa của kiểu dữ liệu string là bao nhiêu?
 255
 256
 65535
 tùy ý
Var s: string[20]
Với khai báo trên; xâu có thể nhập tối đa bao nhiêu kí tự bao nhiêu ?
 255
 256
 20
 tùy ý
Hãy cho biết ký hiệu nào sau đây dùng để ghép nhiều xâu thành 1 xâu ?
 &	
 - 
 *	
 +
 Để khai báo kiểu xâu ta trực tiếp sử dụng cú pháp nào?
 Var : ;
 Var : String[độ dài của lớn nhất của xâu] ;
 Var = ;
 Var = String[độ dài lớn nhất của xâu];
 Chọn đáp án đúng ?
 var s: string;
 var s: string[1..20]
 var s:string
 var s:text;
 Trong các phát biểu sau, phát biểu nào sai ?
 Xâu A lớn hơn xâu B nếu độ dài xâu A lớn hơn độ dài xâu B;
 Xâu A lớn hơn xâu B nếu kí tự dầu tiên khác nhau giữa chúng kể tử trái sang trong xâu A có mã ASCII lớn hơn;
 Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B;
 Hai xâu bằng nhau nếu chúng giống nhau ho àn toàn;
 Cho hai xâu s1=’c’ và xâu s2=’aaaaaaaaaaaa’. So sánh xâu nào có độ dài lớn hơn?
 s2
 s1
 s1=s2
 tùy ý
 Cho hai xâu s1=’c’ và xâu s2=’aaaaaaaaaaaa’. So sánh xâu nào LỚN hơn?
 s1
 s2
 s1 trùng với s2
 tùy ý
 Hàm POS(S1,S2) cho kết quả là gì?
 Sao chép S2 từ S1	
 Vị trí đầu tiên của S2 trong S1
 Vị trí đầu tiên của xâu S1 trong S2	
 Xoá S1 trong S2
 Cho 2 xâu s1=’ab’ và s2=’efab cbab’. Hàm Pos(s1,s2) trả về kế quả là bao nhiêu:
 1	
 8
 3	
 2
 Hãy cho biết khai báo biến xâu nào sau đây là đúng?
 Var St:string[1..20];	
 Var St:string of Char; 
 Var St:string[10]; 
 Var St:string[500];
Thủ tục hay hàm nào sau đây viết sai cú pháp ?(trong đó st,st1,st2 là các biến xâu).
 Length(st,5) 	
 Copy(St,4,3) 
 Pos(St1,st2) 	
 Upcase(St[5]) 
 Cho s=’viet nam’. Hàm length(s) trả về giá trị?
 8	
 7
 6	
 9
 Cho s=’viet nam’. Hàm Upcase(s[4]) in hoa kí tự thứ mấy trong xâu?
 4	
 5
 6	
 9
 Cho xâu S1 := ‘abc’ ; và xâu S2 := ‘bac’ ; Hãy cho biết kết quả của S2 sau khi thực hiện thủ tục INSERT(S1,S2,3)?
 ‘abcbac’	
 ‘bacabc’	
 ‘baabcc’
 ‘abbacc’
 Xâu có độ dài bằng không được gọi là: 
 Xâu rỗng	
Tên xâu	
Tên kiểu xâu 	
Xâu S
 Xét đoạn chương trình sau:
Var S: string; 
Begin
S:= ‘tin hoc lop 11’;
S[1]:= Upcase(S[1]);
Write (St);
End.
Sau khi thực hiện đoạn chương trình trên thì xâu S có giá trị là:
 ‘tin Hoc Lop 11’	
 ‘Tin hoc lop 11’	
 ‘TIN HOC LOP 11’	
 ‘tin HOC LOP 11’
 Trong pascal đoạn chương trình sau thực hiện công việc gì?
	For i:=1 to length(s) do
	S[i]:=Upcase(s[i]);
 Đổi xâu s thành chữ thường	
 In hoa kí tự đầu của mỗi từ
 Đổi xâu s thành chữ in hoa	
 Đếm kí tự trong xâu s
 Cho S1 = 'abc'; S2 = ' deft'. Kết quả gọi thủ tục Insert (S2,S1,3) là:
 'abdeftc'	
 'abcfted'	
 'eftcabd'	
 'abcdeft'
 Cho S = 'chuc cac ban', kết quả hàm length(S) là:
 12	
 16	
 22	
 18
 Xét đoạn chương trình sau:
Var S: string;
 i : integer; 
Begin
S:= ‘tin hoc lop 11’; S[1]:= Upcase(S[1]);
For i:=2 to (length(S)-1) do
	If S[i] = ‘ ’ then S[i+1]:=Upcase(S[i+1]);
 Write (S);
 End.
Sau khi thực hiện đoạn chương trình trên thì xâu S có giá trị là:
 ‘tin Hoc Lop 11’	
 ‘Tin hoc lop 11’	
 ‘TIN HOC LOP 11’	
 ‘Tin Hoc Lop 11’
 Cho đoạn chương trình sau; nhập xâu s=’345THPT78’ kết quả cho ra màn hình là:
	n:=length(s);i:=1;
while i<=n do
 	begin
 	if (s[i] >='0') and(s[i]<='9') then begin delete(s,i,1);n:=n-1;i:=i-1; end;
 	 i:=i+1;
 end;
write(s);
 THPT	
 5THPT7	
 34578	
 78
 Giả sử đã khai báo biến mảng và các biến khác; đoạn chương trình dưới đây làm gì?
For i:= 1 to n - 1 do
	 For j: = i+1 to n do 
	If a[i]>a[j] then
	 Begin tg := a[i]; a[i] := a[j]; a[j] := tg;	End;
 Hoán đổi các vị trí của mảng cho nhau.
 Sắp xếp các phần tử của mảng theo trật tự giảm dần.
 Sắp xếp các phần tử của mảng theo trật tự tăng dần.
 Sắp xếp lại giá trị chỉ số của mảng.
 Cho st:=’abcde’. Kết quả khi sử dụng thủ tục Delete(st,2,3) là:
 st=’ab’	
 st=’bc’	
 st=’ae’	
 st=’ac’

Tài liệu đính kèm:

  • docxde_on_thi_hoc_ki_2_mon_tin_hoc_11.docx