1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Tin học đại cương: Chương 5 - ThS. Nguyễn Lê Minh (Nhóm ngành Cơ khí)

26 27 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 26
Dung lượng 1,13 MB

Nội dung

Bài giảng Tin học đại cương - Chương 5: Hàm và tổ chức chương trình cung cấp cho người học các kiến thức: Tổ chức chương trình thành các hàm, tham số kiểu con trỏ, đệ quy, bài tập thực hành. Mời các bạn cùng tham khảo nội dung chi tiết.

6/2020 TIN HỌC ĐẠI CƯƠNG Chương 5: Hàm tổ chức chương trình GV: Nguyễn Lê Minh Bộ mơn: Cơng nghệ thơng tin Nội dung Tổ chức chương trình thành hàm Tham số kiểu trỏ Đệ quy Bài tập thực hành 5.1 Tổ chức chương trình thành hàm Khái niệm hàm  Một hàm C hiểu theo nghĩa “Routine” “subprogram"  Hàm đơn vị độc lập C – – Không xây dựng hàm bên hàm khác Mỗi hàm có biến, hằng, mảng riêng  Một chương trình viết C gồm nhiều hàm, có hàm hàm “main()”  Hàm có giá trị trả (kết hàm) khơng có giá trị trả (chỉ đơn thực cơng việc đó)  Hàm có khơng có tham số Khai báo hàm Nguyên mẫu hàm (prototype hàm)  Prototype hàm rõ đặc điểm + Tên hàm + Số lượng kiểu tham số hàm nhận + Giá trị trả sau hàm kết húc + Phải khai báo prototype hàm trước sử dụng hàm -> thường khai báo nguyên mẫu đầu chương trình  Prototype hàm khơng cho thấy hàm làm  Cơng thức khai báo: Kiểu_hàm Tên_hàm (Kiểu_tham_số_1, Kiểu_tham_số_2, ); Cài đặt hàm  Xác định xác lệnh mà hàm phải thực  Thường cài đặt cuối chương trình đặt file thư viện riêng  Cách cài đặt: Kiểu_hàm Tên_hàm (Kiểu_1 Tên_tham_số_1, Kiểu_2 Tên_tham_số_2, ) { - Khai báo biến, cục hàm - Các lệnh hàm thực return ; } Ví dụ //In cac so nguyên to sử dụng trỏ kiểu int – Biến kiểu float -> sử dụng trỏ kiểu float – Biến kiểu char -> sử dụng trỏ kiểu char ■ Cú pháp khai báo trỏ kiểu_dữ_liệu *tên_con_trỏ; ■ Ví dụ int i, j, *pi, *pj; pi = &i; /* pi trỏ chứa địa biến i */ pj = &j; /* pj trỏ chứa địa biến j */ 16 Con trỏ (tt) ■ Giả sử có – px trỏ đến biến x, cánh viết x *px tương đương ■ Ví dụ int x, y, *px, *py; px = &x; py = &y; x = 3; /*tương đương với *px = */ y = 5; /*tương đương với *py = */ /* Các câu lệnh tương đương: */ x = 10 * y; *px = 10 * y; x= 10 * (*py); *px = 10 * (*py); 17 Ví dụ 18 Hàm có tham số trỏ (tt) 19 Hàm có tham số trỏ (tt) Khi dùng tham số trỏ ? ■ Cần phân biệt hai loại tham số hình thức ■Tham số hình thức nhận giá trị truyền vào để hàm thao tác, trường hợp gọi tham số vào ■Tham số hình thức dùng để chứa kết hàm, trường hợp gọi tham số ■ Đối với tham số ta phải sử dụng kiểu trỏ ■ Thường dùng trường hợp: – Sử dụng hàm để thay đổi giá trị biến – Truyền mảng vào cho hàm – Hàm trả nhiều kết 20 5.3 Hàm đệ quy ■ Ngôn ngữ C cho phép hàm gọi tới từ điểm thân hàm ■ Những hàm có lời gọi hàm tới gọi hàm đệ quy int giaithua(int n) { if(n== || n== 1) return 1; else return n * giaithua(n-1); } void main() { int n; printf ("Nhap N = ”); scanf(“%d", &n) ; printf("%d! = %ld", n, giaithua(n) ); getch{); } 21 5.3 Hàm đệ quy (tt) Điều xảy có lời gọi hàm sau k = giaithua (-1); Khắc phục ?  Hạn chế hàm đệ qui  Dùng nhiều nhớ  Hãy viết lại hàm giai_thua sử dụng vòng lặp  So sánh hai cách viết đệ qui lặp 22 5.3 Hàm đệ quy (tt) ■ Hàm đệ qui thường phù hợp để giải tốn có đặc trưng   Bài tốn dễ dàng giải số trường hợp riêng, điều kiệ dừng đệ qui Trong trường hợp tổng quát, toán suy dạng giá trị tham số thay đổi ■ Ví dụ: tìm USCLN hai số nguyên dương - x = y usc(x, y) = x x > y usc(x, y) = usc(x-y, y) x < y usc(x, y) = usc(x, y-x) 23 Cách xây dựng hàm đệ quy ■ Thường xây dựng theo thuật tốn sau: Ví dụ: 24 5.4 Bài tập hàm đệ quy ■ Hãy viết chương trình sử dụng hàm đệ qui để tạo dãy số Fibonacci:  Dãy số Fibonacci dãy số F1, F2, F3, Fn tạo với công thức:  Fn = Fn-1 + Fn-2 Với F1 =1, F2=1 ■ Ví dụ: 1, 1,2, 3, 5, 8, 13, 21, 25 Bài tập Viết hàm đệ quy tính tổng từ đến N (N>=0) Viết hàm đệ quy tính N! Viết hàm đệ quy tìm UCLN,BCNN số nguyên a,b 26 ... chương trình sử dụng hàm đệ qui để tạo dãy số Fibonacci:  Dãy số Fibonacci dãy số F1, F2, F3, Fn tạo với công thức:  Fn = Fn-1 + Fn-2 Với F1 =1, F2=1 ■ Ví dụ: 1, 1,2, 3, 5, 8, 13, 21, 25 Bài. .. số nguyên dương - x = y usc(x, y) = x x > y usc(x, y) = usc(x-y, y) x < y usc(x, y) = usc(x, y-x) 23 Cách xây dựng hàm đệ quy ■ Thường xây dựng theo thuật tốn sau: Ví dụ: 24 5. 4 Bài tập hàm đệ...Nội dung Tổ chức chương trình thành hàm Tham số kiểu trỏ Đệ quy Bài tập thực hành 5. 1 Tổ chức chương trình thành hàm Khái niệm hàm  Một hàm C hiểu theo nghĩa “Routine” “subprogram"  Hàm

Ngày đăng: 25/10/2020, 18:26

TỪ KHÓA LIÊN QUAN