CÁC BÀI THỰC HÀNH (HÀM VÀ MẢNG CHIỀU) Bài 1: Làm lại tập phần câu lệnh điều khiển rẽ nhánh cách viết: a) Hàm đổi ký tự hoa sang ký tự thường; b) Thủ tục giải phương trình bậc nhất; c) Thủ tục giải phương trình bậc hai; d) Hàm xác định giá trị nhỏ số nguyên; om e) Thủ tục hoán vị hai số nguyên; c f) Thủ tục xếp số nguyên tăng dần Với câu trên, viết hàm main() tương ứng để sử dụng hàm a) Cho (trả về) số đảo số đó; co ng Bài 2: Làm lại tập phần câu lệnh lặp cách viết hàm nhận vào số nguyên dương n thực hiện: an b) Xác định số có phải số đối xứng (cho trị true/false); th c) Xác định số có phải số phương; g d) Xác định số có phải số ngun tố; on e) Tính tổng chữ số lẻ; du f) Tính tổng chữ số nguyên tố; u g) Tính tổng chữ số phương; cu h) Xác định số có phải số hồn chỉnh; i) Xác định số có phải số Armstrong Với câu trên, viết hàm main() tương ứng để sử dụng hàm Bài 3: Làm lại tập phần câu lệnh lặp cách viết hàm nhận vào số nguyên dương n thực hiện: a) Tính tổng S1 = + + … + n b) Tính tổng S2 = 12 + 22 + … + n2 c) Tính tổng S3 = + 1/2 + … + 1/n d) Tính tích P = n! = 1*2*…*n e) Tính tổng S4 = 1! + 2! + … + n! CuuDuongThanCong.com https://fb.com/tailieudientucntt Viết hàm main() để sử dụng chung cho hàm nói Bài 4: Viết hàm tính USCLN hai số nguyên không âm Bài 5: Viết hàm in n phần tử dãy Fibonacci Bài 6: a) Viết định nghĩa cho hàm tongLe C/C++ với mẫu khai báo là: long tongLe(int N); om Hàm trả tổng tất số lẻ từ đến N (gồm số N N lẻ, ta phải giả sử N≥1) Ví dụ gọi tongLe(7), kết trả 16 (vì 1+3+5+7 = 16); gọi tongLe(12) kết 36 (vì 1+3+5+7+9+11 = 36) .c b) Viết chương trình cho phép đọc giá trị số nguyên N từ bàn phím, số dương gọi hàm tongLe kết in hình ng Bài 7: Viết định nghĩa cho hàm: co (1) Hàm tongNDGT để tính tổng S = an (2) Hàm tich để tính tích: th P= g Viết hàm main() chạy thử hàm nói Thực 6, câu b on Bài 8: du a) Viết định nghĩa hàm tìm ước số chung lớn hai số nguyên a b, với khai báo sau: u int ucln(int a, int b); (giống 4) cu b) Viết hàm main() cho phép nhập hai số nguyên không âm đại diện cho tử mẫu phân số, gọi hàm ucln câu a) để thực rút gọn đến tối giản phân số ấy, in phân số sau rút gọn Ví dụ nhập vào số 42 56, in 3/4 Bài 9: a) Viết định nghĩa cho hàm có khai báo: (1) void nhap(int A[ ], int &N);, hàm cho phép nhập số N phần tử mảng, sau tiếp tục nhập vào nội dung (từng giá trị một) mảng A ứng với số phần tử (2) void xuat(int A[ ], int N);, hàm cho phép in N giá trị lưu trữ mảng A CuuDuongThanCong.com https://fb.com/tailieudientucntt b) Viết hàm main() khai báo mảng A số nguyên có MAX phần tử (tự định trị cho thỏa đáng) số nguyên N cho biết số số nguyên dùng mảng A Sau gọi hàm nhap() để nhập vào giá trị cho A, gọi hàm xuat() để xuất nội dung mảng xem có nội dung mà bạn nhập vào hay không Lưu ý: Hai hàm nhap() xuat() dùng lại tập sau Bài 10: a) Viết định nghĩa cho hàm có khai báo: (1) void xuatchan(int A[ ], int N);, có chức in tất số chẵn mảng A om (2) void xuatVTchan(int A[ ], int N);, có chức in tất số vị trí chẵn mảng A .c (3) void thanhle(int A[ ], int N);, có chức cộng số chẵn mảng A với 1, nghĩa sau thực hiện, ta đưởng mảng A gồm toàn số lẻ an co ng b) Viết hàm main() khai báo mảng nguyên A có MAX phần tử số nguyên N số phần tử thực tế mảng Gọi hàm nhap() để nhập nội dung cho mảng này, sau gọi hàm xuatchan(), xuatVTchan(), sau hàm thanhle() hàm xuat() để kiểm tra xem liệu mảng A biến đổi thành mảng chứa số lẻ chưa th Bài 11: g a) Viết định nghĩa cho hàm có khai báo sau: on (1) int timNhoNhat(int A[ ], int N);, tìm trả giá trị nhỏ dãy số nguyên A có N phần tử u du (2) double trungbinh(int A[ ], int N);, có chức tính giá trị trung bình phần tử mảng A có N phần tử cu (3) int timkiem(int A[ ], int N, int k);, có chức tìm xem mảng A gồm N phần tử có phần tử có giá trị với k khơng; có trả vị trí ấy, khơng có trả trị -1 b) Viết hàm main() với khai báo mảng 10, gọi hàm nhap() hàm vừa định nghĩa câu a) để xem giá trị nhỏ nhất, trị trung bình mảng A Sau khai báo cho nhập giá trị biến k, gọi hàm timkiem() in thơng báo có tìm số k mảng A hay không Bài 12: Dùng lại hàm timkiem() 11.a.(3) Viết chương trình cho đọc vào số nguyên có giá trị khoảng 10 đến 100 Khi số đọc vào, in số chưa xuất trước Chương trình cho in 20 giá trị số nguyên khác Bài 13: Viết hàm cho nhận vào mảng số nguyên số phần tử mảng Hàm có chức kiểm tra xem có phải mảng đối xúng hay khơng? Nếu có đối xứng trả 1, khơng trả CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ: Mảng đối xứng: [2 2] Mảng không đối xứng: [2 4] Bài 14: Viết hàm có chức sau: a) Tính lưu N số Fibonacci vào mảng nguyên A b) Tính tổng nghịch đảo N-1 số Fibonacci đầu tiên, không dùng phần tử F0 c) Đảo ngược nội dung mảng A Ví dụ: Với N = 7, mảng A là: om A = [0 1 13] c Sau đảo ngược, A trở thành: A = [13 1 0] co ng Bài 15: Sắp xếp chọn (Selection Sort) dãy số cách xếp mà bước ta tìm phần tử nhỏ dãy phần tử hoán chuyển với phần tử đầu dãy (nghĩa đưa phần tử nhỏ đầu dãy) an Ví dụ: Dãy ban đầu: Dãy hoán đổi: g th Sau lặp lại bước với dãy hình thành dãy trước bỏ phần tử on Ví dụ: Ở bước 2, dãy ban đầu: Dãy hoán đổi: du Việc lặp lại kết thúc dãy có phần tử Khi đó, ta tồn dãy xếp cu u Hãy viết hàm nhận vào mảng số nguyên số phần tử mảng đó, sau xếp mảng số nguyên thành dãy tăng dần dùng phương pháp Selection Sort CuuDuongThanCong.com https://fb.com/tailieudientucntt ... k mảng A hay không Bài 12 : Dùng lại hàm timkiem() 11 .a.(3) Viết chương trình cho đọc vào số nguyên có giá trị khoảng 10 đến 10 0 Khi số đọc vào, in số chưa xuất trước Chương trình cho in 20 giá... gọi hàm tongLe kết in hình ng Bài 7: Viết định nghĩa cho hàm: co (1) Hàm tongNDGT để tính tổng S = an (2) Hàm tich để tính tích: th P= g Viết hàm main() chạy thử hàm nói Thực 6, câu b on Bài. .. N); om Hàm trả tổng tất số lẻ từ đến N (gồm số N N lẻ, ta phải giả sử N? ?1) Ví dụ gọi tongLe(7), kết trả 16 (vì 1+ 3+5+7 = 16 ); gọi tongLe (12 ) kết 36 (vì 1+ 3+5+7+9 +11 = 36) .c b) Viết chương trình