1. Trang chủ
  2. » Tất cả

Tiểu luận môn học cơ sở lập trình

17 2 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

Tiêu đề Tiểu luận môn học cơ sở lập trình
Tác giả Lê Cẩm Châu
Người hướng dẫn P.Ts. Đỗ Thị Bích Lệ
Trường học Trường Công Nghệ Và Thiết Kế - Khoa Công Nghệ Thông Tin Kinh Doanh
Chuyên ngành Cơ sở lập trình
Thể loại Tiểu luận
Năm xuất bản 2022
Thành phố TP Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 351,64 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Untitled ĐẠI HỌC UEH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH TIỂU LUẬN KHÔNG THUYẾT TRÌNH CUỐI KỲ Môn học Cơ sở lập trình Đọc chương 4 Phương thức (Methods) và trình bày lại t[.]

Trang 1

ĐẠI HỌC UEH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH

TIỂU LUẬN KHÔNG THUYẾT TRÌNH

CUỐI KỲ

Môn học: Cơ sở lập trình

Đọc chương 4: Phương thức (Methods) và trình bày lại theo ý hiểu cũng như tự viết chương trình sử dụng phương thức

Giảng viên: Đỗ Thị Bích Lệ

Mã lớp học phần: 22D1INF50900504 Sinh viên: Lê Cẩm Châu

Khóa – Lớp: K46 - EC002 MSSV: 31201025195

TP Hồ Chí Minh, ngày 31 tháng 03 năm 2022

Trang 2

MỤC LỤC

PHẦN THỨ NHẤT: LÝ THUYẾT .3

I TỔNG QUAN VỀ PHƯƠNG THỨC - METHOD: 3

1 Định nghĩa: 3

2 Khai báo phương thức: 3

3 Gọi phương thức: 3

4 Tham số trong phương thức: 3

II PHƯƠNG THỨC TRẢ VỀ MỘT GIÁ TRỊ: 4

III PHƯƠNG THỨC KIỂU VOID: 4

IV TRUYỀN ĐỐI SỐ KIỂU THAM CHIẾU CÓ TỪ KHÓA REF HOẶC OUT: 5

1 Từ khóa REF: 5

2 Từ khóa OUT: 5

PHẦN THỨ HAI: ỨNG DỤNG 5 I MÔ TẢ BÀI TOÁN: 5

II FLOWCHART: 6

III CODE: 6 PHẦN THỨ BA: TÀI LIỆU THAM KHẢO 17

Trang 3

PHẦN THỨ NHẤT: LÝ THUYẾT

I TỔNG QUAN VỀ PHƯƠNG THỨC - METHOD:

1 Định nghĩa:

Phương thức cũng giống như hàm trong ngôn ngữ C/C++ hoặc ngôn ngữ Java Phương thức có hai loại chính: Phương thức trả về giá trị và phương thức kiểu Void Tất cả các hàm đều có từ khoá static trước kiểu vì tất cả các hàm sử dụng

ở đây đều thuộc các chương trình "không hướng đối tượng"

Các hành vi của một lớp được gọi là các phương thức thành viên (gọi tắt là phương thức) của lớp đó Một phương thức là một hàm (phương thức thành viên còn gọi là hàm thành viên) Các phương thức định nghĩa những gì mà một lớp có thể làm

2 Khai báo phương thức:

Khi định nghĩa một phương thức, về cơ bản ta cần khai báo các yếu tố cấu trúc của nó Cú pháp để định nghĩa một phương thức trong C # như sau:

<Access Specifier> <Return Type> <Method Name>(Parameter List)

{

Method Body

}

Sau đây là các yếu tố khác nhau của một phương thức:

 Access Specifier: Điều này xác định tầm nhìn của một biến hoặc một phương pháp từ một lớp khác

 Kiểu trả về: Một phương thức có thể trả về một giá trị Kiểu trả về là kiểu

dữ liệu của giá trị phương thức trả về Nếu phương thức này không trả lại bất kỳ giá trị nào thì kiểu trả về là void

 Tên phương thức: tên phương thức là một định danh duy nhất Nó không thể được giống như bất kỳ định danh khác khai báo trong lớp

 Danh sách tham số: Kèm theo giữa dấu ngoặc đơn, các tham số được sử dụng để truyền và nhận dữ liệu từ một phương thức Danh sách tham số dùng để chỉ loại, trật tự, và số lượng các them số của một phương

pháp Tham số là tùy chọn; đó là một phương thức có thể không có tham số

 Thân Phương thức: chứa tập các lệnh cần thiết để hoàn thành các hoạt động cần thiết

3 Gọi phương thức:

Để gọi, thi hành phương thức ta chỉ việc viết tên đầy đủ của phương thức và truyền vào tham số như ở khai báo

Ta xem làm sao chỉ đích danh hàm khi gọi: bạn chỉ ra tên đầy đủ như

sau namespace.class.method

4 Tham số trong phương thức:

Trang 4

Khi gọi phương thức có tham số, ta cần truyền tham số cho phương thức có 3 cách:

Tham số kiểu giá trị:

Phương pháp này sẽ copy các giá trị thực tế của một đối số vào các tham số hình thức của hàm Trong trường hợp này, những thay đổi của các tham số bên trong các hàm không có tác dụng làm thay đổi đối số

Đây là cơ chế mặc định để truyền tham số cho một phương thức Trong cơ chế này, khi một phương thức được gọi thì một vị trí lưu trữ mới được tạo ra cho mỗi tham số giá trị

Các giá trị của các tham số thực tế sẽ được sao chép vào chúng Do đó, những thay đổi làm cho các tham số bên trong phương thức này không có hiệu lực trên các đối số Ví dụ dưới đây trình bày các khái niệm:

Tham số kiểu tham chiếu:

Phương pháp này sẽ copy bản tham chiếu vị trí bộ nhớ của một đối số vào các tham số chính thức Điều này có nghĩa rằng những thay đổi trên các tham số sẽ ảnh hưởng đến các đối số

Một tham số tham chiếu là một tham chiếu đến một vị trí bộ nhớ của một biến Khi truyền tham số tham chiếu, không giống như các tham số giá trị, một

vị trí lưu trữ mới không được tạo ra cho các thông số này Các tham số tham chiếu đại diện cho vị trí bộ nhớ tương tự như các tham số thực tế được cung cấp cho các phương thức

Tham số đầu ra:

Phương pháp này giúp trong việc trả về nhiều hơn một giá trị

Một lệnh return có thể được sử dụng để trả về chỉ một giá trị từ một hàm Tuy

nhiên, sử dụng các thông số đầu ra, bạn có thể trả lại hai giá trị từ một

hàm Tham số đầu ra tương tự như tham số tham chiếu, ngoại trừ việc nó chuyển dữ liệu ra các phương thức hơn là nhận vào nó

Các biến được cung cấp cho các tham số đầu ra không cần phải được chỉ định một giá trị các tham số đầu ra là đặc biệt hữu ích khi bạn cần phải trả lại giá trị

từ một phương thức thông qua các tham số mà không gán giá trị ban đầu cho các tham số

II PHƯƠNG THỨC TRẢ VỀ MỘT GIÁ TRỊ:

Phương thức này có kiểu float, double, int, string Bên trong phương thức luôn có lệnh: return (giá trị) Định nghĩa phương thức trả về giá trị Khi gọi phương thức, cần phải khai báo biến và gán tên phương thức cho biến này

III PHƯƠNG THỨC KIỂU VOID:

Có người gọi phương thức kiểu void là phương thức không trả về giá trị Tuy nhiên nếu phương thức có đối số là tham chiếu thì nó có thể trả về nhiều giá trị đồng thời Vì vậy, ở đây ta vẫn để nguyên kiểu "void" mà không cần dịch ra tiếng Việt Có thể chia phương thức biểu Void thành 4 loại:

Trang 5

1 - Kiểu Void không có đối số Nó được dùng để hiển thị các thông báo void Methodl () { } |

2 – Kiểu Void có đối số đưa vào nhưng không có đối Số lấy ra Nó thường dùng để hiển thị các thông báo, tính toán một biểu thức nào đó rồi hiển thị kết quả ra màn hình

3 – Kiểu Void không có đối số đưa vào nhưng có đối Số lấy ra khỏi hàm Nó thường dùng để nhập dữ liệu từ bàn phím và đưa ra khỏi hàm Các đối Số lấy ra phải là đối số kiểu tham chiếu như kiểu có từ khoá ref hay từ khoá out

4 – Kiểu Void có cả đối số vào và đối số ra Các đối số lấy ra phải là đối số kiểu tham chiếu như kiểu có từ khoá ref hay từ khoá out

IV TRUYỀN ĐỐI SỐ KIỂU THAM CHIẾU CÓ TỪ KHÓA REF HOẶC OUT:

Khi muốn đưa ra khỏi hàm một tham số nào đó ta phải sử dụng từ khoá ref hoặc từ khoá out đặt trước kiểu Để thấy được ý nghĩa của từ khoá re hoặc out

ta xét một ví dụ sau đây không sử dụng tham chiếu với từ khoá ref hoặc out

1 Từ khóa REF:

Bất kỳ một đối số nào của hàm khi cần lấy ra khỏi hàm đều phải sử dụng kiểu tham chiếu có từ khoá ref đặt trước kiểu Ví dụ định nghĩa hàm Input để nhập các số từ bàn phím: static void Input (ref double a, ref double b)

Console.Write("Nhap a, b: "); a = double.Parse(Console.ReadLine()); b = double.Parse(Console.ReadLine()); Điều cần nhớ là khi gọi hàm ta khai báo các biến và gán giá trị 0 hoặc giá trị cụ thể cho a, b Đồng thời các đối số a, b phải có từ khoá ref đặt trước tên biến, double a = 0; aouble D = vi Input (ref a, ref b);

2 Từ khóa OUT:

Từ khoá out được sử dụng như từ khoá ref chỉ có một điểm khác biệt là khi sử dụng từ khoá out ta chỉ cần khai báo biến tham chiếu mà không cần gán giá trị

PHẦN THỨ HAI: ỨNG DỤNG

I MÔ TẢ BÀI TOÁN:

Viết chương trình quản lý sinh viên trong C# Mỗi đối tượng sinh viên có các thuộc tính sau: id, tên, giới tính, tuổi cùng các môn học trong học kì đầu năm nhất ( Toán cao cấp, Tiếng Anh HP1, Kinh tế vi mô, Luật kinh doanh, Triết học Mác Lênin), điểm trung bình và học lực

 Id là mã sinh viên tự động tăng

 Điểm trung bình là giá trị trung bình của 3 môn toán, lý và hóa

 Học lực được tính như sau:

 Giỏi: nếu điểm trung bình lớn hơn hoặc bằng 8

 Khá: nếu điểm trung bình nhỏ hơn 8 và lớn hơn hoặc bằng 6.5

 Trung Bình: nếu điểm trung bình nhỏ hơn 6.5 và lớn hơn hoặc bằng 5

 Yếu: nếu điểm trung bình nhỏ hơn 5

Yêu cầu: tạo ra một menu với các chức năng sau:

1 Thêm sinh viên

Trang 6

2 Cập nhật thông tin sinh viên bởi ID.

3 Xóa sinh viên bởi ID

4 Tìm kiếm sinh viên theo tên

5 Sắp xếp sinh viên theo điểm trung bình (GPA)

6 Sắp xếp sinh viên theo tên

6 Sắp xếp sinh viên theo ID

8 Hiển thị danh sách sinh viên

II FLOWCHART:

III CODE:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace HTQLSV

{

class SinhVien

{

public int ID { get; set; }

public string Name { get; set; }

public string Sex { get; set; }

public int Age { get; set; }

public double DiemToanCC { get; set; }

public double DiemTAnhP1 { get; set; }

public double DiemKTVM { get; set; }

public double DiemLKD { get; set; }

public double DiemTriet { get; set; }

Trang 7

public double DiemTB { get; set; }

public string HocLuc { get; set; }

}

}

namespace BaiTapQLSV

{

class QuanLySinhVien

{

private List<SinhVien> ListSinhVien = null;

public QuanLySinhVien()

{

ListSinhVien = new List<SinhVien>();

}

/**

* Hàm tạo ID tăng dần cho sinh viên

*/

private int GenerateID()

{

int max = 1;

if (ListSinhVien != null && ListSinhVien.Count > 0)

{

max = ListSinhVien[0].ID;

foreach (SinhVien sv in ListSinhVien)

{

if (max < sv.ID)

{

max = sv.ID;

}

}

max++;

}

return max;

}

public int SoLuongSinhVien()

{

int Count = 0;

if (ListSinhVien != null)

{

Count = ListSinhVien.Count;

}

return Count;

}

Trang 8

public void NhapSinhVien()

{

//Khởi tạo một sinh viên mới

SinhVien sv = new SinhVien();

sv.ID = GenerateID();

Console.Write("Nhap ten sinh vien: ");

sv.Name = Convert.ToString(Console.ReadLine());

Console.Write("Nhap gioi tinh sinh vien: ");

sv.Sex = Convert.ToString(Console.ReadLine());

Console.Write("Nhap tuoi sinh vien: ");

sv.Age = Convert.ToInt32(Console.ReadLine());

Console.Write("Nhap diem Toan Cao Cap: ");

sv.DiemToanCC = Convert.ToDouble(Console.ReadLine());

Console.Write("Nhap diem Tieng Anh HP1: ");

sv.DiemTAnhP1 = Convert.ToDouble(Console.ReadLine());

Console.Write("Nhap diem Kinh Te Vi Mo: ");

sv.DiemKTVM = Convert.ToDouble(Console.ReadLine());

Console.Write("Nhap diem Luat Kinh Doanh: ");

sv.DiemLKD = Convert.ToDouble(Console.ReadLine());

Console.Write("Nhap diem Triet hoc Mac Lenin: ");

sv.DiemTriet = Convert.ToDouble(Console.ReadLine());

TinhDTB(sv);

XepLoaiHocLuc(sv);

ListSinhVien.Add(sv);

}

public void UpdateSinhVien(int ID)

{

//Tìm kiếm sinh viên trong danh sách ListSinhVien

SinhVien sv = FindByID(ID);

// Nếu sinh viên tồn tại thì cập nhập thông tin sinh viên

if (sv != null)

{

Console.Write("Nhap ten sinh vien: ");

string name = Convert.ToString(Console.ReadLine());

// Nếu không nhập gì thì không cập nhật tên

if (name != null && name.Length > 0)

{

Trang 9

sv.Name = name;

}

Console.Write("Nhap gioi tinh sinh vien: ");

// Nếu không nhập gì thì không cập nhật giới tính

string sex = Convert.ToString(Console.ReadLine());

if (sex != null && sex.Length > 0)

{

sv.Sex = sex;

}

Console.Write("Nhap tuoi sinh vien: ");

string ageStr = Convert.ToString(Console.ReadLine());

// Nếu không nhập gì thì không cập nhật tuổi

if (ageStr != null && ageStr.Length > 0)

{

sv.Age = Convert.ToInt32(ageStr);

}

Console.Write("Nhap diem Toan Cao Cap: ");

string diemToanStr = Convert.ToString(Console.ReadLine()); // Nếu không nhập gì thì không cập nhật điểm

if (diemToanStr != null && diemToanStr.Length > 0)

{

sv.DiemToanCC = Convert.ToDouble(diemToanStr);

}

Console.Write("Nhap diem Tieng Anh HP1: ");

string diemTAStr = Convert.ToString(Console.ReadLine());

// Nếu không nhập gì thì không cập nhật điểm

if (diemTAStr != null && diemTAStr.Length > 0)

{

sv.DiemTAnhP1 = Convert.ToDouble(diemTAStr);

}

Console.Write("Nhap diem Kinh Te Vi Mo: ");

string diemKTVMStr = Convert.ToString(Console.ReadLine()); // Nếu không nhập gì thì không cập nhật điểm

if (diemKTVMStr != null && diemKTVMStr.Length > 0)

{

sv.DiemKTVM = Convert.ToDouble(diemKTVMStr);

}

Console.Write("Nhap diem Luat Kinh Doanh: ");

string diemLKDStr = Convert.ToString(Console.ReadLine()); // Nếu không nhập gì thì không cập nhật điểm

Trang 10

if (diemLKDStr != null && diemLKDStr.Length > 0)

{

sv.DiemLKD = Convert.ToDouble(diemLKDStr);

}

Console.Write("Nhap diem Triet hoc Mac Lenin: ");

string diemTrietStr = Convert.ToString(Console.ReadLine()); // Nếu không nhập gì thì không cập nhật điểm

if (diemTrietStr != null && diemTrietStr.Length > 0)

{

sv.DiemTriet = Convert.ToDouble(diemTrietStr);

}

TinhDTB(sv);

XepLoaiHocLuc(sv);

}

else

{

Console.WriteLine("Sinh vien co ID = {0} khong ton tai.", ID); }

}

/**

* Hàm sắp xếp danh sach sinh vien theo ID tăng dần

*/

public void SortByID()

{

ListSinhVien.Sort(delegate (SinhVien sv1, SinhVien sv2)

{

return sv1.ID.CompareTo(sv2.ID);

});

}

/**

* Hàm sắp xếp danh sach sinh vien theo tên tăng dần

*/

public void SortByName()

{

ListSinhVien.Sort(delegate (SinhVien sv1, SinhVien sv2)

{

return sv1.Name.CompareTo(sv2.Name);

});

}

/**

* Hàm sắp xếp danh sach sinh vien theo điểm TB tăng dần

Trang 11

*/

public void SortByDiemTB()

{

ListSinhVien.Sort(delegate (SinhVien sv1, SinhVien sv2)

{

return sv1.DiemTB.CompareTo(sv2.DiemTB);

});

}

/**

* Hàm tìm kiếm sinh viên theo ID

* Trả về một sinh viên

*/

public SinhVien FindByID(int ID)

{

SinhVien searchResult = null;

if (ListSinhVien != null && ListSinhVien.Count > 0)

{

foreach (SinhVien sv in ListSinhVien)

{

if (sv.ID == ID)

{

searchResult = sv;

}

}

}

return searchResult;

}

/**

* Hàm tìm kiếm sinh viên theo tên

* Trả về một danh sách sinh viên

*/

public List<SinhVien> FindByName(String keyword)

{

List<SinhVien> searchResult = new List<SinhVien>();

if (ListSinhVien != null && ListSinhVien.Count > 0)

{

foreach (SinhVien sv in ListSinhVien)

{

if (sv.Name.ToUpper().Contains(keyword.ToUpper()))

{

searchResult.Add(sv);

}

}

}

Ngày đăng: 23/02/2023, 22:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w