Danh mục tài liệu

Bài giảng Cơ sở lập trình 1: Chương 4 - Lê Quý Tài

Số trang: 42      Loại file: pptx      Dung lượng: 278.68 KB      Lượt xem: 22      Lượt tải: 0    
Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Chương trình con là 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. Trong chương 4 này sẽ cung cấp cho người học những kiến thức về chương trình con, mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở lập trình 1: Chương 4 - Lê Quý Tài Chương 4 CHƯƠNG TRÌNH CON Khoa Hệ thống thông tin quản lý Hà Nội – 2015 Đặ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! 12/24/15 Chương 4 - Chương trình con 2/42 Đặ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. 12/24/15 Chương 4 - Chương trình con 6/42 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 12/24/15 Chương 4 - Chương trình con 7/42 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. 12/24/15 Chương 4 - Chương trình con 8/42 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 12/24/15 Chương 4 - Chương trình con 9/42 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); } 12/24/15 Chương 4 - Chương trình con 10/42 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; } 12/24/15 Chương 4 - Chương trình con 11/42 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); } 12/24/15 Chương 4 - Chương trình con 12/42 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); 12/24/15 Chương 4 - Chương trình con 13/42 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; } 12/24/15 Chương 4 - Chương trình con 14/42 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 đặ ...