Cho 2 số dương P và Q nhập từ bàn phím. Tính tổng và hiệu 2 số đó. a. Hãy chỉ ra INPUT và OUTPUT của bài toán trên. b. Hãy mô tả thuật toán để giải bài toán trên.
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
![](https://rs.olm.vn/images/avt/0.png?1311)
![](https://rs.olm.vn/images/avt/0.png?1311)
Câu 1 :
Tham khảo
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;
Câu 2 :
Tham khảo
Ta nhận thấy rằng, bội số chung nhỏ nhất của hai số nguyên dương a, b có thể được tính theo công thức:
ab/d
trong đó d là ước chung lớn nhất của a và b.
Bởi vậy:
Nên viết hàm để tính bội chung nhỏ nhất của hai số nguyên dương vì chương trình con cần trả ra một giá trị;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b cần sử dụng hàm tính ước chung lớn nhất của a và b.
- Hàm tính ước chung lớn nhất của hai số nguyên dương a, b:
function ucln (a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r: = a mod b ,a : = b ; b:= r; end; ucln:= a; and;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b:
ADVERTISING Video Player is loading.This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.![partner logo](https://player.urekamedia.com/ureka_logo_dark.png)
lunction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Khi đó, chương trình con tính bội số chung nhỏ nhất của hai số nguyên dương a, b như sau:
program bai4_chuong6;
use crt ;
vai
X y: integer;
function ucln(a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r:= a mod b; a: = b ,b:= r;
end; ucln:= a;
end;
txnction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Begin
clrscr;
writeln('Nhap vao hai so can tim BCNN');
write ('x=') , readln(x); write ('y=') , readln(y);
writeln('bcnn cua hai so',x:4,'va',y:4,'la',bcnn(a,b)
readln
End.
Câu 3 : chịu
![](https://rs.olm.vn/images/avt/0.png?1311)
a) Tổng của 50 số tự nhiên đầu tiên
Xác định bài toán:
-Input: 50 số tự nhiên đầu tiên
-Output: Tổng của 50 số đó
Mô tả thuật toán:
-Bước 1: s←0; i←1;
-Bước 2: s←s+i;
-Bước 3: i←i+1;
-Bước 4: Nếu i<=n thì quay lại bước 2
-Bước 5: Xuất s
-Bước 6: Kết thúc
b) Kiểm tra a là số chẵn hay số lẻ
Xác định bài toán
-Input: Số a
-Output: Kiểm tra xem a là số chẵn hay số lẻ
Mô tả thuật toán
-Bước 1: Nhập a
-Bước 2: Nếu a chia hết cho 2 thì a là số chẵn
không thì a là số lẻ
-Bước 3: Kết thúc
![](https://rs.olm.vn/images/avt/0.png?1311)
#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;
}
![](https://rs.olm.vn/images/avt/0.png?1311)
Input: Dãy số từ 0 đến 99
Output: tổng của dãy
Môtả thuật toán:
Bước 1: t←0; i←0
Bước 2: i←i+1; t←t+i;
Bước 3: nếu i<=99 thì quay lại bước 2
Bước 4: Xuất t
Bước 5: Kết thúc
![](https://rs.olm.vn/images/avt/0.png?1311)
Xác định bài toán
-Input: Số a,b nguyên
-Output: Tổng của hai số nguyên đó
Mô tả thuật toán
-Bước 1: nhập a,b
-Bước 2: \(t\leftarrow a+b\);
-Bước 3: Xuất t
-Bước 4: Kết thúc
nếu là c++ thì bạn chỉ cần :
tạo 2 biến có thể nhập từ bàn phím a, b
xuất tổng của a và b
vd:
#include<iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
long long p,q;
int main()
{
cin>>p>>q;
cout<<p+q<<" "<<p-q;
return 0;
}
Ko hiểu chị