không thực hiện đc vì số phần tử tối đa của mảng phải đc xác định.
không thực hiện đc vì số phần tử tối đa của mảng phải đc xác định.
Cách khai báo biến mảng sau đây đúng hay sai? Nếu sai giải thích tại sao?
a) Var X: Array[10 , 13] of real;
b) Var X: Array[3..4.8] of integer;
c) Var X: Array(10..1) of integer;
d) Var X: Array[-7..7] of integer;
Các khai báo biến mảng sau đây trong Pascal đúng hay sai:
a) var X: Array[10,13] Of Integer;
b) var X: Array[5..10.5] Of Real;
c) var X: Array[3.4..4.8] Of Integer;
d) var X: Array[10..1] Of Integer;
e) var X: Array[4..10] Of Real;
Bài 9. LÀM VIỆC VỚI DÃY SỐ CÂU HỎI BÀI TẬP
Câu 1: Số phần tử trong khai báo dưới đây là bao nhiêu? Var hocsinh : array[12..80] of integer;
A. 80 B. 70 C. 69 D. 68 Câu 2: Khai báo mảng nào là đúng trong các khai báo sau đây:
A. var tuoi : array[1..15] of integer; B. var tuoi : array[1.5..10.5] of integer;
C. var tuoi : aray[1..15] of real; D. var tuoi : array[1 ... 15 ] of integer; Câu 3: Cú pháp khai báo dãy số nào sau đây đúng nhất?
A. Var < tên dãy số > : array [ < chỉ số cuối > .. < chỉ số đầu >] of < kiểu dữ liệu >; B. Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối > ] of < kiểu dữ liệu >; C. Var < tên dãy số > : array [ < chỉ số cuối > : < chỉ số đầu > ] of < kiểu dữ liệu >; D. Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối >] for < kiểu dữ liệu >;
Câu 4: Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên ta dùng lệnh nào sau đây?
A. For i:=1 to 10 do Readln(A[i]); B. For i:= 1 to 10 do Writeln(A[i]);
C. Dùng 10 lệnh Readln(A); D. Cả (A), (B), (C) đều sai.
Câu 5: Các cách nhập dữ liệu cho biến mảng sau, cách nhập nào không hợp lệ?
A. readln(B[1]); B. readln(dientich[i]);
C. readln(B5); D. read(dayso[9]);
Câu 6: Em hãy chọn phát biểu đúng khi nói về dữ liệu kiểu mảng:
A. Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu
B. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau
C. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu
D. Tất cả ý trên đều sai
Câu 7: Cách khai báo biến mảng sau đây là đúng?
A. Var X: Array[3.. 4.8] of Integer; B. Var X: Array[10 .. 1] of Integer;
C. Var X: Array[4 .. 10] of Real; D. Var X: Array[10 , 13] of Real; Câu 8: Câu 9: Các khai báo biến mảng sau đây trong Pascal đúng hay sai?
Câu 9: Chọn câu phát biểu đúng về kiểu dữ liệu của mảng?
A. Có thể dùng tất cả các kiểu dữ liệu để làm kiểu dữ liệu của mảng
B. Kiểu dữ liệu của mảng chỉ có thể là kiểu số nguyên, số thực, kiểu logic, kiểu ký tự C. Kiểu dữ liệu của mảng là kiểu của các phần tử của mảng, là Integer hoặc Real
D. Kiểu dữ liệu của mảng phải được định nghĩa trước thông qua từ khóa VAR
Câu 10: Cho khai báo mảng như sau: Var a : array[0..30] of integer ; Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết: A. Write(A[20]); B. Write(A(20));
C. Readln(A[20]); D. Write([20]);
a) var X: Array[10, 13] Of Integer;
b) var X: Array[5 ..10.5] Of Real; c) var X: Array[3.4 .. 4.8] Of Integer;
d) var X: Array[4 .. 10] Of Integer;
Hãy quan sát câu lệnh khai báo biến mảng sau đây:Var X: Array [1..5] of integer;Phép gán giá trị cho phần tử thứ 2 của mảng X nào dưới đây là đúng? *
1 điểm
X(2) := 8;
X[2] := 12;
X{2} := 2;
X2 := 7;
Cho biết tên biến mảng, số phần tử và kiểu dữ liệu của câu lệnh: var A: array[1.. 20] of real
* Nhận biết:
Câu 1: Cú pháp khai báo biến mảng trong Pascal là:
A. var <Tên mảng> ; array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;
B. var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] of <kiểu dữ liệu >;
C. var <Tên mảng> : array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;
D. var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] for <kiểu dữ liệu >;
Câu 2: Để chỉ ra một phần tử bất kỳ trong một mảng, ta có thể ghi như sau:
A. Tên mảng[chỉ số trong mảng] B. Tên mảng(chỉ số trong mảng)
C. Tên mảng[giá trị phần tử] D. Tên mảng(giá trị phần tử)
Câu 3: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy, mọi phần tử trong dãy đều có cùng một đặc điểm là:
A. Cùng chung một kiểu dữ liệu B. Có giá trị hoàn toàn giống nhau
C. Các phần tử của mảng đều có kiểu số nguyên D. Các phần tử của mảng đều có kiểu số thực
Câu 4: Để khai báo A là một biến mảng có 10 phần tử kiểu nguyên, cách khai báo nào sau đây là đúng nhất?
A. Var A: array[1..10] of real; B. Var A: array[1..10] of integer;
C. Var A: array[1…10] of real; D. Var A: array[1…10] of integer;
Câu 5: Để xác định được các phần tử trong mảng, yêu cầu các phần tử cần thỏa mãn:
A. Mỗi phần tử đều có giá trị nhỏ hơn 100. B. Mỗi phần tử đều có một dấu hiệu nhận biết.
C. Mỗi phần tử đều có một chỉ số. D. Mỗi phần tử đều có một kiểu dữ liệu khác nhau.
Câu 6: Khai báo biến kiểu mảng nào sau đây là hợp lệ:
A. Var A, B: array[1..50] of integer; B. Var A, B: array[1..n] of real;
C. Var A: array[100..1] of integer; D. Var B: array[1.5..10.5] of real;
Câu 7: Chọn khai báo hợp lệ:
A. Var a,b: array[1 .. n] of real; C. Var a,b: array[1 : n] of Integer;
B. Var a,b: array[1 .. 100] of real; D. Var a,b: array[1 … 100] of real;
Câu 8: Trong các khai báo sau đây, khai báo nào đúng về khai báo biến mảng một chiều:
A. Var X: Array[1…2] of integer; B. Var X: Array[1..10.5] of real;
C. Var X: Array[4.4..4.8] of integer D. Var X: Array[1..10] of real;
* Thông hiểu:
Câu 1: Để khai báo mảng a gồm 50 phần tử thuộc dữ liệu là kiểu số nguyên ta có câu lệnh sau:
A. A:array[0..50] of integer; B. A:array[1..50] of integer;
C. A:array[50.. 0] of integer; D. A:array[50..1] of integer;
Câu 2: Hãy quan sát câu lệnh khai báo biến mảng sau đây:
Var X: Array [1..5] of integer;
Phép gán giá trị cho phần tử thứ 2 của mảng X nào dưới đây là đúng?
A. X(2) := 8; B. X[2] := 12; C. X{2} := 2; D. X2 := 7;
Câu 3: Trước khi khai báo mảng A: array[1..n] of real; thì ta phải khai báo điều gì trước?
A. Var n:integer; B. Var n=10;
C. Const n:integer; D. Const n=10;
Câu 4: Có phần khai báo biến trong Turbo Pascal như sau:
Var so_thuc: real;
x2: integer;
kytu: char;
day so: array[1..50] of integer;
Biến khai báo không hợp lệ là:
A. so_thuc: real; B. x2: integer; C. kytu: char; D. day so: array[1..50] of integer;
Câu 5: Khi khai báo biến mảng, trong mọi ngôn ngữ lập trình ít nhất cần chỉ rõ:
A. Tên biến mảng.
B. Số lượng phần tử.
C. Tên biến mảng và số lượng phần tử.
D. Tên biến mảng, số lượng phần tử, kiểu dữ liệu chung của các phần tử.
* Vận dụng thấp:
Câu 1: Trước khi khai báo mảng A: array [1..n] of real; thì ta phải khai báo điều gì trước?
A. Var n: integer; B. Const n = 10; C. Var n: real; D. Cả A và B đều đúng
Câu 2: Cho mảng A có 5 phần tử với các số liệu như hình dưới đây:
1 | 2 | 3 | 4 | 5 |
23.5 | 12 | 9 | 4.5 | 6 |
|
Hãy chọn đáp án đúng với mảng A và giá trị tương ứng:
A. A[3] = 3 B. A[9] = 3 C. A[12] = 2 D. A[5] = 6
* Vận dụng cao:
Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử số nguyên ta dùng lệnh nào sau đây?
A. for i : = 1 to 10 do readln(A[i]); B. for i : = 1 to 10 do writeln(A[i]);
C. Dùng 10 lệnh readln(A); D. Cả A và C đều đúng
Câu 1: Lệnh để xuất / thông báo kết quả là:
A. Write B. Clrscr; C.Read D.Readln;
Câu 2: Câu lệnh nào sau đây là câu lệnh lặp:
A. if n<=1 then n:=n+1; B. var a: integer; C. for i:=1 to 10 do writeln(n); D. uses crt;
Câu 3: Câu lệnh lặp với số lần biết trước có dạng:
A. for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
B. for <biến đếm>:=<giá trị đầu> to do <câu lệnh>;
C. for <biến đếm>:=<giá trị cuối> to <giá trị đầu> do <câu lệnh>;
D. for <biến đếm>:=<giá trị cuối> to do <câu lệnh>;
Câu 4: Khi nào thì câu lệnh For…do (dạng tiến) kết thúc?
A. Khi biến đếm lớn hơn giá trị cuối. B. Khi biến đếm nhỏ hơn giá trị cuối.
C. Khi biến đếm ngang bằng giá trị cuối. D. Khi biến đếm lớn hơn giá trị đầu.
Câu 5: Kết quả của <điều kiện> trong câu lệnh While...do sẽ có giá trị gì?
A. Là một số nguyên. B. Là một số thực.
C. Đúng hoặc sai. D. Là một dãy ký tự.
* Thông hiểu:
Câu 1: Trong câu lệnh lặp với số lần biết trước For...do, <câu lệnh> được thực hiện mấy lần?
A. <giá trị cuối> – <giá trị đầu> lần B.Không biết số lần lặp
C. Khoảng 10 lần D. <giá trị cuối> – <giá trị đầu> + 1 lần
Câu 2: Trong câu lệnh lặp luôn có kiểm tra một điều kiện, vậy kiểm tra điều kiện trong câu lệnh lặp: For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>; là điều kiện gì?
A. Biến đếm có phải kiểu nguyên hay không. B. Biến đếm đã bằng giá trị đầu hay chưa.
C. Biến đếm đã bằng giá trị cuối hay chưa. D. Giá trị đầu và giá trị cuối có bằng nhau hay không.
Câu 3: Trong ngôn ngữ Pascal, đoạn chương trình sau xuất màn hình kết quả gì?
For i:=1 to 5 do write (i:3);
A. 1 2 3 4 5 B. 5 4 3 2 1
C. i:3 D. Không xuất kết quả gì
Câu 4: Ngoài câu lệnh For…to…do (dạng tiến) còn có câu lệnh For…downto…do (dạng lùi). Khi nào thì câu lệnh For…downto…do kết thúc?
A. Khi biến đếm lớn hơn giá trị cuối. B. Khi biến đếm nhỏ hơn giá trị cuối.
C. Khi biến đếm ngang bằng giá trị cuối. D. Khi biến đếm lớn hơn giá trị đầu.
Câu 5: Biến đếm, giá trị đầu và giá trị cuối có chung điểm gì rất quan trọng?
A. Đều là các số nguyên hoặc số thực.
B. Có chung kiểu dữ liệu.
C. Biến đếm nhỏ hơn giá trị đầu, giá trị đầu nhỏ hơn giá trị cuối.
D. Biến đếm lớn hơn giá trị đầu, giá trị đầu lớn hơn giá trị cuối.
* Vận dụng thấp:
Câu 1: Cho đoạn chương trình sau:
j:=1; k:=2;
for i:= 2 to 4 do j:=j+2; k:=k+i;
Sau đoạn trên, giá trị của j và k sẽ bằng:
A. j=2, k=2 B. j=5, k=7 C. j=7, k=6 D. j=9,k=11
Câu 2: Bạn Bảo Châu muốn viết ra 5 chữ B và 5 chữ C trên màn hình bằng đoạn chương trình sau:
Var i: integer;
Begin
For i: = 1 to 5 do writeln('B'); writeln('C');
Readln;
End.
Theo em, bạn Bảo Châu nên viết như thế nào?
A. Chương trình trên viết đúng.
B. Cần phải đưa hai lệnh writeln('B'); writeln('C'); vào trong cặp từ khóa Begin và End;
C. Phải đổi lệnh writeln thành write
D. Phải đặt hai lệnh writeln('B'); writeln('C'); ở hai dòng riêng biệt.
* Vận dụng cao:
Câu 1: Tìm giá trị của S trong đoạn chương trình dưới đây?
S:= 0 ;
For i: = 1 to 5 do S: = S + i;
A. S = 0 B. S = 1 C. S = 5 D. S = 15
Câu 2: Tìm giá trị của a qua đoạn chương trình sau:
a: = 10;
for i: = 1 to 5 do a: = a – i;
A. a = 5 B. a = -5 C. a = 10 D. a = 0
Cho cách khai báo sau : var a: array[1..100] of real; . Cho biết các phần tử a là kiểu dữ liệu gì?
1/ Các câu lệnh trên có hợp lệ không , nếu chưa hợp lệ thì hãy sửa lại cho đúng ?
a/ For i:=1,5 to 10.5 do s:=s+i;
b/ Var X : array [100..1] of integer;
c/ X:=1 ; while X:=10 do X:=X+5;
d/For i:=1 to n do begin s:=s+i ; i:=i-1;
2/Hãy viết các câu lệnh , khai báo theo yêu cầu sau :
a/ Khai báo mảng X gồm 50 phần tử thuộc kiểu dữ liệu số nguyên
b/ Phần tử thứ 9 của mảng A được gán bằng 5
c/Khai báo mảng diemtin gồm 100 phần tử thuộc kiểu dữ liệu số thực
d/ Nhập giá trị phần tử thứ 5 trong mảng diemtin
Giúp mình với , mai mình thi r ~~~