ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.11.2024
Просмотров: 37
Скачиваний: 0
2.2 Разработка интерфейса
На рисунке 4 представлен интерфейс формы для решения задания 2.
Рисунок 4 – Интерфейс формы для задания 2
В таблице 2 перечислены элементы управления, которые были использованы при создании интерфейса.
Таблица 2 – Элементы управления формы к заданию 2
Элемент управления |
Пояснение |
Form 3 |
Окно для решения задания 2 |
TextBox1 |
Текстовое поле для вывода всех двузначных чисел, подходящих условию |
Button1 |
Кнопка для запуска программного кода для вычисления двузначных чисел |
Button2 |
Кнопка для запуска программного кода для закрытия формы |
PictureBox1 |
Графическое поле для размещения изображения с заданной функцией |
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;
namespace лаба_2
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "";
int a = 10, i, j;
while (a < 100) {
i = a % 10;
j = a / 10;
if ((i * i + j * j)% 15 == 0) {
textBox1.Text += string.Format("{0,8:F0} \t\r\n", a);
}
a += 1;
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}}
На рисунке 6 представлен результат вычислений
Рисунок 6 – Пример выполнения задания 2
3 Индивидуальное задание 3
3.1 Постановка задачи
Создать приложение, позволяющее решить следующие подзадачи:
1) Протабулировать функцию на диапазоне изменения аргумента [0,1;0,8] с шагом, задаваемым пользователем.
2) Протабулировать сумму S функционального ряда на том же отрезке с тем же шагом. Значение функционального ряда S вычислите с заданной точностью ɛ (задается пользователем)
№) Сравнить значение заданной функции со значением, полученным путем вычисления суммы ряда. Для этого вычислите абсолютную и относительную погрешность вычисления суммы ряда.
3.2 Разработка интерфейса
На рисунке 7 представлен интерфейс формы для решения задания 3.
Рисунок 7 – Интерфейс формы для задания 3
В таблице 3 перечислены элементы управления, которые были использованы при создании интерфейса.
Таблица 3 – Элементы управления формы к заданию 3
Элемент управления |
Пояснение |
Form 4 |
Окно для решения задания 3 |
TextBox1 |
Текстовое поле для ввода начала диапазона |
TextBox2 |
Текстовое поле для ввода конца диапазона |
TextBox3 |
Текстовое поле для ввода шага |
TextBox4 |
Текстовое поле для ввода точности |
TextBox5 |
Текстовое поле для вывода вычислений задания 3 |
Label1, Label2, Label3, Label4, Label5, Label6 |
Метки пояснений |
Button1 |
Кнопка для запуска программного кода для вычисления |
Button2 |
Кнопка для запуска программного кода для закрытия формы |
PictureBox1 |
Графическое поле для размещения изображения с функциональным рядом и функцией |
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 лаба_2
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double a, b, eps, step, x, y, s = 0, n, fact, f, abc, otn, k = 1;
a = Convert.ToDouble(textBox7.Text);
b = Convert.ToDouble(textBox6.Text);
eps = Convert.ToDouble(textBox3.Text);
step = Convert.ToDouble(textBox1.Text);
textBox2.Text = " x\t f(x)\t S\t Абс./Отн." + Environment.NewLine;
for (x = a; x <= b; x += step)
{
n = 1;
fact = 1;
f = (x * (3 - x)) / (Pow(1 - x, 3));
s = x;
do
{
k *= n * (n + 2) * Pow(x, n);
s += k;
n++;
} while (Abs(k) > eps);
abc = Abs(s - f);
otn = abc / s;
textBox2.Text += string.Format("{0,8:F2}\t{1,8:F4}\t{2,8:F5}\t{3,8:F4}/{4,8:F4}\t \r"+ Environment.NewLine, x, f, s, otn, abc );
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
}
На рисунке 9 представлен результат вычислений
Рисунок 9 – Пример выполнения задания 3
4 Вывод:
В данной лабораторной работе по изучению типовых алгоритмов обработки были рассмотрены примеры реализации на языке программирования С# был создан и протестирован многооконный проект, каждая форма которого была предназначена для решения одной задачи из индивидуальных заданий по варианту №15. Основные этапы разработки проекта и результаты выполнения описаны и представлены в виде скриншотов в пояснительной записке.