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