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