Họ và tên: Lớp: I. Trắc nghiệm: (7 điểm) 01. Khái báo mảng một chiều nào sau đây là đúng: A. Type dayso=array[1 250] of Integer; Var A:dayso; B. Type dayso: array[1 250] of Integer; Var A:dayso; C. Type dayso=array[1 250] of Integer; Var dayso:A; D. Var dayso=array[1 250] of Integer; 02. Trong ngôn ngữ lập trình pascal, trong quá trình nhập dữ liệu của mảng một chiều, để giá trị i cũng tăng theo phần tử thứ i ta viết như sau: A. Write('A['i']='); readln(A[i]); B. Write('A[i]='); readln(A[i]); C. Write('A[',i,']='); readln(A[i]); D. Write("A[",i,"]="); readln(A[i]); 03. S = 'Xin chao cac ban' A. Length(S) = 16; B. Length(S) = 8; C. Length(S) = 13; D. Length(S) = 12; 04. S1='Truong' S2='Hinh .2' Insert(s1,s2,6) A. S2= 'Hinh Truong.2' B. S2= 'Hinh 2Truong.' C. S2= 'Hinh Truong2' D. S2= 'Hinh .Truong2' 05. S = 'Truong*THPT*Truong*Vinh*Ky'; Copy(S,7,6); A. S= '*THPT* ' B. S= ' *THPT*' C. S= '*THPT*' D. S= 'THPT* ' 06. Cho S1 = ' Xau' và S2= 'Xau ki tu' A. S1 < S2 B. S1 = S2 C. S1<=S2 D. S1 > S2 07. S:=0; For i:=1 to n do Begin Write('Nhap phan tu thu ',i,': '); Readln(A[i]); S:=S+ i; end; A. Tính tổng S và A[i] B. Tính tổng các phần tử của mảng một chiều. C. Tính tổng của S và i D. Tính tổng các số từ 1 đến n 08. Trong ngôn ngữ lập trình Pascal A. Các phần tử của mảng một chiều được sắp thứ tự giá trị giảm dần; B. Các phần tử của mảng một chiều được sắp thứ tự theo chỉ số; C. Các phần tử của mảng một chiều được sắp thứ tự giá trị tăng dần; D. Các phần tử của mảng một chiều không sắp thứ tự; 09. Type dayso=array[1 250] of Integer; Var A:dayso; Đoạn chương trình trên thực hiện công việc: A. Khai báo mảng 1 chiều B. Khái báo kiểu dữ liệu mới C. Khai báo mảng một chiều bằng cách gián tiếp D. Khái báo mảng một chiều bằng cách trực tiếp Điểm Lời phê của giáo viên 10. Var s :String; A. Khai báo xâu s có độ dài 0 ký tự B. Khai báo xâu s có độ dài 256 ký tự C. Khai báo xâu s không đúng D. Khai báo xâu s có độ dài 255 ký tự 11. TYPE Bang = array[1 9,1 9] of integer; Var A: Bang; A. Khai báo trực tiếp mảng 2 chiều gồm 9 phần tử nguyên dương. B. Khai báo gián tiếp mảng một chiều gồm 9 phần tử nguyên dương. C. Khai báo trực tiếp mảng một chiều gồm 9 phần tử nguyên. D. Khai báo gián tiếp mảng 2 chiều gồm 81 phần tử nguyên 12. For i:= 1 to n do For j:=1 to m do Begin write('A[',i,j,' ] = ' ); readln(A[i,j]); end; A. Nhập vào giá trị các phần tử mảng A hai chiều B. Nhập vào giá trị các phần tử mảng A một chiều C. Xuất giá trị các phần tử mảng A hai chiều D. Xuất giá trị các phần tử mảng A một chiều 13. Khai báo nào của mảng một chiều sau đây là đúng A. Var A:array[1…366] of Integer; B. Type A:array[1 366] of Integer; C. Var A:array[1 366] of Integer; D. Type A:array[1 366] of Integer; var A: integer; 14. Cho xâu S= 'String[20]' A. Độ dài xâu S là 10 B. Độ dài xâu S là 255 C. Độ dài xâu S là 11 D. Độ dài xâu S là 20 15. For j:=n downto 2 do For i:=1 to j-1 do If A[i]>A[i+1] then Begin Tg:=A[i]; A[i]:=A[i+1]; A[i+1]:=Tg; end; Đoạn chương trình trên thực hiện công việc: A. Sắp xếp các chỉ số i của mảng một chiều A thành giải giảm B. Sắp xếp mảng một chiều A thành giải giảm C. Sắp xếp mảng một chiều A thành giải không giảm D. Đổi chỗ A[i] với A[i+1] 16. Var Bang: array[1 9,1 9] of integer; A. Khai báo trực tiếp mảng 2 chiều gồm 81 phần tử nguyên B. Khai báo trực tiếp mảng 2 chiều gồm 9 phần tử nguyên dương. C. Khai báo trực tiếp mảng một chiều gồm 9 phần tử nguyên. D. Khai báo gián tiếp mảng một chiều gồm 9 phần tử nguyên dương. 17. Var A:array[1 366] of Integer; Đoạn chương trình trên thực hiện công việc: A. Khai báo trực tiếp mảng một chiều gồm 366 phần tử nguyên dương. B. Khai báo trực tiếp mảng một chiều gồm 366 phần tử nguyên. C. Khai báo gián tiếp mảng một chiều gồm 366 phần tử nguyên dương. D. Khai báo gián tiếp mảng một chiều gồm 366 phần tử nguyên 18. Cho S1 = 'Ha Noi' và S2 = 'Ha Nam' A. S1 = S2 B. S1 > S2 C. S1<= S2 D. S1 >= S2 19. For i:=1 to n do Begin For j:=1 to m do Write(A[i,j],' '); Writeln; end; A. Nhập vào giá trị các phần tử mảng A hai chiều B. Xuất giá trị các phần tử mảng A hai chiều C. Xuất giá trị các phần tử mảng A một chiều D. Nhập vào giá trị các phần tử mảng A một chiều 20. Max:=A[1]; csmax:=1; For i:=2 to n do If A[i]<Max then Begin Max:=A[i]; csmax:=i; end; Đoạn chương trình trên thực hiện công việc: A. Tìm số nhỏ nhất của dãy B. Tìm chỉ số lớn nhất của dãy C. Tìm số lớn nhất của dãy D. Tìm chỉ số nhỏ nhất của dãy 21. Xâu là: A. Dãy 24 ký tự trong bộ mã ASCII B. Dãy 128 ký tự trong bộ mã ASCII C. Là mảng 1 chiều A có 24 Ký tự D. Dãy các ký tự trong bộ mã ASCII 22. S = 'Song Hong' Delete(S,1,5); A. S= 'Song' B. S= 'Song Hong' C. S= 'HONG' D. S= 'Hong' 23. S:=0; For i:=1 to n do Begin Write('Nhap phan tu thu ',i,': '); Readln(A[i]); S:=S+A[i]; end; Đoạn chương trình trên thực hiện công việc: A. Tính tổng các số từ 1 đến n B. Tính tổng các chỉ số của mảng một chiều C. Tính tổng các phần tử của mảng một chiều. D. Tính tổng của S và A[1] II. Tự luận:(3 điểm) 1. Viết chương trình nhập họ tên của hai người vào hai biến xâu và đưa ra màn hình xâu dài hơn,nếu bàng nhau thì đưa ra xâu nhập sau. . Length(S) = 12; 04. S1='Truong' S2='Hinh .2& apos; Insert(s1,s2,6) A. S2= 'Hinh Truong .2& apos; B. S2= 'Hinh 2Truong.' C. S2= 'Hinh Truong2' D. S2= 'Hinh. số nhỏ nhất của dãy 21 . Xâu là: A. Dãy 24 ký tự trong bộ mã ASCII B. Dãy 128 ký tự trong bộ mã ASCII C. Là mảng 1 chiều A có 24 Ký tự D. Dãy các ký tự trong bộ mã ASCII 22 . S = 'Song Hong' Delete(S,1,5); A D. S= 'THPT* ' 06. Cho S1 = ' Xau' và S2= 'Xau ki tu' A. S1 < S2 B. S1 = S2 C. S1<=S2 D. S1 > S2 07. S:=0; For i:=1 to n do Begin Write('Nhap phan