Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
591,49 KB
Nội dung
Click to edit Master subtitle style HÀM (Method) Khoa Công nghệ thông tin, HUFLIT NỘI DUNG Tình Khái niệm hàm Tạo hàm Gọi hàm Tham số tham chiếu Bài tập tổng hợp TÌNH HUỐNG TÌNH HUỐNG Số lượng dịng code là cực kì lớn khó quản lý và kiểm tra TÌNH HUỐNG Phân tách 1 chương trình lớn thành các hàm nhỏ hơn KHÁI NIỆM VỀ HÀM KHÁI NIỆM VỀ HÀM Hàm là gì? Là một đoạn chương trình được tách biệt nhằm thực hiện hồn chỉnh một cơng việc Dùng hàm khi: Suy nghĩ giải quyết bài tốn lớn Chia nhỏ chương trình: dễ quản lý + kiểm tra Tái sử dụng: Có một cơng việc giống nhau cần thực hiện ở nhiều vị trí tái sử dụng KHÁI NIỆM VỀ HÀM KHÁI NIỆM VỀ HÀM Ví dụ: Ngay từ thời điểm vừa tạo 1 project Console trong C#, chương trình đã có sẵn hàm Main public class Program { static void Main(string[] args) { } } HÀM Main Đặc điểm: khi chương trình C# được thực hiện thì máy sẽ chạy từ câu lệnh đầu tiên của hàm Main. Sau đó khi chạy xong câu lệnh cuối cùng của hàm Main thì chương trình cũng kết thúc public class Program { static void Main(string[] args) { //Câu lệnh đầu tiên // //Câu lệnh cuối cùng } } 10 LỜI GỌI HÀM Trong phần trước ta đã tìm hiểu các thức định nghĩa một hàm Vấn đề tồn tại là làm sao để sử dụng (gọi) hàm đó ? Thơng qua lời gọi hàm và truyền tham số 27 LỜI GỌI HÀM Lời gọi hàm sử dụng kết quả trả về: public class Program { static int TinhTong(int a, int b) { return a + b; } static void Main(string[] args) { int a = 1, b = 2; int c = TinhTong(a, b); Console.WriteLine("Gia tri bien c: {0}", c); } } 28 LỜI GỌI HÀM Lời gọi hàm không cần kết quả trả về: public class Program { static void XuatHello() { Console.WriteLine("Hello World! "); } static void Main(string[] args) { XuatHello(); } } 29 BÀI TẬP Bài tập 1: Viết hàm tính tổng, hiệu, tích, thương 2 số nguyên nhập vào từ bàn phím. Sau xuất kết hình Bài tập 2: Viết hàm in ra chuỗi vừa nhập vào từ bàn phím Bài tập 3: Viết hàm tìm số lớn 3 số nguyên a, b, c nhập vào từ bàn phím. Bài tập 4: Viết chương trình nhập vào số nguyên dương n, viết hàm tính tổng số từ 1 đến n và xuất kết 30 BÀI TẬP Bài tập 5: Viết hàm cho phép người dùng nhập vào tháng và năm, sau đó xuất ra số ngày ứng với tháng và năm vừa nhập. Lưu ý tháng 2 năm nhuận có 29 ngày, ngược lại có 28 ngày Biết: Năm nhuận là năm chia hết cho 400 Năm nhuận là năm chia hết cho 4 nhưng khơng chia hết cho 100 31 BÀI TẬP Bài tập 6: Viết hàm yêu cầu người dùng nhập vào số nguyên dương n. Xuất tổng chữ số n Bài tập 7: Viết hàm yêu cầu người dùng nhập vào số nguyên dương n. Xuất số lớn chữ số n Bài tập 8: Viết hàm yêu cầu người dùng nhập vào số nguyên dương n. Xuất số lượng ước số n 32 TRUYỀN THEO THAM CHIẾU 33 TRUYỀN THEO THAM CHIẾU Hàm có thể nhận nhiều tham số nhưng chỉ trả về một kết quả đầu ra hoặc khơng trả về kết nào (trường hợp void) Cần cơ chế hỗ trợ trả về nhiều kết quả đầu ra Sử dụng thêm từ khóa ref và out khi định nghĩa và gọi hàm 34 THAM SỐ LÀ THAM TRỊ Tình huống 1: Hãy viết hàm tăng giá trị của biến số nguyên nhập vào 1 đơn vị public class Program { static void TangMotDonVi(int x) { x = x + 1; } static void Main(string[] args) { int a = 0; TangMotDonVi(a); Console.WriteLine(a); } } Kết quả: a = 0 35 TRUYỀN THEO THAM CHIẾU Tình huống 2: Hãy viết 1 hàm tăng giá trị của biến số nguyên nhập vào 1 đơn vị với ref public class Program { static void TangMotDonVi(ref int x) { x = x + 1; } static void Main(string[] args) { int a = 0; TangMotDonVi(ref a); Console.WriteLine(a); } } Kết quả: a = 1 36 TRUYỀN THEO THAM CHIẾU Tình huống 3: Sử dụng từ khóa out public class Program { static void TangMotDonVi(out int x) { x = 0; x = x + 1; } static void Main(string[] args) { int a; TangMotDonVi(out a); Console.WriteLine(a); } } 37 TRUYỀN THEO THAM CHIẾU Nhận xét: Khi truyền theo kiểu tham trị thì một bản của đối số lúc gọi hàm sẽ được gán vào tham số của hàm. Do đó đối số được truyền hồn tồn khơng thay đổi giá trị sau lời gọi hàm Khi truyền theo kiểu tham chiếu (dùng ref hoặc out) thì đối số được truyền và tham số của hàm là một. Do đó giá trị của đối số sẽ thay đổi nếu giá trị tham số bị đổi trong hàm 38 TRUYỀN THEO THAM CHIẾU Nhận xét: Khi truyền theo tham chiếu sử dụng ref thì ta phải gán giá trị ban đầu cho đối tượng trước khi truyền vào hàm. Ngược lại dùng out thì khơng cần thiết 39 BÀI TẬP Bài tập 1: Hãy thử viết 1 chương trình có định nghĩa hàm hốn vị giá trị 2 số a và b (a và b do người dùng nhập vào) Bài tập 2: Viết chương trình nhập vào 2 số ngun a và b, sau đó định nghĩa hàm tăng giá trị của 2 số lên 10 đơn vị Bài tập 3: Viết chương trình nhập vào 3 số ngun a, b, c. Sau đó định nghĩa hàm kiểm tra 3 số trên có tạo thành cấp số cộng hay khơng. Nếu có thì tăng gấp đơi giá trị của 3 số trong hàm 40 TÓM TẮT Khái niệm hàm Cách định nghĩa hàm Truyền theo tham chiếu Bài tập 41