private Przedzial wyznaczNowyPrzedział(Przedzial przedzial, Współrzędna współrzędna) { Przedzial przedzialLewy; Przedzial przedzialPrawy; przedzialLewy = new Przedzial(przedzial.współrzędnaPoczątkowa, współrzędna); przedzialPrawy = new Przedzial(współrzędna, przedzial.współrzędnaKońcowa); return(przedzialLewy.CzyIstniejeMiejsceZeroweWPrzedziale() ? przedzialLewy : przedzialPrawy); }
static void MetodaPolowienia() { //wybieramy metodę wyszukiwania miejsc zerowych //korzystamy z metody fabrykującej IMetodaWyszukiwaniaMiejscaZerowego metodaPolowienia = MetodyWyszukiwaniaMiejscZerowychMetodaFabryczna.StworzMetodeSzukania(MetodyWyszukiwaniaMiejscZerowychEnum.METODA_POLOWIENIA); Przedzial przedzial = Parametry.getInstance().przedział; if (metodaPolowienia.CzyMetodaSpełniaWarunki(przedzial)) //sprawdzamy czy spelnione zostana watunki algorytmu { metodaPolowienia.WyznaczMiejsceZerowe(przedzial); } else { System.Console.WriteLine("Nie zostały spełnione warunki do użycia algorytmu"); } }
public void WyznaczMiejsceZerowe(Przedzial przedzial) { this.przedzial = przedzial; for (int i = 0; i < Parametry.getInstance().maksymalnaIloscWykonanychOperacji; i++) { współrzędna = new Współrzędna(); współrzędna.x = przedzial.WyznaczSrodek(); współrzędna.WyznaczWspółrzędnąY(Parametry.getInstance().wielomian); if (sprawdzCzyMiejsceZerowe()) { System.Console.WriteLine(współrzędna.ToString()); System.Console.WriteLine("Znaleziono miejsce zerowe w punkcie " + współrzędna.x); return; } else { przedzial = wyznaczNowyPrzedział(przedzial, współrzędna); } } }
private Parametry() { przedział = new Przedzial(); wielomian = new Wielomian(); ustawParametry(); }
//metoda sprawdza czy społniony jest warunek niezbędny do prawidłowego działania programu public bool CzyMetodaSpełniaWarunki(Przedzial przedzial) { return(przedzial.CzyIstniejeMiejsceZeroweWPrzedziale()); }