Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
768,77 KB
Nội dung
Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thơng tin NHẬP MƠN LẬP TRÌNH HÀM VC & BB Nội dung Khái niệm cú pháp Tầm vực Tham số lời gọi hàm NMLT - Hàm (Function) VC & BB Hàm Khái niệm Một đoạn chương trình có tên, đầu vào đầu Có chức giải số vấn đề chun biệt cho chương trình Được gọi nhiều lần với tham số (đầu vào) khác Được sử dụng có nhu cầu: • Tái sử dụng • Sửa lỗi cải tiến NMLT - Hàm (Function) VC & BB Hàm Cú pháp ([danh sách tham số]) { [return ;] } Trong • : kiểu C (char, int, long, float,…) Nếu khơng trả void • : theo quy tắc đặt tên định danh • : tham số hình thức đầu vào giống khai báo biến, cách dấu , • : trả cho hàm qua lệnh return NMLT - Hàm (Function) VC & BB Các bước viết hàm Cần xác định thông tin sau đây: Hàm thực cơng việc Tên hàm + Cách giải Các đầu vào (nếu có) Đầu (nếu có) Đầu vào Đầu vào Đầu vào n Tên hàm Đầu (nếu có) Các cơng việc thực NMLT - Hàm (Function) VC & BB Hàm Ví dụ Cơng việc: tính xuất tổng số ngun Tên hàm: XuatTong Đầu vào: hai số nguyên x y Đầ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); } NMLT - Hàm (Function) 10 VC & BB Hàm Ví dụ Cơng việc: tính trả tổng số nguyên Tên hàm: TinhTong Đầu vào: hai số nguyên x y Đầu ra: số nguyên có giá trị x + y int TinhTong(int x, int y) { int s; s = x + y; return s; } NMLT - Hàm (Function) 11 VC & BB Hàm Ví dụ Cơng việc: nhập số nguyên xuất tổng số nguyên Tên hàm: NhapXuatTong Đầu vào: khơng có Đầu ra: khơng có void NhapXuatTong() { int x, y; printf(“Nhap so nguyen: ”); scanf(“%d%d”, &x, &y); printf(“%d cong %d bang %d”, x, y, x + y); } NMLT - Hàm (Function) 12 VC & BB Tầm vực Khái niệm Là phạm vi hiệu biến hàm Biến: • Tồn cục: khai báo ngồi tất hàm (kể hàm main) có tác dụng lên tồn chương trình • Cục bộ: khai báo hàm khối { } có tác dụng thân hàm khối (kể khối nó) Biến cục bị xóa khỏi nhớ kết thúc khối khai báo NMLT - Hàm (Function) 13 VC & BB Tầm vực int a; int Ham1() { int a1; } int Ham2() { int a2; { int a21; } } void main() { int a3; } NMLT - Hàm (Function) 14 VC & BB Một số lưu ý Thông thường người ta thường đặt phần tiêu đề hàm/nguyên mẫu hàm (prototype) hàm main phần định nghĩa hàm hàm main void XuatTong(int x, int y); // prototype void main() { … } void XuatTong(int x, int y) { printf(“%d cong %d bang %d”, x, y, x + y); } NMLT - Hàm (Function) 15 VC & BB Các cách truyền tham số Truyền Giá trị (Call by Value) Truyền tham số cho hàm dạng giá trị Có thể truyền hằng, biến, biểu thức hàm nhận giá trị Được sử dụng khơng có nhu cầu thay đổi giá trị tham số sau thực hàm void TruyenGiaTri(int x) { … x++; } NMLT - Hàm (Function) 16 VC & BB Các cách truyền đối số Truyền Tham biến (C++) Truyền đối số cho hàm, bắt đầu & khai báo Chỉ truyền biến cho tham số Được sử dụng có nhu cầu thay đổi giá trị tham số sau thực hàm void TruyenThamChieu(int &x) { … x++; } void main() { int a = 0; TruyenThamChieu(a); } NMLT - Hàm (Function) 18 VC & BB Lưu ý truyền đối số Lưu ý Trong hàm, tham số truyền theo nhiều cách void HonHop(int x, int &y) { … x++; y++; } NMLT - Hàm (Function) 19 VC & BB Lưu ý truyền đối số Lưu ý Sử dụng tham biến cách để trả giá trị cho chương trình int TinhTong(int x, int y) { return x + y; } void TinhTong(int x, int y, int &tong) { tong = x + y; } void TinhTongHieu(int x, int y, int &tong, int &hieu) { tong = x + y; hieu = x – y; 20 NMLT - Hàm (Function) } VC & BB Lời gọi hàm Cách thực Gọi tên hàm đồng thời truyền đối số (hằng, biến, biểu thức) cho tham số theo thứ tự khai báo hàm Các biến trị cách dấu , Các đối số được đặt cặp dấu ngoặc đơn ( ) (,… , ); NMLT - Hàm (Function) 21 VC & BB Lời gọi hàm Ví dụ { Các hàm khai báo } void main() { int n = 9; XuatTong(1, 2); XuatTong(1, n); TinhTong(1, 2); int tong = TinhTong(1, 2); TruyenGiaTri(1); TruyenGiaTri(n); TruyenThamChieu(1); TruyenThamChieu(n); } NMLT - Hàm (Function) 22 VC & BB Lời gọi chương trình Ví dụ void HoanVi(int &a, int &b); void main() { HoanVi(2912, 1706); int x = 2912, y = 1706; HoanVi(x, y); } void HoanVi(int &a, int &b) { int tam = a; a = b; b = tam; } NMLT - Hàm (Function) 23 VC & BB Bài tập thực hành Bài 4, 5, 6, 7, trang 140-141 chương (Câu lệnh điều kiện rẽ nhánh) a Viết hàm đổi ký tự hoa sang ký tự thường b Viết thủ tục giải phương trình bậc c Viết thủ tục giải phương trình bậc hai d Viết hàm trả giá trị nhỏ số nguyên e Viết thủ tục hoán vị hai số nguyên f Viết thủ tục xếp số nguyên tăng dần NMLT - Hàm (Function) 26 VC & BB Bài tập thực hành Bài tập trang 155 chương (Câu lệnh lặp) Hàm nhận vào số nguyên dương n thực hiện: a Trả số đảo số b Có phải số đối xứng (Trả True/False) c Có phải số phương d Có phải số ngun tố e Tổng chữ số lẻ f Tổng chữ số nguyên tố g Tổng chữ số phương NMLT - Hàm (Function) 27 VC & BB Bài tập thực hành Bài tập trang 156 chương (Câu lệnh lặp) Hàm nhận vào số nguyên dương n thực hiện: a S = + + … + n b S = 12 + 22 + … + n2 c S = + 1/2 + … + 1/n d S = * * … * n e S = 1! + 2! + … + n! Hàm trả USCLN số nguyên In n phần tử dãy Fibonacy NMLT - Hàm (Function) 28 ... vực Tham số lời gọi hàm NMLT - Hàm (Function) VC & BB Hàm Khái niệm Một đoạn chương trình có tên, đầu vào đầu Có chức giải số vấn đề chun biệt cho chương trình Được gọi nhiều lần với tham... số Truyền Tham biến (C++) Truyền đối số cho hàm, bắt đầu & khai báo Chỉ truyền biến cho tham số Được sử dụng có nhu cầu thay đổi giá trị tham số sau thực hàm void TruyenThamChieu(int... truyền tham số Truyền Giá trị (Call by Value) Truyền tham số cho hàm dạng giá trị Có thể truyền hằng, biến, biểu thức hàm nhận giá trị Được sử dụng khơng có nhu cầu thay đổi giá trị tham số
Ngày đăng: 22/09/2020, 09:06
HÌNH ẢNH LIÊN QUAN
lt
;danh sách tham số> : tham số hình thức đầu vào (Trang 4)