Tải bản đầy đủ (.docx) (4 trang)

Bài tập tự học môn Tin lớp 11

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 (125.37 KB, 4 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>BÀI 11: KIỂU MẢNG</b>



<i><b>Nội dung học tập “Kiểu mảng một chiều” – SGK từ trang 53 đến 59</b></i>
<b>I. CÂU HỎI TÌM HIỂU LÝ THUYẾT :</b>


<b>Câu hỏi 1: Thế nào là mảng một chiều?</b>Tại sao ta lại phải sử dụng mảng?
<b>Câu hỏi 2: Tại sao mảng là kiểu dữ liệu có cấu trúc?</b>


<b>Câu hỏi 3: Em hãy nêu cú pháp để khai báo mảng một chiều theo hai cách khai</b>
báo trực tiếp và khai báo gián tiếp? Em hãy giải thích các thành phần trong cú
pháp?


<b>Câu hỏi 4: Cú pháp tham chiếu đến phần tử của mảng một chiều thế nào?</b>
<b>II. BÀI TẬP TRẮC NGHIỆM LUYỆN TẬP :</b>


<b>Câu 1: Phát biểu nào sau đây về mảng một chiều là đúng?</b>
A. Là tập hợp hữu hạn các phần tử có cùng kiểu dữ liệu
B. Chỉ là tập hợp các số ngun


C. Mảng khơng chứa các kí tự là chữ cái


D. Là tập hợp vơ hạn các phần tử có cùng kiểu dữ liệu


<b>Câu 2: Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:</b>
A. khai báo một hằng số là số phần tử của mảng


B. khai báo chỉ số bắt đầu và kết thúc của mảng
C. khai báo chỉ số kết thúc của mảng


D. không cần khai báo gì, hệ thống sẽ tự xác định



<b>Câu 3: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?</b>
A. Dùng để truy cập đến một phần tử bất kì trong mảng


B. Dùng để quản lí kích thước của mảng
C. Dùng trong vịng lặp với mảng


D. Dùng trong vịng lặp với mảng để quản lí kích thước của mảng
<b>Câu 4: Cú pháp khai báo trực tiếp mảng một chiều là:</b>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Câu 5: Để định nghĩa kiểu mảng một chiều ta dùng cú pháp:</b>


A. TYPE <Tên kiểu mảng>=ARRAY[kiểu chỉ số] OF <Kiểu phần tử>;
B. TYPE <Tên kiểu mảng>:ARRAY[kiểu chỉ số] OF <Kiểu phần tử>;
C. TYPE <Tên kiểu mảng>=ARRAY[kiểu phần tử] OF <Kiểu chỉ số>;
D. VAR <Tên kiểu mảng>=ARRAY[kiểu chỉ số] OF <Kiểu phần tử>;
<b>Câu 6: Phương án nào dưới đây là khai báo mảng hợp lệ?</b>


A. VAR mang : ARRAY[0..10] OF INTEGER;
B. VAR mang : ARRAY[0 - 10] OF INTEGER;
C. VAR mang : INTEGER OF ARRAY[0..10];
D. VAR mang : ARRAY(0..10) OF INTEGER;


<b>Câu 7: Chọn câu phát biểu đúng về kiểu chỉ số mảng một chiều?</b>
A. Chỉ số mảng có thể là kiểu số nguyên, kiểu ký tự, kiểu logic
B. Chỉ số mảng chỉ có thể là kiểu số nguyên


C. Chỉ số mảng là một dãy số nguyên liên tục từ n1 đến n2 trong đó n2>n1
D. Có thể dùng tất cả các kiểu dữ liệu để làm chỉ số mảng


<b>Câu 8: Tham chiếu đến phần tử thứ i của mảng D được xác định bởi:</b>


A. D[',i',]


B. D['i']
C. D[i]
D. D(i)


<i><b>Câu 9: Cho khai báo sau: Var a:array[0..16] of Integer;</b></i>


<i><b>Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên?</b></i>
A. For k := 1 to 16 do write(a[k]);


B. For k := 16 downto 0 do write(a[k]);
C. For k:= 0 to 15 do write(a[k]);


D. For k := 16 down to 0 write(a[k]);
<b>Câu 10: Cho chương trình như sau:</b>


<i>Var a : array[0..50] of real ;</i>
<i> i,k:Byte;</i>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<i> For i := 1 to 50 do</i>


<i> If a[i] > a[k] then k := i ;</i>
<i> Write(k); </i>


<i>End.</i>


<i><b>Chương trình trên thực hiện cơng việc gì dưới đây?</b></i>
A. Tìm phần tử nhỏ nhất trong mảng



B. Tìm phần tử lớn nhất trong mảng


C. Tìm chỉ số của phần tử lớn nhất trong mảng
D. Tìm chỉ số của phần tử nhỏ nhất trong mảng


<i><b>Câu 11: Cho khai báo mảng như sau: Var m : array[0..10] of integer ;</b></i>
<i><b>Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?</b></i>


A. m[10];
B. m(10);
C. m[9];
D. m(9);


<i><b>Câu 12: Cho khai báo: VAR A:ARRAY[-Nmax..Nmax] OF Integer;</b></i>
<i><b>Khai báo trên ĐÚNG trong trường hợp nào?</b></i>


A. Nmax là một hằng số nguyên đã được khai báo trước đó
B. Nmax là một biến nguyên đã được khai báo trước đó


C. Nmax phải là kiểu số nguyên hoặc kiểu ký tự hoặc kiểu logic
D. Mọi trường hợp


<b>Câu 13: Cho khai báo mảng và đoạn lệnh sau:</b>


<i>+ Var a:array[1..5] OF Integer;</i>


<i>+ For i:=1 to 5 do S:=S+a[i];</i>


<i><b>Cho biết a[1]=2, a[2]=4; a[3]=5; a[4]=6; a[5]=9; và S=0; sau khi thực hiện đoạn</b></i>
<i><b>lệnh thì S=?</b></i>



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>Câu 14: Cho khai báo mảng và đoạn lệnh sau:</b>


<i>+ Var a:array[1..5] OF Integer;</i>


<i>+ For i:=1 to 5 do If a[i] mod 2 <>0 then d:=d+1;</i>


<i><b>Cho biết a[1]=4, a[2]=6; a[3]=7; a[4]=8; a[5]=11; và d=0; sau khi thực hiện</b></i>
<i><b>đoạn lệnh thì d=?</b></i>


A. 0
B. 3
C. 2
D. 4


<b>Câu 15: Biểu thức điều kiện để kiểm tra một phần tử thứ i của mảng A có</b>
<b>nằm trong (-5;10)?</b>


A. (A[i] > -5) or (A[i] < 10)
B. (A[i] < -5) and (A[i] >10 )
C. (-5 < A[i] < 10)


D. (A[i] > -5) and (A[i] < 10)
<b>III. BÀI TẬP VẬN DỤNG :</b>


<b>Câu 1: Viết chương trình nhập vào mảng số nguyên gồm N phần tử (0 ≤ N ≤ 200).</b>
Thực hiện các yêu cầu sau:


<b>a. In mảng vừa nhập ra màn hình, mỗi phần tử được in ra trên một dịng?</b>
<b>b. Tính và in ra màn hình trung bình cộng các phần tử trong mảng?</b>


<b>c. Tính và in ra màn hình tổng các phần tử có giá trị là số chẵn?</b>
<b>d. Đếm xem mảng có bao nhiêu phần tử có giá trị là hai chữ số?</b>


<b>Câu 2: Viết chương trình nhập vào dãy số nguyên gồm N phần tử (0 ≤ N ≤ 100).</b>
Thực hiện các yêu cầu sau:


<b>a. In dãy số vừa nhập ra màn hình, các phần tử được in trên cùng một dòng,</b>
phần tử này cách phần tử kia một khoảng trống duy nhất?


<b>b. Tìm số nhỏ nhất trong dãy số?</b>


</div>

<!--links-->

×