private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B;
            float y_A, y_B;
            float x, y;
            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                y_B = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            x = x_B - x_A;
            y = y_B - y_A;

            string solution;
            string task;
            string given;
            string search;

            task = "Найдите координаты вектора $\\vec{AB}$, если известны координаты его начала и конца: $A("+x_A.ToString()+";"+y_A.ToString()+")$; $B("+x_B.ToString()+","+y_B.ToString()+")$.";
            given = "$A("+x_A.ToString()+";"+y_A.ToString()+"), B("+x_B.ToString()+","+y_B.ToString()+")$";
            search = "$\\vec{AB}$.";
            solution = "Так как $\\vec{AB}=\\{x_B-x_A; y_B-y_A\\}=\\{"+x_B.ToString()+"-"+x_A.ToString()+"; "+y_B.ToString()+"-"+y_A.ToString()+"\\}=\\{"+x.ToString()+";"+y.ToString()+"\\}$";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, y_A, y_B;
            float d;
            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                y_B = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            d = (float)Math.Sqrt((double)((x_B - x_A) * (x_B - x_A) + (y_B - y_A) * (y_B - y_A)));
            //textBox5.Text = d.ToString();
            string solution;
            string task;
            string given;
            string search;

            task = "Найдите расстояние между точками $A$ и $B$, если: $A("+x_A.ToString()+";"+y_A.ToString()+")$; $B("+x_B.ToString()+";"+y_B.ToString()+")$";
            given = "$A("+x_A.ToString()+";"+y_A.ToString()+")$; $B("+x_B.ToString()+";"+y_B.ToString()+")$";
            search = "$AB$.";
            solution = "$AB=\\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}=\\sqrt{("+x_B.ToString()+"-"+x_A.ToString()+")^2+("+y_B.ToString()+"-"+y_A.ToString()+")^2}="+d.ToString()+"$;";
            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
Beispiel #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            float a, x, y;

            try
            {
                a = float.Parse(textBox1.Text);
                y = float.Parse(textBox2.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            x = (float)Math.Sqrt((double)(a * a - y * y));
            string solution;
            string task;
            string given;
            string search;

            task     = "Найдите $x$, если $\\vec{a}\\{x;" + y.ToString() + "\\}, |\\vec{a}|=" + a.ToString() + "$";
            given    = "$\\vec{a}\\{x;" + y.ToString() + "\\}, |\\vec{a}|=" + a.ToString() + "$";
            search   = "$x$.";
            solution = "$|\\vec{a}|=\\sqrt{x^2+y^2} \\Rightarrow x=\\sqrt{\\vec{|a|}^2-y^2} $ $\\Rightarrow x_1=\\sqrt{" + (a * a).ToString() + "-" + (y * y).ToString() + "}=" + x.ToString() + "; x_2=-" + x.ToString() + "$";


            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x, y, d, d1;
            try
            {
            x=float.Parse(textBox1.Text);
            y=float.Parse(textBox2.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            d= x * x + y * y;
            d1 = (float)Math.Sqrt((double)(d));
               // textBox3.Text = d.ToString();
            string solution;
            string task;
            string given;
            string search;

            task = "Найдите длину вектора $\\vec{a}\\{"+x.ToString()+";"+y.ToString()+"\\}$";
            given = "$\\vec{a}\\{"+x.ToString()+";"+y.ToString()+"\\}$";
            search = "$|\\vec{a}|$.";
            solution = "$|\\vec{a}|=\\sqrt{x^2 + y^2}=\\sqrt{"+x.ToString()+"^2 + "+y.ToString()+"^2}=\\sqrt{"+(x*x).ToString()+"+"+(y*y).ToString()+"}=\\sqrt{"+d.ToString()+"}="+d1.ToString()+"$";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, x_C, x_D;
            float y_A, y_B, y_C, y_D;
            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_C = float.Parse(textBox4.Text);
                y_C = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            x_B = (x_C + x_A) /2;
            y_B = (y_C + y_A) / 2;

            string solution;
            string task;
            string given;
            string search;

            task = "Даны точки $A("+x_A.ToString()+";"+y_A.ToString()+")$ и $C("+x_C.ToString()+";"+y_C.ToString()+")$. Найдите координаты точки $B$, если известно, что точка $B$ -- середина отрезка $AC$.";
            given = "$A(" + x_A.ToString() + ";" + y_A.ToString() + ");  C(" + x_C.ToString() + ";" + y_C.ToString() + ")$; $B \\in AC: AB=BC$; $D \\in BC: BD=DC$.";
            search = "Координаты $B$.";
            solution = "Так как $B$ -- середина $AC$, то $x_B=\\frac{x_C+x_A}{2}; y_B=\\frac{y_C+y_A}{2} \\Rightarrow$ \\\\";
            solution += "$x_B=\\frac{"+x_C.ToString()+"+"+x_A.ToString()+"}{2}="+x_B.ToString()+"; y_B=\\frac{"+y_C.ToString()+"+"+y_A.ToString()+"}{2}="+y_B.ToString()+"$";
            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x, y;
               try {
                x = float.Parse(textBox1.Text);
                y = float.Parse(textBox2.Text);
            }
            catch (System.FormatException) {
                MessageBox.Show("Неверно указаны i и j.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
               //textBox3.Text = x.ToString();
               //textBox4.Text = y.ToString();

               // вывод данных
               string solution;
               string task;
               string given;
               string search;
               string str;
               if (y < 0)
               {
               str = " ";
               }
               else {
               str = "+";
               }
               task = " Найдите разложение по координатным векторам $\\vec{i}$ и $\\vec{j}$ вектора $\\vec{x}\\{"+x.ToString()+"; "+y.ToString()+"\\}$.";
               given = "$\\vec{x}\\{"+x.ToString()+"; "+y.ToString()+"\\}$.";
               search = "$\\vec{x}=x_1\\vec{i}+x_2\\vec{j}$";
               solution = "Так как $\\vec{x}=x_1\\cdot\\vec{i}+x_2\\cdot\\vec{j}$, где $x_1="+x.ToString()+"; x_2="+y.ToString()+"$, то $\\vec{x}="+x.ToString()+"\\vec{i}"+str+y.ToString()+"\\vec{j}$";

               GeneratorTexText generator = new GeneratorTexText();
               generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (readXaYaXbYb() == true)
            {
                SumX           = Alpha * X_a + Beta * X_b;
                SumY           = Alpha * Y_a + Beta * Y_b;
                groupBox3.Text = "Координаты вектора (a + b)";
                // вывод данных
                string solution;
                string task;
                string given;
                string search;
                task  = " Найдите координаты вектора: ";
                task += "$\\alpha\\vec{a}+\\beta\\vec{b}$, если $\\vec{a}\\{" + X_a.ToString() + ";" + Y_a.ToString() + "\\}; \\vec{b}\\{" + X_b.ToString() + ";" + Y_b.ToString() + "\\};\\\\ \\alpha= " + Alpha.ToString() + "; \\beta =" + Beta.ToString() + ";$";

                given = " $\\vec{a}\\{" + X_a.ToString() + ";" + Y_a.ToString() + "\\}; \\vec{b}\\{" + X_b.ToString() + ";" + Y_b.ToString() + "\\}; \\alpha= " + Alpha.ToString() + "; \\beta =" + Beta.ToString() + "$.";

                search = "$\\alpha\\vec{a}+\\beta\\vec{b}$";

                solution = "Так как $\\vec{a}\\{" + X_a.ToString() + "; " + Y_a.ToString() + "\\}, \\vec{b}\\{" + X_b.ToString() + "; " + Y_b.ToString() + "\\}:\\\\$";

                solution += "$\\alpha\\vec{a}=\\{" + X_a.ToString() + "\\cdot\\alpha; " + Y_a.ToString() + "\\cdot\\alpha\\}=\\{" + X_a.ToString() + "\\cdot" + Alpha.ToString() + "; " + Y_a.ToString() + "\\cdot" + Alpha.ToString() + "\\}= \\{" + (Alpha * X_a).ToString() + "; " + (Alpha * Y_a).ToString() + "\\}$;\\\\";

                solution += "$\\beta\\vec{b}=\\{" + X_b.ToString() + "\\cdot\\beta; " + Y_b.ToString() + "\\cdot\\beta\\}=\\{" + X_b.ToString() + "\\cdot" + Beta.ToString() + "; " + Y_b.ToString() + "\\cdot" + Beta.ToString() + "\\}= \\{" + (Beta * X_b).ToString() + "; " + (Beta * Y_b).ToString() + "\\}$;\\\\";

                solution += "$(\\alpha\\vec{a}+\\beta\\vec{b})\\{" + (Alpha * X_a).ToString() + "+" + (Beta * X_b).ToString() + "; " + (Alpha * Y_a).ToString() + "+" + (Beta * Y_b).ToString() + "\\}=(" + Alpha.ToString() + "\\vec{a}+" + Beta.ToString() + "\\vec{b})\\{" + SumX.ToString() + ";" + sumY.ToString() + "\\}$.";

                GeneratorTexText generator = new GeneratorTexText();
                generator.Finish(task, given, search, solution);
                CleanXY();
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, x_AB;
            float y_A, y_B, y_AB;

            try
            {
                x_AB = float.Parse(textBox1.Text);
                y_AB = float.Parse(textBox2.Text);
                x_B  = float.Parse(textBox4.Text);
                y_B  = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            x_A = x_B - x_AB;
            y_A = y_B - y_AB;
            string solution;
            string task;
            string given;
            string search;

            task      = "Найдите координаты начала вектора $\\vec{AB}$, если известно, что: $\\vec{AB}\\{" + x_AB.ToString() + ";" + y_AB.ToString() + "\\}$; $B(" + x_B.ToString() + ";" + y_B.ToString() + ")$.";
            given     = "$\\vec{AB}\\{" + x_AB.ToString() + ";" + y_AB.ToString() + "\\}$; $B(" + x_B.ToString() + ";" + y_B.ToString() + ")$.";
            search    = "Координаты $A$.";
            solution  = "Так как $\\vec{AB}=\\{x_B-x_A; y_B-y_A\\}$, то $x_A=x_B-x_{AB}; y_A=y_B-y_{AB}$";
            solution += "$\\Rightarrow x_A=" + x_B.ToString() + "- " + x_AB.ToString() + "=" + x_A.ToString() + "; y_A=" + y_B.ToString() + " - " + y_AB.ToString() + "=" + y_A.ToString() + "$";

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
Beispiel #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, x_C, x_D;
            float y_A, y_B, y_C, y_D;

            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                y_B = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            x_C = 2 * x_B - x_A;
            y_C = 2 * y_B - x_A;
            string solution;
            string task;
            string given;
            string search;

            task      = "Даны точки $A(" + x_A.ToString() + ";" + y_A.ToString() + ")$ и $B(" + x_B.ToString() + ";" + y_B.ToString() + ")$. Найдите координаты точки $C$, если известно, что точка $B$ -- середина отрезка $AC$.";
            given     = "$A(" + x_A.ToString() + ";" + y_A.ToString() + ");  B(" + x_B.ToString() + ";" + y_B.ToString() + ")$; $B \\in AC: AB=BC$; $D \\in BC: BD=DC$.";
            search    = "Координаты $C$.";
            solution  = "Так как $B$ -- середина $AC$, то $x_C=2 \\cdot x_B - x_A; y_C=2 \\cdot y_B - y_A \\Rightarrow$ \\\\";
            solution += "$x_C=2 \\cdot " + x_B.ToString() + " - " + x_A.ToString() + " = " + x_C.ToString() + "; y_C=2 \\cdot " + y_B.ToString() + " -" + y_A.ToString() + "= " + y_C.ToString() + "$";
            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
Beispiel #10
0
        private void button1_Click(object sender, EventArgs e)
        {
            float x, y, d, d1;

            try
            {
                x = float.Parse(textBox1.Text);
                y = float.Parse(textBox2.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            d  = x * x + y * y;
            d1 = (float)Math.Sqrt((double)(d));
            // textBox3.Text = d.ToString();
            string solution;
            string task;
            string given;
            string search;

            task     = "Найдите длину вектора $\\vec{a}\\{" + x.ToString() + ";" + y.ToString() + "\\}$";
            given    = "$\\vec{a}\\{" + x.ToString() + ";" + y.ToString() + "\\}$";
            search   = "$|\\vec{a}|$.";
            solution = "$|\\vec{a}|=\\sqrt{x^2 + y^2}=\\sqrt{" + x.ToString() + "^2 + " + y.ToString() + "^2}=\\sqrt{" + (x * x).ToString() + "+" + (y * y).ToString() + "}=\\sqrt{" + d.ToString() + "}=" + d1.ToString() + "$";


            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float a, x, y;
            try
            {
                a = float.Parse(textBox1.Text);
                x = float.Parse(textBox2.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            y = (float)Math.Sqrt((double)(a * a - x * x));
            string solution;
            string task;
            string given;
            string search;

            task = "Найдите $y$, если $\\vec{a}\\{"+x.ToString()+"; y \\}, |\\vec{a}|=" + a.ToString() + "$";
            given = "$\\vec{a}\\{" + x.ToString() + "; y \\}, |\\vec{a}|=" + a.ToString() + "$";
            search = "$y$.";
            solution = "$|\\vec{a}|=\\sqrt{x^2+y^2} \\Rightarrow y=\\sqrt{\\vec{|a|}^2-x^2} $ $\\Rightarrow y_1=\\sqrt{" + (a * a).ToString() + "-" + (x * x).ToString() + "}=" + y.ToString() + "; y_2=-" + y.ToString() + "$";
            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, x_AB;
            float y_A, y_B, y_AB;
            try
            {
                x_AB = float.Parse(textBox1.Text);
                y_AB = float.Parse(textBox2.Text);
                x_A = float.Parse(textBox4.Text);
                y_A = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            x_B = x_AB + x_A;
            y_B = y_AB + y_A;
            string solution;
            string task;
            string given;
            string search;

            task = "Найдите координаты конца вектора $\\vec{AB}$, если известно, что: $\\vec{AB}\\{" + x_AB.ToString() + ";" + y_AB.ToString() + "\\}$; $A(" + x_A.ToString() + ";" + y_A.ToString() + ")$.";
            given = "$\\vec{AB}\\{" + x_AB.ToString() + ";" + y_AB.ToString() + "\\}$; $A(" + x_A.ToString() + ";" + y_A.ToString() + ")$.";
            search = "Координаты $B$.";
            solution = "Так как $\\vec{AB}=\\{x_B-x_A; y_B-y_A\\}$,то $x_B=x_{AB}+x_A; y_B=y_{AB}+y_A$";
            solution += "$\\Rightarrow x_B="+x_AB.ToString()+" + "+x_A.ToString()+" ="+x_B.ToString()+"; y_B="+y_AB.ToString()+" +"+y_A.ToString()+"="+y_B.ToString()+"$";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
Beispiel #13
0
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, y_A, y_B;
            float d;

            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                y_B = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            d = (float)Math.Sqrt((double)((x_B - x_A) * (x_B - x_A) + (y_B - y_A) * (y_B - y_A)));
            //textBox5.Text = d.ToString();
            string solution;
            string task;
            string given;
            string search;

            task     = "Найдите расстояние между точками $A$ и $B$, если: $A(" + x_A.ToString() + ";" + y_A.ToString() + ")$; $B(" + x_B.ToString() + ";" + y_B.ToString() + ")$";
            given    = "$A(" + x_A.ToString() + ";" + y_A.ToString() + ")$; $B(" + x_B.ToString() + ";" + y_B.ToString() + ")$";
            search   = "$AB$.";
            solution = "$AB=\\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}=\\sqrt{(" + x_B.ToString() + "-" + x_A.ToString() + ")^2+(" + y_B.ToString() + "-" + y_A.ToString() + ")^2}=" + d.ToString() + "$;";
            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, y_A, y_B1, y_B2, AB;

            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                AB  = float.Parse(textBox3.Text);
                if (AB < 0)
                {
                    throw new System.FormatException();
                }
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }


            string solution;
            string task;
            string given;
            string search;

            task      = "Найдите $y$, если известно что: $|\\vec{AB}|=" + AB.ToString() + "; A(" + x_A.ToString() + "; " + y_A.ToString() + "); B(" + x_B.ToString() + "; y)$.";
            given     = "$|\\vec{AB}|=" + AB.ToString() + "; A(" + x_A.ToString() + "; " + y_A.ToString() + "); B(" + x_B.ToString() + "; y)$.";
            search    = "$y$";
            solution  = "Так как $|\\vec{AB}|=\\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}$, то \\\\";
            solution += "$" + AB.ToString() + "=\\sqrt{(" + x_B.ToString() + "-" + x_A.ToString() + ")^2+(y-" + y_A.ToString() + ")^2} \\Rightarrow " + AB.ToString() + "=\\sqrt{" + ((x_B - x_A) * (x_B - x_A)).ToString() + " + (y-" + y_A.ToString() + ")^2} \\Rightarrow " + (AB * AB).ToString() + " = " + ((x_B - x_A) * (x_B - x_A)).ToString() + " + (y-" + y_A.ToString() + ")^2 \\Rightarrow $\\\\";
            string str = "";
            float  t;

            t = -x_B * x_B + 2 * x_B * x_A - x_A * x_A + AB * AB;
            if (t < 0)
            {
                str       = "Действительных корней нет!";
                solution += str;
            }
            else
            {
                t    = (float)Math.Sqrt((double)(t));
                y_B1 = y_A - t;
                y_B2 = y_A + t;

                solution += "$y_1= " + y_B1.ToString() + "; y_2=" + y_B2.ToString() + "$";
            }



            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float d_OA, d_OB;
            float x_OA, y_OB;
            try
            {
                d_OA = float.Parse(textBox1.Text);
                d_OB = float.Parse(textBox2.Text);
                if ((d_OA < 0) || (d_OB < 0)) {
                    throw new System.FormatException();
                }
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string solution="";
            string task="";
            string given="";
            string search="";

            x_OA = (float)Math.Sqrt((double)(d_OA * d_OA));
            y_OB = (float)Math.Sqrt((double)(d_OB * d_OB));
            solution = "Так как $O$-- точка начала координат, то $O(0;0)$.";
            if (checkBox1.Checked == true) {
                x_OA = -x_OA;
                task = "Точка $A$  лежит на отрицательной полуоси $Ox$, а точка $B$ -- на положительной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_-, B\\in Oy_+$";

            }
            if (checkBox2.Checked == true) {
                y_OB = -y_OB;
                task = "Точка $A$  лежит на положительной полуоси $Ox$, а точка $B$ -- на отрицательной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_+, B\\in Oy_-$";
            }
                if ((checkBox1.Checked == true) && (checkBox2.Checked == true))
                {

                    task = "Точка $A$  лежит на отрицательной полуоси $Ox$, а точка $B$ -- на отрицательной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                    given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_-, B\\in Oy_-$";
                }
                if ((checkBox1.Checked==false)&& (checkBox2.Checked==false)) {
                    task = "Точка $A$  лежит на положительной полуоси $Ox$, а точка $B$ -- на положительной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                    given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_+, B\\in Oy_+$";
                }

            search = "Координаты вершин $OACB$";

            solution += "Тогда, так как $OA="+d_OA.ToString()+"; OB="+d_OB.ToString()+" \\Rightarrow A("+x_OA.ToString()+";0), B(0;"+y_OB.ToString()+"), C("+x_OA.ToString()+"; "+y_OB.ToString()+")$.";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, y_A, y_B1, y_B2, AB;
            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                AB = float.Parse(textBox3.Text);
                if (AB < 0)
                {
                    throw new System.FormatException();
                }
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string solution;
            string task;
            string given;
            string search;
            task = "Найдите $y$, если известно что: $|\\vec{AB}|="+AB.ToString()+"; A("+x_A.ToString()+"; "+y_A.ToString()+"); B("+x_B.ToString()+"; y)$.";
            given = "$|\\vec{AB}|=" + AB.ToString() + "; A(" + x_A.ToString() + "; " + y_A.ToString() + "); B(" + x_B.ToString() + "; y)$.";
            search = "$y$";
            solution = "Так как $|\\vec{AB}|=\\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}$, то \\\\";
            solution += "$" + AB.ToString() + "=\\sqrt{(" + x_B.ToString() + "-" + x_A.ToString() + ")^2+(y-" + y_A.ToString() + ")^2} \\Rightarrow " + AB.ToString() + "=\\sqrt{" + ((x_B - x_A) * (x_B - x_A)).ToString() + " + (y-" + y_A.ToString() + ")^2} \\Rightarrow " + (AB * AB).ToString() + " = " + ((x_B - x_A) * (x_B - x_A)).ToString() + " + (y-" + y_A.ToString() + ")^2 \\Rightarrow $\\\\";
            string str = "";
            float t;
            t = -x_B * x_B + 2 * x_B * x_A - x_A * x_A + AB * AB;
            if (t < 0)
            {
                str = "Действительных корней нет!";
                solution += str;
            }
            else
            {
                t = (float)Math.Sqrt((double)(t));
                y_B1 = y_A - t;
                y_B2 = y_A + t;

                solution += "$y_1= " + y_B1.ToString() + "; y_2=" + y_B2.ToString() + "$";
            }

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
Beispiel #17
0
        private void button1_Click(object sender, EventArgs e)
        {
            float x_M, x_N, x_P;
            float y_M, y_N, y_P;
            float MN, MP, NP;
            float P_MNP;

            try
            {
                x_M = float.Parse(textBox1.Text);
                y_M = float.Parse(textBox2.Text);
                x_N = float.Parse(textBox4.Text);
                y_N = float.Parse(textBox3.Text);
                x_P = float.Parse(textBox6.Text);
                y_P = float.Parse(textBox5.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            MN    = (float)Math.Sqrt((double)((x_N - x_M) * (x_N - x_M) + (y_N - y_M) * (y_N - y_M)));
            NP    = (float)Math.Sqrt((double)((x_P - x_N) * (x_P - x_N) + (y_P - y_N) * (y_P - y_N)));
            MP    = (float)Math.Sqrt((double)((x_P - x_M) * (x_P - x_M) + (y_P - y_M) * (y_P - y_M)));
            P_MNP = MN + NP + MP;

            string solution;
            string task;
            string given;
            string search;

            task      = "Найдите периметр треугольника $MNP$, если $M(" + x_M.ToString() + "; " + y_M.ToString() + ")$; $N(" + x_N.ToString() + "; " + y_N.ToString() + ")$; $P(" + x_P.ToString() + ";" + y_P.ToString() + ")$.";
            given     = "$\\triangle MNP, M(" + x_M.ToString() + "; " + y_M.ToString() + "); N(" + x_N.ToString() + "; " + y_N.ToString() + "), P(" + x_P.ToString() + ";" + y_P.ToString() + ")$.";
            search    = " $P_{\\triangle MNP}$";
            solution  = "$MN=\\sqrt{(x_M-x_N)^2+(y_M-y_N)^2}=\\sqrt{(" + x_M.ToString() + "-" + x_N.ToString() + ")^2+(" + y_M.ToString() + "-" + y_N.ToString() + ")^2}=" + MN.ToString() + "$;\\\\";
            solution += " $NP=\\sqrt{(x_N-x_P)^2+(y_N-y_P)^2}=\\sqrt{(" + x_N.ToString() + "-" + x_P.ToString() + ")^2+(" + y_N.ToString() + "-" + y_P.ToString() + ")^2}=" + NP.ToString() + "$;\\\\";
            solution += " $MP=\\sqrt{(x_P-x_M)^2+(y_P-y_M)^2}=\\sqrt{(" + x_P.ToString() + "-" + x_M.ToString() + ")^2+(" + y_P.ToString() + "-" + y_M.ToString() + ")^2}=" + MP.ToString() + "$;\\\\";
            solution += "$P_{\\triangle MNP}=MN+NP+MP=" + MN.ToString() + "+" + NP.ToString() + "+" + MP.ToString() + "=" + P_MNP.ToString() + "$";

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x;
            float y;

            try
            {
                x = float.Parse(textBox1.Text);
                y = float.Parse(textBox2.Text);
            }
            catch (System.FormatException) {
                MessageBox.Show("Неверно указаны коэффициенты при (i) и (j).", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //textBox3.Text = x.ToString();
            //textBox4.Text = y.ToString();

            // вывод данных
            string solution;
            string task;
            string given;
            string search;
            string str;

            if (y < 0)
            {
                str = " ";
            }
            else
            {
                str = "+";
            }
            task      = " Найдите координаты вектора $\\vec{a}=" + x.ToString() + "\\vec{i}" + str + y.ToString() + "\\vec{j}$.";
            given     = "$\\vec{a}=" + x.ToString() + "\\vec{i}" + str + y.ToString() + "\\vec{j}$";
            search    = "$\\vec{a}\\{x;y\\}$";
            solution  = "Так как $\\vec{a}=" + x.ToString() + "\\vec{i}" + str + y.ToString() + "\\vec{j}$, то $x=" + x.ToString() + ", y=" + y.ToString();
            solution += " \\Rightarrow \\vec{a} \\{" + x.ToString() + "; " + y.ToString() + "\\}$";

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_M, x_N, x_P;
            float y_M, y_N, y_P;
            float MN, MP, NP;
            float P_MNP;
            try
            {
                x_M = float.Parse(textBox1.Text);
                y_M = float.Parse(textBox2.Text);
                x_N = float.Parse(textBox4.Text);
                y_N = float.Parse(textBox3.Text);
                x_P = float.Parse(textBox6.Text);
                y_P = float.Parse(textBox5.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            MN = (float)Math.Sqrt((double)((x_N - x_M) * (x_N - x_M) + (y_N - y_M) * (y_N - y_M)));
            NP = (float)Math.Sqrt((double)((x_P - x_N) * (x_P - x_N) + (y_P - y_N) * (y_P - y_N)));
            MP = (float)Math.Sqrt((double)((x_P - x_M) * (x_P - x_M) + (y_P - y_M) * (y_P - y_M)));
            P_MNP = MN + NP + MP;

            string solution;
            string task;
            string given;
            string search;

            task = "Найдите периметр треугольника $MNP$, если $M("+x_M.ToString()+"; "+y_M.ToString()+")$; $N("+x_N.ToString()+"; "+y_N.ToString()+")$; $P("+x_P.ToString()+";"+y_P.ToString()+")$.";
            given = "$\\triangle MNP, M(" + x_M.ToString() + "; " + y_M.ToString() + "); N(" + x_N.ToString() + "; " + y_N.ToString() + "), P(" + x_P.ToString() + ";" + y_P.ToString() + ")$.";
            search = " $P_{\\triangle MNP}$";
            solution = "$MN=\\sqrt{(x_M-x_N)^2+(y_M-y_N)^2}=\\sqrt{("+x_M.ToString()+"-"+x_N.ToString()+")^2+("+y_M.ToString()+"-"+y_N.ToString()+")^2}="+MN.ToString()+"$;\\\\";
            solution += " $NP=\\sqrt{(x_N-x_P)^2+(y_N-y_P)^2}=\\sqrt{("+x_N.ToString()+"-"+x_P.ToString()+")^2+("+y_N.ToString()+"-"+y_P.ToString()+")^2}="+NP.ToString()+"$;\\\\";
            solution += " $MP=\\sqrt{(x_P-x_M)^2+(y_P-y_M)^2}=\\sqrt{("+x_P.ToString()+"-"+x_M.ToString()+")^2+("+y_P.ToString()+"-"+y_M.ToString()+")^2}="+MP.ToString()+"$;\\\\";
            solution += "$P_{\\triangle MNP}=MN+NP+MP="+MN.ToString()+"+"+NP.ToString()+"+"+MP.ToString()+"="+P_MNP.ToString()+"$";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x, y;

            try {
                x = float.Parse(textBox1.Text);
                y = float.Parse(textBox2.Text);
            }
            catch (System.FormatException) {
                MessageBox.Show("Неверно указаны i и j.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //textBox3.Text = x.ToString();
            //textBox4.Text = y.ToString();


            // вывод данных
            string solution;
            string task;
            string given;
            string search;
            string str;

            if (y < 0)
            {
                str = " ";
            }
            else
            {
                str = "+";
            }
            task     = " Найдите разложение по координатным векторам $\\vec{i}$ и $\\vec{j}$ вектора $\\vec{x}\\{" + x.ToString() + "; " + y.ToString() + "\\}$.";
            given    = "$\\vec{x}\\{" + x.ToString() + "; " + y.ToString() + "\\}$.";
            search   = "$\\vec{x}=x_1\\vec{i}+x_2\\vec{j}$";
            solution = "Так как $\\vec{x}=x_1\\cdot\\vec{i}+x_2\\cdot\\vec{j}$, где $x_1=" + x.ToString() + "; x_2=" + y.ToString() + "$, то $\\vec{x}=" + x.ToString() + "\\vec{i}" + str + y.ToString() + "\\vec{j}$";

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, x_D, x_C;
            float y_A, y_B, y_D, y_C;

            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                y_B = float.Parse(textBox3.Text);
                x_C = float.Parse(textBox6.Text);
                y_C = float.Parse(textBox5.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            x_D = (x_C - x_B) + x_A;
            y_D = y_C;


            string solution;
            string task;
            string given;
            string search;

            task      = "Найдите координаты вершины $D$ параллелограмма $ABCD$, если $A(" + x_A.ToString() + ";" + y_A.ToString() + ")$, $B(" + x_B.ToString() + ";" + y_B.ToString() + ")$; $C(" + x_C.ToString() + "," + y_D.ToString() + ")$.";
            given     = "$ABCD$ -- параллелограмм, $A(" + x_A.ToString() + ";" + y_A.ToString() + "), B(" + x_B.ToString() + ";" + y_B.ToString() + "), C(" + x_C.ToString() + "," + y_C.ToString() + ")$.";
            search    = "$D(x; y)$.";
            solution  = "$\\vec{AC}=\\vec{AD}+\\vec{AB} \\Rightarrow \\vec{AD}=\\vec{AC}-\\vec{AB}$ -- по свойству параллелограмма.";
            solution += " $D(" + x_D.ToString() + "; " + y_D.ToString() + ")$, т.к. $x=x_C-x_B=" + x_D.ToString() + "; y=y_C=" + y_D.ToString() + "$.";

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x;
            float y;
            try
            {
                x = float.Parse(textBox1.Text);
                y = float.Parse(textBox2.Text);
            }
            catch (System.FormatException) {
                MessageBox.Show("Неверно указаны коэффициенты при (i) и (j).", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //textBox3.Text = x.ToString();
            //textBox4.Text = y.ToString();

            // вывод данных
            string solution;
            string task;
            string given;
            string search;
            string str;
            if (y < 0)
            {
                str = " ";
            }
            else
            {
                str = "+";
            }
            task = " Найдите координаты вектора $\\vec{a}=" + x.ToString() + "\\vec{i}"+str + y.ToString() + "\\vec{j}$.";
            given = "$\\vec{a}="+x.ToString()+"\\vec{i}"+str+y.ToString()+"\\vec{j}$";
            search = "$\\vec{a}\\{x;y\\}$";
            solution = "Так как $\\vec{a}="+x.ToString()+"\\vec{i}"+str+y.ToString()+"\\vec{j}$, то $x="+x.ToString()+", y="+y.ToString();
            solution+=" \\Rightarrow \\vec{a} \\{"+x.ToString()+"; "+y.ToString()+"\\}$";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B;
            float y_A, y_B;
            float x, y;

            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                y_B = float.Parse(textBox3.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            x = x_B - x_A;
            y = y_B - y_A;



            string solution;
            string task;
            string given;
            string search;

            task     = "Найдите координаты вектора $\\vec{AB}$, если известны координаты его начала и конца: $A(" + x_A.ToString() + ";" + y_A.ToString() + ")$; $B(" + x_B.ToString() + "," + y_B.ToString() + ")$.";
            given    = "$A(" + x_A.ToString() + ";" + y_A.ToString() + "), B(" + x_B.ToString() + "," + y_B.ToString() + ")$";
            search   = "$\\vec{AB}$.";
            solution = "Так как $\\vec{AB}=\\{x_B-x_A; y_B-y_A\\}=\\{" + x_B.ToString() + "-" + x_A.ToString() + "; " + y_B.ToString() + "-" + y_A.ToString() + "\\}=\\{" + x.ToString() + ";" + y.ToString() + "\\}$";


            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x_A, x_B, x_D, x_C;
            float y_A, y_B, y_D, y_C;
            try
            {
                x_A = float.Parse(textBox1.Text);
                y_A = float.Parse(textBox2.Text);
                x_B = float.Parse(textBox4.Text);
                y_B = float.Parse(textBox3.Text);
                x_C = float.Parse(textBox6.Text);
                y_C = float.Parse(textBox5.Text);

            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            x_D = (x_C - x_B) + x_A;
            y_D = y_C;

            string solution;
            string task;
            string given;
            string search;

            task = "Найдите координаты вершины $D$ параллелограмма $ABCD$, если $A("+x_A.ToString()+";"+y_A.ToString()+")$, $B("+x_B.ToString()+";"+y_B.ToString()+")$; $C("+x_C.ToString()+","+y_D.ToString()+")$.";
            given = "$ABCD$ -- параллелограмм, $A("+x_A.ToString()+";"+y_A.ToString()+"), B("+x_B.ToString()+";"+y_B.ToString()+"), C("+x_C.ToString()+","+y_C.ToString()+")$.";
            search = "$D(x; y)$.";
            solution = "$\\vec{AC}=\\vec{AD}+\\vec{AB} \\Rightarrow \\vec{AD}=\\vec{AC}-\\vec{AB}$ -- по свойству параллелограмма.";
            solution += " $D("+x_D.ToString()+"; "+y_D.ToString()+")$, т.к. $x=x_C-x_B="+x_D.ToString()+"; y=y_C="+y_D.ToString()+"$.";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (readXaYaXbYb() == true) {
            SumX = Alpha*X_a - Beta*X_b;
            SumY = Alpha*Y_a -Beta*Y_b;
            //tbXasumb.Text = SumX.ToString();
            //tbYasumb.Text = SumY.ToString();
            groupBox3.Text = "Координаты вектора (a - b)";
            // вывод данных
            string solution;
            string task;
            string given;
            string search;
            task = " Найдите координаты вектора: ";
            task += "$\\alpha\\vec{a}-\\beta\\vec{b}$, если $\\vec{a}\\{" + X_a.ToString() + ";" + Y_a.ToString() + "\\}; \\vec{b}\\{" + X_b.ToString() + ";" + Y_b.ToString() + "\\};\\\\ \\alpha= " + Alpha.ToString() + "; \\beta =" + Beta.ToString() + ";$";

            given = " $\\vec{a}\\{" + X_a.ToString() + ";" + Y_a.ToString() + "\\}; \\vec{b}\\{" + X_b.ToString() + ";" + Y_b.ToString() + "\\}; \\alpha= " + Alpha.ToString() + "; \\beta =" + Beta.ToString() + "$.";

            search = "$\\alpha\\vec{a}-\\beta\\vec{b}$";

            solution = "Так как $\\vec{a}\\{" + X_a.ToString() + "; " + Y_a.ToString() + "\\}, \\vec{b}\\{" + X_b.ToString() + "; " + Y_b.ToString() + "\\}:\\\\$";

            solution += "$\\alpha\\vec{a}=\\{" + X_a.ToString() + "\\cdot\\alpha; " + Y_a.ToString() + "\\cdot\\alpha\\}=\\{" + X_a.ToString() + "\\cdot" + Alpha.ToString() + "; " + Y_a.ToString() + "\\cdot" + Alpha.ToString() + "\\}= \\{" + (Alpha * X_a).ToString() + "; " + (Alpha * Y_a).ToString() + "\\}$;\\\\";

            solution += "$\\beta\\vec{b}=\\{" + X_b.ToString() + "\\cdot\\beta; " + Y_b.ToString() + "\\cdot\\beta\\}=\\{" + X_b.ToString() + "\\cdot" + Beta.ToString() + "; " + Y_b.ToString() + "\\cdot" + Beta.ToString() + "\\}= \\{" + (Beta * X_b).ToString() + "; " + (Beta * Y_b).ToString() + "\\}$;\\\\";

            solution += "$(\\alpha\\vec{a}-\\beta\\vec{b})\\{" + (Alpha * X_a).ToString() + "-" + (Beta * X_b).ToString() + "; " + (Alpha * Y_a).ToString() + "-" + (Beta * Y_b).ToString() + "\\}=(" + Alpha.ToString() + "\\vec{a}-" + Beta.ToString() + "\\vec{b})\\{" + SumX.ToString() + ";" + sumY.ToString() + "\\}$.";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
            CleanXY();
            }
        }
Beispiel #26
0
        private void button1_Click(object sender, EventArgs e)
        {
            bool  vector = false; // не соноправленны
            float k, m, n;

            m = 0; n = 1;
            try
            {
                m = float.Parse(textBox1.Text);
                n = float.Parse(textBox2.Text);
                if (n == 0)
                {
                    MessageBox.Show("Деление на 0 не возможно, измените n.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw new System.DivideByZeroException();
                }
                else if (m < 0 || n < 0)
                {
                    MessageBox.Show("Длина вектора не может быть меньше 0.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw new System.Exception();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Неверно указаны m и n.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (checkBox1.Checked == true)
            {
                vector = true;
                k      = m / n;
            }
            else
            {
                vector = false;
                //k = (-1) * (m / n);
                k = m / n;
            }
// вывод данных
            string solution;
            string task;
            string given;
            string search;

            if (vector == true)
            {
                given     = "$\\vec{n}=\\vec{m}k, |\\vec{m}|=" + m.ToString() + ", |\\vec{n}|=" + n.ToString() + ", \\vec{m}\\uparrow\\uparrow\\vec{n}$";
                task      = "Найдите такое число $k$, чтобы выполнялось равенство $\\vec{n}=k\\vec{m}$, если известно что";
                task     += " Векторы $\\vec{m}$ и $\\vec{n}$ сонаправлены и $|\\vec{m}|=" + m.ToString() + "$,  $|\\vec{n}|=" + n.ToString() + "$.";
                search    = "$k$";
                solution  = "Так как $\\vec{n}=\\vec{m}k$,то $|\\vec{n}|=|\\vec{m}||k|\\Rightarrow |k|=\\frac{|\\vec{n}|}{|\\vec{m}|}$\\\\";
                solution += "$|k|=\\frac{" + n.ToString() + "}{" + m.ToString() + "}=" + k.ToString() + "$.";
                solution += "Так как $\\vec{m} \\uparrow\\uparrow \\vec{n}$, то $k>0 \\Rightarrow k=" + k.ToString() + "$";
            }
            else
            {
                given     = "$\\vec{n}=\\vec{m}k, |\\vec{m}|=" + m.ToString() + ", |\\vec{n}|=" + n.ToString() + ", \\vec{m}\\uparrow\\downarrow\\vec{n}$";
                task      = "Найдите такое число $k$, чтобы выполнялось равенство $\\vec{n}=k\\vec{m}$, если известно что";
                task     += " Векторы $\\vec{m}$ и $\\vec{n}$ противоположно направлены и $|\\vec{m}|=" + m.ToString() + "$,  $|\\vec{n}|=" + n.ToString() + "$.";
                search    = "$k$";
                solution  = "Так как $\\vec{n}=\\vec{m}k$,то $|\\vec{n}|=|\\vec{m}||k|\\Rightarrow |k|=\\frac{|\\vec{n}|}{|\\vec{m}|}$\\\\";
                solution += "$|k|=\\frac{" + n.ToString() + "}{" + m.ToString() + "}=" + k.ToString() + "$.";
                solution += "Так как $\\vec{m} \\uparrow\\downarrow \\vec{n}$, то $k<0 \\Rightarrow k= -" + k.ToString() + "$";
            }

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float n, t, m, p, x, y;

            x = 1;
            y = 1;

            try
            {
                n = float.Parse(textBox1.Text);
                t = float.Parse(textBox2.Text);
                m = float.Parse(textBox3.Text);
                p = float.Parse(textBox4.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            try
            {
                if (t == 0)
                {
                    x = 0;
                    throw new System.DivideByZeroException();
                }
                else
                {
                    x = (-n) / t;
                }
            }
            catch (System.DivideByZeroException)
            {
                x = 0;
            }

            try
            {
                if (p == 0)
                {
                    y = 0;
                    throw new System.DivideByZeroException();
                }
                else
                {
                    y = (-m) / p;
                }
            }
            catch (System.DivideByZeroException)
            {
                y = 0;
            }


            string solution;
            string task;
            string given;
            string search;

            task      = "Векторы $\\vec{a}$ и $\\vec{b}$ не коллинеарны. Найдите числа $x$ и $y$, удовлетворяющие равенству: $" + n.ToString() + "\\vec{a}+" + t.ToString() + "x\\vec{a}+" + m.ToString() + "\\vec{b}+" + p.ToString() + "y\\vec{b}=0$.";
            given     = "$" + n.ToString() + "\\vec{a}+" + t.ToString() + "x\\vec{a}+" + m.ToString() + "\\vec{b}+" + p.ToString() + "y\\vec{b}=0$;\\\\";
            given    += "$n=" + n.ToString() + "; t=" + t.ToString() + "; m=" + m.ToString() + "; p=" + p.ToString() + "$";
            search    = "$x, y$";
            solution  = "Так как $\\vec{a}$ и $\\vec{b}$ не коллинеарны, то ";
            solution += "$(" + n.ToString() + "+" + t.ToString() + "x)\\vec{a}+(" + m.ToString() + "+" + p.ToString() + "y)\\vec{b}=\\vec{0}";
            solution += "\\Leftrightarrow$\\\\";
            solution += "$" + n.ToString() + "+" + t.ToString() + "x=0; " + m.ToString() + "+" + p.ToString() + "y=0;$";
            solution += " $x=" + x.ToString() + "; y=" + y.ToString() + ".$";

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float n, t, m, p, x, y;
            x = 1;
            y = 1;

            try
            {
                n = float.Parse(textBox1.Text);
                t = float.Parse(textBox2.Text);
                m = float.Parse(textBox3.Text);
                p = float.Parse(textBox4.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            try
            {
                if (t == 0)
                {
                    x = 0;
                    throw new System.DivideByZeroException();
                }
                else
                {
                    x = (-n) / t;

                }
            }
            catch (System.DivideByZeroException)
            {
                x=0;
             }

            try
            {
                if (p == 0)
                {
                    y = 0;
                    throw new System.DivideByZeroException();
                }
                else
                {
                    y = (-m) / p;

                }

            }
            catch (System.DivideByZeroException)
            {
                y = 0;
            }

            string solution;
            string task;
            string given;
            string search;

            task = "Векторы $\\vec{a}$ и $\\vec{b}$ не коллинеарны. Найдите числа $x$ и $y$, удовлетворяющие равенству: $"+n.ToString()+"\\vec{a}+"+t.ToString()+"x\\vec{a}+"+m.ToString()+"\\vec{b}+"+p.ToString()+"y\\vec{b}=0$.";
            given = "$"+n.ToString() + "\\vec{a}+" + t.ToString() + "x\\vec{a}+" + m.ToString() + "\\vec{b}+" + p.ToString() + "y\\vec{b}=0$;\\\\";
            given += "$n="+n.ToString()+"; t="+t.ToString()+"; m="+m.ToString()+"; p="+p.ToString()+"$";
            search = "$x, y$";
            solution = "Так как $\\vec{a}$ и $\\vec{b}$ не коллинеарны, то ";
            solution += "$("+n.ToString()+"+"+t.ToString()+"x)\\vec{a}+("+m.ToString()+"+"+p.ToString()+"y)\\vec{b}=\\vec{0}";
            solution += "\\Leftrightarrow$\\\\";
            solution += "$" + n.ToString() + "+" + t.ToString() + "x=0; " + m.ToString() + "+" + p.ToString() + "y=0;$";
            solution += " $x="+x.ToString()+"; y="+y.ToString()+".$";

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
Beispiel #29
0
        private void button1_Click(object sender, EventArgs e)
        {
            float x1, x2, y1, y2, x3, y3;

            try
            {
                x1 = float.Parse(textBox1.Text);
                y1 = float.Parse(textBox2.Text);
                x2 = float.Parse(textBox3.Text);
                y2 = float.Parse(textBox4.Text);
                x3 = float.Parse(textBox6.Text);
                y3 = float.Parse(textBox5.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            string solution;
            string task;
            string given;
            string search;
            string str;

            task    = "Найти попарно коллинеарные векторы если: ";
            task   += "$\\vec{a}\\{" + x1.ToString() + ";" + y1.ToString() + "\\}; \\vec{b}\\{" + x2.ToString() + ";" + y2.ToString() + "\\}; \\vec{c}\\{" + x3.ToString() + ";" + y3.ToString() + "\\}$.";
            given   = "$\\vec{a}\\{" + x1.ToString() + ";" + y1.ToString() + "\\}; \\vec{b}\\{" + x2.ToString() + ";" + y2.ToString() + "\\}; \\vec{c}\\{" + x3.ToString() + ";" + y3.ToString() + "\\}$.";
            search  = "\\\\ $\\vec{a}||\\vec{b}$ -- ?\\\\";
            search += "$\\vec{a}||\\vec{c}$ -- ?\\\\";
            search += "$\\vec{c}||\\vec{b}$ -- ?";
            string Message = "";

            if (((x1 == y1) && (x1 == 0)) || ((x2 == y2) && (x2 == 0)))
            {
                Message = "коллинеарны.";
                str     = "=";
            }
            else if ((x1 * y2) == (x2 * y1))
            {
                Message = "коллинеарны.";
                str     = "=";
            }
            else
            {
                Message = "не коллинеарны.";
                str     = "\\neq";
            }
            solution  = "\\\\ $\\vec{a}||\\vec{b} \\Rightarrow \\frac{x_a}{x_b}=\\frac{y_a}{y_b}=k$ ";
            solution += " проверим: ";
            solution += "$\\frac{" + x1.ToString() + "}{" + y1.ToString() + "} " + str + " \\frac{" + x2.ToString() + "}{" + y2.ToString() + "} \\Rightarrow \\vec{a}, \\vec{b}$ -" + Message + "\\\\";


            if (((x1 == y1) && (x1 == 0)) || ((x3 == y3) && (x3 == 0)))
            {
                Message = "коллинеарны.";
                str     = "=";
            }
            else if ((x1 * y3) == (x3 * y1))
            {
                Message = "коллинеарны.";
                str     = "=";
            }
            else
            {
                Message = "не коллинеарны.";
                str     = "\\neq";
            }
            solution += "$\\vec{a}||\\vec{c}\\Rightarrow \\frac{x_a}{x_c}=\\frac{y_a}{y_c}=k $";
            solution += " проверим: ";
            solution += "$\\frac{" + x1.ToString() + "}{" + y1.ToString() + "} " + str + " \\frac{" + x3.ToString() + "}{" + y3.ToString() + "} \\Rightarrow \\vec{a}, \\vec{b}$ -" + Message + "\\\\";

            if (((x3 == y3) && (x3 == 0)) || ((x2 == y2) && (x2 == 0)))
            {
                Message = "коллинеарны.";
                str     = "=";
            }
            else if ((x3 * y2) == (x2 * y3))
            {
                Message = "коллинеарны.";
                str     = "=";
            }
            else
            {
                Message = "не коллинеарны.";
                str     = "\\neq";
            }
            solution += "$\\vec{c}||\\vec{b}\\Rightarrow \\frac{x_c}{x_b}=\\frac{y_c}{y_b}=k $";
            solution += " проверим: ";
            solution += "$\\frac{" + x3.ToString() + "}{" + y3.ToString() + "} " + str + " \\frac{" + x2.ToString() + "}{" + y2.ToString() + "} \\Rightarrow \\vec{a}, \\vec{b}$ -" + Message;


            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            bool vector=false; // не соноправленны
            float k, m, n;
            m = 0; n = 1;
            try
            {
                m = float.Parse(textBox1.Text);
                n = float.Parse(textBox2.Text);
                if (n == 0)
                {
                    MessageBox.Show("Деление на 0 не возможно, измените n.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw new System.DivideByZeroException();

                }
                else if (m < 0 || n < 0) {
                    MessageBox.Show("Длина вектора не может быть меньше 0.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw new System.Exception();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Неверно указаны m и n.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (checkBox1.Checked == true)
            {
                vector = true;
                k = m / n;
            }
            else
            {
                vector = false;
                //k = (-1) * (m / n);
                k = m / n;
            }
            // вывод данных
            string solution;
            string task;
            string given;
            string search;
            if (vector == true)
            {
                given = "$\\vec{n}=\\vec{m}k, |\\vec{m}|="+m.ToString()+", |\\vec{n}|="+n.ToString()+", \\vec{m}\\uparrow\\uparrow\\vec{n}$";
                task = "Найдите такое число $k$, чтобы выполнялось равенство $\\vec{n}=k\\vec{m}$, если известно что";
                task += " Векторы $\\vec{m}$ и $\\vec{n}$ сонаправлены и $|\\vec{m}|=" + m.ToString() + "$,  $|\\vec{n}|=" + n.ToString() + "$.";
                search = "$k$";
                solution = "Так как $\\vec{n}=\\vec{m}k$,то $|\\vec{n}|=|\\vec{m}||k|\\Rightarrow |k|=\\frac{|\\vec{n}|}{|\\vec{m}|}$\\\\";
                solution += "$|k|=\\frac{" + n.ToString() + "}{" + m.ToString() + "}=" + k.ToString() + "$.";
                solution += "Так как $\\vec{m} \\uparrow\\uparrow \\vec{n}$, то $k>0 \\Rightarrow k=" + k.ToString() + "$";
            }
            else {
                given = "$\\vec{n}=\\vec{m}k, |\\vec{m}|=" + m.ToString() + ", |\\vec{n}|=" + n.ToString() + ", \\vec{m}\\uparrow\\downarrow\\vec{n}$";
                task = "Найдите такое число $k$, чтобы выполнялось равенство $\\vec{n}=k\\vec{m}$, если известно что";
                task += " Векторы $\\vec{m}$ и $\\vec{n}$ противоположно направлены и $|\\vec{m}|=" + m.ToString() + "$,  $|\\vec{n}|=" + n.ToString() + "$.";
                search = "$k$";
                solution = "Так как $\\vec{n}=\\vec{m}k$,то $|\\vec{n}|=|\\vec{m}||k|\\Rightarrow |k|=\\frac{|\\vec{n}|}{|\\vec{m}|}$\\\\";
                solution += "$|k|=\\frac{" + n.ToString() + "}{" + m.ToString() + "}=" + k.ToString() + "$.";
                solution += "Так как $\\vec{m} \\uparrow\\downarrow \\vec{n}$, то $k<0 \\Rightarrow k= -" + k.ToString() + "$";
            }

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float d_OA, d_OB;
            float x_OA, y_OB;

            try
            {
                d_OA = float.Parse(textBox1.Text);
                d_OB = float.Parse(textBox2.Text);
                if ((d_OA < 0) || (d_OB < 0))
                {
                    throw new System.FormatException();
                }
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string solution = "";
            string task     = "";
            string given    = "";
            string search   = "";

            x_OA     = (float)Math.Sqrt((double)(d_OA * d_OA));
            y_OB     = (float)Math.Sqrt((double)(d_OB * d_OB));
            solution = "Так как $O$-- точка начала координат, то $O(0;0)$.";
            if (checkBox1.Checked == true)
            {
                x_OA  = -x_OA;
                task  = "Точка $A$  лежит на отрицательной полуоси $Ox$, а точка $B$ -- на положительной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_-, B\\in Oy_+$";
            }
            if (checkBox2.Checked == true)
            {
                y_OB  = -y_OB;
                task  = "Точка $A$  лежит на положительной полуоси $Ox$, а точка $B$ -- на отрицательной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_+, B\\in Oy_-$";
            }
            if ((checkBox1.Checked == true) && (checkBox2.Checked == true))
            {
                task  = "Точка $A$  лежит на отрицательной полуоси $Ox$, а точка $B$ -- на отрицательной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_-, B\\in Oy_-$";
            }
            if ((checkBox1.Checked == false) && (checkBox2.Checked == false))
            {
                task  = "Точка $A$  лежит на положительной полуоси $Ox$, а точка $B$ -- на положительной полуоси $Oy$. Найдите координаты вершин прямоугольника $OACB$, если $OA=" + d_OA.ToString() + "$; $OB=" + d_OB.ToString() + "$.";
                given = "$OACB$ -- прямоугольник, $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + "$; $A\\in Ox_+, B\\in Oy_+$";
            }



            search = "Координаты вершин $OACB$";

            solution += "Тогда, так как $OA=" + d_OA.ToString() + "; OB=" + d_OB.ToString() + " \\Rightarrow A(" + x_OA.ToString() + ";0), B(0;" + y_OB.ToString() + "), C(" + x_OA.ToString() + "; " + y_OB.ToString() + ")$.";

            GeneratorTexText generator = new GeneratorTexText();

            generator.Finish(task, given, search, solution);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            float x1, x2, y1, y2, x3, y3;
            try
            {
                x1 = float.Parse(textBox1.Text);
                y1 = float.Parse(textBox2.Text);
                x2 = float.Parse(textBox3.Text);
                y2 = float.Parse(textBox4.Text);
                x3 = float.Parse(textBox6.Text);
                y3 = float.Parse(textBox5.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверно заполнены поля.", "Ошибка ввода!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            string solution;
            string task;
            string given;
            string search;
            string str;
            task = "Найти попарно коллинеарные векторы если: ";
            task += "$\\vec{a}\\{"+x1.ToString()+";"+y1.ToString()+"\\}; \\vec{b}\\{"+x2.ToString()+";"+y2.ToString()+"\\}; \\vec{c}\\{"+x3.ToString()+";"+y3.ToString()+"\\}$.";
            given = "$\\vec{a}\\{"+x1.ToString()+";"+y1.ToString()+"\\}; \\vec{b}\\{"+x2.ToString()+";"+y2.ToString()+"\\}; \\vec{c}\\{"+x3.ToString()+";"+y3.ToString()+"\\}$.";
            search = "\\\\ $\\vec{a}||\\vec{b}$ -- ?\\\\";
            search += "$\\vec{a}||\\vec{c}$ -- ?\\\\";
            search += "$\\vec{c}||\\vec{b}$ -- ?";
            string Message="";
            if (((x1 == y1) && (x1 == 0)) || ((x2 == y2) && (x2 == 0))) {
                Message = "коллинеарны.";
                str="=";
            }else if ((x1 * y2) == (x2 * y1))
            {
                Message = "коллинеарны.";
                str="=";
            }
            else {
                Message = "не коллинеарны.";
                str="\\neq";
            }
               solution="\\\\ $\\vec{a}||\\vec{b} \\Rightarrow \\frac{x_a}{x_b}=\\frac{y_a}{y_b}=k$ ";
               solution += " проверим: ";
               solution += "$\\frac{"+x1.ToString()+"}{"+y1.ToString()+"} "+str+" \\frac{"+x2.ToString()+"}{"+y2.ToString()+"} \\Rightarrow \\vec{a}, \\vec{b}$ -"+Message+"\\\\";

            if (((x1 == y1) && (x1 == 0)) || ((x3 == y3) && (x3 == 0)))
            {
                Message = "коллинеарны.";
                str = "=";
            }
            else if ((x1 * y3) == (x3 * y1))
            {
                Message = "коллинеарны.";
                str = "=";
            }
            else
            {
                Message = "не коллинеарны.";
                str = "\\neq";
            }
            solution += "$\\vec{a}||\\vec{c}\\Rightarrow \\frac{x_a}{x_c}=\\frac{y_a}{y_c}=k $";
            solution += " проверим: ";
            solution += "$\\frac{" + x1.ToString() + "}{" + y1.ToString() + "} " + str + " \\frac{" + x3.ToString() + "}{" + y3.ToString() + "} \\Rightarrow \\vec{a}, \\vec{b}$ -" + Message + "\\\\";

            if (((x3 == y3) && (x3 == 0)) || ((x2 == y2) && (x2 == 0)))
            {
                Message = "коллинеарны.";
                str = "=";
            }
            else if ((x3 * y2) == (x2 * y3))
            {
                Message = "коллинеарны.";
                str = "=";
            }
            else
            {
                Message = "не коллинеарны.";
                str = "\\neq";
            }
            solution+="$\\vec{c}||\\vec{b}\\Rightarrow \\frac{x_c}{x_b}=\\frac{y_c}{y_b}=k $";
            solution += " проверим: ";
            solution += "$\\frac{" + x3.ToString() + "}{" + y3.ToString() + "} " + str + " \\frac{" + x2.ToString() + "}{" + y2.ToString() + "} \\Rightarrow \\vec{a}, \\vec{b}$ -" + Message;

            GeneratorTexText generator = new GeneratorTexText();
            generator.Finish(task, given, search, solution);
        }