Tài liệu Bài tập C sharp ppt

15 528 7
Tài liệu Bài tập C sharp ppt

Đ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

Bài tập 1: Xây dựng một lớp đường tròn lưu giữ bán kính và tâm của đường tròn. Tạo các phương thức để tính chu vi, diện tích của đường tròn. Bài tập 2: Thêm thuộc tính BanKinh vào lớp được tạo ra từ bài tập 1. Bài tập 3: Tạo ra một lớp lưu trữ giá trị nguyên tên myNumber. Tạo thuộc tính cho thành viên này. Khi số được lưu trữ thì nhân cho 100. Và khi số được truy cập thì chia cho 100. Câu hỏi 7: Viết lớp giải phương trình bậc hai. Lớp này có các thuộc tính a, b, c và nghiệm x1, x2. Hãy xây dựng theo hướng đối tượng lớp trên. Lớp cho phép bên ngoài xem được các nghiệm của phương trình và cho phép thiết lập hay xem các giá trị a, b, c. Mình làm nó thành 1 project CMain.cs PHP Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BT_Chuong4 { class CMain { static void Main(string[] args) { CCircle cir = new CCircle(2,3,4); Console.WriteLine("Perimeter is {0}, Area is {1}", cir.GetPe rimeter(), cir.GetArea()); CGiaiPhuongTrinh gpt = new CGiaiPhuongTrinh(4,2,5); gpt.GetResult(); Console.WriteLine(gpt.Result.ToString()); Console.ReadKey(); } } } CPoint.cs PHP Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BT_Chuong4 { class CPoint { /// <summary> /// Properties of a point /// </summary> private float x; public float X { get { return x; } set { x = value; } } private float y; public float Y { get { return y; } set { y = value; } } /// <summary> /// Constructor, non-parameter /// </summary> public CPoint() { x = y = 0; } /// <summary> /// Constructor, two parameter /// </summary> /// <param name="x">Coordinate of point</param> /// <param name="y">Ordinale of point</param> public CPoint(float x, float y) { this.x = x; this.y = y; } /// <summary> /// Copy constructor /// </summary> /// <param name="p">Other point to copy</param> public CPoint(CPoint p) { this.x = p.x; this.y = p.y; } } } CCircle.cs PHP Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BT_Chuong4 { class CCircle { /// <summary> /// Properties of a circle /// </summary> private CPoint center; internal CPoint Center { get { return center; } set { center = value; } } private float radius; public float Radius { get { return radius; } set { radius = value; } } /// <summary> /// Constructor, non-parameter /// </summary> public CCircle() { this.center = new CPoint(); this.radius = 0; } /// <summary> /// Constructor, three float parameter /// </summary> /// <param name="x">Coordinate of point</param> /// <param name="y">Ordinale of point</param> /// <param name="rad">Radius of circle</param> public CCircle(float x, float y, float rad) { this.center = new CPoint(x, y); this.radius = rad; } /// <summary> /// Constructor, two parameter /// </summary> /// <param name="p"></param> /// <param name="rad"></param> public CCircle(CPoint p, float rad) { this.center = new CPoint(p); this.radius = rad; } /// <summary> /// Copy constructor /// </summary> /// <param name="cir">Other circle</param> public CCircle(CCircle cir) { this.center = new CPoint(cir.center); this.radius = cir.radius; } /// <summary> /// Method calculate perimeter of circle /// </summary> /// <returns>Perimeter</returns> public double GetPerimeter() { return 2*radius*Math.PI; } /// <summary> /// Method calculate area of circle /// </summary> /// <returns>Area</returns> public double GetArea() { return radius * radius * Math.PI; } } } CGiaiPhuongTrinh.cs PHP Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BT_Chuong4 { class CGiaiPhuongTrinh { //Properties private float a; public float A { get { return a; } set { a = value; } } private float b; public float B { get { return b; } set { b = value; } } private float c; public float C { get { return c; } set { c = value; } } private float x1; public float X1 { get { return x1; } set { x1 = value; } } private float x2; public float X2 { get { return x2; } set { x2 = value; } } private StringBuilder result; public StringBuilder Result { get { return result; } set { result = value; } } /// <summary> /// Constructor, non-parameter /// </summary> public CGiaiPhuongTrinh() { a = b = c = 0; result = new StringBuilder(); } /// <summary> /// Constructor, three parameter /// </summary> /// <param name="a"> a constant</param> /// <param name="b"> b constant</param> /// <param name="c"> c constant</param> public CGiaiPhuongTrinh(float a, float b, float c) { this.a = a; this.b = b; this.c = c; result = new StringBuilder(); } /// <summary> /// Set value for quadratic equation /// </summary> /// <param name="a"> a constant</param> /// <param name="b"> b constant</param> /// <param name="c"> c constant</param> public void SetValue(float a, float b, float c) { this.a = a; this.b = b; this.c = c; } /// <summary> /// Calculation value of quadratic equation /// </summary> /// <param name="flag">status root of equation</param> /// <returns>True (is quadratic equation)/False (is simple equat ion)</returns> public bool Process(ref int flag) { if (a == 0) { if (b == 0) { if (c == 0) flag = 1; //Phương trinh vô số nghiệm else flag = 2; //Phương trình vô nghiệm } else { x1 = x2 = -c / b; flag = 3; //Phương trình có 1 nghiệm } return false; } float delta = b * b - 4 * a * c; if (delta == 0) { x1 = x2 = -b / (2 * a); flag = 1; //Phương trình có nghiệm dn } else if (delta > 0) //Phương trình có 2 nghiệm ph ân biệt { flag = 2; x1 = (float)(-b + Math.Sqrt(delta)) / (2 * a); x2 = (float)(-b - Math.Sqrt(delta)) / (2 * a); } else flag = 3; //Phương trình vô nghiệm return true; } /// <summary> /// Get result of quadratic equation /// </summary> public void GetResult() { int flag = 0; result.Length = 0; if (Process(ref flag)) { result.AppendFormat("PHƯƠNG TRÌNH BẬC 2: {0}*X^2 + {1}*X + {2} = 0 \n", a,b,c); if (flag == 1) result.AppendFormat(" - Phương trình có nghiệm dn: x = {0}\n", x1); else if (flag == 2) result.AppendFormat(" - Phương trình có 2 nghiệm pb: x1 = {0} và x2 = {1}\n", x1, x2); else if (flag == 3) result.Append(" - Phương trình vô nghiệm"); } else { result.AppendFormat("PHƯƠNG TRÌNH BẬC 1: {0}*X + {1} = 0 \n", b, c); if (flag == 1) result.Append(" - Phương trình vô số nghiệm \n"); else if (flag == 2) result.Append(" - Phương trình vô nghiệm \n"); else if (flag == 3) result.AppendFormat(" - Phương trình có 1 nghiệm: x = {0}", x1); } } } } Khá hơn trước là đã viết comment đầy đủ cho các hàm (tuy nhiên nội dung comment chưa tốt). Đây làm mấy cái đề bài Bài tập 5: Viết chương trình hiển thị ra màn hình 3 kiểu sau: Mã: * * * * * * * * * * * * * * * * * * * * * a) Mã: $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ b) Mã: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * c) Bài tập 6: Viết chương trình hiển ra trên màn hình. Mã: 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5 6 7 8 9 0 1 0 9 8 7 6 7 8 9 0 1 2 3 2 1 0 9 8 7 8 9 0 1 2 3 4 5 4 3 2 1 0 9 8 9 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 9 0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0 Bài tập 7: Viết chương trình in ký tự số (0 9) và ký tự chữ (a z) với mã ký tự tương ứng của từng ký tự Ví dụ: ‘0’ : 48 ‘1’ : 49 Bài tập 8: Viết chương trình giải phương trình bậc nhất, cho phép người dùng nhập vào giá trị a, b. Bài tập 9: Viết chương trình giải phương trình bậc hai, cho phép người dùng nhập vào giá trị a, b, c. Bài tập 10: Viết chương trình tính chu vi và diện tích của các hình sau: đường tròn, hình chữ nhật, hình thang, tam giác. Mình làm tất cả thành một project, mỗi vẫn đề tạo một Class riêng để tăng performance. Bạn sẽ thấy rằng, sau này khi bạn làm winform thì chỉ cần add class đó vào + tạo giao diện là ta đã có một chương trình tương ứng không phải chỉnh sửa gì cả. Hay thậm chí giờ bạn add nguyên cái form vào (add đầy đủ reference của form) + sửa lại hàm main thế cũng OK Program.cs PHP Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BT_Chuong3 { class Program { static void Main(string[] args) { // Vẽ tam giac các loại CVeTamGiac vtg = new CVeTamGiac(); Console.Write("Nhap chieu cao tam giac: "); int n = int.Parse(Console.ReadLine()); vtg.ChieuCao = n; vtg.VeTamGiacSao(); Console.WriteLine(vtg.HinhVe.ToString()); vtg.VeTamGiacDolar(); Console.WriteLine(vtg.HinhVe.ToString()); vtg.VeTamGiacCanSao(); Console.WriteLine(vtg.HinhVe.ToString()); vtg.VeTamGiacSo(); Console.WriteLine(vtg.HinhVe.ToString()); // In bảng mã ASCII //CInMaASCII ascii = new CInMaASCII(); //ascii.InBangASCII(); //Console.WriteLine(ascii.BangMa.ToString()); // Giải phương trình bậc 1 và bậc 2 //CGiaiPhuongTrinh gpt = new CGiaiPhuongTrinh(2, 4, 1); //gpt.GetResult(); //Console.WriteLine(gpt.Result.ToString()); //gpt.SetValue(0, 6, 7); //gpt.GetResult(); //Console.WriteLine(gpt.Result.ToString()); // Bài 10 quá vớ vẩn Console.ReadKey(true); } } } CVeTamGiac.cs PHP Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BT_Chuong3 { class CVeTamGiac { //Properties private StringBuilder hinhVe; public StringBuilder HinhVe { get { return hinhVe; } set { hinhVe = value; } } private int chieuCao; public int ChieuCao { get { return chieuCao; } set { chieuCao = value; } } //Methods public CVeTamGiac() { hinhVe = new StringBuilder(); } public CVeTamGiac(int _chieuCao) { this.chieuCao = _chieuCao; hinhVe = new StringBuilder(); } public void VeTamGiacSao() { hinhVe.Length = 0; for (int i = 0; i < chieuCao; i++) { for (int j = 0; j <= i; j++) { hinhVe.Append("*"); } hinhVe.Append("\n"); } } public void VeTamGiacDolar() { hinhVe.Length = 0; for (int i = 0; i < chieuCao; i++) { for (int j = 0; j < chieuCao-i-1; j++) { hinhVe.Append("$"); } hinhVe.Append("\n"); } } [...]... hinhVe.Append("\n"); } } } } CInMaASCII.cs PHP Code: using using using using System; System.Collections.Generic; System.Linq; System.Text; namespace BT_Chuong3 { class CInMaASCII { //Properties private StringBuilder bangMa; public StringBuilder BangMa { get { return bangMa; } set { bangMa = value; } } //Method public CInMaASCII() { bangMa = new StringBuilder(); } public void InBangASCII() { bangMa.Length... bangMa.Length = 0; bangMa.Append(" Dec Chr Hex Oct \n"); for (int i=0; i= (height + i)) { Console.Write(" "); } else { Console.Write("*"); } } Console.WriteLine();... this .c = c; result = new StringBuilder(); } public void SetValue(float a, float b, float c) { this.a = a; this.b = b; this .c = c; } public bool Process(ref int flag,ref float { if (a == 0) { if (b == 0) { if (c == 0) flag = 1; //Phương else flag = 2; //Phương } else flag = 3; //Phương return false; } ân biệt getDelta) trinh vô số nghiệm trình vô nghiệm trình c 1 nghiệm float delta = b * b - 4 * a * c; if... trình c nghiệm dn else if (delta > 0) //Phương trình c 2 nghiệm ph { flag = 2; getDelta = delta; } else flag = 3; //Phương trình vô nghiệm return true; } public void GetResult() { int flag = 0; float delta = 0; result.Length = 0; if (Process(ref flag, ref delta)) { result.AppendFormat("PHƯƠNG TRÌNH B C 2: {0}*X^2 + {1}*X + {2} = 0 \n", a,b ,c) ; if (flag == 1) result.AppendFormat(" - Phương trình c nghiệm... (int j = 0; j < (2 * height - 1); j++) { } if (j < (height - i - 1) || j >= (height + i)) { Console.Write(" "); } else { Console.Write("*"); } } Console.WriteLine(); } Tam gi c số chưa nghĩ ra c ch nào để rút ngắn thời gian th c hiện ... {0}\n", -b / (2 * a)); else if (flag == 2) result.AppendFormat(" - Phương trình c 2 nghiệm pb: x1 = {0} và x2 = {1}\n", (-b - Math.Sqrt(delta)) / (2 * a), (-b + Mat h.Sqrt(delta)) / (2 * a)); else if (flag == 3) result.Append(" - Phương trình vô nghiệm"); } else { result.AppendFormat("PHƯƠNG TRÌNH B C 1: {0}*X + {1} = 0 \n", b, c) ; if (flag == 1) result.Append(" - Phương trình vô số nghiệm \n"); else if . <param name="cir">Other circle</param> public CCircle(CCircle cir) { this.center = new CPoint(cir.center); this.radius = cir.radius; . Lớp cho phép bên ngoài xem đư c c c nghiệm c a phương trình và cho phép thiết lập hay xem c c giá trị a, b, c. Mình làm nó thành 1 project CMain.cs PHP Code: using

Ngày đăng: 26/01/2014, 19:20

Hình ảnh liên quan

Bài tập 5: Viết chương trình hiển thị ra màn hình 3 kiểu sau: Mã: - Tài liệu Bài tập C sharp ppt

i.

tập 5: Viết chương trình hiển thị ra màn hình 3 kiểu sau: Mã: Xem tại trang 7 của tài liệu.
Bài tập 6: Viết chương trình hiển ra trên màn hình. Mã: - Tài liệu Bài tập C sharp ppt

i.

tập 6: Viết chương trình hiển ra trên màn hình. Mã: Xem tại trang 8 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan