Tin học : Cho N số nguyên dương a1,a2,..aN và số nguyên dương K. Đếm xem trong dãy có bao nhiêu số nguyên dương có giá trị bằng K a/ Xác định input, output b/ Trình bày ý tưởng c/ xây dựng thuật toán bằng 2 cách ( liệt kê và sơ đồ khối)
2 câu trả lời
a) IP: Nhập N và dãy a1,a2,....,aN và số nguyên dương K
OP: Có bao nhiêu số nguyên dương có giá trị bằng K
b) Ý tưởng:
Nhập K và dãy a1,a2,...,aN
Khởi tạo biến đếm d
Nếu K=a[i] thì tăng giá trị của d
c) TT:
B1: Nhập N,K và dãy a1,a2,...,aN
B2: i←1; d←0
B3: Nếu i>n thì thực hiện bước 7
B4: Nếu i<n thì
B4.1 : Nếu a[i]=K thì d←d+1
B5: i←i+1
B6: Quay lại bước 3
B7: Đưa ra giá trị d rồi kết thúc
* Xác định bài toán :
- Input : số n và dãy a1, a2, ... , an
- Output : số lượng số hạng bằng k có trong dãy
* Ý tưởng :
- tìm kiém tuần tự thực hiện một cách tự nhiên. Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khóa cho đến khi gặp số hạng bằng khóa k thì tăng giá trị biến đếm lên một đon vị cho đến khi i > n thì đưa ra giá trị biến đếm
* Mô tả thuật toán :
- Bước 1 : nhập n và dãy a1, a2, ... , an và khóa k
- Bước 2 : i ← 1; dem ← 0
- Bước 3 : nếu i > n thì đưa ra giá trị dem rồi kết thúc
- Bước 4 :
- Bước 4.1 : nếu a[i] = k thì dem ← dem + 1
- Bước 4.4 : i ← i + 1 quay lại bước 3
