Câu 1: Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
A. Là một tập hợp các số nguyên
B. Độ dài tối đa của mảng là 255
C. Là một dãy hữu hạn các phần tử cùng kiểu
D. Mảng không thể chứa kí tự
Phát biểu nào dưới đây là sai?
A. Xâu là một dãy các kí tự trong bảng mã ASCII. Kiểu xâu là một kiểu dữ liệu có cấu trúc.
B. Có thể xem mỗi xâu có cấu trúc giống như một mảng một chiều mà mỗi phần tử của mảng là một kí tự trong bảng mã ASCII, được đánh chỉ số từ 1.
C. Số lượng kí tự trong một xâu chính là độ dài của xâu.
D. Các phép toán thao tác với xâu tương tự như các phép toán thao tác với mảng.
Mọi người lại giúp tôi đi
Phát biểu nào dưới đây là sai?
A. Xâu là một dãy các kí tự trong bảng mã ASCII. Kiểu xâu là một kiểu dữ liệu có cấu trúc.
B. Có thể xem mỗi xâu có cấu trúc giống như một mảng một chiều mà mỗi phần tử của mảng là một kí tự trong bảng mã ASCII, được đánh chỉ số từ 1.
C. Số lượng kí tự trong một xâu chính là độ dài của xâu.
D. Các phép toán thao tác với xâu tương tự như các phép toán thao tác với mảng.
Phần I: Phần trắc nghiệm
Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)
A. Thông tin B. Dữ liệu C. Kiểu D. Giá trị
Câu 2: Cấu trúc lặp thường có mấy dạng?
A. 3 B. 4 C. 2 D. 1
Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?
A. While – do B. If – Then C. For – do D. Cả ba đều đúng.
Câu 4: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử? Var a:array [0..10] of byte;
A. 8 B. 9 C. 11 D. 10
Câu 5: Để lưu trữ dãy số thực A1, A2, … A50 thì khai báo nào sau đây là đúng?
A. Var A:=array[1..50] of real; B. Var A:array[1..50] of word;
C. Var A:array[1..30] of extended; D. Var A:array[1..50] of Real;
Câu 6: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+i; kết quả S sau khi thực hiện là bao nhiêu?
A. 10 B. 55 C. 1 D. 50
Câu 7: Trong câu lệnh while: While <điều kiện> do <câu lệnh>; khi nào kết thúc lặp?
A. Điều kiện đúng B. Điều kiện sai C. Cả A và B đúng D. Cả A và B sai.
Câu 8: Cho lệnh lặp: While (abs(x) >= 5) do write(x); lệnh write(x) được lặp lại bao nhiêu lần?
A. Lặp vô hạn B. 5 lần C. 6 lần. D. Chưa biết
Câu 9: Lệnh lặp nào sau đây là đúng.
A. For i:=1 two 10 do S:=S+i; B. For i:=1 to 10 do S:=S+i;
C. For i=1 to 10 do S:=S+i; D. For i:=1 to -10 do S:=S+i;
Câu 10: Có Var A:Array[1..100] of byte; Để tham chiếu đến phần tử 5 của mảng, ta viết thế nào?
A. A<5> B. A(5) C. A{5} D. A[5]
Câu 11: Cho dãy số gồm 4 số thực, 5 số nguyên. Em có thể khai báo một mảng một chiều gồm 9 phần tử kiểu nguyên để lưu trữ dãy số hay không?
A. Có B. Đáp án khác. C. Vừa có vừa không D. Không
Câu 12: S:=0; For i:=1 to N do if T[i] mod 2 = 0 then S:=S+T[i]; Đoạn lệnh trên thực hiện công việc gì?
A. Tìm tổng giá trị các phần tử của mảng T B. Tìm tổng giá trị các số chẵn trong mảng T
C. Tìm tổng giá trị các số lẻ trong mảng T D. Cả A, B, C đều đúng.
Câu 13: Khi chạy chương trình :
Var A:array[1..10] of integer;
i, S : integer;
Begin A[1]:= 3; A[2]:= -1; A[3]:= -4;
S:= 0;
For i:=1 to 3 do If A[i] > 0 then S:=S+A[i];
Write(S);
End.
Kết quả in ra giá trị của S là:
A. 2 B. 3 C. 4 D. -5
Câu 14: Hãy cho biết kết quả đưa ra màn hình của chương trình sau:
Var x, i: byte;
BEGIN X:=0; i:=0; While i<17 do begin x:= x+i; i:=i+2; end; writeln(‘x= ’, x); END.
A. x= 72 B. x= 90 C. x= 91 D. 56
Câu 15: Cho khai báo Var A: array[1..10] of integer; Để nhập giá trị cho phần tử thứ 3 của mảng thực hiện câu lệnh nào?
A.Read(A<3>); B. Writeln(A[3]); C. Write(‘A[3]’); D. Readln(A[3]);
Câu 16: Các khai báo sau, khai báo nào là đúng?
A. Var A:array[1....n] of byte; B. Var A = array[1..10] of real;
C. Var A:array[-10. .10] of boolean; D. Var A : array[‘a’..’z’] of read;
Câu 17: Cho khai báo Var S:Array[1..5] of byte; S có thể lưu trữ dãy số nào sau đây.
A. 300 3 5 4 5 B. 1 3 6 C. 1 -2 3 2 D. 1 5 3 2 4 3
Câu 18: Cho khai báo sau: Var A, B : array[1..20] of integer; Giả sử giá trị A[i] và B[i] (i nhận giá trị từ 1 đến 20) đã được xác định. Xét đoạn chương trình:
d:=0; for i:=1 to 20 do If A[i] <> B[i] then d:=d+1; writeln(d);
Đoạn chương trình trên thực hiện công việc gì?
A. Đếm số phần tử của A khác các phần tử của B B. Đếm số phần tử khác nhau của A và B
C. Đếm số cặp phần tử tương ứng khác nhau của A và B D. Tất cả đều sai
Câu 19: Cho khai báo a : array[0..16] of integer ;
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 ?
A. for k := 1 to 16 do write(a[k]); B. for k := 16 downto 0 do write(a[k]);
B. for k:= 0 to 15 do write(a[k]); D. for k := 16 down to 0 write(a[k]);
Câu 20: 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 ?
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;
Câu 21: 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. m[10] B. m(10) C. m(9) D. m[9]
Câu 1: B
Câu 2: C
Câu 3: D
Câu 4: C
Câu 21: D
Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)
A. Thông tin B. Dữ liệu C. Kiểu D. Giá trị
Câu 2: Cấu trúc lặp thường có mấy dạng?
A. 3 B. 4 C. 2 D. 1
Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?
A. While – do B. If – Then C. For – do D. Cả ba đều đúng.
Câu 4: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử? Var a:array [0..10] of byte;
A. 8 B. 9 C. 11 D. 10
Câu 5: Để lưu trữ dãy số thực A1, A2, … A50 thì khai báo nào sau đây là đúng?
A. Var A:=array[1..50] of real; B. Var A:array[1..50] of word;
C. Var A:array[1..30] of extended; D. Var A:array[1..50] of Real;
Câu 6: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+i; kết quả S sau khi thực hiện là bao nhiêu?
A. 10 B. 55 C. 1 D. 50
Câu 7: Trong câu lệnh while: While <điều kiện> do <câu lệnh>; khi nào kết thúc lặp?
A. Điều kiện đúng B. Điều kiện sai C. Cả A và B đúng D. Cả A và B sai.
Câu 8: Cho lệnh lặp: While (abs(x) >= 5) do write(x); lệnh write(x) được lặp lại bao nhiêu lần?
A. Lặp vô hạn B. 5 lần C. 6 lần. D. Chưa biết
Câu 9: Lệnh lặp nào sau đây là đúng.
A. For i:=1 two 10 do S:=S+i; B. For i:=1 to 10 do S:=S+i;
C. For i=1 to 10 do S:=S+i; D. For i:=1 to -10 do S:=S+i;
Câu 10: Có Var A:Array[1..100] of byte; Để tham chiếu đến phần tử 5 của mảng, ta viết thế nào?
A. A<5> B. A(5) C. A{5} D. A[5]
Câu 1: C
Câu 2: C
Câu 3: D
Câu 4: C
Câu 5: D
Câu 6: B
Câu 7: B
Câu 9: B
Câu 10: D
Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
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
Chỉ số của mảng dùng để tham chiếu (truy cập) đến một phần tử bất kì trong mảng. Cú pháp: <Tên mảng>[chỉ số];
Đáp án: A
Cho mảng 1 chiều A có tối đa 100 phần tử các phần tử có kiểu số nguyên.
a. Nhập số nguyên N và mảng A gồm N số nguyên
b. Xuất mảng.
c. tính và đưa ra màn hình số phần tử bé hơn 2 số liền kề.
d. tính và đưa ra màn hình số phần tử lớn hơn 2 số liền kề.
uses crt;
var a:array[1..100]of integer;
i,n,dem1,dem2:integer;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
for i:=1 to n do write(a[i]:4);
writeln;
dem1:=0;
for i:=1 to n do
if (a[i]>a[i-1]) and (a[i]>a[i+1]) then dem1:=dem1+1;
dem2:=0;
for i:=1 to n do
if (a[i]<a[i-1]) and (a[i]<a[i+1]) then dem2:=dem2+1;
writeln(dem1);
writeln(dem2);
readln;
end.
1.Khái niệm về xâu và kiểu string.
-Xâu kí tự là một dãy gồm nhiều kí tự đặt cạnh nhau và được đánh các số phần tử theo chỉ số;ví dụ”Toan Tin”,phần tử thứ I là s[i].
-Như vậy xét về bản chất xâu kí tự giống như một mảng kí tự.
-Ta đặt xâu kí tự trong dấu nháy kép,còn mỗi kí tự ta đặt trong dấu nháy đơn.
Cho biến mảng a gồm tối đa 4 phần tử, phàn tử đầu tiên có chỉ số phần tử là 3, biến mảng a có giá trị là 34;30;56;72. Phát biểu nào sau đây đúng?
A. a[1]=34, a[2]=30, a[3]=56, a[4]=72
B. Chỉ có các phần tử a[3], a[4], a[5], a[6] là có giá trị, các phần tử khác không xác định
C. a[3]=34, a[4]=30, a[5]=56, a[6]=72
D. Cả B và C đều đúng
Câu D nha
t nhớ t tô đậm r thế mà 2 , 3 lần vẫn k đc:))vi diệu thật
a) khai báo một mảng các phần tử gồm 100 số nguyên
b) nhập các phần tử của mảng từ bàn phím
c) hiển thị phần tử bế nhất trong mảng
d) sắp xếp mảng theo thứ tự tăng dần
uses crt;
var a:array[1..100]of integer;
i,n,min,tam,j:integer;
begin
clrscr;
n:=100;
for i:=1 to 100 do
begin
write('A[',i,']='); readln(a[i]);
end;
min:=a[1];
for i:=1 to n do
if min>a[i] then min:=a[i];
writeln('Gia tri nho nhat la: ',min);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
writeln('Day so tang dan la: ');
for i:=1 to n do
write(a[i]:4);
readln;
end.