Câu 1. Phát biểu nào dưới đây về kiểu mảng là đúng nhất ?
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ự.
Câu 2. Phát biểu nào dưới đây về kiểu mảng là đúng nhất ?
A.
Mảng một chiều là một dãy hữu hạn các số nguyên.
B.
Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu
dữ liệu.
C.
Có thể dùng bất cứ một kiểu dữ liệu chuẩn nào để đánh chỉ
số cho các phần tử của mảng một chiều.
D.
Khi xây dựng kiểu mảng một chiều, người lập trình không
cần khai báo kiểu dữ liệu của phần tử của mảng.
Câu 3. Khai báo biến mảng A nào sau đây là khai báo hợp lệ ?
A.
Var A : array[0..10] of integer;
B.
Var A : array[0...10]
integer;
C.
Var A : array(0..10) of integer;
D.
Var A : array{0..10} of integer;
Câu 4. Cho khai báo biến mảng B như sau: Var B: Array[0..100] of real;
Để tham chiếu phần tử thứ
100 của mảng B ta viết:
A.
B[100]; B. B(100); C.B[99];
D.B(99);
Câu 5. Cho khai báo biến mảng A như sau: Var A: Array[1..100] of real;
Để in ra tất cả các phần tử của mảng A ta
viết:
A.
for i := 1 to 100 do write(A[i]);
B.
for i := 100 downto 1 do write(A[i]);
C.
Cả A và B đều đúng.
D.
Cả A và B đều sai.
Câu 6. Cho khai báo biến mảng B như sau: Var B: Array[0..100] of
byte;
mảng B chứa tối đa bao nhiêu phần tử?
A.
99 B. 100 C.101 D. Không xác định.
Câu 7. Trong ngôn ngữ lập trình Pascal, xâu kí tự là ?
A.
Mảng các ký tự.
B.
Dãy các kí tự trong bảng mã ASCII.
C.
Tập hợp các chữ cái trong bảng chữ cái tiếng Anh.
B.
Tập hợp các chữ cái và các chữ số trong bảng chữ cái
tiếng Anh.
Câu 8. Cho khai báo biến xâu St như sau: Var St: string;
Phát biểu nào dưới đây là
đúng
A.
Câu lệnh sai vì thiếu độ dài tối đa của xâu;
B.
Xâu có độ dài lớn nhất là 0;
C.
Xâu có độ dài lớn nhất là 255.
D.
Cần phải bắt buộc khai báo kích thước của xâu St.
Câu 9.
Trong ngôn ngữ lập trình
Pascal, khai báo nào trong các khai báo sau là sai khi khai báo xâu kí tự ?
A.
Var S : string;
B.
Var St : string[100];
C.
Var S :
string[256];
D.
Var S1 :
string[10];
Câu 10. Thủ tục chuẩn Insert(S1,S2,vt) có ý nghĩa
A.
Chèn xâu S1 vào S2 bắt đầu từ vị trí vt.
B.
Chèn xâu S2 vào S1
bắt đầu từ vị trí vt.
C.
Nối xâu S2 vào S1.
D.
Sao chép vào cuối S1 một phần của S2 từ vị trí vt.
Câu 11. Đoạn chương trình Pascal sau in ra màn hình giá trị nào?
Var a : string[10];
Begin
a := ‘tinhoc’;
writeln(length(a));
End.
A.
10 B. 6 C.7 D. Báo lỗi.
Câu 12. Trong ngôn ngữ lập trình Pascal, hàm Upcase(ch) cho kết
quả là :
A.
Chữ cái in hoa tương ứng với ch.
B.
Xâu ch gồm toàn chữ hoa.
C.
Xâu ch toàn chữ thường.
D.
Biến ch thành chữ thường.
Câu 13. Trong ngôn ngữ lập trình Pascal, với xâu kí tự có các
phép toán là ?
A.
Phép cộng, trừ, nhân, chia
B.
Phép cộng và phép trừ
C.
Chỉ có phép cộng
D.
Phép ghép xâu và phép so sánh
Câu 14. Cho xâu A:=’Nguyen Binh’; xâu B:=’Nguyen Nam’; hãy cho
biết:
A.
Xâu A nhỏ hơn xâu
B; B. Xâu A lớn hơn xâu B;
C. Xâu A bằng xâu B; D. Không thể so sánh xâu A và xâu B;
Câu 15. Để khai báo 1 xâu S có độ dài lớn nhất là 50 kí tự ta
khai báo:
A. Var S: string(50);
B. Var S:strings; C.
Var S: string[1..50]; D. Var S:string[50];
Câu 16. Cho xâu s:=’nguyen hue’. Cho biết kết quả sau khi thực
hiện các câu lệnh sau:
For i:=1 to length(s) do S[i]:=upcase(s[i]);
A. s = ‘nguyen hue’ B. s = ‘NGUYENHUE’
C. s = ‘NGUYEN
HUE' D.
s = ’Nguyen Hue’
Câu 17.
Độ dài lớn nhất của xâu
kí tự trong PASCAL bằng giá trị bao nhiêu?
A.
256 B. 250 C.255 D. Tùy ý
Câu 18. Cho mảng A khai báo như sau: Var A:array[1..100] of
integer;đoạn chương trình sau với
mảng A có ý nghĩa gì ? S:=0;
for i:=1 to
n do S:=S+A[i];
writeln(S);
A.
In các phần tử trong mảng A.
B.
In tổng các phần tử của mảng A.
C.
In số lượng các phần tử của mảng A.
D.
In tổng các phần tử của mảng A có giá trị là số chẵn.
Câu 19.
Cho mảng A khai báo như
sau: Var A:array[1..100] of integer;đoạn chương trình sau với
mảng A có ý nghĩa gì ?
S:=0;
for i:=1 to
n do if(A[i]mod 2<>0)and(A[i] >=0)then S:=S+A[i];
writeln(S);
A.
In các phần tử trong mảng A.
B.
In tổng các phần tử của mảng A.
C.
In số lượng các phần tử của mảng A có giá trị là số lẻ
không âm.
D.
In tổng các phần tử của mảng A có giá trị là số lẻ không
âm.
Câu 20. Cho mảng A khai báo như sau: Var A:array[1..100] of integer;đoạn chương trình sau với mảng A có ý nghĩa gì ? Dem:=0;
for i:=1 to
n do if((A[i]< 0)then Dem:=Dem + 1;
writeln(S);
A.
In tổng các phần tử của mảng A có giá trị là số âm.
B.
In số lượng các phần tử của mảng A có giá trị là số âm.
C.
In số lượng các phần tử của mảng A có giá trị là số lẻ
không âm.
D.
In số lượng các phần tử của mảng A có giá trị là số chẵn.
Câu 21.
Cho đoạn chương trình
sau:
var a : string; i :
integer;
begin
write(‘Nhap xau:’);readln(a);
for
i:=length(a) downto 1 do write(a[i]); Đoạn chương trình trên có
ý nghĩa gì ?
A.
Nhập vào một xâu từ bàn phím, đưa ra màn hình xâu đó
nhưng được viết theo thứ tự ngược lại.
B.
Nhập vào một xâu từ bàn phím, đưa ra màn hình độ dài của
xâu vừa nhập.
C.
Nhập vào một xâu từ bàn phím và in ra màn hình xâu vừa
nhập.
D.
Nhập vào xâu từ bàn phím và in ra màn hình xâu dài hơn.
Sao k có đáp án vậy
Trả lờiXóa#include
Xóa#include
using namespace std;
// Hàm in ra vị trí các số chia hết cho 6 lớn nhất trong mảng
void viTriMaxChiaHetCho6(vector a) {
int maxPosition = -1;
int maxDivisibleBy6 = INT_MIN;
for (int i = 0; i < a.size(); ++i) {
if (a[i] % 6 == 0 && a[i] > maxDivisibleBy6) {
maxDivisibleBy6 = a[i];
maxPosition = i;
}
}
if (maxPosition != -1) {
cout << "Vị trí các số chia hết cho 6 lớn nhất trong mảng: " << maxPosition << endl;
} else {
cout << "Không có số nào chia hết cho 6 trong mảng." << endl;
}
}
// Hàm kiểm tra tổng các vị trí có phải là số đối xứng hay không
bool kiemTraSoDoiXung(vector positions) {
int left = 0;
int right = positions.size() - 1;
while (left < right) {
if (positions[left] != positions[right]) {
return false;
}
left++;
right--;
}
return true;
}
int main() {
int n;
cout << "Nhập số phần tử của mảng: ";
cin >> n;
vector a(n);
cout << "Nhập các phần tử của mảng: ";
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
viTriMaxChiaHetCho6(a);
vector viTriSoChiaHetCho6;
for (int i = 0; i < n; ++i) {
if (a[i] % 6 == 0) {
viTriSoChiaHetCho6.push_back(i);
}
}
if (kiemTraSoDoiXung(viTriSoChiaHetCho6)) {
cout << "Tổng các vị trí là số đối xứng." << endl;
} else {
cout << "Tổng các vị trí không phải là số đối xứng." << endl;
}
return 0;
}
#include
Trả lờiXóa#include
using namespace std;
// Hàm in ra vị trí các số chia hết cho 6 lớn nhất trong mảng
void viTriMaxChiaHetCho6(vector a) {
int maxPosition = -1;
int maxDivisibleBy6 = INT_MIN;
for (int i = 0; i < a.size(); ++i) {
if (a[i] % 6 == 0 && a[i] > maxDivisibleBy6) {
maxDivisibleBy6 = a[i];
maxPosition = i;
}
}
if (maxPosition != -1) {
cout << "Vị trí các số chia hết cho 6 lớn nhất trong mảng: " << maxPosition << endl;
} else {
cout << "Không có số nào chia hết cho 6 trong mảng." << endl;
}
}
// Hàm kiểm tra tổng các vị trí có phải là số đối xứng hay không
bool kiemTraSoDoiXung(vector positions) {
int left = 0;
int right = positions.size() - 1;
while (left < right) {
if (positions[left] != positions[right]) {
return false;
}
left++;
right--;
}
return true;
}
int main() {
int n;
cout << "Nhập số phần tử của mảng: ";
cin >> n;
vector a(n);
cout << "Nhập các phần tử của mảng: ";
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
viTriMaxChiaHetCho6(a);
vector viTriSoChiaHetCho6;
for (int i = 0; i < n; ++i) {
if (a[i] % 6 == 0) {
viTriSoChiaHetCho6.push_back(i);
}
}
if (kiemTraSoDoiXung(viTriSoChiaHetCho6)) {
cout << "Tổng các vị trí là số đối xứng." << endl;
} else {
cout << "Tổng các vị trí không phải là số đối xứng." << endl;
}
return 0;
}
Bài viết rất hay
Trả lờiXóaTks admin đã chia sẻ !
XIN CHÂN THÀNH CẢM ƠN !!!
kính ô tô giá rẻ