Bài thực hành số 2: Lập trình đơn giản với các toán tử và các kiểu dữ liệu cơ sở (tt) A. Mục tiêu Tiếp tục tạo project Console application trên Microsoft Visual Studio 2005 gồm 1 tập tin chương trình *.cpp với nhiều hàm. Định nghĩa hàm, gọi hàm thuần thục. B. Ôn tập: Cấu trúc hàm Lời gọi hàm Sử dụng lời gọi hàm Khai báo nguyên mẫu của hàm 1. Cấu trúc hàm: [Kdl] Ten_Ham ([danh_sách_kiểu_và_Đối]) // Dòng tiêu đề { // Các chỉ thị về kiểu // Các câu lệnh; [return [biểu_thức];] } 2. Lời gọi hàm Ten_Ham([Danh sách các tham số thực]) 3. Sử dụng hàm • Nếu hàm trả về kiểu void, Viết lời gọi hàm như câu lệnh ( thêm dấu ; cuối cùng), tức là: Ten_Ham([Danh sách các tham số thực]); • Nếu hàm trả về khác kiểu void, lời gọi hàm được sử dụng: Như một toán hạng trong biểu thức. Vế phải câu lệnh gán. In giá trị của hàm. . . . 4. Khai báo nguyên mẫu của hàm Dạng khai báo nguyên mẫu hàm là: Kdl tên_hàm (Danh_sách_Kiểu_và _Đối); // Có dấu ; C. Luyện tập: Ví dụ 1: Viết chương trình tính diện tích hình chữ nhật với chiều dài và chiều rộng được nhập từ bàn phím (yêu cầu là viết và sử dụng hàm tính diện tích) Thực hiện: Bước 1: Tạo Project với tên “Lab2_Vd1”. Bước 2: Tạo tập tin chương trình vd1.cpp Bước 3: Trong tập tin vd1.cpp, soạn code theo cấu trúc: // Chèn các tập tin thư viện cần thiết #include<iostream> using namespace std; // Khai báo nguyên mẫu các hàm double DienTich_HCN (double a, double b) //Định nghĩa hàm main() int main() { double a, b, Dientich; cout<<”\nNhap chieu dai a: “; cin>>a; cout<<”\nNhap chieu rong b: “; cin>>b; Dientich = Dientich_HCN(a,b); cout<<”\nDien tich Hinh chu nhat : Dientich = “<<Dientich; return 0; } //Định nghĩa hàm tính diện tích double DienTich_HCN (double a, double b) { double S; S = a*b; return S; } Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình. Ví dụ 2: Viết chương trình tính diện tích hình tam giác khi biết 3 cạnh (yêu cầu là viết và sử dụng hàm tính diện tích) Thực hiện: Bước 1: Tạo Project với tên “Lab2_Vd2”. Bước 2: Tạo tập tin chương trình vd2.cpp Bước 3: Trong tập tin vd2.cpp, soạn code theo cấu trúc: // Chèn các tập tin thư viện cần thiết #include<iostream> #include<math.h> //Thư viện chứa các hàm toán học using namespace std; // Khai báo nguyên mẫu các hàm double DienTich_HTG (double a, double b, double c) //Định nghĩa hàm main() int main() { double a, b, c, S; cout<<”\nNhap chieu dai canh a: “; cin>>a; cout<<”\nNhap chieu dai canh b: “; cin>>b; cout<<”\nNhap chieu dai canh c: “; cin>>c; S = Dientich_HTG(a,b,c); cout<<”\nDien tich Hinh tam giac : S = “<<S; return 0; } //Định nghĩa hàm tính diện tích double DienTich_HTG (double a, double b, double c) { double S, p; p = (a+b+c)/2; S = sqrt(p*(p-a)*(p-b)*(p-c)); return S; } Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình. D. Bài tập: ( Ttất các các bài tập đều phải được viết bằng hàm sau đó gọi trong hàm main để xem kết quả.Tên hàm và tên biến phải được đặt đúng quy ước) Bài 1: Khai báo hằng PI có giá trị 3.14 sử dụng hằng PI để tính diện tích hình tròn với bán kính được nhập từ bàn phím. Bài 2: Khai báo hằng MAX có giá trị 60. Nhập số giây, quy đổi thời gian giây thành giờ, phút, giây. Xuất kết quả ra màn hình dưới dạng: gio:phut:giay Ví dụ: số giây nhập = 3770 số giờ =(số_giây_nhập)/3600 = 1 số phút = (số_giây_nhập%3600)/MAX=2 số giây =( số_giây_nhập %3600)%MAX=50 Xuất ra màn hình dưới dạng: 1:2:50 Hướng dẫn: - Viết hàm quy đổi thời gian với đầu vào là số giây, xuất kết quả trong hàm. - Nhập số giây, gọi hàm quy đổi đã viết trong hàm main để xem kết quả. Bài 3: Viết chương trình tính 52 yx + , với x và y là 2 số thực được nhập từ bàn phím. Hướng dẫn: - Viết 1 hàm với 2 tham số x, y. Giá trị trả về của hàm là giá trị của 52 yx + ( trong hàm này sử dụng hàm sqrt và pow trong thư viện math.h ) Bài 4: Viết chương trình tính n x , với x là số thực và n là số nguyên được nhập từ bàn phím. Hướng dẫn: - Viết 1 hàm với 2 tham số x, n. Giá trị trả về của hàm là giá trị của n x ( Sử dụng hàm pow trong thư viện math.h) Bài 5: Viết chương trình xuất: |a 2 -b 2 |, với a, b là số thực được nhập từ bàn phím. Hướng dẫn: - Viết 1 hàm với 2 tham số thực x, y. Giá trị trả về của hàm là giá trị của | x 2 -y 2 | ( Sử dụng hàm abs trong thư viện math.h ) . Bài thực hành số 2: Lập trình đơn giản với các toán tử và các kiểu dữ liệu cơ sở (tt) A. Mục tiêu Tiếp tục tạo project Console application. gian với đầu vào là số giây, xuất kết quả trong hàm. - Nhập số giây, gọi hàm quy đổi đã viết trong hàm main để xem kết quả. Bài 3: Viết chương trình tính 52 yx + , với x và y là 2 số thực được. ([danh_sách _kiểu _và_ Đối]) // Dòng tiêu đề { // Các chỉ thị về kiểu // Các câu lệnh; [return [biểu_thức];] } 2. Lời gọi hàm Ten_Ham([Danh sách các tham số thực] ) 3. Sử dụng hàm • Nếu hàm trả về kiểu