Cho dãy N số nguyên a1, a2... aN. có Thuật toán tính số M được mô tả bằng cách liệt kê như sau Bước 1 nhập N và a1, a2,.... aN Bước 2M <--a1;i<---2 Bước 3 nếu i >N thì đưa M rồi kết thúc Bước 4 nếu M<ai, thì M <--ai Bưới i <---i +1 rồi quay lạo bước 3 Cho biết thuật toán máy tính gì

2 câu trả lời

Đây là thuật toán tìm max nha ( tìm phần tử lớn nhất trong mảng cho trước)

input: mảng có n kí tự

output: giá trị lớn nhất trong mảng

Mô tả như sau ( bằng chữ):

  Mới đầu ta sẽ nhận hết các phần tử trong mảng n. Ta tạo một biến nhận giá trị max là M và ta gán nó cho a1. Ta để ý để M là max M phải lớn hơn tất cả các giá trị còn lại nên ta bắt đầu đi so sánh từ a2 -> an nếu mà M mà nhỏ hơn ai thì chứng tỏ ai đó rất có thể là max nên gán M cho ai cứ thế đi hết mảng N ta sẽ tìm được M.

@Hômnaytôibịrob

$\text{- Thuật toán tìm Max nếu M < a[i] thì M ← a[i]}$

$\text{+ Bước 1 : nhập N và a[1], a[2], ... , a[N]}$

$\text{+ Bước 2 : M ← a[1], i ← 2}$

$\text{+ Bước 3 : nếu i > N thì đưa M rồi kết thúc}$

$\text{+ Bước 4 :}$

$\text{+ Bước 4.1 : nếu M < a[i] thì M ← a[i]}$

$\text{+ Bước 4.2 : i ← i + 1 quay lại bước 3}$

$\text{- Thuật toán tìm Min nếu M > a[i] thì M ← a[i]}$

$\text{+ Bước 1 : nhập N và a[1], a[2], ... , a[N]}$

$\text{+ Bước 2 : M ← a[1], i ← 2}$

$\text{+ Bước 3 : nếu i > N thì đưa M rồi kết thúc}$

$\text{+ Bước 4 :}$

$\text{+ Bước 4.1 : nếu M > a[i] thì M ← a[i]}$

$\text{+ Bước 4.2 : i ← i + 1 quay lại bước 3}$

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