Exemple #1
0
        static void Zm(string wyr, string x)
        {
            double w = 0;



            Console.WriteLine();

            Console.WriteLine();

            int ind = wyr.IndexOf('x');

            wyr = wyr.Remove(ind, 1);
            wyr = wyr.Insert(ind, x);

            Mat.OdwrotnaNotacjaPolska rpn = new Mat.OdwrotnaNotacjaPolska();
            Console.WriteLine();
            rpn.Parse(wyr);
            w = rpn.Ocenianie();
            Console.WriteLine("Wersja Poczatkowa: {0}", rpn.OrygnialneWyrazenie);
            Console.WriteLine("");
            Console.WriteLine("Zamiana: {0}", rpn.ZamianaWyrazenia);
            Console.WriteLine("");
            Console.WriteLine("Postfix: {0}", rpn.WyrazeniePostfixowe);
            Console.WriteLine("");
            Console.WriteLine("Wynik: {0}", w);
            Console.WriteLine("");
        }
Exemple #2
0
        static void Main(string[] args)
        {
            double wynik = 0.0;
            string rownanie;

            Mat.OdwrotnaNotacjaPolska onp = new Mat.OdwrotnaNotacjaPolska();
            rownanie = args[0].Replace("x", args[1]);
            onp.Parse(rownanie);
            Console.WriteLine(onp.ZamianaWyrazenia);
            Console.WriteLine(onp.WyrazeniePostfixowe);
            wynik = onp.Ocenianie();
            Console.WriteLine(wynik);
            int ilosc = int.Parse(args[4]);

            double[] liczby = new double[ilosc];
            liczby[0]         = double.Parse(args[2]);
            liczby[ilosc - 1] = double.Parse(args[3]);
            double krok = (liczby[ilosc - 1] - liczby[0]) / (ilosc - 1);

            for (int i = 1; i < ilosc - 1; i++)
            {
                liczby[i] = liczby[0] + krok * i;
            }
            string[] liczby2 = new string[ilosc];
            for (int i = 0; i < ilosc; i++)
            {
                liczby2[i] = liczby[i].ToString();
                liczby2[i] = liczby2[i].Replace(',', '.');
                rownanie   = args[0].Replace("x", liczby2[i]);
                onp.Parse(rownanie);
                wynik = onp.Ocenianie();
                Console.WriteLine("{0} => {1}", liczby2[i], wynik);
            }
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            double wynik = 0.0;

            Mat.OdwrotnaNotacjaPolska onp = new Mat.OdwrotnaNotacjaPolska();
            onp.Parse("3+4*2/(1-5)^2^3");
            wynik = onp.Ocenianie();
            Console.WriteLine("oryginał: {0}", onp.OrygnialneWyrazenie);
            Console.WriteLine("zamiana: {0}", onp.ZamianaWyrazenia);
            Console.WriteLine("postfix: {0}", onp.WyrazeniePostfixowe);
            Console.WriteLine("wynik: {0}", wynik);

            Console.WriteLine();
            onp.Parse("exp(1)");
            wynik = onp.Ocenianie();
            Console.WriteLine("oryginał: {0}", onp.OrygnialneWyrazenie);
            Console.WriteLine("zamiana: {0}", onp.ZamianaWyrazenia);
            Console.WriteLine("postfix: {0}", onp.WyrazeniePostfixowe);
            Console.WriteLine("wynik: {0}", wynik);

            Console.WriteLine();
            onp.Parse("abs(-10)");
            wynik = onp.Ocenianie();
            Console.WriteLine("oryginał: {0}", onp.OrygnialneWyrazenie);
            Console.WriteLine("zamiana: {0}", onp.ZamianaWyrazenia);
            Console.WriteLine("postfix: {0}", onp.WyrazeniePostfixowe);
            Console.WriteLine("wynik: {0}", wynik);
            Console.WriteLine("");
            Console.WriteLine("Koniec programu");
            Console.ReadLine();
        }
Exemple #4
0
        static void Zmienna(string wyrazenie, string x)
        {
            Console.WriteLine("Wyrazenie dla podajego 'y'");
            Console.WriteLine();
            Console.WriteLine();
            double wynik = 0;



            Console.WriteLine();

            Console.WriteLine();

            int index = wyrazenie.IndexOf('x');

            wyrazenie = wyrazenie.Remove(index, 1);
            wyrazenie = wyrazenie.Insert(index, x);

            Mat.OdwrotnaNotacjaPolska ONP = new Mat.OdwrotnaNotacjaPolska();
            Console.WriteLine();
            ONP.Parse(wyrazenie);
            wynik = ONP.Ocenianie();
            Console.WriteLine("Wersja poczatkowa: {0}", ONP.OrygnialneWyrazenie);
            Console.WriteLine("Wersja z zamiana: {0}", ONP.ZamianaWyrazenia);
            Console.WriteLine("Wersja z PostFix: {0}", ONP.WyrazeniePostfixowe);
            Console.WriteLine("Wynik: {0}", wynik);
            Console.WriteLine("");
        }
Exemple #5
0
        static void Licz(string wyrazenie)
        {
            double wynik;

            Mat.OdwrotnaNotacjaPolska ONP = new Mat.OdwrotnaNotacjaPolska();
            Console.WriteLine();
            ONP.Parse(wyrazenie);
            wynik = ONP.Ocenianie();
            Console.WriteLine("Wersja poczatkowa: {0}", ONP.OrygnialneWyrazenie);
            Console.WriteLine("Wersja z zamiana: {0}", ONP.ZamianaWyrazenia);
            Console.WriteLine("Wersja z PostFix: {0}", ONP.WyrazeniePostfixowe);
            Console.WriteLine("Wynik: {0}", wynik);
            Console.WriteLine("");
        }
Exemple #6
0
        static void Przedzial(string wyrazenie, string x, double p, double k, double n)
        {
            double wynik = 0.0;

            Mat.OdwrotnaNotacjaPolska onp = new Mat.OdwrotnaNotacjaPolska();
            double odj, dziel, odej1;

            odj   = k - p;
            odej1 = Math.Abs(odj);

            Console.WriteLine();

            dziel = odej1 / (n - 1);
            wynik = 0;
            //wyrazenie = "sinx";
            int index1 = wyrazenie.IndexOf('x');

            wyrazenie = wyrazenie.Remove(index1, Convert.ToInt32(x));
            string liczba;

            for (double i = p; i <= k; i += dziel)
            {
                liczba    = i.ToString();
                liczba    = liczba.Replace(',', '.');
                wyrazenie = wyrazenie.Insert(index1, liczba);
                //Console.WriteLine(wyrazenie);
                onp.Parse(wyrazenie);
                wynik = onp.Ocenianie();
                Console.WriteLine("oryginał: {0}", onp.OrygnialneWyrazenie);
                Console.WriteLine();
                Console.WriteLine("zamiana: {0}", onp.ZamianaWyrazenia);
                Console.WriteLine();
                Console.WriteLine("postfix: {0}", onp.WyrazeniePostfixowe);
                Console.WriteLine();
                Console.WriteLine("wynik: {0}", wynik);
                Console.WriteLine();
                wyrazenie = wyrazenie.Remove(index1, liczba.Length);
            }
        }
Exemple #7
0
        static void Prz(string wyr, string x, double pp, double kp, double n)
        {
            double w = 0.0;

            Mat.OdwrotnaNotacjaPolska rpn = new Mat.OdwrotnaNotacjaPolska();
            double o, d, o1;

            o  = kp - pp;
            o1 = Math.Abs(o);

            Console.WriteLine();

            d = o1 / (n - 1);
            w = 0;
            int ind = wyr.IndexOf('x');

            wyr = wyr.Remove(ind, Convert.ToInt32(x));
            string l;

            for (double i = pp; i <= kp; i += d)
            {
                l   = i.ToString();
                l   = l.Replace(',', '.');
                wyr = wyr.Insert(ind, l);

                rpn.Parse(wyr);
                w = rpn.Ocenianie();
                Console.WriteLine("Wersja Poczatkowa: {0}", rpn.OrygnialneWyrazenie);
                Console.WriteLine();
                Console.WriteLine("zamiana: {0}", rpn.ZamianaWyrazenia);
                Console.WriteLine();
                Console.WriteLine("postfix: {0}", rpn.WyrazeniePostfixowe);
                Console.WriteLine();
                Console.WriteLine("Wynik: {0}", w);
                Console.WriteLine();
                wyr = wyr.Remove(ind, l.Length);
            }
        }