Một số bài tập về C Sharp
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
{ 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; } /// /// Get result of quadratic equation /// 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àiBà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ủatừ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 OKProgram.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 = i + 1; j--) { hinhVe.AppendFormat("{0}", j % 10); } hinhVe.Append("\n"); } } }} CInMaASCII.cs PHP Code: using System;using System.Collections.Generic;using System.Linq;using 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 = 0; bangMa.Append(" Dec Chr Hex Oct \n"); for (int i=0; i<256; i++) { bangMa.AppendFormat(" {0,3} {1,3} {2:X3} {3,3}\n",i,(char)i,i,i); // su dung ep kieu } } }} CGiaiPhuonTrinh.cs PHP Code: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace BT_Chuong3{ 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 StringBuilder result; public StringBuilder Result { get { return result; } set { result = value; } } // Method public CGiaiPhuongTrinh() { a = b = c = 0; result = new StringBuilder(); } public CGiaiPhuongTrinh(float a, float b, float c) { this.a = a; this.b = b; 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 getDelta) { 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 flag = 3; //Phương trình có 1 nghiệm return false; } float delta = b * b - 4 * a * c; if (delta == 0) 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; 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 dn: x = {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 + Math.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 (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}", -c/b); } } }} __________________ My friend is Khách Tam giác * cân, với 2 vòng for: PHP Code: void TamGiacLoai3(int height) { Console.WriteLine("Your triangle is: "); Console.WriteLine(); for (int i = 0; i = (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
File đính kèm:
- Một số bài tập về C Sharp.doc