CHƯƠNG 3: LẬP TRÌNH MODULE 3.1 Phương pháp lập trình module
3.2.3 Tiêu đề hàm:
Kiểu trả về của hàm, tên hàm, các đối số, kiểu tương ứng và hình thức truyền kết hợp lại hình thành tiêu đề hàm (prototype).
Tiêu đề các hàm trong CT1, CT2, CT3 cho trong bảng
Hàm Tiêu đề
Tìm số lớn trong hai số int tim_so_lon (int a, int b);
Xuất số void xuat_so (int so);
Tính giai thừa của một số int tinh_giai_thua (int so);
Tính chu vi hình chữ nhật int tinh_chu_vi_hcnhat (int chieu_dai, int chieu_rong); Tính chu vi hình vuông int tinh_chu_vi_hvuong (int canh);
Tính tổ hợp int tinh_to_hop(int n, int k);
Khi CT gọi một hàm (bằng tên hàm) các đối số thực sẽ được truyền cho các đối số của hàm (nếu hàm có đối số), khối lệnh bên trong hàm được thực hiện và hàm trả về giá trị (nếu hàm có giá trị trả về).
Ví dụ 3.1: CT tìm số lớn nhất trong ba số #include …
// Các hàm
float tim_so_lon (float a, float b)
{
return (a > b ? a : b); }
void xuat_so (float so) // so: tham trị !!! {
printf (“%f”, so); }
// Hàm chính
int main(int argc, char* argv[]) {
float so_1, so_2, so_3, so_lon_cua_3_so, so_lon_cua_2_so; printf( “Nhap vao ba so can tim so lon nhat:\n” );
scanf ( “%f %f %f ”, &so_1, &so_2, &so_3);
so_lon_cua_2_so = tim_so_lon (so_1, so_2);
so_lon_cua_3_so = tim_so_lon (so_lon_cua_2_so, so_3);
printf(“\nSo lon nhat cua (%f,%f,%f):\t”, so_1, so_2, so_3);
xuat_so (so_lon_cua_3_so);
getch (); return 0; }
Ví dụ 3.2: CT xuất ra chu vi lớn nhất trong chu vi hình chữ nhật và chu vi hình vuông #include …
// Các hàm
// Hàm tìm số lớn trong hai số. int tim_so_lon (int a, int b)
{
return (a > b ? a : b); }
// Hàm xuất số ra màn hình. void xuat_so (int so)
{ printf (“%d”, so); a, b đối số của hàm – hình thức so_1, so_2 đối số thực so_lon_cua_ 2_so, so_3 đối số thực a, b đối số của hàm – hình thức so đối số của hàm – hình thức
}
// Hàm tính chu vi hình chữ nhật.
int chu_vi_hcnhat (int chieu_dai, int chieu_rong)
{
return (chieu_dai + chieu_rong) * 2; }
// Hàm tính chu vi hình vuông. int chu_vi_hvuong (int canh)
{
return canh * 4; }
// Hàm chính
int main(int argc, char* argv[]) {
int cdai, crong, canh, cvi_hcnhat, cvi_hvuong, cvi_lon;
printf( “Nhap chieu dai va chieu rong cua hinh chu nhat:\n” ); scanf ( “%d %d”, &cdai, &crong);
printf( “Nhap canh hinh vuong:\n” ); scanf ( “%d %d”, &canh);
printf(“\nChu vi lon la:”);
cvi_hcnhat = chu_vi_hcnhat(cdai, crong);
cvi_hvuong = chu_vi_hvuong(canh);
cvi_lon = tim_so_lon(cvi_hcnhat, cvi_hvuong); xuat_so(cvi_lon);
getch (); return 0; }