1. Dữ liệu kiểu mảng là gì? Cho ví dụ. 2. Cho thuật toán sau: B1 : j ← 0; T ← 105; B2 : Nếu T < 20 thì chuyển qua B4; B3 : j ← j + 5; T ← T - j; B4 : In ra kết quả T và j; a) Hãy cho biết, khi thực hiện thuật toàn trên, máy tính sẽ thực hiện bao nhiêu vòng lặp và giá trị của T và j là bao nhiêu? b) Viết câu lệnh pascal thể hiện thuật toán trên.

2 câu trả lời

Câu 1 :

- Dữ liệu kiểu mảng :

+ Một dãy hữu hạn các phần tử có cùng kiểu

+ Mảng được đặt tên

+ Mỗi phần tử mang một chỉ số

- Vd : Var a : array[1..7] of real;

Câu 2 :

a) Giá trị j = 30 và T = 0

- Giá trị ban đầu biến j = 0, T = 105

+ T = 105 < 20, điều kiện sai

⇒ j = j + 5 = 0 + 5 = 5

⇒ T = T - j =  105 - 5 = 100

+ T = 100 < 20, điều kiện sai

⇒ j = j + 5 =5 + 5 = 10

⇒ T = T - j = 100 - 10 = 90

+ T = 90 < 20, điều kiện sai

⇒ j = j + 5 = 10 + 5 = 15

⇒ T = T - j = 90 - 15 = 75

+ T = 75 < 20, điều kiện sai

⇒ j = j + 5 = 15 + 5 = 20

⇒ T = T - j = 75 - 20 = 55

+ T = 55 < 20, điều kiện sai

⇒ j = j + 5 = 20 + 5 = 25

⇒ T = T - j =  55 - 25 = 30

+ T = 30 < 20 , điều kiện sai

⇒ j = j + 5 = 25 + 5 = 30

⇒ T = T - j = 30 - 30 = 0

b) Viết câu lệnh :

j := 0; T := 105;

while T >= 20 do

begin

j := j + 5;

T := T - j;

end;

1.

Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự và mọi phần tử đều có cùng một kiểu dữ liệu.

VD: var Tuoi: array[1..40] of integer;

2.

a) - Khi thực hiện thuật toán trên, máy tính sẽ thực hiện 6 vòng lặp.
    - T = 0; j = 30.
b) j := 0;
T := 105;
While T >= 20 do begin j := j + 5; T := T - j; end;
Write(T); write(j);