Hãy làm việc cùng với bạn để giao cho máy tính giải quyết bài toán tìm bội số chung nhỏ nhất của hai số nguyên dương a, b theo quy trình bốn bước: Xác định bài toán; Xây dựng thuật toán; Lập trình; Kiểm thử và chạy chương trình.
Bài 1:Xác định bài toán và mô tả thuật toán tìm các ước của 1 số nguyên
dương N.
Bài 2: Xác định bài toán và mô tả thuật toán tìm bội chung nhỏ nhất của 2 số
nguyên dương a và b ( BCNN(a,b)).
Bài 3: Hãy chỉ ra Input và Output, mô tả thuật toán của bài toán sau: Tính
tổng các số chẵn trong dãy số nguyên A = {a1, a2, …, an} cho trước
Giúp em với ạ
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.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
3.Cho dãy N số nguyên a1, a2, ..., aN. Hãy tính tổng các số là bội của 3 a. (2 điểm) Hãy nêu ý tưởng giải quyết bài toán trên b. (2 điểm) Hãy trình bày thuật toán giải quyết bài toán trên bằng phương pháp liệt kê từng bước
Input: dãy số nguyên gồm n số được nhập từ bạn phím
Output: số lớn nhất, bé nhất trong dãy
B1: nhập dãy số nguyên
B2: gán max:=a[1]; min:=a[1]
B3: nếu max<a[i] thì max:=a[i]; min>a[i] then min:=a[i]
B4: in kết quả ra màn hình
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 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: Xác định Input và Output của các bài toán sau:
1a) Cho số nguyên dương A. Hãy tính và xuất ra màn hình A là số chẵn hay A là số lẻ.
1b) Cho hai số nguyên dương A và B. Hãy tính và xuất ra màn hình ước chung lớn nhất của hai số đó.
1c) Xếp loại học tập các học sinh trong lớp.
1d) Quản lí điểm trong một kì thi bằng máy tính.
b:
Input: a,b
Output: UCLN(a,b)
Toán công việc chung lớp 5
1 . Một số đặc điểm của dạng toán về công việc làm đồng thời :
- Trong mỗi bài toán thường có một đại lượng không đổi như công việc cần làm xong , như quãng đường cần đi , thể tích bể nước , ... Do đó , khi giả ta cần quy ước đại lượng không đổi đó làm đơn vị .
- Trong dạng toán này thường có vấn đề " Làm chung , làm riêng " . Trong các bài toán đó , giá trị phải tìm có thể không phụ thuộc vào một đại lượng nào đó .
2 . Một số kiểu bài toán về " Công việc làm đồng thời " .
Sau đây tôi trình bày một số kiểu bài về dạng toán về công việc làm đồng thời và tóm tát hệ thống câu hỏi , quy trình bài , bài giải ( trong đó có một số vài tôi trình bày theo hai cách giải )
2.1 Kiểu bài 1 :
Biết thời gian làm riêng một công việc , yêu cầu tìm thời gian làm công việc chung đó .
Tóm tắt quy trình giải :
Bước 1 : Quy ước một đại lượng ( như công việc cần hoàn thành , quãng đường cần đi , thể tích của bể nước , ... ) là đơn vị .
Bước 2 : Tính số phần công việc làm riêng trong một giờ .
Bước 3 : Tính số phần công việc làm chung trong một giờ .
Bước 4 : Tính thời gian làm chung để hoàn thành công việc đó .
( Đây là tóm tắt các bước giải của một bài toán cơ bản còn căn cứ vào từng bài toán cụ thể để có thể phân tích đưa về dạng cơ bản giúp học sinh giải được tốt hơn )
Một số bài tập cụ thể :
Bài tập 7 : Ba máy cày cùng cày trên một cánh đồng . Nếu chỉ một mình thì : máy thứ nhất cày xong cả cánh đồng trong 4 giờ , máy thứ hai cày xong cánh đồng trong 5 giờ , máy thứ ba cày xong cánh đồng trong 8 giờ . Song thực tế trong 2 giờ đầu chỉ có máy thứ nhất và máy thứ hai làm việc , sau đó hai máy này nghỉ và máy thứ ba làm đến hết . Hãy tính xem máy thứ ba phải cày thêm bao lâu nữa mới xong cánh đồng ?
Kiểu bài 2 : Biết thời gian cùng chung hoàn thánh xong công việc và thời gian làm riêng ( đã biết )
Hoàn thành xong công việc đó , yêu cầu tính thời gian làm riêng ( chưa biết ) xong công việc đó .
Bài tập 8 : Hai người cúng làm chung một công việc thì sau 5 giờ sẽ xong . Nếu một mình người thợ thứ nhất làm thì phải làm 8 giờ mới xong . Hỏi người thợ thứ hai làm một mình thì sau bao lâu sẽ xong công việc đó ?
Bài tập 9 : Cả ba vòi nước cùng chảy vào một bể sau 3 giờ thì đầy . Nếu vòi thứ nhất chảy một mình thì phải mất 8 giờ mới đầy bể . Nếu vòi thứ hai chảy một mình thì thì phải mất 12 giờ mới đầy bể . Hỏi vòi thứ ba chảy một mình phải mất bao lâu mới đầy bể ?
Bài tập 10 : Hai người cùng làm chung nhau một công việc thì sau 8 giờ sẽ xong . Sau khi cùng làm được 5 giờ thì người thứ nhất bận không làm tiếp được nữa , một mình người thứ hai phải làm trong 9 giờ mới xong chỗ việc còn lại . Hỏi nếu mỗi người làm một mình thì mất bao lâu ?
Bài tập 11 : Thành và Công cùng làm chung nhau một công việc thì sau 48 phút sẽ xong . Cũng công việc đó , Thành làm một mình trong 65 phút , sau đó Công làm trong 28 phút thì hoàn thành . Hỏi Thành làm một mình toàn bộ công việc thì mất bao nhiêu phút ?
Bài tập 12 : Hai vòi cùng chảy vào bể không có nước , sau 10 giờ thì đầy bể . Nếu vòi thứ nhất chảy trong 4 giờ , vòi thứ hai chảy trong 7 giờ thì được 13/20 bể . Hỏi mỗi vòi chảy một mình thì sau bao lâu sẽ đầy bể ?
Bài tập 13 : Ba vòi cùng chảy vao một bể không có nước trong 2 giờ , sau đó tắt vói thứ nhất để hai vòi còn lại tiếp tục chảy trong 1 giờ rồi tắt vòi thứ hai . Hỏi vòi thứ ba phải chảy thêm bao nhiêu giờ nữa thì đầy bể ? Biết rằng : Nếu chảy riêng từng vòi vào bể không có nước thì vòi thứ nhất chảy đầy bể trong 9 giờ , vòi thứ hai chảy đầy bể trong 12 giờ , vòi thứ ba chảy đầy bể trong 18 giờ ?
Hãy xác định input và output của bài toán và trình bày thuật toán để giải bài toán Cho dãy A gồm N số nguyên A … .AN - 1
a ) Hãy tính tổng của tất cả các số trong dãy
b ) Hãy đếm tất cả các số chẵn trong dãy .
c ) Hãy số lớn nhất trong dãy . d ) Hãy sắp xếp các số trong dãy thành dãy tăng
a:
#include <bits/stdc++.h>
using namespace std;
long long n,x,i,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
t=t+x;
}
cout<<t;
return 0;
}
Trình bày các bước giải bài toán kiểm tra số nguyên dương A có phải số nguyên tố không ( giải bài toán trên máy tính )
Giả sử cần viết chương trình nhập vào hai số nguyên, in ra màn hình số lớn hơn.
a). Hãy mô tả các bước của thuật toán để giải quyết bài toán trên.
b). Viết chương trình Pascal để thực hiện thuật toán đó.