Tìm bội số chung nhỏ nhất của hai số nguyên dƣơng

Một phần của tài liệu Bài giảng Tin học đại cương (Trang 87)

#include …

int tinh_uscln (int x, int y); // tính ước số chung lớn nhất của x và y int tinh_bscnn (int x, int y); // tính bội số chung nhỏ nhất của x và y int main()

{

int so_1, so_2;

// Nhap hai so nguyen can tim boi so chung nho nhat ??? bscnn = tinh_bscnn (so_1, so_2);

// Xuất bscnn ??? getch (); return 0;

}

int tinh_uscln (int x, int y) // tính ước số chung lớn nhất của x và y {

int uscln; // ???

return uscln; }

int tinh_bscnn (int x, int y) // tính bội số chung nhỏ nhất của x và y { int bscnn; // ??? return bscnn; } 5.3.10. Đổi số từ hệ 10 sang hệ b #include …

void xuat_ky_so (int ky_so); // xuất ký số trong hệ he void doi_so (int so, int he); // đổi số so sang hệ he int main() { int so, b; // Nhập số ở hệ 10 so và hệ cần đổi b ??? doi_so (so, b); getch (); return 0; }

void xuat_ky_so (int ky_so) // xuất ký số trong hệ he {

// ??? }

void doi_so (int so, int he) // đổi số so sang hệ he { // ??? } 5.3.11 Tính tổng n 1 2 1 1 

Hình 5.7: Sơ đồ CT tính tổng n1 2

1

1 

#include …

void cong_hai_PS (int& tu, int& mau, int tu_moi, int mau_moi);

int tinh_uscln (int x, int y); // tính ước số chung lớn nhất của x và y void gian_uoc (int& tu, int& mau); // giản ước phân số tu/mau

void xuat_phan_so (int tu, int mau); // xuất phân số tu/mau int main()

{

int N, tu_cua_tong, mau_cua_tong, i; // Nhập N ???

tu_cua_tong = mau_cua_tong = 1; for (i = 2; i<=N; i++)

cong_hai_PS (tu_cua_tong, mau_cua_tong, 1, i); gian_uoc (tu_cua_tong, mau_cua_tong);

xuat_phan_so (tu_cua_tong, mau_cua_tong);

getch (); return 0; }

void cong_hai_PS (int& tu, int& mau, int tu_moi, int mau_moi) // Cộng hai phân số: tu/mau + tu_moi/mau_moi gán vào tu/mau {

// ??? }

int tinh_uscln (int x, int y) // tính ước số chung lớn nhất của x và y { (adsbygoogle = window.adsbygoogle || []).push({});

int uscln, du; // ???

return uscln; }

void gian_uoc (int& tu, int& mau) // giản ước phân số tu/mau { Đúng i  2 Tổng  1/1 i <= N i  i + 1 Cộng phân số Tổng 1/i Sai

Giản ước phân số

// ??? }

void xuat_phan_so (int tu, int mau) // xuất phân số tu/mau {

// ??? }

BÀI TẬP CHƢƠNG 5

1. Một hàm có thể trả về bao nhiêu giá trị? Nếu ta muốn một hàm trả về nhiều giá trị thì sao? Nếu một hàm không trả về giá trị, ta phải khai báo kiểu của nó như thế nào?

2. Dòng đầu tiên của định nghĩa hàm là gì, và nó chứa những thông tin gì? Cách đặt tên hàm như thế nào là tốt ?

3. Biến cục bộ là gì? Biến toàn cục là gì? Biến cục bộ và biến toàn cục khác nhau như thế nào? Tại sao không sử dụng tất cả các biến toàn cục?

4. Tìm điểm sai trong đoạn chương trình sau: #include <iostream.h>

void in_thong_diep ()

printf (“Day la mot thong diep.”); return 0;

void main ()

in_thong_diep (“Day la mot thong diep.”);

5. Tìm điểm sai trong định nghĩa hàm sau: int nhan_doi (int y);

return (2 * y);

6. Cài đặt lại tất cả các bài tập chương 3 ở PHẦN III – CẤU TRÚC RẼ NHÁNH, PHẦN IV - CẤU TRÚC LẶP theo phương pháp hàm.

7. Viết một hàm nhận hai số nguyên int làm đối số, và trả về tích của hai đối số đó.

8. Viết một hàm nhận hai số nguyên int làm đối số, xuất tỷ số của đối số thứ nhất với đối số thứ hai. Nếu trường hợp không chia được (đối số thứ hai bằng 0) thì cho một câu thông báo “Không chia cho 0 được.”.

9. Viết hàm giai_thua(n) để tính n! Sau đó gọi hàm này trong hàm main(), in kết quả ra màn hình.

10. Viết hàm tong(n) tính tổng S = 1+2+….+n. Sau đó gọi hàm này trong chương trình chính. In kết quả ra màn hình.

11. Viết hàm nguyen_to(n) kiểm tra số n nhập trong chương trình chính có phải là 1 số nguyên tố không? (adsbygoogle = window.adsbygoogle || []).push({});

Trong hàm main(): - Nhập n

- Gọi hàm nguyen_to(n) để kiểm tra, căn cứ kết quả kiểm tra để in thông báo ra màn hình

Gợi ý: hàm nguyen_to(n) trả về 1 nếu n là số nguyên tố, trả về 0 nếu n không phải số nguyên tố

12. Viết hàm fibo(n) để tính số hạng thứ n trong dãy Fibonacci.

13. Viết hàm max2(a,b) tìm số lớn nhất trong 2 số a,b nhập từ hàm main(). In kết quả ra màn hình

14. Viết hàm chan_le(k) để kiểm tra 1 số k là số chẵn hay số lẻ (hàm trả về 1 nếu là số chẵn, trả về 0 nếu là số lẻ). Trong hàm main() làm các công việc sau:

- Nhập số nguyên n

- Tính tống tất cả các số chẵn nằm từ 1 đến n. Sử dụng hàm chan_le() kiểm tra điều kiện tính tổng

- In kết quả ra màn hình

15. Tương tự bài số 14, nhưng viết riêng một hàm để tính tổng. Sau đó gọi hai hàm này trong chương trình chính.

Gợi ý:

- Viết hàm chan_le(k) : kiểm tra số k có phải là số chẵn không - Viết hàm tong_chan(n): gọi hàm chan_le() để kiểm tra Cho i chạy từ 1 đến n

Nếu (chan_le(i)= =1) thì //hoặc nếu (chan_le(i)) thì S = S + i

Hàm trả về S

Trong hàm main(): nhập n, gọi hàm tong_chan(n), in kết quả tổng

16. Viết hàm area(r) để tính diện tích hình cầu có bán kính là r. Nhập bán kính r và gọi hàm area(r) trong hàm main(). In kết quả ra màn hình.

Diện tích hình cầu = 4 * pi * r * r , lấy pi = 3.14 17. Viết các hàm sau đây

- Hàm nhap() để nhập kích thước các cạnh của một hình chữ nhật

- Hàm chu_vi(int dai, int rong) để tính chu vi hình chữ nhật

- Hàm dien_tich(int dai, int rong) để tính diện tích hình chữ nhật

Một phần của tài liệu Bài giảng Tin học đại cương (Trang 87)