Bài giảng Nhập môn lập trình - Chương 5: Tổ chức theo đơn thể
5
TỔ CHỨC THEO ĐƠN THỂ
NỘI DUNG CHÍNH
Mục tiêu chính của chương này gồm có các nội dung sau
HÀM
KẾT QUẢ TRẢ VỀ
Phân chia và tổ chức mã nguồn
Kết quả của quá trình tính toán
THAM SỐ
NẠP CHỒNG
Hàm trùng tên, khác kiểu hoặc số
Thay đổi cách hành xử của hàm
lượng đối số
Các mã nguồn được trình bày trong sách có thể được tải tại địa chỉ
Chương 5 – Tổ chức chương trình theo đơn thể
1
5.1. VÍ DỤ MẪU ÔN LẠI KIẾN THỨC
1. Hàm không có giá trị trả về, không có đối số
Viết hàm xuất ra màn hình hình chữ nhật đặc 3x4 với kí tự * như sau:
Mã nguồn tham khảo
C
C++
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
// Khai báo nguyên mẫu hàm
void DisplayRectangle();
// Khai báo nguyên mẫu hàm
void DisplayRectangle();
void main()
void main()
{
{
DisplayRectangle(); // Gọi hàm
DisplayRectangle(); // Gọi hàm
_getch(); // Đợi bấm phím bất kì
cin.get(); // Đợi bấm phím bất kì
}
}
// Cài đặt hàm xuất HCN
// Cài đặt hàm xuất HCN
void DisplayRectangle ()
{
void DisplayRectangle ()
{
printf("****\n");
printf("****\n");
printf("****\n");
}
cout << "****" << endl;
cout << "****" << endl;
cout << "****" << endl;
}
Chương 5 – Tổ chức chương trình theo đơn thể
2
2. Hàm có đối số là tham trị và có giá trị trả về
Viết hàm kiểm tra một số nguyên có phải là số chẵn hay không
Mã nguồn tham khảo
Cách viết 1
Cách viết 2
bool IsEven(int n)
bool IsEven(int n)
{
{
if (n % 2 == 0)
return n % 2 == 0;
return true;
}
else
return false;
}
3. Viết hàm bình phương một số nguyên
Mã nguồn tham khảo
Phương án 1 - Hàm
#include <iostream>
Cách viết 2 - Macro
#include <iostream>
using namespace std;
using namespace std;
int square(int x);
#define SQUARE(x) x*x
// Không có ;
void main()
{
void main()
{
int n = 3;
int x = square(n);
int n = 3;
int x = SQUARE(n);
cout << x;
}
cout << x;
}
int square(int x)
{
return x * x;
}
Chương 5 – Tổ chức chương trình theo đơn thể
3
Thảo luận với giáo viên và bạn học ưu và khuyết điểm của hai cách tiếp cận trên.
4. Hàm có đối số là tham chiếu
Nhập vào hai số nguyên, hoán vị giá trị của hai số nguyên này
Mã nguồn tham khảo
void Swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
5. Hàm trùng tên – Nạp chồng hàm
Viết hàm tính chu vi của hình vuông và hình chữ nhật. Để cho dễ đọc, trưởng nhóm lập trình
đã quyết định hàm này có tên là CalcPerimeter và dựa vào số lượng đối số để quyết định việc
tính toán là dành cho hình vuông hay là hình chữ nhật.
Mã nguồn tham khảo
float CalcPerimeter(float a)
{
return 4 * a;
}
float CalcPerimeter(float a, float b)
{
return 2 * (a + b);
}
Thảo luận: Trong hai hàm trên, hàm nào tính chu vi hình vuông? Hàm nào tính chu vi HCN?
Chương 5 – Tổ chức chương trình theo đơn thể
4
6. Hàm có đối số mặc định
Viết hàm xuất ra màn hình hình chữ nhật đặc. Các đối số truyền vào gồm có:
+ c: kí tự dùng để tạo ra hình chữ nhật đặc, nếu không truyền vào sẽ dùng kí tự ‘*’
+ rows: số dòng. Mặc định là 3
+ cols: số cột. Mặc định là 4
Mã nguồn tham khảo
void DrawRectangle(char c = ‘*’, int rows = 3, int cols = 4)
{
// …
}
7. Hàm có đối số là hàm khác
Viết hàm vẽ một hình, tùy vào hàm nhận vào mà vẽ hình tam giác cân hoặc hình vuông.
Mã nguồn tham khảo
void DrawIsocelesTriangle(char c, int rows)
{
// Vẽ tam giác cân
}
void DrawSquare(char c, int rows)
{
// Vẽ hình vuông
}
void Draw(void fn(char, int),
char c = '*', int rows = 3)
{
fn(c, rows);
}
Chương 5 – Tổ chức chương trình theo đơn thể
5
5.2. CÁC BÀI TẬP ÔN LẠI KIẾN THỨC
1. Viết chương trình giải phương trình bậc nhất ax + b = 0.
2. Viết chương trình gIải phương trình bậc hai ax2 + bx + c = 0.
3. Viết chương trình giải phương trình trùng phương ax4 + bx2 + c = 0
4. Viết chương trình nhập vào một số nguyên, kiểm tra n có phải là số nguyên tố hay không.
Cho biết các số nguyên tố nhỏ hơn n.
5. Viết hàm thực hiện tính toán với hai số nguyên. Các phép toán hỗ trợ là +, -, *, /. Tùy vào
hàm truyền vào mà thực hiện tính toán tương ứng.
6. Tự viết hàm pow để tính xy không dùng thư viện math.h.
Hàm có nguyên mẫu như sau:
double pow(double x, int n)
Chương 5 – Tổ chức chương trình theo đơn thể
6
5.3. ĐỒ ÁN NHỎ VẬN DỤNG
1. TODO
Chương 5 – Tổ chức chương trình theo đơn thể
7
5.4. BÀI TẬP NÂNG CAO
1. Viết hàm vẽ tổng quát, tùy vào yêu cầu của người dùng mà vẽ hình chữ nhật đặc, hình chữ
nhật
TODO
Thao tác với đối số hàm main
+ Đối số đầu tiên là đường dẫn tuyệt đối???
+ Từ đối số thứ hai trở đi?
+ Chú ý về vấn đề Unicode?
Chương 5 – Tổ chức chương trình theo đơn thể
8
5.5. TIẾNG ANH CHUYÊN NGÀNH
2.5.1. Chọn đáp án đúng nhất
1.
2.
3.
2.5.2. Lựa chọn từ để điền vào chỗ trống còn thiếu
a. [1
a. errors
b. programming language
c. source code
d. hello world
e. compiling
-- END --
Chương 5 – Tổ chức chương trình theo đơn thể
9
Bạn đang xem tài liệu "Bài giảng Nhập môn lập trình - Chương 5: Tổ chức theo đơn thể", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_nhap_mon_lap_trinh_chuong_5_to_chuc_theo_don_the.docx

