Bài giảng Cơ sở lập trình: Chương trình con và hàm (Sub-program and function) - Trịnh Tấn Đạt
lượt xem 5
download
Bài giảng Cơ sở lập trình: Chương trình con và hàm (Sub-program and function), chương này trình bày những nội dung gồm: chương trình con; khai báo và định nghĩa hàm; nguyên mẫu hàm, gọi hàm, truyền tham số cho hàm, hàm có giá trị trả về và hàm void; phạm vi của biến; marco vs. hàm; các ví dụ minh họa và bài tập;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở lập trình: Chương trình con và hàm (Sub-program and function) - Trịnh Tấn Đạt
- Chương Trình Con và Hàm (Sub-Program and Function) Trịnh Tấn Đạt Khoa CNTT - Đại Học Sài Gòn Email: trinhtandat@sgu.edu.vn Website: https://sites.google.com/site/ttdat88/
- Nội dung Chương trình con Khai báo và định nghĩa hàm; nguyên mẫu hàm Gọi hàm Truyền tham số cho hàm Hàm có giá trị trả về và hàm void Phạm vi của biến Marco vs. Hàm Các ví dụ minh họa Bài Tập
- Đặt vấn đề Viết chương trình nhập vào 03 số a,b,c. Kiểm tra các số nào là số nguyên tố? Chương trình chính Nhập Xuất Kiểm tra SNT a, b, c > 0 kết quả Nhập Nhập Nhập Cho a Cho b Cho c a>0 b>0 c>0
- Đặt vấn đề Khi đó: o Cần phải viết 3 đoạn code cho việc nhập a,b,c với điều kiện là số nguyên dương do { couta; } while (a
- Đặt vấn đề Khi đó: o Cần phải viết đoạn code cho việc kiểm tra a là số nguyên tố? o Cần phải viết đoạn code cho việc kiểm tra b là số nguyên tố? o Cần phải viết đoạn code cho việc kiểm tra c là số nguyên tố? if(a
- Đặt vấn đề Giải pháp => Viết 1 lần và sử dụng nhiều lần Đoạn lệnh nhập tổng quát, với n Đoạn lệnh kiểm tra số nguyên tố tổng quát, với n Thay thế các giá trị a, b, c vào n cho từng trường hợp Phần code chung có khả năng tái sử dụng
- Chương trình con Chương trình con (sub-program): là một phần mã trong một chương trình lớn hơn, phần mã này thực hiện một tác vụ cụ thể và tương đối độc lập với phần mã còn lại. Một chương trình con thường được viết mã sao cho nó có thể được gọi nhiều lần từ nhiều nơi trong thời gian chạy của một chương trình (có thể được gọi bởi chính nó). Các chương trình con thường được tập trung thành các thư viện, là một cơ chế quan trọng cho việc chia sẻ và tái sử dụng mã.
- Chương trình con Chương trình con có 2 loại: Thủ tục (Procedure) và hàm (Function): o Thủ tục (PROCEDURE): Dùng để thực hiện một hay nhiều nhiệm vụ nào đó (thường không có giá trị trả về). o Hàm (FUNCTION): Trả về một giá trị nào đó (có kiểu vô hướng, kiểu string hoặc kiểu con trỏ). Hàm có thể sử dụng trong các biểu thức.
- Chương trình con Lưu ý: Khi nào thì nên dùng thủ tục/hàm: o Dùng hàm: • Kết quả của bài toán trả về 1 giá trị duy nhất (kiểu vô hướng, kiểu string hoặc kiểu con trỏ). • Phát biểu gọi CHƯƠNG TRÌNH CON cần nằm trong các biểu thức tính toán. o Dùng thủ tục: • Kết quả của bài toán không trả về giá trị nào hoặc trả về nhiều giá trị hoặc trả về kiểu dữ liệu có cấu trúc (Array, Record, File). • Phát biểu gọi CHƯƠNG TRÌNH CON KHÔNG nằm trong các biểu thức tính toán.
- Chương trình con Chương trình con được dùng khi xây dựng các chương trình lớn nhằm: o giảm đáng kể kích thước và chi phí của một chương trình o làm cho chương trình dễ theo dõi, o dễ sửa lỗi, o nâng cao độ tin cậy của chương trình. Một đặc điểm nổi bật của chương trình con là nó có tính đệ quy nhờ thế mà nhiều bài toán được giải quyết dễ dàng. Chương trình con trong ngôn ngữ C/C++ là hàm (function).
- Hàm (function) Hàm là một chương trình con bao gồm một khối các câu lệnh thực hiện một nhiệm vụ nhất định, và có thể được gọi khi cần Mỗi hàm có một tên (các hàm trong C không được trùng tên nhau), một số tham số, và một giá trị trả về. o Thư viện của C/C++ hỗ trợ nhiều hàm khác nhau. Ví dụ: cin, printf, pow, sqrt ,.. o Ngoài ra, hàm có thể do người dùng định nghĩa (đặt tên phải khác tên các hàm trong thư viện C/C++)
- Định nghĩa hàm Định nghĩa hàm gồm kiểu trả về, tên hàm, các tham số và thân hàm (chứa các phát biểu chương trình), thực thi một việc cụ thể. Cú pháp: (Dạng định nghĩa hàm) trong đó: – Kiểu trả về (return_type, còn gọi là kiểu hàm) tương ứng ([danh sách tham số]) với kiểu của giá trị mà hàm trả về thông qua phát biểu { return. Kiểu bất kỳ của C (char, int, long, float,…). Nếu ; không trả về thì là void. [return ;] – Tên hàm (func_name) được đặt theo nguyên tắc đặt tên, } nhưng nên đặt tên sao cho dễ hiểu. – Danh sách tham số (ParameterList): mỗi tham số được xác định bởi kiểu dữ liệu và tên. Các tham số phân cách nhau bởi dấu phẩy. Có thể là danh sách rỗng. – Phần thân hàm nằm giữa cặp ngoặc { và }. Không có dấu chấm phẩy ‘;’ ở cuối khi định nghĩa hàm
- Định nghĩa hàm Lưu ý: Nếu không xác định return_type, mặc định sẽ là kiểu int. Nếu hàm không trả về giá trị, dùng void (thay cho return_type). Ví dụ: int luythua2(int n) ; void display() ; Các hàm được định nghĩa không phải theo một thứ tự nào.
- Lưu ý: Các bước viết hàm Cần xác định các thông tin sau đây: Tên hàm. Hàm sẽ thực hiện công việc gì. Các đầu vào (nếu có) - Input Đầu ra (nếu có) - Output Đầu vào 1 Tên hàm Đầu vào 2 Đầu ra (nếu có) Các công việc Đầu vào n sẽ thực hiện
- Ví dụ: Ví dụ 1 Tên hàm: XuatTong Công việc: tính và xuất tổng 2 số nguyên Đầu vào: hai số nguyên x và y Đầu ra: không có void XuatTong(int x, int y) { int s; s = x + y; cout
- Ví dụ: Ví dụ 2 Tên hàm: TinhTong Công việc: tính và trả về tổng 2 số nguyên Đầu vào: hai số nguyên x và y Đầu ra: một số nguyên có giá trị x + y int TinhTong(int x, int y) { int s; s = x + y; return s; }
- Ví dụ: Ví dụ 3 Tên hàm: NhapXuatTong Công việc: nhập và xuất tổng 2 số nguyên Đầu vào: không có Đầu ra: không có void NhapXuatTong() { int x, y; cout x >> y; cout
- So Sánh void XuatTong(int x, int y) int TinhTong(int x, int y) { { int s; int s; s = x + y; s = x + y; cout
- Lưu ý: định nghĩa hàm KHÔNG được phép đặt định nghĩa hàm này trong một hàm khác. int TinhTong(int x, int y) { int s; s = x + y; int TinhHieu(int x, int y) { Không được phép định nghĩa hàm tại đây //… } return s; }
- Khai báo hàm (prototype) Khai báo hàm là đưa ra một “mẫu hàm” (prototype): mô tả tên hàm, kiểu trả về và danh sách tham số. o Trong khai báo prototype hàm cần lưu ý: không chứa phần thân hàm. Nội dung của hàm sẽ được triển khai sau. o Kết thúc khai báo hàm với dấu chấm phẩy “;”. o Thường khai báo hàm ở đầu file, phía sau phần khai báo thư viện. Dạng khai báo hàm: func_name ([ParameterList]); Ví dụ : void f1(int i, int j, float k); double tong(double x, double y); int giai_thua( int n) ; void f2(int a, b, float c); //?? SAI
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở lập trình: Ngôn ngữ lập trình C/C++ - Trịnh Tấn Đạt
142 p | 18 | 9
-
Bài giảng Cơ sở lập trình 1: Giới thiệu môn học - Lê Quý Tài
9 p | 135 | 8
-
Bài giảng Cơ sở lập trình - Giới thiệu môn học
9 p | 142 | 5
-
Bài giảng Cơ sở lập trình Csharp: Bài 4 - Cấu trúc lặp
17 p | 81 | 4
-
Bài giảng Cơ sở lập trình: Chương 1 - Thuật toán và thuật giải
30 p | 19 | 4
-
Bài giảng Cơ sở lập trình: Chương 2 - Tổng quan về lập trình máy tính
14 p | 9 | 3
-
Bài giảng Cơ sở lập trình: Chương 4 - Các cấu trúc điều khiển
41 p | 16 | 3
-
Bài giảng Cơ sở lập trình - Trường ĐH Thương mại
108 p | 51 | 3
-
Bài giảng Cơ sở lập trình: Chương 1 - Khái niệm lập trình
428 p | 19 | 3
-
Bài giảng Cơ sở lập trình: Các phần tử cơ bản của ngôn ngữ C
55 p | 9 | 2
-
Bài giảng Cơ sở lập trình: Kiểu cấu trúc
26 p | 8 | 2
-
Bài giảng Cơ sở lập trình: Kiểu chuỗi ký tự
21 p | 6 | 2
-
Bài giảng Cơ sở lập trình: Kiểu con trỏ
50 p | 3 | 2
-
Bài giảng Cơ sở lập trình: Kiểu dữ liệu mảng
54 p | 6 | 2
-
Bài giảng Cơ sở lập trình: Các khái niệm cơ bản về lập trình
20 p | 8 | 2
-
Bài giảng Cơ sở lập trình: Các cấu trúc điều khiển trong ngôn ngữ C
38 p | 11 | 2
-
Bài giảng Cơ sở lập trình: Chương trình con
22 p | 4 | 2
-
Bài giảng Cơ sở lập trình: Kiểu tập tin
32 p | 3 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn