ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.11.2024

Просмотров: 21

Скачиваний: 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. Основные этапы разработки проекта и результаты выполнения описаны и представлены в виде скриншотов в пояснительной записке.