Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE \* MERGEFORMAT 1
[1] Оглавление [2] [3] ВСТУПЛЕНИЕ [4] РАЗДЕЛ 1 [5] ОЗНАКОМЛЕНИЕ [6] РАЗДЕЛ 2 [7] РАЗРАБОТКА ПРОГРАММЫ [7.1] 2.1 Исторические сведения [7.2] 2.2 Детальное описание Form1 (главное окно) [7.2.1] 2.2.1 Листинг [7.3] 2.3 Детальное описание Form2 [7.3.1] 2.3.1 Листинг [7.4] 2.4 Предотвращение ошибок [8] РАЗДЕЛ 3 [9] ПРИМЕРЫ РЕШЕНИЯ [10] ВЫВОДЫ [11] ЛИТЕРАТУРА |
Данная курсовая работа помогает вычислять площадь круга и длину окружности по заданному радиусу.
В описании указаны некие исторические сведения о радиусе, площади и о самой окружности. Также представлены иллюстрации, код и примеры работы программы.
Прочитав описание, можно понять поставленную перед разработчиком задачу и методы ее исполнения.
Моя программа считает площадь круга (Square) и/или длину окружности (Length) по заданному радиусу окружности.
Данный проект состоит из:
А также обеспечивает возможность:
То есть, для того чтобы программа выполнила представленные перед ней задачи, нужно следовать пошаговой инструкции:
Окружность геометрическая фигура, состоящая из всех точек плоскости, расположенных на заданном расстоянии от данной точки.[1]
Радиус окружности это отрезок, соединяющий центр с какой-либо точкой окружности. Все радиусы имеют одну и ту же длину (по определению).[1]
Если у вас нет возможности вычислить радиус окружности математическими приборами, то можно воспользоваться более практичными способами. Например, небольшие окружности можно вычерчивать с помощью бечевы и привязанных на расстоянии длины радиуса двух кольев. Один из них ставится в центр, другим очерчивается граница круга.[2]
Рис. 2.2.1 - Окружность
Установлено, что какой бы ни была окружность (Рис.2.1), отношение ее длины к диаметру является постоянным числом. Это число принято обозначать буквой π ( читается - "пи" ). [3]
Обозначая длину окружности буквой , а ее диаметр буквой d, запишем формулу:
Число π представляет собой соотношение длины окружности к длине ее диаметра и является постоянной величиной. Значение π = 3,1415926 получило применение после работ Л. Эйлера в 1737 г. [4]
Исходя из формулы выше, выведем, чему равна окружность, если известен диаметр ( d ): Если известен радиус ( r ) , то формула длины окружности будет выглядеть так:
Площадь окружности можно вычислить через константу π и радиус окружности.[3]
Формула площади круга через радиус выглядит так:
Главное окно состоит из меню с командами «Input», «Calc», «Draw», «About», «Exit».
Рис. 2.2.1 - Детальное описание главного окна
Рис. 2.2.2 - Окно с величинами
Код для данной команды:
private void inputToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.ShowDialog();
}
Рис. 2.2.3 - Результаты
Код для данной команды:
private void calcToolStripMenuItem_Click(object sender, EventArgs e)
{
string result = "";
if (Data.Square == true)
{
result = "Square = " + Convert.ToString(Math.PI * (Data.Radius * Data.Radius)) + "\n";
}
if (Data.Length == true)
{
result += "Length = " + Convert.ToString(2 * Math.PI * Data.Radius);
}
if (result != "")
{
MessageBox.Show(result, "Result");
}
else
{
MessageBox.Show("Вы не выбрали флаги!", "Error");
}
}
Рис. 2.2.4 - Рисунок круга
Рис. 2.2.5 - Недопустимые значения
Код для данной команды:
private void drawToolStripMenuItem_Click(object sender, EventArgs e)
{
Bitmap image = new Bitmap(pictureBox1.Width, pictureBox1.Height Graphics g = Graphics.FromImage(image);
if (Data.Radius < 300)
{
g.DrawEllipse(new Pen(Color.Black), 0, 0, Data.Radius, Data.Radius);
}
else
{
g.DrawString("Слишком большой размер", new Font("Microsoft Sans Serif", 12), new SolidBrush(Color.Black), 0, 0);
}
pictureBox1.Image = image; }
Рис. 2.2.6 - О программе
Код для данной команды:
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Работу выполнил студент 2 курса\nCпециальность 'Прикладная математика'\nKолледж экономики и соц.работы\nСтас Луканев");
}
Рис. 2.2.7 - Завершение работы программы
Код для данной команды:
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("Выйти их программы?", "Предупреждение", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
Close();
}
}
namespace Program
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("Выйти их программы?", "Предупреждение", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
Close();
}
}
private void inputToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.ShowDialog();
}
private void calcToolStripMenuItem_Click(object sender, EventArgs e)
{
string result = "";
if (Data.Square == true)
{
result = "Square = " + Convert.ToString(Math.PI * (Data.Radius * Data.Radius)) + "\n";
}
if (Data.Length == true)
{
result += "Length = " + Convert.ToString(2 * Math.PI * Data.Radius);
}
if (result != "")
{
MessageBox.Show(result, "Result");
}
else
{
MessageBox.Show("Вы не выбрали флаги!", "Error");
}
}
private void drawToolStripMenuItem_Click(object sender, EventArgs e)
{
Bitmap image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(image);
if (Data.Radius < 300)
{
g.DrawEllipse(new Pen(Color.Black), 0, 0, Data.Radius, Data.Radius);
}
else
{
g.DrawString("Слишком большой размер", new Font("Microsoft Sans Serif", 12), new SolidBrush(Color.Black), 0, 0);
}
pictureBox1.Image = image;
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Работу выполнил студент 2 курса\nCпециальность 'Прикладная математика'\nKолледж экономики и соц.работы\nСтас Луканев");
}
}
}
Рис. 2.3.1 - Детальное описание
1 «Radius» - поле ввода типа Text_Box с меткой, для ввода радиуса окружности. Был создан класс Data для обмена данными.
public static int Radius { get; set; } //радиус
Код для данного поля ввода:
Data.Radius = Convert.ToInt32(textBox1.Text);
Конвертируем из строкового формата в int и присваиваем значение значению Radius класса Data.
2 выбор режима с помощью флажков типа Check_Box: подсчет площади круга (Square) и/или длины окружности (Length) по заданному радиусу окружности.
public static bool Square { get; set; } //статус первого чекбокса
public static bool Length { get; set; } //статус второго чекбокса
Код для данных режимов:
Data.Square = checkBox1.Checked;
Data.Length = checkBox2.Checked;
3 - «Send» - при нажатии на эту кнопку производятся все расчеты и данное диалоговое окно закрывается.
Код для данной кнопки:
private void button1_Click(object sender, EventArgs e)
{
try
{
Data.Radius = Convert.ToInt32(textBox1.Text); Data.Square = checkBox1.Checked;
Data.Length = checkBox2.Checked;
Close();
}
catch (FormatException)
{
MessageBox.Show("Неверный ввод данных!", "Error");
}
}
namespace Program
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
Data.Radius = Convert.ToInt32(textBox1.Text);
Data.Square = checkBox1.Checked;
Data.Length = checkBox2.Checked;
Close();
}
catch (FormatException)
{
MessageBox.Show("Неверный ввод данных!", "Error");
}
}
}
}
Но для начала нам нужно определить выбраны ли пользователем какие-то величины, если выбран хотя бы один из пунктов, то выводим окно с результатами:
if (result != "")
{
MessageBox.Show(result, "Result");
}
Если ни один из пунктов не выбран то выводим окно ошибки (Рис. 2.4.1):
else
{
MessageBox.Show("Вы не выбрали флаги!", "Error");
}
Рис. 2.4.1 - Ошибка
Задаем строку, которая будет выводиться:
string result = "";
Далее смотрим какие выбраны величины:
if (Data.Square == true)
{
result = "Square = " + Convert.ToString(Math.PI * (Data.Radius * Data.Radius)) + "\n";
}
Рис. 2.4.2 - Площадь
if (Data.Length == true)
{
result += "Length = " + Convert.ToString(2 * Math.PI * Data.Radius);
}
Рис. 2.4.3 - Длина окружности
Чтобы нарисовать круг необходимо для начала создать холст по размерам pictureBox:
Bitmap image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Далее подключаем графику:
Graphics g = Graphics.FromImage(image);
Также нам нужно проверить, подойдет ли по размерам заданный круг в pictureBox, для этого задаем условие:
if (Data.Radius < 300)
Если подходит рисуем круг (Рис. 2.4.4):
if (Data.Radius < 300)
{
g.DrawEllipse(new Pen(Color.Black), 0, 0, Data.Radius, Data.Radius);
}
Рис. 2.4.4 - Рисунок
Если не подходит пишем в pictureBox предупреждение(Рис. 2.4.5):
else
{
g.DrawString("Слишком большой размер", new Font("Microsoft Sans Serif", 12), new SolidBrush(Color.Black), 0, 0);
}
Рис. 2.4.5. - Предупреждение
И выводим результат (либо рисунок, либо предупреждение) :
pictureBox1.Image = image;
Мы выполняли операции в безопасном блоке try, чтобы при наличии ошибки при вводе значений, программа вела себя достойно.
try
{
Data.Radius = Convert.ToInt32(textBox1.Text); Data.Square = checkBox1.Checked;
Data.Length = checkBox2.Checked;
Close(); //закрываем окно
}
Если же произошел ввод неверных значений, например, буквы (вместо цифр), программа выдает ошибку (Рис. 2.4.6):
catch (FormatException)
{
MessageBox.Show("Неверный ввод данных!", "Error");
}
Рис. 2.4.6 - Ошибка
Пример 1. Дан радиус окружности r = 90 см. Найти:
Решение:
Рис. 3.1 - Радиус
Затем ставим флажок напротив нужной величины (Площадь):
Рис. 3.2 - Флажок напротив нужной величины (Площадь)
Нажимаем на кнопку «Send», данное окно закроется. Перед нами предстанет главное окно, где мы сможем:
Рис. 3.3 - Результат
Рис. 3.4 - Рисунок
Рис. 3.5 - Выбрана длина окружности
Нажимаем на кнопку «Send», данное окно закроется. Перед нами предстанет главное окно, где мы сможем кликнуть по команде «Calc» и получить результат (Рис. 3.6):
Рис. 3.6 - Результат
Разработка этого проекта помогла мне детально разобраться и научиться более качественно работать в Windows.Forms - приложениях.
Эта программа считает площадь круга (Square) и/или длину окружности (Length) по заданному радиусу окружности.
Данный проект состоит из:
А также обеспечивает возможность:
Как вы уже заметили, данный проект весьма актуальный и удобный для подсчета площади круга (Square) и/или длины окружности (Length) по заданному радиусу окружности.