Cho bài toán: Tìm giá trị nhỏ nhất của một dãy gồm N số nguyên dương. a. Xây dựng thuật toán bằng một trong hai cách (liệt kê hoặc sơ đồ khối). b. Mô phỏng thuật toán với dãy chứa ít nhất 4 số nguyên dương bất kỳ (hay chính là kiểm tra tính đúng đắn của chương trình). (. ❛ ᴗ ❛.)
2 câu trả lời
a)
Mô tả thuật toán :
- Bước 1 : nhập só n và dãy a1, a2, .. , an
- Bước 2 : min ← a[1], i ← 2
- Bước 3 : nếu i > n thì đưa ra giá trị min rồi kết thúc
- Bước 4 :
- Bước 4.1 : nếu a[i] < min thì min ← a[i]
- Bước 4.2 : i ← i + 1 quay lại bước 3
b)
Mô phỏng thuật toán :
- n = 5; Dãy a : 2, 6, 4, -2, 9
=> min = a[1]
=> a[2] = 6 > min
=> a[3] = 4 > min
=> a[4] = -2 < min ⇒ min = a[4]
=> a[5] = 9 > min
=> Min = a[4] = - 2
a,
B1: nhập dãy n
B2: min<--n[1], i<--1
B3: nếu i>length(n) thì đến B5
B4: nếu n[i] <min thì min<--n[i], quay lại B3
B5: Xuất ra màn hình min
b,
B1: nhập dãy 3 7 4 1 (dãy n)
B2: min<--n[1] (tức là bằng 3), i<--1
B3: nếu i>length(n) (tức là bằng 4) thì chuyển sang B5
B4:
4.1. n[2]> min (đk sai), min<--n[1], i<--i+1 quay lại B3
4.2. n[3]> min (đk sai), min<--n[1],i<--i+1, quay lại B3
4.3. n[4]< min(đk đúng), min<--n[4], i<--i+1, quay lại B3
B5: Xuất ra màn hình số "1" (vì min<--n[4], mà n[4]<--1)
Lưu ý: ở câu b, những phần mk tô đậm và đóng ngoặc chính là chú thích nhé!