Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Xây dựng đối tượng Đường tròn c#

      Có Nhiều Đóng góp Forum
      nhoxpro

      Giới tính : Nam

      Tuổi : 33

      Đến từ : hcm

      Ngày Tham gia : 30/07/2011

      Tổng số bài gửi : 250

      #1

       Sat Oct 29, 2011 9:41 am

      CÓ SAI GÌ MONG MẤY BÁC CHO Ý KIẾN NHE

      Diem.cs
      CODE:
      Code:

      using System;

      public class Diem
      {
          public Diem(float x, float y)
          {
              this.x = x;
              this.y = y;
          }
          public float KhoangCachToiO()
          {
              return (float)Math.Sqrt(x * x + y * y);
          }
          public float X
          {
              get
              {
                  return x;
              }
          }
          public float Y
          {
              get
              {
                  return y;
              }
          }
          float x;
          float y;
      }

      HinhChuNhat.cs
      Code:

      using System;

      public class HinhChuNhat
      {
          public HinhChuNhat(Diem A, float ngang, float cao)
          {
              this.A = A;
              this.ngang = ngang;
              this.cao = cao;
          }
          public Diem TamI()
          {
              float a = A.X + ngang / 2;
              float b = A.Y + cao / 2;
              return new Diem(a, b);
          }
          public float KhoangCachTamToiO()
          {
              return TamI().KhoangCachToiO();
          }
          Diem A;
          public float ngang;
          public float cao;
      }

      HinhTron.cs
      Code:
      using System;

      class HinhTron
      {
          public HinhTron(HinhChuNhat H)
          {
              this.H = H;
              tam = H.TamI();
              banKinh = H.ngang / 2;
          }
          public float ChuVi()
          {
              return (float)Math.PI * 2 * banKinh;
          }
          public float DienTich()
          {
              return (float)Math.PI * banKinh * banKinh;
          }
          public float DienTichGioiHanBoiHinhVuongvaHinhTron()
          {
              return 4 * banKinh * banKinh - DienTich();
          }
          string PTCT()
          {
              string pt;
              pt = "(x - " + tam.X + ")^2 + (y - " + tam.Y + ")^2 = " + banKinh * banKinh;
              return pt;
          }
          public void PhuongTrinhChinhTac()
          {
              Console.WriteLine("PTCT: " + PTCT());
          }
          string PTTQ()
          {
              string pt;
              pt = "(x^2 + y^2 - " + 2 * tam.X + "x + " + 2 * tam.Y + "y + " + (tam.X * tam.X + tam.Y * tam.Y - banKinh * banKinh) + " = 0";
              return pt;
          }
          public void PhuongTrinhTongQuat()
          {
              Console.WriteLine("PTTQ: " + PTTQ());
          }
          public void HinhTronNgoaiTiepHinhVuong()
          {
              Console.WriteLine("PTTQNTHV: " + PTTQ());
          }
          Diem DiemThuocDongTron(float x_M)
          {
              float y_M = tam.Y - (float)Math.Abs(Math.Sqrt(banKinh * banKinh - (x_M - tam.X) * (x_M - tam.X)));
              return new Diem(x_M, y_M);
          }
          public float DienTichTamGiac(float x_M)
          {
              Diem A = new Diem(tam.X - banKinh, tam.Y);
              Diem B = new Diem(tam.X + banKinh, tam.Y);
              Diem M=DiemThuocDongTron(x_M);
              return (float)0.5 * (float)Math.Sqrt((A.X - M.X) * (A.X - M.X) + (A.Y - M.Y) * (A.Y - M.Y)) * (float)Math.Sqrt((B.X - M.X) * (B.X - M.X) + (B.Y - M.Y) * (B.Y - M.Y));
          }
          Diem tam;
          float banKinh;
          HinhChuNhat H;
      }

      Tester.cs
      Code:

      using System;

      class Tester
      {
          public static void Main()
          {
              float x,y,canh;
              Console.Write("Nhap vao hoanh do goc tren cung ben trai: ");
              x = float.Parse(Console.ReadLine());
              Console.Write("Nhap vao tung do goc tren cung ben trai: ");
              y = float.Parse(Console.ReadLine());
              Console.Write("Nhap vao canh hinh vuong: ");
              canh = float.Parse(Console.ReadLine());
              HinhChuNhat H = new HinhChuNhat(new Diem(x, y), canh, canh);
              HinhTron C = new HinhTron(H);
              Console.WriteLine("Chu vi: " + C.ChuVi());
              Console.WriteLine("Dien tich: " + C.DienTich());
              Console.WriteLine("Gioi han: " + C.DienTichGioiHanBoiHinhVuongvaHinhTron());
              C.PhuongTrinhChinhTac();
              C.PhuongTrinhTongQuat();
              C.HinhTronNgoaiTiepHinhVuong();

              float x_M;
              do
              {
                  Console.Write("Nhap vao x_M({0} < x_M < {1}): ", x, x + canh);
                  x_M = float.Parse(Console.ReadLine());
                  if (x_M <= x || x_M >= x + canh)
                      Console.WriteLine("Ban da nhap sai --> Nhap lai mau!");
              }
              while (x_M <= x || x_M >= x + canh);
              Console.WriteLine("S tam giac: " + C.DienTichTamGiac(x_M));
              Console.ReadLine();
          }
      }