Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Кодирование. Код написание с применением правил форматирования кода. ⇐ ПредыдущаяСтр 2 из 2
Код написание с применением правил форматирования кода. В ходе работы использовались следующие правила: 1) Название переменных должно отражать их суть. 2) Название функций начинаются с больших букв. Если функция выполняет какие либо действия, первое слово обозначает действие этой функции. 3) Код должен быть структурирован и легко читаем. 4) В коде должны присутствовать комментарии. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using NUnit.Framework;
namespace GeometryFigure { public partial class Form1: Form { double A, B, C, D, H, R, PolyP; double[] MassiveForFigure = new double[2]; public Form1() { InitializeComponent(); comboBox1.Text = " Выбрать фигуру"; comboBox2.Text = " Выбрать способ"; comboBox1.Items.Add(" Треугольник"); comboBox1.Items.Add(" Параллелограмм"); comboBox1.Items.Add(" Круг"); this.StorA.ReadOnly = true; this.StorB.ReadOnly = true; this.StorC.ReadOnly = true; this.StorD.ReadOnly = true; this.Radius.ReadOnly = true; this.Visota.ReadOnly = true; }
private void button1_Click(object sender, EventArgs e) { A = Convert.ToSingle(StorA.Text.ToString()); B = Convert.ToSingle(StorB.Text.ToString()); C = Convert.ToSingle(StorC.Text.ToString()); D = Convert.ToSingle(StorD.Text.ToString()); H = Convert.ToSingle(Visota.Text.ToString()); R = Convert.ToSingle(Radius.Text.ToString()); listBox1.Items.Clear();
if (comboBox2.SelectedItem.ToString() == " Формула Герона") { MassiveForFigure = TriangleGeron(A, B, C); listBox1.Items.Add(" Площадь " + MassiveForFigure[0]); listBox1.Items.Add(" Периметр " + MassiveForFigure[1]); }
if (comboBox2.SelectedItem.ToString() == " Через основание и высоту") { MassiveForFigure = Parallelogramm(A, B, H); listBox1.Items.Add(" Площадь " + MassiveForFigure[0]); listBox1.Items.Add(" Периметр " + MassiveForFigure[1]); } }
// Функция для Формулы Герона public double[] TriangleGeron(double A, double B, double C) {
double[] MassiveGeron = new double[2]; MassiveGeron[0] = 0; MassiveGeron[1] = 0; if (A < (B + C) & B < (A + C) & C < (A + B)) { PolyP = (A + B + C) / 2; MassiveGeron[0] = Math.Sqrt(PolyP * (PolyP - A) * (PolyP - B) * (PolyP - C)); MassiveGeron[1] = (A + B + C); } else listBox1.Items.Add(" Треугольник не существует"); return MassiveGeron; } // Функция для Параллелограмма public double[] Parallelogramm (double A, double B, double H) { double[] MassiveParallelogramm = new double[2]; MassiveParallelogramm[0] = 0; MassiveParallelogramm[1] = 0; MassiveParallelogramm[0] = A*H; MassiveParallelogramm[1] = (A + B) * 2; return MassiveParallelogramm; }
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e) { if (comboBox1.SelectedItem.ToString() == " Треугольник") { comboBox2.Items.Clear(); comboBox2.Items.Add(" Формула Герона");
} if (comboBox1.SelectedItem.ToString() == " Параллелограмм") { comboBox2.Items.Clear(); comboBox2.Items.Add(" Через основание и высоту"); } }
private void comboBox2_SelectionChangeCommitted(object sender, EventArgs e) { if (comboBox2.SelectedItem.ToString() == " Формула Герона") { pictureBox1.Image = Image.FromFile(" Geron.png"); this.StorA.ReadOnly = false; this.StorB.ReadOnly = false; this.StorC.ReadOnly = false; this.StorD.ReadOnly = true; this.Radius.ReadOnly = true; this.Visota.ReadOnly = true; }
if (comboBox2.SelectedItem.ToString() == " Через основание и высоту") { pictureBox1.Image = Image.FromFile(" Parallelogramm.png"); this.StorA.ReadOnly = false; this.Visota.ReadOnly = false; this.StorB.ReadOnly = false; this.StorC.ReadOnly = true; this.StorD.ReadOnly = true; this.Radius.ReadOnly = true; } }
[Test] public void TriangleGeronTest() { double[] massiv2 = new double[2]; double[] MassiveResult = new double[2]; //Правильные данные для теста MassiveResult[0] = 6; MassiveResult[1] = 12; massiv2 = TriangleGeron(5, 4, 3); Assert.AreEqual(MassiveResult, massiv2); // Треугольник не существует MassiveResult[0] = 0; MassiveResult[1] = 0; massiv2 = TriangleGeron(10, 4, 3); Assert.AreEqual(MassiveResult, massiv2); // Равносторонний треугольник MassiveResult[0] = 27.71; MassiveResult[1] = 24; massiv2 = TriangleGeron(8, 8, 8); Assert.AreEqual(true, Math.Abs(massiv2[0] - MassiveResult[0]) < 0.1); // Одна из сторон равна 0 MassiveResult[0] = 0; MassiveResult[1] = 0; massiv2 = TriangleGeron(0, 8, 8); Assert.AreEqual(MassiveResult, massiv2); // Одна из сторон равна 0 MassiveResult[0] = 0; MassiveResult[1] = 0; massiv2 = TriangleGeron(8, 0, 8); Assert.AreEqual(MassiveResult, massiv2); // Одна из сторон равна 0 MassiveResult[0] = 0; MassiveResult[1] = 0; massiv2 = TriangleGeron(8, 8, 0); Assert.AreEqual(MassiveResult, massiv2); } [Test] public void TransferFunds1() { //Отрицатеные стороны double[] massiv2 = new double[2]; double[] MassiveResult = new double[2]; MassiveResult[0] = 0; MassiveResult[1] = 0; massiv2 = TriangleGeron(-1, -5, 0); Assert.AreEqual(MassiveResult, massiv2); } [Test] public void MassiveParallelogrammTest() { //Тест на правильность введенных данных double[] massiv2 = new double[2]; double[] MassiveResult = new double[2]; MassiveResult[0] = 16; MassiveResult[1] = 16; massiv2 = Parallelogramm(4, 4, 4); Assert.AreEqual(MassiveResult, massiv2); } private void Form1_Load(object sender, EventArgs e) {
}
private void StorA_KeyPress(object sender, KeyPressEventArgs e) { if (! (Char.IsDigit(e.KeyChar))) { if (e.KeyChar! = (char)Keys.Back) { e.Handled = true; } } }
private void StorB_KeyPress(object sender, KeyPressEventArgs e) { if (! (Char.IsDigit(e.KeyChar))) { if (e.KeyChar! = (char)Keys.Back) { e.Handled = true; } } }
private void StorC_KeyPress(object sender, KeyPressEventArgs e) { if (! (Char.IsDigit(e.KeyChar))) { if (e.KeyChar! = (char)Keys.Back) { e.Handled = true; } } }
private void StorD_KeyPress(object sender, KeyPressEventArgs e) { if (! (Char.IsDigit(e.KeyChar))) { if (e.KeyChar! = (char)Keys.Back) { e.Handled = true; } } }
private void Visota_KeyPress(object sender, KeyPressEventArgs e) { if (! (Char.IsDigit(e.KeyChar))) { if (e.KeyChar! = (char)Keys.Back) { e.Handled = true; } } }
private void Radius_KeyPress(object sender, KeyPressEventArgs e) { if (! (Char.IsDigit(e.KeyChar))) { if (e.KeyChar! = (char)Keys.Back) { e.Handled = true; } } }
} } Расчет сложности программы, с помощью метрики Холстеда.
Программа имеет приемлемый индекс сопровождаемости в " зеленой зоен" (20-100)
|