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