Ввод/вывод данных в программу
Рассмотрим один из способов ввода данных через элементы, раз-мещенные на форме. Для ввода данных чаще всего используют элемент управления TextBox, через обращение к его свойству Text. Свойство Text хранит в себе строку введенных символов. Поэтому данные можно считать таким образом:
private void button1_Click(object sender,EventArgs e)
{
string s = textBox1.Text;
}
Однако со строкой символов трудно производить арифметиче-ские операции, поэтому лучше всего при вводе числовых данных пе-ревести строку в целое или вещественное число. Для этого у типов int и double существуют методы Parse для преобразования строк
в числа. С этими числами можно производить различные арифмети-ческие действия. Таким образом, предыдущий пример можно переде-лать следующим образом:
private void button1_Click(object sender, EventArgs e)
{
string s = textBox1.Text;
23
int a = int.Parse(s);
int b = a * a;
}
В языках программирования в дробных числах чаще всего исполь-зуется точка, например: «15.7». Однако в C# методы преобразова-
ния строк в числа (вроде double.Parse() или Convert.ToFloat())
учитывают региональные настройки Windows, в которых в качест-ве десятичной точки используется символ запятой (например, «15,7»). Поэтому в полях TextBox в формах следует вводить дроб-ные числа с запятой, а не с точкой. В противном случае преобразо-вание не выполнится, а программа остановится с ошибкой.
Перед выводом числовые данные следует преобразовать назад
|
|
в строку. Для этого у каждой переменной существует метод ToString(), который возвращает в результате строку с символьным представлением значения. Вывод данных можно осуществлять в элементы TextBox или Label, используя свойство Text. Например:
private void button1_Click(object sender, EventArgs e)
{
string s = textBox1.Text;
int a = int.Parse(s);
int b = a * a;
label1.Text = b.ToString();
}
Арифметические действия и стандартные функции
При вычислении выражения, стоящего в правой части оператора присвоения, могут использоваться арифметические операции:
· умножение (×);
· сложение (+);
· вычитание (–);
· деление (/);
· остаток от деления (%).
Для задания приоритетов операций могут использоваться круглые скобки ( ). Также могут использоваться стандартные математические функции, представленные методами класса Math:
· Math.Sin(a) – синус;
· Math.Sinh(a) – гиперболический синус;
24
· Math.Cos(a) – косинус (аргумент задается в радианах);
· Math.Atan(a) – арктангенс (аргумент задается в радианах);
· Math.Log(a) – натуральный логарифм;
· Math.Exp(a) – экспонента;
· Math.Pow(x, y) – возводит переменную x в степень y;
· Math.Sqrt(a) – квадратный корень;
· Math.Abs(a) – модуль числа;
· Math.Truncate(a) – целая часть числа;
· Math.Round(a) – округление числа.
|
|
В тригонометрических функциях все аргументы задаются в радианах.
Пример написания программы
З а д а н и е : составить программу вычисления для заданных зна-чений x, y, z арифметического выражения:
u =tg2( x + y )-e y -z cos x 2 + sin z2
Панель диалога программы организовать в виде, представленном на рис. 2.2.
Для вывода результатов работы программы в программе использу-ется текстовое окно, которое представлено обычным элементом управ-ления. После установки свойства Multiline в True появляется возмож-ность растягивать элемент управления не только по горизонтали, но и по вертикали. А после установки свойства ScrollBars в значение Both в окне появится вертикальная, а при необходимости и горизон-тальная полосы прокрутки.
Рис. 2.2. Внешний вид программы
25
Информация, которая отображается построчно в окне, находится
в массиве строк Lines, каждая строка которого имеет тип string. Одна-ко нельзя напрямую обратиться к этому свойству для добавления новых строк, поскольку размер массивов в C# определяется в момент их ини-циализации. Для добавления нового элемента используется свойство Text, к текущему содержимому которого можно добавить новую строку:
|
|
textBox4.Text += Environment.NewLine + "Привет";
В этом примере к текущему содержимому окна добавляется символ перевода курсора на новую строку (который может отличаться в разных операционных системах и потому представлен свойством класса Environment) и сама новая строка. Если добавляется числовое значение, то его предварительно нужно привести в символьный вид методом
ToString().
Работа с программой происходит следующим образом. Нажмите (щелкните мышью) кнопку «Выполнить». В окне textBox4 появляется результат. Измените исходные значения x, y, z в окнах textBox1– textBox3 и снова нажмите кнопку «Выполнить» – появятся новые ре-зультаты.
Полный текст программы имеет следующий вид:
using System;
using System.Windows.Forms;
namespace MyFirstApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Начальное значение X textBox1.Text = "3,4";
// Начальное значение Y textBox2.Text = "0,74";
// Начальное значение Z textBox3.Text = "19,43";
}
26
private void button1_Click(object sender, EventArgs e)
{
// Считывание значения X
double x = double.Parse(textBox1.Text);
// Вывод значения X в окно textBox4.Text += Environment.NewLine +
"X = " + x.ToString();
// Считывание значения Y
|
|
double y = double.Parse(textBox2.Text);
// Вывод значения Y в окно textBox4.Text += Environment.NewLine +
"Y = " + y.ToString();
// Считывание значения Z
double z = double.Parse(textBox3.Text);
// Вывод значения Z в окно textBox4.Text += Environment.NewLine +
"Z = " + z.ToString();
// Вычисляем арифметическое выражение double a = Math.Tan(x + y) *
Math.Tan(x + y); double b = Math.Exp(y ‐ z);
double c = Math.Sqrt(Math.Cos(x*x) + Math.Sin(z*z));
double u = a ‐b * c;
// Выводим результат в окно textBox4.Text += Environment.NewLine +
"Результат U = " + u.ToString();
}
}
}
Если просто скопировать этот текст и заменить им то, что было
в редакторе кода Visual Studio, то программа не заработает. Правильнее будет создать обработчики событий Load у формы и Click у кнопки и уже в них вставить соответствующий код. Это замечание относится и ко всем последующим лабораторным работам.
Дата добавления: 2020-04-08; просмотров: 295; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!