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);