Viết thuật toán giải bài toán: Cho số nguyên dương N và dãy số A có N phần tử A1, A2, …, AN. Hãy tính trung bình cộng các số lẻ trong dãy A.
Y tưởng : xét từng số hạng trong dãy nếu số hạng > 0 thì xếp vào một biến tổng rồi chia cho số hàng đã xếp được
Input : Dãy A gồm N số nguyên a1....aN;
Output : Trung bình cộng của các số dương;
B1 : Nhập N số nguyên a1.... aN;
B2 : TB <--- 0, dem <---- 0, i <---- 1, Tong <--- 0;
B3 : Nếu a[i] > 0 thì Tong <--- TB + a[i];
B4 : dem <--- dem + 1;
B5 : Nếu i > N thì đưa ra màn hình kết quả TB = Tong/Dem rồi kết thúc chương trình;
B 6 : i <--- i + 1 rồi quay lại B3;
t bài toán: Cho số nguyên dương N và dãy số A1, A2,…, AN . Đếm các phần tử dương có trong dãy
a. Hãy xác định Input, Output của bài toán.
b. Hãy mô tả thuật toán giải quyết bài toán trên
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) dem++;
}
cout<<dem;
return 0;
}
Cho dãy A gồm N số nguyên a1,a2 ,…aN. Hãy cho biết tổng tất cả các số trong dãy A và giá trị trung bình cộng của các số trong dãy A?
Hãy xác định bài toán và mô tả thuật toán giải các bài toán
#include <bits/stdc++.h>
using namespace std;
double x,t;
int n,i;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
t=t+x;
}
cout<<"tong cac so la:"<<fixed<<setprecision(2)<<t<<endl;
cout<<"trung binh la:"<<fixed<<setprecision(2)<<t/(n*1.0);
return 0;
}
Xây dựng thuật toán cho bài toán sau: cho 1 số nguyên dương N và dãy số nguyên A: a1,a2…aN. Hãy tính: a) Tổng các phần tử có giá trị dương: a1+a3+a5+a7 b) đếm xem trong dãy A có bao nhiêu phần tử có giá trị
a: #incldue <bits/stdc++.h>
using namespace std;
long long i,n,x,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) t=t+x;
}
cout<<t;
return 0;
}
Cho dãy A gồm N số nguyên a1,a2 ,…aN và số nguyên dương k. Hãy cho biết trong dãy A có bao nhiêu số là bội của k?
Hãy xác định bài toán và mô tả thuật toán giải các bài toán
Input: N, dãy số nguyên a1,a2,...,aN và k
Output: Số phần tử là bội của k
Thuật toán liệt kê:
Bước 1: Nhập N, dãy số nguyên a1,a2,...,aN và k
Bước 2: d←0; i←1;
Bước 3: Nếu i>N thì in ra d và kết thúc
Bước 4: Nếu ai chia hết cho k thì d←d+1;
Bước 5: i←i+1; quay lại bước 3
Bài 1 : CHo N và dãy số a1;a2...;aN. Viết thuật toán tính tổng những số âm trong dãy trên.
Bài 2 : CHo N và dãy số a1;a2...;aN. Viết thuật toán chỉ ra các phần tử bằng 0 trong dãy trên.
Bài 1.
Bước 1. Nhập N và dãy số \(a_1,a_2,...,a_N\)
Bước 2. \(i\leftarrow1\), \(S\leftarrow0\)
Bước 3. \(i\leftarrow i+1\)
Bước 4. 4.1 Nếu \(i>N\) thì kết thúc thuật toán và đưa ra kết quả.
4.2 \(a_i\ge0\) thì quay lại bước 3
4.3 \(S\leftarrow S+a_i\) rồi quay lại bước 3
Viết thuật toán tính tổng các phần tử bằng 0
a) Xác định bài toán
-Input: Dãy A gồm n số nguyên
-Output: Tổng các số hạng lẻ trong A
b) Mô tả thuật toán
-Bước 1: Nhập n và nhập dãy số
-Bước 2: s←0; i←1;
-Bước 3: Nếu a[i] không chia hết cho 2 thì s←s+a[i];
-Bước 4: i←i+1;
-Bước 5: Nếu i<=n thì quay lại bước 3
-Bước 6: Xuất s
-Bước 7: Kết thúc
Hãy xác định bài toán và viết thuật toán giải bài toán tính tổng các phần tử của dãy số A = { a 1 , a 2 , . . . , a n } cho trước.
+Xác định bài toán: (0,5đ)
- Input: n, dãy số A = { a 1 , a 2 , . . . , a n }
- Output: S=( a1 + a2 + … + an )
+ Thuật toán: (1,5đ)
Bước 1: Nhập n, và a 1 , a 2 , . . . , a n ; (0,5đ)
Bước 2: S ← 0; i ← 0;
Bước 3: i ← i + 1 ; (0,5đ)
Bước 4: Nếu i ⟨= n thì S ←S + ai ; và quay lại bước 3;
Bước 5: Thông báo kết quả S và kết thúc thuật toán. (0,5đ)
Cho dãy A gồm n số nguyên (n>0), các phần tử lần lượt của dãy số có giá trị A1,A2,.....An . Hãy đếm xem trong dãy A có bao nhiêu phần tử có giá trị là 27 .
a) Xác định bài toán
b) Xây dựng thuật toán
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1;i<=n; i++)
{
cin>>x;
if (x==27) dem++;
}
cout<<dem;
return 0;
}
a)
Input: số nguyên dương n và dãy số A1,A2,...,An
Output: Số phần tử có giá trị bằng 27
b) Thuật toán liệt kê:
Bước 1: Nhập n và dãy A1,A2,..,An
Bước 2: Dem←0; i←1;
Bước 3: Nếu i>n thì in ra Dem và kết thúc
Bước 4: Nếu Ai = 27 thì Dem←Dem+1;
Bước 5: i←i+1, quay lại bước 3