Cho thuật toán tìm giá trị lớn nhất trong dãy số nguyên. Câu 1: xác định input, output của bài toán. Câu 2: Nêu ý tưởng thuật toán tìm Max. Câu 3: Xác định các biến cần khai báo và ý nghĩa.
2 câu trả lời
Câu 1:
Input: dãy số nguyên n
Output: Max
Câu 2:
Ý tưởng: Nhập dãy số nguyên n, gán max = 0, i = 1, xét xem i nhỏ hơn hoặc bằng n, nếu đúng cho i chạy lần lượt từ đầu dãy số nguyên đó, sau đó so sánh giá trị ai với max, nếu đúng thì max <- ai và tăng i lên 1 giá trị, nếu sai thì chỉ tăng i thêm 1 giá trị và giữ nguyên giá trị của biến max. Khi i > n thì in ra max.
Câu 3:
Biến cần khai báo: i và max
Ý nghĩa: i là biến để chạy và max để lưu giá trị của ai max
* Xác định bài toán :
- Input : nhập n và dãy a1, a2, ... , an
- Output : giá trị lớn nhất trong dãy
* Ý tưởng :
- Khởi tạo giá trị Max = a[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ị Max, nếu ai > Max thì Max nhận giá trị mới là a[i]
* Viết thuật toán :
- Bước 1 : nhập n và dãy a1, a2, ... , an
- Bước 2 : i ← 2; max ← a[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 a[i] > max thì min ← a[i]
- Bước 4.2 : i ← i + 1 quay lại bước 3
* Khai báo biến :
- Var n, i, max : integer;