Bài giảng Cơ sở lập trình - Chương 4: Chương trình con
lượt xem 21
download
Bài giảng Cơ sở lập trình Chương 4 Chương trình con trình bày về khái niệm, giải pháp của chương trình con. Một đoạn chương trình có tên, đầu vào và đầu ra, có chức năng giải quyết một số vấn đề chuyên biệt cho chương trình chính.
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 4: Chương trình con
- Chương 4 CHƯƠNG TRÌNH CON Khoa Hệ thống thông tin quản lý Hà Nội – 2013
- Đặt vấn đề o Viết chương trình tính S = a! + b! + c! với a, b, c là 3 số nguyên dương nhập từ bàn phím. Chương trình chính Nhập Tính Xuất a, b, c > 0 S = a! + b! + c! kết quả S Nhập Nhập Nhập Tính Tính Tính a>0 b>0 c>0 s1=a! s2=b! s3=c! 4/23/14 Chương 4 - Chương trình con 2/43
- Đặt vấn đề o 3 đoạn lệnh nhập a, b, c > 0 do { printf(“Nhap mot so nguyen duong: ”); scanf(“%d”, &a); } while (a
- Đặt vấn đề o 3 đoạn lệnh tính s1 = a!, s2 = b!, s3 = c! { Tính s1 = a! = 1 * 2 * … * a } s1 = 1; for (i = 2; i
- Đặt vấn đề o Giải pháp => Viết 1 lần và sử dụng nhiều lần n Đoạn lệnh nhập tổng quát, với n = a, b, c do { printf(“Nhap mot so nguyen duong: ”); scanf(“%d”, &n); } while (n
- 4.1 Khái niệm o Chương trình con là: n Một đoạn chương trình có tên, đầu vào và đầu ra. n Có chức năng giải quyết một số vấn đề chuyên biệt cho chương trình chính. n Được gọi nhiều lần với các tham số khác nhau. n Được sử dụng khi có nhu cầu: o Tái sử dụng: có một số chương trình được thực hiện ở nhiều nơi, bản chất không đổi nhưng giá trị các tham số cung cấp khác nhau. o Chia để trị: chia chương trình lớn thành các chương trình nhỏ rồi ghép lại. Giúp chương trình trong sáng, dễ hiểu, dễ phát hiện lỗi và cải tiến. 4/23/14 Chương 4 - Chương trình con 6/43
- 4.1 Khái niệm (tt) o Trong các ngôn ngữ khác, có 2 loại chương trình con: n Hàm (function): trả về giá trị thông qua tên hàm, sử dụng trong các biểu thức và không được gọi như một lệnh. n Thủ tục: không có giá trị trả về, có thể tồn tại độc lập và được gọi như là một câu lệnh. o Trong C: chỉ tồn tại chương trình con dưới dạng hàm, không có thủ tục. n Giá trị hàm có thể không cần dùng đến n Có thể không có giá trị nào gán vào tên hàm (void) n Cung cấp các giá trị không phải là vô hướng 4/23/14 Chương 4 - Chương trình con 7/43
- 4.2 Cách xây dựng hàm o Cú pháp ([danh sách tham số]) { [return ;] } n Trong đó o : kiểu bất kỳ của C (char, int, long, float,…). Nếu không cần trả về thì kiểu trả về là void. o : là tên gọi của hàm, đặt theo quy tắc đặt tên o : tham số hình thức đầu vào giống khai báo biến, cách nhau bằng dấu , hàm có thể không có đối số nào o : trả về cho hàm qua lệnh return. 4/23/14 Chương 4 - Chương trình con 8/43
- Các bước viết hàm o Cần xác định các thông tin sau đây: n Tên hàm. n Hàm sẽ thực hiện công việc gì. n Các đầu vào (nếu có). n Đầu ra (nếu có). Đầ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 4/23/14 Chương 4 - Chương trình con 9/43
- Ví dụ về hàm o Ví dụ 1 n Tên hàm: XuatTong n Công việc: tính và xuất tổng 2 số nguyên n Đầu vào: hai số nguyên x và y n Đầu ra: không có void XuatTong(int x, int y) { int s; s = x + y; printf(“%d cong %d bang %d”, x, y, s); } 4/23/14 Chương 4 - Chương trình con 10/43
- Ví dụ về hàm (tt) o Ví dụ 2 n Tên hàm: TinhTong n Công việc: tính và trả về tổng 2 số nguyên n Đầu vào: hai số nguyên x và y n Đầ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; } 4/23/14 Chương 4 - Chương trình con 11/43
- Ví dụ về hàm (tt) o Ví dụ 3 n Tên hàm: NhapXuatTong n Công việc: nhập và xuất tổng 2 số nguyên n Đầu vào: không có n Đầu ra: không có void NhapXuatTong() { int x, y; printf(“Nhap 2 so nguyen: ”); scanf(“%d%d”, &x, &y); printf(“%d cong %d bang %d”, x, y, x + y); } 4/23/14 Chương 4 - Chương trình con 12/43
- Một số quy tắc o Tham số thực sự và tham số hình thức n Tham số hình thức: tham số dùng khi khai báo n Tham số thực sự: tham số được cung cấp cho hàm khi được sử dụng n Tham số thực sự có thể là một biểu thức còn tham số hình thức thì không thể là một biểu th ức o Lệnh return n Tương đương lệnh = n return có thể trả lại giá trị cả một biểu th ức Ví dụ: return x*x + b*x + c n return có thể xuất hiện nhiều lần trong hàm Ví dụ: if (s>0) return (s); else return (-s); 4/23/14 Chương 4 - Chương trình con 13/43
- Một số quy tắc (tt) o Hàm không trả lại giá trị n Dùng từ khoá void để khai báo (Ví dụ 1) o Hàm không có tham số n Khai báo: Tên_hàm(void) n Ví dụ: Nhập số nguyên, trả về giá trị số nhập vào int Nhap() { int n; printf(“Nhap mot so nguyen: ”); scanf(“%d”, &n); return n; } 4/23/14 Chương 4 - Chương trình con 14/43
- Một số quy tắc (tt) o Hàm phải được khai báo và định nghĩa trước khi sử dụng và thường đặt ở trên hàm chính (hàm main). o Ví dụ: int Tong(int a, int b) { return a + b; } void main() { int a = 2912, b = 1706; int sum = Tong(a, b); /* Loi goi ham */ 4/23/14 Chương 4 - Chương trình con 15/43
- Một số quy tắc (tt) o Thông thường, trước hàm main ta chỉ xác định tên hàm, các tham số và giá trị trả về, phần định nghĩa sẽ được đưa xuống dưới cùng. Phần này được gọi là nguyên mẫu hàm (function prototype). int Tong(int a, int b); // prototype ham Tong void main() { int a = 2912, b = 1706; int sum = Tong(a, b); /* Loi goi ham */ } int Tong(int a, int b) /* Mo ta ham tong */ { return a + b; } 4/23/14 Chương 4 - Chương trình con 16/43
- Một số ví dụ o Ví dụ 1: Chuyển chữ thường thành chữ hoa #include #include char chuyen_thanh_chu_hoa(char ch) { if (ch>=’a’ && ch
- Một số ví dụ (tt) o Ví dụ 2: Tính giai thừa #include long int giai_thua(int n) { int i; long int gt=1; if (n>1) for (i=2;i
- 4.3 Tầm tác dụng của biến o Các loại biến n Toàn cục: khai báo trong ngoài tất cả các hàm và có tác dụng lên toàn bộ chương trình. n Cục bộ: khai báo trong hàm hoặc khối { } và chỉ có tác dụng trong bản thân hàm hoặc kh ối đó (kể cả khối con nó). Biến cục bộ sẽ bị xóa khỏi bộ nhớ khi kết thúc khối khai báo nó. #include int i; /*Bien toan cuc */ main() { … } void thi_du() { int m=3; /*Bien cuc bo */ } 4/23/14 Chương 4 - Chương trình con 19/43
- Tầm tác dụng của biến int a; int main() { int a0; … } int x,i; int ham1() { int a1; … } int ham2() { int a2; … } 4/23/14 Chương 4 - Chương trình con 20/43
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở lập trình - Chương 3: Các cấu trúc điều khiển
56 p | 137 | 22
-
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 | 132 | 8
-
Bài giảng Cơ sở lập trình: Chương 1 - Lê Viết Mẫn
55 p | 73 | 5
-
Bài giảng Cơ sở lập trình Csharp: Bài 4 - Cấu trúc lặp
17 p | 79 | 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 | 14 | 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 | 7 | 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 | 14 | 3
-
Bài giảng Cơ sở lập trình - Trường ĐH Thương mại
108 p | 41 | 3
-
Bài giảng Cơ sở lập trình: Chương 1 - Khái niệm lập trình
428 p | 17 | 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 | 7 | 2
-
Bài giảng Cơ sở lập trình: Kiểu chuỗi ký tự
21 p | 4 | 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 | 5 | 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 | 7 | 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 | 9 | 2
-
Bài giảng Cơ sở lập trình: Chương trình con
22 p | 3 | 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