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
docx 9 trang myanh 15940 Free
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:

  • docxbai_giang_nhap_mon_lap_trinh_chuong_5_to_chuc_theo_don_the.docx