Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МВ до ЛР КТтаП 1-1.doc
Скачиваний:
12
Добавлен:
26.11.2019
Размер:
1 Мб
Скачать
☆

2. Методичні вказівки до виконання роботи

Покажемо приклад написання програми для такої задачі: користувач задає два числа ї вибирає із списку одну з операцій для цих чисел (корінь квадратний із суми, різниці, добутку, частки). Результат виводиться на екран додатним числом тільки коли число під коренем не менше нуля, тобто коли це число не є від’ємним. Тому у випадку від’ємного числа під коренем на екран виводиться повідомлення про неможливість виконання вибраної операції. Якщо операція користувачем взагалі не вибрана із списку, то программа теж видає відповідне повідомлення.

Вікно даної програми приведене на рис. 4.1.

Рис. 4.1. Вікно програми.

Основна частина тексту програми приведена нижче.

namespace WindAppRozgalugen

{

public partial class Form1 : Form

{

double x, y, z;

public Form1()

{

InitializeComponent();

textBox1.Text = "5";

textBox2.Text = "10";

listBox1.SelectedIndex = 0;

}

private void InpData(out double x, out double y)

{

x = Convert.ToDouble(textBox1.Text);

y = Convert.ToDouble(textBox2.Text);

}

public double FOper(double x, double y)

{

double res = double.MaxValue;

switch (listBox1.SelectedIndex)

{

case 0: if ((x + y) >= 0) res = Math.Sqrt(x + y);break;

case 1: if ((x - y) >= 0) res = Math.Sqrt(x - y);break;

case 2: if ((x * y) >= 0) res = Math.Sqrt(x * y);break;

case 3: if ((x / y) >= 0) res = Math.Sqrt(x / y);break;

}

return res;

}

private void OutResult(double x, double y, double z)

{

if (z != double.MaxValue) textBox3.AppendText(string.Format

("Результат операції {0} чисел {1} і {2} дорівнює {3:f4} \n",

listBox1.SelectedItem, x, y, z));

else textBox3.AppendText(string.Format

("Операція {0} для чисел {1} і {2} не може бути виконана \n",

listBox1.SelectedItem, x, y));

}

private void button1_Click(object sender, EventArgs e)

{

try

{

InpData(out x, out y);

}

catch

{

MessageBox.Show("Помилка запису числа", "Увага!");

return;

}

z = FOper(x, y);

OutResult(x, y, z);

}

}

}

Керує обчисленнями метод-процедура button1_Click як обробник події Click кнопки button1. Він викликає метод введення даних, метод обчислення результату вибраної із списку операції і метод виведення результату обчислення. Параметри x, y, z об’явлені в класі Form1 як поля даних класу. У цій програмі для створення списку математичних операцій застосований компонент ListBox. Список операцій корінь квадратний із суми, різниці, добутку, частки записують в редактор властивості Items компонента ListBox. Редактор викликається кнопкою з трьома крапками в полі значення властивості. Пощук вибраної користувачем математичної операції реалізований оператором вибору switch в функції FOper двох змінних х і у. Якщо номер вибраного рядка в редакторі співпаде з числом після слова case в операторі switch, то буде виконана відповідна операція, а в іншому випадку буде виконаний оператор вітки default, який повідомленням попередить користувача про те, що операція із списку не вибрана.

Метод введення даних захищений від виключення (аварійного завершення) програми програмним блоком try‑catch.

2. Зміст звіту

  1. Номер, тема і мета лабораторної роботи.

  2. Стислі теоретичні відомості.

  3. Постановка задачі.

  4. Текст програми відповідно до завдання з коментарями та результатами.

  5. Висновки.