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

Chuong 4 ham pascal ,hàm pascal full

26 126 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 157,29 KB

Nội dung

bài giảng cấu trúc điều khiểncác cấu trúc điều khiển trong ngôn ngữ ccác cấu trúc điều khiển trong ccác cấu trúc điều khiển trong pascalgiao trinh turbo pascal 7 0 fullgiao trinh turbo pascal 7 0 full

NGÔN NGỮ C Chương 4: HÀM TỰ TẠO Giáo viên: Tạ Thúc Nhu Khoa CNTT trường ĐH Lạc Hồng Nội dung I Tổng Quan II Định nghĩa hàm tự tạo III Phân loại tham số hình thức IV Tính Đệ qui hàm Mã hóa I- Tổng Quan: • C cung cấp nhiều hàm, hàm lưu thư viện mà sử dụng ta cần phải khai báo phát biểu #include • Ngồi ra, C cho phép ta tạo thêm hàm khác, phục vụ mục đích riêng Các hàm viết chung bên file chương trình viết tập tin khác nạp vào chương trình phát biểu #include file thư viện C • Nhờ vào khả mà chương trinh lớn viết nhiều người Mỗi người phụ trách xây dựng hàm cho chức phân công Mã hóa II- Định nghĩa sử dụng Hàm tự tạo: Định nghĩa Hàm tự tạo Gọi thực hàm tự tạo: Mã hóa 1- Định nghĩa Hàm tự tạo KiểuHàm TênHàm( [Danh sách tham số hình thức] ) { [Các câu lệnh;] [return [biểu thức];] } • TênHàm: phải khác chương trình • KiểuHàm: kiểu lệnh return Nếu hàm khơng có lệnh return hoăc có lệnh return; khơng có biểu thức dùng kiểu void • Lệnh return [biểu thức]; Dùng để thoát khỏi hàm, trở nơi gọi hàm thay lời gọi hàm giá trị (nếu có) • Tham số (Parameter): liệu cần thiết cho việc xử lý hàm • Tham số hình thức: biến cục đại diện cho tham số, liệu tham số hình thức cung cấp lời gọi hàm Các biến tham số hình thức sử dụng bên thân hàm Mã hóa Ví dụ: Định nghĩa hàm tự tạo Ví dụ : Định nghĩa Hàm tính Giai thừa số tự nhiên N long GiaiThua( int N ) { long GT=1; int i; for (i = 2; i b) ? a:b; } void main() { int a, b, c; printf("\n Nhap vao so a, b,c "); scanf("%d%d%d",&a,&b,&c); printf("\n So lon la %d", max(a, max(b,c))); } Mã hóa 3- Nguyên tắc hoạt động hàm • Hàm định nghĩa khơng tự động thực trừ ta có lời gọi đến hàm Q trình diễn gặp lời gọi hàm sau: • Nếu hàm có tham số, trước tiên tham số gán giá trị thực tương ứng • Sau thực tiếp câu lệnh thân hàm lệnh • Khi gặp lệnh return dấu } cuối thân hàm, chương trình khỏi hàm để trở chương trình gọi hàm thực tiếp tục câu lệnh chương trình Mã hóa 4- Cấu trúc chương trình có hàm tự tạo : • Các #include: dùng nạp header file chứa hàm thư viện sử dụng chương trình: • Các #define: dùng định nghĩa tên đại diện cho giá trị hay biểu thức • Khai báo đối tượng liệu (biến, mảng, cấu trúc ) • Khai báo đặc trưng hàm tự tạo Cú pháp: Kiểuhàm TênHàm( [Danh sách kiểu tham số hình thức] ); • Phần định nghiã hàm tự tạo • Hàm main() Chú ý: Nếu khơng khai báo đăc trưng hàm tự tạo vị trí định nghĩa hàm chương trình sau: Nếu thân hàm B có lời gọi thực hàm A phần định nghĩa hàm A phải phần định nghĩa hàm B Ví dụ : Viết chương trình tính số tổ hợp chập k n : Ckn = n!/(k!.(n - k)!) Mã hóa Ví dụ: Cấu trúc chương trình #include #include /*Khai bao bien ngoai*/ int k, n ; /*Khai bao dac trung cac ham */ long GiaiThua( int ); longToHop( int , int ); long ToHop(int k, int n) { return GiaiThua(n)/ (GiaiThua(k) * GiaiThua(n-k)); } void NhapGiaTri( ) { do{ printf(“Nhap K N (K =0 23 Mã hóa Ví dụ : Bài tốn Tháp Hà Nội (Tower of HaNoi) Có cột A, B, C N điã kích thước phân biệt chồng cột A, điã lớn dưới, điã nhỏ Hãy In bước chuyển điã từ A sang C cho : Mỗi lần chuyển điã Cho phép dùng cột B để chứa tạm đĩa Ở cột luôn điã lớn dưới, điã nhỏ Chúng ta giải toán theo kiểu giải từ xuống (Top Down) sau: Để chuyển n điã từ A -> C: làm cách ta chuyển n-1 điã từ A >B, sau chuyển điã lớn lại từ A -> C Và lại làm cách chuyển n-1 điã từ B > C 24 Mã hóa Thuật tốn: Chuyển n điã từ A sang C, lấy B làm trung gian N: Số đĩa Input: A : Cột đầu C : Cột cuối B : Cột trung gian Bắt đầu: Nếu n > chuyển n-1 điã từ A sang B, lấy C làm trung gian In thông báo chuyển điã từ A sang C chuyển n-1 điã từ B sang C, lấy A làm trung gian Kết thúc 25 Mã hóa #include void main() #include { void ChuyenDia(int N, char A, char C, char B ) int SoDia; { printf(“Nhap so đia: “); if ( N > ) scanf(“%d”, &SoDia); { ChuyenDia(SoDia,’A’,’B,’C’); ChuyenDia( N -1, A, B, C); getch(); printf(“\nChuyen dia %d tu %c sang %c”, N, A, C); } ChuyenDia(N - 1, B, C, A); } } 26 Mã hóa ... biến cho tham số hình thức: • Tham số thực lời gọi hàm tên biến truyền • Tham số hình thức tương ứng bí danh (hay cịn gọi Tham chiếu ) biến truyền • Cú pháp khai báo tham chiếu: Kiểu &Thamchieu... nhận liệu từ tham số thật lời gọi hàm • Có cách truyền liệu cho tham số hình thức hàm: Truyền giá trị cho tham số hình thức Truyền địa biến cho tham số hình thức Truyền tên biến cho tham số hình... giá trị cho tham số hình thức • Tham số thực biểu thức tùy ý • Giá trị biểu thức truyền cho tham số hình thức • Tham số hình thức phải biến kiểu với giá trị biểu thức để nhận giá trị tham số thực

Ngày đăng: 04/11/2018, 10:25

TỪ KHÓA LIÊN QUAN

w