1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Hàm (function) (NHẬP môn về lập TRÌNH SLIDE)

45 22 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 718,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

L.O.4.3 – Giải thích được các kiểu truyền tham số trong C.. • dùng được nhiều nơi trong ứng dụng• che giấu đối với các hàm khác • Một phương thức thực hiện một tác vụ • Tên phương thức

Trang 1

Nhập môn về lập trình (C6) Slide 1

Chương 6

Hàm (Function)

Chương 6

Hàm (Function)

Presenter:

Trang 2

Learning outcomes

L.O.4.1 – Xác định được thành phần của một hàm.

L.O.4.2 – Hiện thực được giải thuật dưới dạng hàm.

L.O.4.3 – Giải thích được các kiểu truyền tham số trong C L.O.4.4 – Tổ chức được các chương trình lớn, gồm nhiều

hàm

L.O.3.5 – Hiện thực được các giải thuật đệ quy bằng ngôn

ngữ C và hiểu được nguyên tắc hoạt động của nó

Trang 3

Nhập môn về lập trình (C6) Slide 3

Tổ chức chương trình C

Cấu trúc module

Tổ chức chương trình C

Cấu trúc module

#<Tiền xử lý>

Mô tả module

Khai báo / định nghĩa

• main được chạy đầu tiên.

• Định nghĩa ngang cấp, không lồng nhau.

• Được gọi mới chạy.

Trang 4

Hàm là gì ?

đơn vị nhỏ hơn để dễ quản lý và sửa chữa

 Một dự án/giải pháp/chương trình = tập hợp N module

 Một Module = tập hợp N hàm

Trang 5

• dùng được nhiều nơi trong ứng dụng

• che giấu đối với các hàm khác

• Một phương thức thực hiện một tác vụ

• Tên phương thức cần thể hiện tác vụ đó

Trang 6

Hàm là gì ?

• Kỹ thuật chia để trị (divide-and-conquer)

ứng dụng mới

• Tái sử dụng phần mềm (reusability)

Trang 12

Các vấn đề của hàm

Hàm

Khai báo hàm

Định nghĩa hàm

Trang 13

-Tái sử dụng phần mềm

(reusability) -Tránh việc viết một cùng đoạn mã hai lần

-Dễ sửa lỗi và bổ sung tính năng về sau

Trang 14

Các vấn đề của hàm

Trang 16

Gọi hàm

void giaiptbac2(float a, float b, float c){

float delta = b*b - 4*a*c, x1, x2;

Trang 18

Khai báo hàm

cần khai báo

phải khai báo (tùy từng môi trường lập trình)

Trang 19

printf( "Enter three integers: ");

scanf("%d %d %d", &a, &b, &c);

printf( "Maximum is: %d\n", maximum (a, b, c));

}

Lưu ý:Có sự tương

ứng 1-1 giữa tham số hình thức và tham số thực

Trang 20

Khai báo hàm

int maximum( int x, int y, int z);

void main() {

int a, b, c;

printf( "Enter three integers: ");

scanf("%d %d %d", &a, &b, &c);

printf( "Maximum is: %d\n", maximum (a, b, c));

Trang 21

có kiểu giống nhau.

Trang 24

Khai báo/định nghĩa hàm

Định nghĩa biến

}

Trang 25

static (định nghĩa): hàm chỉ được gọi cục bộ trong

Trang 26

Khai báo/định nghĩa hàm

Trị trả về, tham số, gọi hàm

Khai báo/định nghĩa hàm

Trị trả về, tham số, gọi hàm

return expr; kết thúc hàm, trở về và trả trị là expr Giá trị

arglist : là danh sách các tham số hình thức (hàm có thể không có tham số), mỗi tham số được cách nhau bởi dấu phẩy (,) và được mô tả theo cú pháp như sau :

 defaultvalue là giá trị gán mặc định cho tham số nếu không cung cấp lúc gọi hàm

tên_hàm(<danh sách tham số thực>);

Trang 27

Nhập môn về lập trình (C6) Slide 27

Khai báo/định nghĩa hàm

Ví dụ khai báo, định nghĩa

Khai báo/định nghĩa hàm

Ví dụ khai báo, định nghĩa

cung cấp đầy đủ tên hàm, kiểu trị trả về, số lượng tham số, kiểu và tên các tham số

Ví dụ :

Khai báo hàm:

Tham số hình thức Kiểu trả về

Trị trả về

Trang 28

Khai báo/định nghĩa hàm

Ví dụ gọi hàm

Khai báo/định nghĩa hàm

Ví dụ gọi hàm

báo extern trước khi gọi hàm

Ví dụ :

Tham số thực

Trang 29

Nhập môn về lập trình (C6) Slide 29

Truyền tham số

• Truyền trị dưới dạng một biểu thức

 Tham số hình thức : (kiểu tên)

• Truyền địa chỉ bằng biến con trỏ (kiểu*).

 Tham số hình thức : (kiểu* tên)

• Truyền địa chỉ bằng biến tham khảo (kiểu&).

 Tham số hình thức : (kiểu& tên)

Trang 30

Truyền tham số

Trang 32

Truyền tham số

void giaiptbac2(float a, float b, float c){

float delta = b*b - 4*a*c, x1, x2;

Trang 34

Truyền tham sô

void main()

{

giaiptbac2(2, 3*8-7, 4) ;

}

Trang 36

Truyền tham sô

Trang 38

Truyền tham sô

Trang 41

Nhập môn về lập trình (C6) Slide 41

Hàm đệ qui

Ví dụ tính ex

Hàm đệ qui

Ví dụ tính ex

kiểm soát sự trở về của hàm bằng điều kiện ban đầu

Trang 43

Nhập môn về lập trình (C6) Slide 43

Bài toán tháp Hà nội

• Mỗi lần chỉ chuyển một đĩa.

• Đĩa nhỏ nằm trên đĩa lớn.

Trang 44

Phân tích và giải thuật

• Chuyển chồng n-1 đĩa từ cột A sang cột B (cột C trung gian).

• Chuyển đĩa từ cột A sang cột C.

• Chuyển chồng n-1 đĩa từ cột B sang cột C (cột A trung gian).

Trang 45

Nhập môn về lập trình (C6) Slide 45

Hàm inline

chuơng trình dịch sẽ thay gọi hàm bằng chính thân hàm vào chỗ gọi

Ngày đăng: 29/03/2021, 13:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w