cho thuật toán sau B1: Nhập số nguyên dương N và dãy số a1,a2,…,An B2: T<-0; i<-1; B3: Nếu í> n thì thông báo T và kết thúc B4: Nếu ai:2=0 thì T<-T+ai B5: i<-i+1; lại bước 3 Câu hỏi Câu1: Input và Output của thuật toán trên là gì? Câu2:Trong thuật toán trên biến nhận giá trị trong đoạn nào? Biến i có tác dụng gì? Câu3:Thuật toán dừng khi nào? Câu4:Mô phỏng việc thực hiện thuật toán với N=8, k=8 và dãy số: 5,7,8,3,8,10,7,5

1 câu trả lời

* Thuật toán :

Bước 1: nhập số nguyên dương n và dãy số a[1], a[2], ... , a[n]

Bước 2: T ← 0; i ← 1;

Bước 3: Nếu i > n thì thông báo T và kết thúc

Bước 4: Nếu a[i] mod 2 = 0 thì T ← T + a[i]

Bước 5: i ← i + 1 quay lại bước 3

Câu 1 :

- Input : số nguyên dương n và dãy số a[1], a[2], ... , a[n]

- Output : tổng các số có giá trị chẵn trong dãy

Câu 2 :

- Biến i có giá trị ban đầu là 1

- Biến i có giá trị cuối cùng là n + 1 

- Biến i tăng giá trị i lên 1 đơn vị qua mỗi vòng lặp, kiểm tra giá trị a[i] có chia hết cho 2 hay không, nếu a[i] chia hêt cho 2 thì tính tổng các số chẵn

Câu 3

- Thuật toán sẽ dừng khi phép so sánh i > n ở bước 3 được xác định nghĩa là phép so sánh trả về giá trị đúng

- Khi giá trị i > n thì thuật toán sẽ dừng

Câu 4 :

Mô phỏng thuật toán tính tổng các số chẵn trong dãy :

Dãy : 5  7  8  3  8  10   7  5

=> a[1] = 5 mod 2 = 1

=> a[2] = 7 mod 2 = 1

=> a[3] = 8 mod 2 = 0 ⇒ t = 0 + 8 = 8

=> a[4] = 3 mod 2 = 1

=> a[5] = 8 mod 2 = 0 ⇒ t = 8 + 8 = 16

=> a[6] = 10 mod 2 = 0 ⇒ t = 16 + 10 = 26

=> a[7] = 7 mod 2 = 1 ⇒ 

=> a[8] = 5 mod 2 = 1 

=> Tổng t = 26