ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.11.2024
Просмотров: 16
Скачиваний: 0
Таблица 2 – Элементы управления формы к заданию 2
Элемент управления |
Пояснение |
2 |
Окно для решения задания 2 |
TextBox1 |
Текстовое поле для ввода значения функции х |
TextBox2 |
Текстовое поле для ввода значения функции a |
TextBox3 |
Текстовое поле для ввода значения функции b |
TextBox5 |
Текстовое поле для ввода значения функции c |
TextBox4 |
Текстовое поле для вывода значения функции F или Z |
Label1, Label2, Label3, Label4, Label5, Label6 |
Метки пояснений |
Button1 |
Кнопка для запуска программного кода для вычисления значения функции |
Button2 |
Кнопка для запуска программного кода для закрытия формы |
PictureBox1 |
Графическое поле для размещения изображения с заданной функцией |
RadioButton1, RadioButton2 |
Кнопка для выбора уравнения, по которому будет решаться задача |
2.3 Разработка блок-схемы
На рисунке 5 представлен алгоритм решения задачи в виде блок-схемы.
конец
начало
Рисунок 5 – Блок-схема к заданию 2
2.4 Разработка программного кода
Далее представлен разработанный программный код. Реализации алгоритма решения задания 2 в соответствие с алгоритмом, представленном в виде блок-схемы на рисунке 5, соответствует процедура button1_Click().
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Math;
namespace WindowsFormsApp3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double c, x, a, b, F, Z;
x = Convert.ToDouble(textBox1.Text);
a = Convert.ToDouble(textBox2.Text);
b = Convert.ToDouble(textBox3.Text);
c = Convert.ToDouble(textBox5.Text);
if (radioButton1.Checked)
{
F = Log10(a + x * x) + Pow(Sin(x/b), 2);
textBox4.Text = Convert.ToString(F);
textBox4.Text = string.Format("{0,10:F3}", F);
label5.Text = Convert.ToString("F = ");
}
else
{
Z = Exp(-1*c * x) * ((x+Sqrt(x+a))/(x-Sqrt(Abs(x-b))));
textBox4.Text = Convert.ToString(Z);
textBox4.Text = string.Format("{0,10:F3}", Z);
label5.Text = Convert.ToString("Z = ");
}
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
}
}
На рисунке 6 представлен результат вычислений
Рисунок 6 – Пример выполнения задания 2
3 Индивидуальное задание 3
3.1 Постановка задачи
Создать форму, программный код которой позволяет вычислить объем и площадь полной поверхности цилиндра, если известны высота и радиус основания.
Входные данные:
H – высота цилиндра, вещественное число (Double).
r – радиус основания, вещественное число (Double).
Выходные данные:
V – объем цилиндра, вещественное число (Double).
S – площадь полной поверхности цилиндра, вещественное число (Double).
3.2 Разработка интерфейса
На рисунке 7 представлен интерфейс формы для решения задания 3.
Рисунок 7 – Интерфейс формы для задания 3
В таблице 3 перечислены элементы управления, которые были использованы при создании интерфейса.
Таблица 3 – Элементы управления формы к заданию 3
Элемент управления |
Пояснение |
Form 1 |
Окно для решения задания 3 |
TextBox1 |
Текстовое поле для ввода значения функции H |
TextBox2 |
Текстовое поле для ввода значения функции r |
Label1, Label2, Label3, Label4, Label5 |
Метки пояснений |
Button1 |
Кнопка для запуска программного кода для вычисления значения функции |
Button2 |
Кнопка для запуска программного кода для закрытия формы |
TextBox4 |
Текстовое поле для вывода значения площади или объема |
RadioButton1, RadioButton2 |
Кнопка для выбора подзадачи |
3.3 Разработка блок-схемы
На рисунке 8 представлен алгоритм решения задачи в виде блок-схемы.
конец
начало
.
Рисунок 8 – Блок-схема к заданию 3
3.4 Разработка программного кода
Далее представлен разработанный программный код. Реализации алгоритма решения задания 3 в соответствие с алгоритмом, представленном в виде блок-схемы на рисунке 8, соответствует процедура button1_Click().
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Math;
namespace WindowsFormsApp1
{
public partial class F : Form
{
public F()
{
InitializeComponent();
}
private void label2_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
double h, r, S, V;
h = Convert.ToDouble(textBox1.Text);
r = Convert.ToDouble(textBox2.Text);
if (radioButton1.Checked)
{
V = PI*r*r*h;
textBox3.Text = Convert.ToString(V);
label5.Text = Convert.ToString("Объем =");
}
else
{
S = 2*PI*r*h + 2*PI*r*r;
textBox3.Text = Convert.ToString(S);
label5.Text = Convert.ToString("Площадь поверхности =");
}
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
}
}
На рисунке 9 представлен результат вычислений
Рисунок 9 – Пример выполнения задания 3
4 Вывод:
В данной лабораторной работе по изучению типовых алгоритмов обработки были рассмотрены примеры реализации приложений линейной и разветвляющейся структуры на языке программирования С#. Был создан и протестирован многооконный проект, каждая форма которого была предназначена для решения одной задачи из индивидуальных заданий по варианту №1. Основные этапы разработки проекта и результаты выполнения описаны и представлены в виде скриншотов в пояснительной записке.