public static DATHUC KhoiTao(String Chuoi)
    {
        DATHUC kq;

        kq.DonThuc = null;
        kq.Ten     = "";
        kq.BienSo  = "";
        if (KiemTra(Chuoi))
        {
            String[] T = Chuoi.Split(new String[] { "=" },
                                     StringSplitOptions.None);
            String[] N = T[0].Split(new String[] { "(", ")" },
                                    StringSplitOptions.None);
            kq.Ten    = N[0].Trim();
            kq.BienSo = N[1].Trim();

            XuLyDonThuc.Set_ChuoiPhanCach(kq.BienSo);
            String[] M = T[1].Split(new String[] { ChuoiPhanCach },
                                    StringSplitOptions.None);
            kq.DonThuc = new DONTHUC[M.Length];
            for (int i = 0; i < M.Length; i++)
            {
                kq.DonThuc[i] = XuLyDonThuc.KhoiTao(M[i]);
            }
        }
        return(kq);
    }
    public static Double TinhGiaTri(DATHUC P, Double x0)
    {
        Double kq = 0;

        foreach (DONTHUC q in P.DonThuc)
        {
            kq = kq + XuLyDonThuc.TinhGiaTri(q, x0);
        }
        return(kq);
    }
    public static String XuatChuoi(DATHUC P)
    {
        String kq = P.Ten + "(" + P.BienSo + ") = ";
        int    i  = 0;

        foreach (DONTHUC q in P.DonThuc)
        {
            kq = kq + XuLyDonThuc.XuatChuoi(q);
            if (i < P.DonThuc.GetLength(0) - 1)
            {
                kq = kq + " + ";
            }
            i++;
        }
        return(kq);
    }
Beispiel #4
0
 static void Main()
 {
     if (XuLyTapTin.KiemTra("DonThuc.inp") == true)
     {
         DonThuc P;
         Double  x0;
         Double  kq;
         P = XuLyDonThuc.Doc("DonThuc.inp");
         String Chuoi;
         Chuoi = "Tinh gia tri cua don thuc P(x)=";
         Chuoi = Chuoi + XuLyDonThuc.XuatChuoi(P) + "\n";
         XuLyChuoi.Xuat(Chuoi);
         do
         {
             x0    = XuLySoThuc.Nhap("Nhap gia tri x0: ");
             kq    = XuLyDonThuc.TinhGiaTri(P, x0);
             Chuoi = "Gia tri cua don thuc ";
             Chuoi = Chuoi + XuLyDonThuc.XuatChuoi(P);
             Chuoi = Chuoi + " la:" + XuLySoThuc.XuatChuoi(kq);
             XuLyChuoi.Xuat(Chuoi);
         } while (XuLySoNguyen.Nhap("\n Tiep tuc (0. Dung, 1.Tiep tuc):", 0, 1) != 0);
     }
 }
    public static Boolean KiemTra(String Chuoi)
    {
        Boolean flag = true;

        String[] T = Chuoi.Split(new String[] { "=" },
                                 StringSplitOptions.None);

        T[0] = T[0].Trim();
        String[] N = T[0].Split(new String[] { "(", ")" },
                                StringSplitOptions.None);
        flag = N.Length == 3;
        if (flag)
        {
            XuLyDonThuc.Set_ChuoiPhanCach(N[1]);
            String[] M = T[1].Split(new String[] { ChuoiPhanCach },
                                    StringSplitOptions.None);
            for (int i = 0; i < M.Length; i++)
            {
                flag = flag && XuLyDonThuc.KiemTra(M[i]);
            }
        }
        return(flag);
    }