You are on page 1of 3

0000-12e5-16cd-32d6-1a6.

txt
Lập trình trải qua từ trước đến giờ là 3 giai đoạn:
1/ Lập trình tuyến tính
=> Viết hết toàn bộ chương trình trong 1 hàm duy nhất gọi là hàm main.
2/ Lập trình thủ tục - hàm
=> Chia chương trình nhỏ ra thành các chương trình con.
- Người ta thấy việc viết nhiều đoạn mã cùng làm 1 tác vụ gì đó giống nhau thì
khiến cho chương trình trở nên dài dòng - hỗn độn và khó có khả năng tái sử dụng
mã nguồn cho nên đã tạo ra hàm để dễ dàng quản lý.
CÚ PHÁP HÀM:
<Kiểu dữ liệu trả về> <Tên hàm>(<Danh sách tham số nếu có>)
{
return <Gia trị trả về nếu có>
}
<Kiểu dữ liệu trả về> gồm có các kiểu sau:
- int => trả về 1 số nguyên.
- double => trả về 1 số thực 8 bytes
- float => trả về 1 số thực 4 bytes.
- char => trả về 1 ký tự.
- bool => trả về giá trị luận lý (true/false).
- void => không trả về gì cả. Hàm void gọi là hàm thực thi chứ không trả về.
CÁCH ĐỂ VIẾT 1 HÀM.
B1: Xác định xem hàm đó có trả về hay không ? Nếu có thì trả về giá trị như thế nào
(nguyên/thực/ký tự/luận lý)
B2: Xác định xem hàm đó làm công việc gì ? để mà đặt cái tên hàm cho nó gợi nhớ
tới công việc nó cần làm.
B3: Xác định xem tham số trong hàm cần những gì ? đễ mà hỗ trợ trong quá trình xử
lý tính toán.
B4: Cài đặt cho hàm.

* THAM SỐ TRONG HÀM *


- Có 2 dạng tham số:
1/ Tham trị
- Được sử dụng khi không có nhu cầu thay đổi lại trực tiếp đến tham số.
2/ Tham chiếu
- Được sử dụng khi có nhu cầu thay đổi lại tham số.

3/ Con trỏ
Khi 1 biến dùng theo kiểu tham trị tức là đi vào hàm đó nó sẽ tạo ra 1 cái vùng
nhớ mới và chỉ thao tác trên vùng nhớ mới đó, còn vùng nhớ cũ vẫn ko thay đổi. Cho
nên sau khi thực hiện xong thì giá trị không thay đổi do nó không có ảnh hưởng
trực tiếp đến vùng nhớ cũ.

Khi 1 biến dùng theo kiểu tham chiếu tức là đi vào hàm nó vẫn tiếp tục thao tác
trên vùng nhớ cũ cho nên sau khi rời khỏi hàm giá trị đã bị thay đổi.

第 1 页
0000-12e5-16cd-32d6-1a6.txt
Đề bài: Nhập vào 2 số nguyên a & b. Tính tổng - hiệu - tích - thương của 2 số đó.
=> Source Code kiểu luận lý: http://codepad.org/dEPNXRXs
=> Source Code kiểu thủ tục - hàm: http://codepad.org/D86J6Vs6
VÍ DỤ VỀ THAM TRỊ & THAM CHIẾU & CON TRỎ
- Hoán vị 2 số nguyên a & b.
=> Source Code: http://codepad.org/fqbd2rXc
- Ngoài ra tham chiếu còn được sử dụng để trả về nhiều giá trị trong 1 hàm.
=> Source Code: http://codepad.org/YZbDlLVk
* KHI VIẾT HÀM THÌ PHẢI KHAI BÁO RA NGUYÊN MẪU HÀM *
- Nguyên mẫu hàm là gì ?
Đó là khai báo ra hàm đó ở trên cùng của chương trình.
- Nếu như không có nguyên mẫu hàm thì cái gì sẽ xảy ra ?

Nếu như trong 1 hàm mà có 1 lời gọi hàm tới cái hàm ở dưới thì chương trình sẽ bị
báo lỗi là không tìm thấy hàm ở dưới.
vd: Source Code sau sẽ bị lỗi: http://codepad.org/TwBqBvfg
Cách viết nguyên mẫu hàm như sau: Copy dòng đầu tiên của hàm đem lên đầu chương tr
ình, bỏ đi các biến số đã khai báo (để cũng không sao) bởi vì cái mà nó cần quan
tâm là kiểu dữ liệu.
=> Source Code có khai báo nguyên mẫu hàm: http://codepad.org/Ih3TbFa7

* TẦM VỰC CỦA 1 BIẾN *


- Tức là phạm vi dữ liệu mà biến đó có thể thao tác được.

+ Biến toàn cục.


- Nằm bên ngoài cùng của chương trình và sẽ có thể thao tác trên toàn bộ mọi hàm
con & cả hàm main.

+ Biến cục bộ.


- Nằm trong phạm vi giới hạn của cặp ngoặc nhọn "{...}" và nó chỉ có thể thao tác
trong phạm vi của cặp ngoặc này.
Ví dụ về biến toàn cục như sau:
Viết chương trình tính tiền điện của 1 hộ dân như sau:
Nhập vào số điện sử dụng rồi tính theo công thức:
Loai 1: 0 --> 50 kWh: Gía là 2500/kWh
Loại 2: > 50 --> 100: Gía là 3000/kWh
Loại 3: >100: Gía là 3500/kWh.
Yêu càu chương trình nhập vào số KWh mà hộ dân đã sử dụng, sau đó tính ra tiền
phải trả là bao nhiêu.
=> Source Code: http://codepad.org/Nc1jvTTg

第 2 页
0000-12e5-16cd-32d6-1a6.txt
----------- GIẢI BÀI TẬP ---------------
Bài 1b: Giải phương trình bậc 1: ax + b = 0
=> Source Code: http://codepad.org/VbrYaNNZ

Bài 1c: Giải phương trình bậc 2: a * x^2 + b * x + c = 0


=> Source Code: http://codepad.org/EAC3Xeag
-------------- CÁC BẠN LÀM HẾT NHỮNG BÀI TẬP CÒN LẠI NHÉ. CHÚC CÁC BẠN LÀM BÀI
TỐT ! --------------

第 3 页

You might also like