LẬP TRÌNH CĂN BẢN - CHƯƠNG TRÌNH CON
lượt xem 6
download
Trong chương trình, khi gặp một lời gọi hàmthì các bước sau được thực hiện: l Nếu hàmcó tham số, trước tiên các tham số sẽ được gán giá trị thực tương ứng. -Chương trình sẽ thực hiện tiếp các câu lệnh trong thân hàm bắt đầu từ lệnh đầu tiên đến câu lệnh cuối cùng. -l Khi gặp lệnh return hoặc dấu } cuối cùng trong thân hàm, chương trình sẽ thoát khỏi hàm để trở về chương trình gọi nó. -l Thực hiện tiếp tục những câu lệnh của chương trình....
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: LẬP TRÌNH CĂN BẢN - CHƯƠNG TRÌNH CON
- Ví dụ (1) In ra 50 ký tự ‘*’ và 50 ký tự ‘+’ LẬP TRÌNH CĂN BẢN l CHƯƠNG TRÌNH CON 1 3 Nội dung chương này Ví dụ (2) Đâu là ưu điểm của việc dùng hàm? Ví dụ l l Khái niệm về hàm trong C l Xây dựng một hàm l Truyền tham số cho hàm l Hàm đệ qui l 2 4
- Khái niệm về hàm trong C (1) Khái niệm về hàm trong C (3) Để tránh rườm rà và mất thời gian khi viết chương trình, Có 2 loại hàm: l l những đoạn chương trình lặp đi lặp lại nhiều lần được viết Hàm chuẩn l trong 1 module. Hàm tự định nghĩa l Chia chương trình thành nhiều module, mỗi module giải quyết l 1 công việc nào đó. Mỗi module như trên được gọi là 1 chương trình con. l Các module dễ dàng đượ c kiểm tra tính đúng đắn trước khi l được ráp nối vào chương trình. 5 7 Hàm chuẩn (hàm thư viện) Khái niệm về hàm trong C (2) Được định nghĩa sẵn bởi ngôn ngữ lập trình và đượ c chứa vào các thư viện. Ví dụ: Tìm số lớn nhất trong 3 số a, b, và c. l l Muốn sử d ụng phải khai báo #include l Một số thư viện thườ ng dùng trong C: l stdio.h : Thư viện ch ứa các hàm vào/ ra chuẩn (stan dard input/output): l printf(), scanf(), getc(), putc(), gets(), puts(), fflush(), fopen(), fclose(), fread(), fwrite(), getchar(), putchar(), getw(), putw(), … conio.h : Thư viện ch ứa các hàm vào ra trong chế độ DOS (DOS console): l clrscr(), getch(), getche(), getpass(), cgets(), cputs(), putch(), clreol(), … math.h: Thư viện ch ứa các hàm tính toán: abs(), sqrt(), log(). log10(), sin(), l cos(), tan(), acos(), asin(), atan(), pow(), exp(), … alloc.h: Thư viện ch ứa các hàm liên quan đến việc qu ản lý bộ nhớ: calloc(), l realloc(), malloc(), free(), farmalloc(), farcalloc(), farfree(), … io.h: Thư viện chứa các hàm vào ra cấp thấp: open(), _open(), read(), _read(), l close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(), … graphics.h: Thư viện ch ứa các hàm liên quan đến đồ họa:initgraph(), line(), l circle(), putpixel(), getpixel(), setcolor(), … 6 8
- Hàm tự định nghĩa (hàm người Nguyên tắc hoạt động của hàm dùng) (1) Trong chương trình, khi gặp một lời gọi hàm thì Do người lập trình tự tạo ra nhằm đáp ứng nhu cầu xử lý của l l các bước sau được thực hiện: mình. Nếu hàm có tham số, tr ước tiên các tham số sẽ được l gán giá trị thực tương ứng. Cấu trúc của một hàm tự thiết kế: l Chương trình sẽ thực hiện tiếp các câu lệnh trong thân l hàm bắt đầu từ lệnh đầu tiên đến câu lệnh cuối cùng. Khi gặp lệnh return hoặc dấu } cuối cùng trong thân l hàm, chương trình sẽ thoát khỏi hàm để trở về chương trình gọi nó. Thực hiện tiếp tục những câu lệnh của chương trình. l 9 11 Hàm tự định nghĩa (hàm người Truyền tham số cho hàm (1) dùng) (2) Ví dụ: Hoán đổi nội dung của 2 biến Cú pháp gọi hàm:([Danh sách các tham số]) l l Ví dụ: Tìm UCLN của 2 số tự nhiên: l 10 12
- Truyền tham số cho hàm (2) Truyền tham số cho hàm (4) Ta vẫn chưa hoán vị được! Tại sao ta đã hoán vị được? l l Tại sao? l 2 tham số a và b của hoanvi là tham số hình thức l 2 tham số a và b của hoanvi là tham số hình thức được truyền l được truyền bằng địa chỉ (tham biến) – con trỏ. bằng giá trị (tham trị). Khi chương trình con (ctc) được gọi để thi hành, tham l 1 tham trị được coi như 1 biến cục bộ của hàm, l biến chứa địa chỉ tham số thực, ô nhớ của tham số chứa dữ liệu đầu vào cho hàm. thực được dùng trực tiếp trong ctc qua bi ến con trỏ. Còn 2 tham số a,b của hoanvi trong lời gọi hàm trong main() là l tham số thực. Do đó, mọi sự thay đổi trên tham bi ến đều ảnh l Khi chương trình con được gọi để thi hành, tham trị được cấp ô l hưởng đến tham số thực tương ứng. nh ớ và nh ận giá trị là bản sao giá trị của tham số thực. Do đó, mọi sự thay đổi trên tham trị không ảnh hưởng gì đến l tham số thực tương ứng. 13 15 Truyền tham số cho hàm (3) Hàm đệ quy Hãy xem chương trình sau Một hàm được gọi là đệ quy nếu bên trong thân l l hàm có lệnh gọi đến chính nó. Ví dụ: l unsigned int giaithua_dequy(int n) 1 nếu n=0 { n!= n*(n-1)! nếu n#0 if (n==0) return 1; else return n*giaithua_dequy(n-1); } 14 16
- Đặc điểm cần lưu ý khi viết hàm đệ quy Hàm đệ quy phải có 2 phần: l Phần dừng: là trường hợp nguyên tố. l Ví dụ: n=0 trong tính n! l Phần đệ quy: là phần có gọi lại hàm đang được định l nghĩa. Ví dụ: nếu n>0 thì n! = n * (n-1)! l 17 Ưu và khuyết điểm của đệ quy Làm chương trình dễ đọc, dễ hiểu và vấn đề được nêu bật rõ l ràng hơn. Đệ quy tốn bộ nhớ nhiều hơn và tốc độ thực hiện chương trình l chậm hơn không đ ệ quy. Tùy từng bài cụ thể mà ta quyết định có nên dùng đệ quy hay l không. Có những trường hợp không dùng đệ quy thì không giải quyết l được bài toán. 18
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình lập trình căn bản
65 p | 368 | 103
-
Bài giảng Giáo trình Lập trình căn bản - ThS. Nguyễn Cao Trí
74 p | 151 | 36
-
Giáo trình Lập trình căn bản - Nghề: Kỹ thuật lắp ráp và sửa chữa máy tính - Trình độ: Cao đẳng nghề (Tổng cục Dạy nghề)
97 p | 74 | 23
-
Bài giảng Lập trình căn bản: Chương 1 - Võ Duy Tín
13 p | 144 | 18
-
Bài giảng Lập trình căn bản: Chương 1 - ThS. Nguyễn Cao Trí
20 p | 148 | 12
-
Giáo trình Lập trình căn bản C++ (Nghề: Ứng dụng phần mềm - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
77 p | 26 | 11
-
Bài giảng Lập trình căn bản: Phần 1 - Võ Duy Tín
26 p | 113 | 10
-
Giáo trình Lập trình căn bản C (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
96 p | 16 | 8
-
Giáo trình Lập trình căn bản C (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trình độ: Trung cấp/Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
91 p | 15 | 8
-
Giáo trình Lập trình căn bản (Nghề: Lập trình máy tính - CĐ/TC) - Trường Cao đẳng Cơ giới Ninh Bình (2016)
116 p | 13 | 7
-
Giáo trình Lập trình căn bản (Nghề: Lập trình máy tính - Trình độ CĐ/TC) - Trường Cao đẳng Nghề An Giang
100 p | 27 | 6
-
Giáo trình Lập trình căn bản: Phần 2
46 p | 43 | 6
-
Bài giảng Lập trình căn bản - Trường CĐ Công nghệ và Nông Lâm Nam Bộ
219 p | 21 | 5
-
Giáo trình Lập trình căn bản: Phần 1
41 p | 31 | 5
-
Giáo trình Lập trình căn bản (Nghề: Lập trình máy tính - Trình độ CĐ/TC): Phần 1 - Trường Cao đẳng Nghề An Giang
57 p | 50 | 4
-
Giáo trình Lập trình căn bản (Ngành: Công nghệ thông tin - Trung cấp) - Trường Cao đẳng Xây dựng số 1 (2021)
109 p | 5 | 4
-
Giáo trình Lập trình căn bản (Ngành: Tin học văn phòng – Trình độ Trung cấp) - Trường Cao đẳng Hòa Bình Xuân Lộc
58 p | 4 | 1
-
Giáo trình Lập trình căn bản (Ngành: Lập trình máy tính - Trình độ: Trung cấp) - Trường Trung cấp Kinh tế - Kỹ thuật Bình Thuận
122 p | 4 | 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