Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб 8 - Графический интерфейс - СФ

.pdf
Скачиваний:
1
Добавлен:
06.11.2022
Размер:
328.94 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего

образования ТОМСКИЙ ГОСУДАРСТВЕЕНЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И

РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

Работа с графическим интерфейсом

Лабораторная работа №8 по дисциплине «Основы программирования» Отчет по лабораторной работе

Студент гр. ххххх

________ хххххххх

16.03.2022

Руководитель: Преподаватель КИБЭВС

_________ ________ ххххххх

16.03.2022

Томск 2022

2

Содержание Введение……………………………………………………………………………………. 3 Теоретические сведения…………………………………………………………………… 4 Ход работы для задания №1………………………………………………………………. 5 Ход работы для задания №2………………………………………………………………. 7

Ход работы для задания №3………………………………………………………………. 9 Заключение………………………………………………………………………………...11

Список использованной литературы……………………………………………………. 12

3

1 Введение

Цель работы: овладеть навыками работы с графическим интерфейсом.

Задание1: Написать программу вычисления стоимости вычисления, состоящей из нескольких тетрадей карандашей. Извне вводится цена Ct тетради количество Kt тетрадей, а

также цена Ck карандаша и количество карандашей Kk.

Задание 2: Написать программу, которая в зависимости от выбранного способа (по формуле суммы или суммированием в цикле) рассчитывает сумму: 1^2+2^2+n^2=n(n+1)(2n+1)/6.

Задание 3: Организовать вычисление с помощью полосы прокрутки для различных n.

причем предусмотреть вычисление как в цикле, так и по формуле, приведенной в правой части выражения: 1^5-2^5+3^5+(-1)^(n-1)*n^5=(1/4)(1+(-1)^n(5*n^2-5*n^4-2*n^5-1)).

4

2 Теоретические сведения

Метод Main является точкой входа для каждого приложения C# и вызывается общеязыковой средой выполнения (CLR) при запуске программы. В приложении,

использующем инструкции верхнего уровня, метод Main создается компилятором и содержит все инструкции верхнего уровня.

Методы объявляются в классе, структуре или интерфейсе путем указания уровня доступа, такого как public или private, необязательных модификаторов, таких как abstract или sealed, возвращаемого значения, имени метода и всех параметров этого метода. Все эти части вместе представляют собой сигнатуру метода.

Вызов метода в объекте аналогичен доступу к полю. После имени объекта добавьте точку, имя метода и круглые скобки. Аргументы перечисляются в этих скобках и разделяются запятыми. Таким образом, методы класса Motorcycle могут вызываться, как показано в следующем примере:

При передаче в метод объекта ссылочного типа передается ссылка на этот объект. То есть метод получает не сам объект, а аргумент, который указывает расположение объекта. При изменении члена объекта с помощью этой ссылки это изменение отражается в аргументе в вызывающем методе, даже если объект передается по значению.

Методы могут возвращать значение вызывающему объекту. Если тип возврата,

указываемый перед именем метода, не void, этот метод может возвращать значение с помощью ключевого слова return . Инструкция с ключевым словом return , за которым следует значение, соответствующее типу возврата, будет возвращать это значение объекту,

вызвавшему метод.

5

3 Ход работы для задания №1

Данный алгоритм состоит из классов. В нем есть классы label, textbox, button. В textbox

вводятся значения, а при нажатии на button происходит расчет.

На рисунке 3.1 представлен результат работы программы.

Ниже представлен сам код программы:

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 WindowsFormsApp7

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

try {

string Kt = textBox1.Text; string Ct = textBox4.Text; string Kk = textBox3.Text; string Ck = textBox2.Text;

MessageBox.Show($"Сумма равна:{int.Parse(Kt) * double.Parse(Ct) + int.Parse(Kk) * double.Parse(Ck)} ", "Сумма", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch(FormatException exception)

{

MessageBox.Show("Введены некорректные данные!!!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

private void textBox1_TextChanged(object sender, EventArgs e)

{

}

private void label1_Click(object sender, EventArgs e)

{

}

private void label3_Click(object sender, EventArgs e)

{

}

}

}

6

}

Рисунок 3.1 - Работа программы 1

Данная программа работает корректно, без каких-либо проблем.

7

4 Ход работы для задания №2

Данный алгоритм состоит из классов. В нем есть классы label, textbox, button, radiobatton. В textbox пользователь вводит значение n, затем пользователь должен выбрать каким методом считать сумму, а потом он должен нажать на кнопку “Счет”.

На рисунке 4.1 представлен результат работы программы.

Ниже представлен сам код программы:

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 WindowsFormsApp8._2

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void textBox1_TextChanged(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

try

{

double n = double.Parse(textBox1.Text); double MainSum;

if( radioButton1.Checked)

{

MainSum = Formula(n);

}

else

{

MainSum = Circle(n);

}

MessageBox.Show($"Сумма равна: {MainSum}", "Сумма", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch (FormatException exception)

{

MessageBox.Show(exception.Message, "Введены некорректные данные!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

private double Formula(double n)

{

return n * (n + 1)*(2 * n + 1) / 6;

}

private double Circle(double n)

{

double MainV = 0;

8

for (int i = 0; i < n+1; i++)

{

MainV += Math.Pow(i, 2);

}

return MainV;

}

}

}

Рисунок 4.1 - Работа программы 2

Данная программа работает корректно, без каких-либо проблем.

9

5 Ход работы для задания №3

Данный алгоритм состоит из классов. В нем есть классы comboBox, button, radiobatton. ComboBox представляет собой ленту прокрутки переменной n, которая задается пользователем, затем пользователь должен выбрать метод расчета либо по формуле суммы,

либо через цикл и нажать на кнопку «Считать».

На рисунке 5.1 представлен результат работы программы.

Ниже представлен сам код программы:

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 WindowsFormsApp8._3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

try

{

int n = int.Parse(comboBox1.Text); double MainSum;

if (radioButton1.Checked)

{

MainSum = Formula(n);

}

else

{

MainSum = Circle(n);

}

MessageBox.Show($"Сумма равна: {MainSum}", "Сумма", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch (FormatException exception)

{

MessageBox.Show(exception.Message, "Введены некорректные данные!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

}

private void radioButton1_CheckedChanged(object sender, EventArgs e)

{

10

}

private double Formula(int n)

{

return (1+Math.Pow(-1, n)*(5*Math.Pow(n, 2)-5*Math.Pow(n, 4)-2*Math.Pow(n,

5)-1))/4;

}

private double Circle(int n)

{

double MainV = 0;

for (int i = 0; i < n + 1; i++)

{

if (i % 2 == 0)

MainV -= Math.Pow(i, 5); else MainV += Math.Pow(i, 5);

}

return MainV;

}

}

}

Рисунок 5.1 - Работа программы 3

Данная программа работает корректно, без каких-либо проблем.