: 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

Câu hỏi trong lớp Xem thêm