: Cho dãy B gồm n số nguyên dương B1, B2,...Bn. Hãy tìm phần tử nhỏ nhất trong dãy B, in ra màn hình chỉ số(vị trí) của phần tử nhỏ nhất đó. Yêu cầu: - xác định bài toán - nêu ý tưởng giải quyết bài toán - viết thuật toán
2 câu trả lời
- Xác định bài toán
Input:Dãy B gồm n số nguyên dương B1,B2,...,Bn
Output: Phần tử nhỏ nhất trong dãy B, in ra màn hình chỉ số (vị trí) của phần tử nhỏ nhất
- Nêu ý tưởng giải quyết bài toán
Đăỵ giá trị Min= B1
Lần lượt cho i chạy từ 2 đến n, so sanhsgias trị Bi<Min thì Min=Bi
So sánh giá trị số hạng đang xét với Min cho đến khi gặp một số hạng bằng Min
- Viết thuật toán
B1:Nhập n và dãy B1,B2,..,Bn;
B2: Min <---B1,i<---2;
B3:Nếu i>N thì đưa ra giá trị Min, rồi kết thúc;
B4: Nếu Bi<Min thì Min <--Bi;
B5: i<---i+1 rồi quay lại B3;
B6: i<---1;
B7: Nếu ai= Min thì thông báo chỉ số i, rồi kết thúc;
B8: i<--i+1, quay lại B6 rồi kết thúc.
* Xác định bài toán :
- Input : nhập n và dãy B1, B2, ... , Bn
- Output : giá trị nhỏ nhất trong dãy
* Ý tưởng :
- Khởi tạo giá trị Min = B[1]
- Lần lượt với i từ 2 đến n, so sánh giá trị số hạng a[i] với giá trị Min, nếu B[i] < Min thì Min nhận giá trị mới là B[i]
* Viết thuật toán :
- Bước 1 : nhập n và dãy B1, B2, ... , Bn
- Bước 2 : i ← 2; min ← B[1]
- 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 B[i] < min thì min ← B[i]
- Bước 4.2 : i ← i + 1 quay lại bước 3
