Đă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#

Share
    Có Nhiều Đóng góp Forum
    avatar

    Giới tính : Nam

    Tuổi : 26

    Đến từ : hcm

    Ngày Tham gia : 30/07/2011

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

    #1

     on 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();
        }
    }