Лабораторная работа 6. Пользовательские функции
Выполнить: Создайте
проект для вычисления факториала числа. Вычисление должно быть оформлено в виде
пользовательской функции. Запускать функции следует по щелчку на кнопке Вычислить (btnCalc).
Выводить результата следует в текстовое поле (txtFactorial).
Решение:
1.
Создайте новый проект и самостоятельно разработайте интерфейс
новой формы.
2.
Необходимо создать функцию пользователя. Щёлкните дважды по
кнопке. Во открывшемся окне добавьте код перед кодом для кнопки:
private long Factorial(int n) { //... } |
Как мы видим из
описания функции, ее аргументом будет являться целое число (n), а значение (возвращаемое
значение) будет типа Long.
3.
В тело функции необходимо поместить следующий код:
long p = 2; for (int i = 3; i <= n; i++) p = p * i; return p; |
4.
Теперь, чтобы вычислить значение факториала при нажатии
кнопки Вычислить,
необходимо запрограммировать событие Click кнопки
следующим образом:
int numb; if (int.TryParse(txtN.Text, out numb)) { txtFactorial.Text = Factorial(numb).ToString(); } else MessageBox.Show("введите число"); |
Метод TryParse() используется для проверки введенного числа. Если введено
действительно число, то результат преобразования в целое число сохранится в
переменной numb. При вводе неверного значения
выводится сообщение.
5.
Запустите и отладьте приложение.
6.
Программа работает, но есть недостаток. Так как наша функция
описана с помощью оператора Private, то доступна она будет только из
модуля данной формы. Для того чтобы сделать ее доступной для любого модуля
нашего приложения, необходимо описать ее в стандартном модуле, исправив Private на Public:
7.
С помощью меню Project (Проект) и
пункта Add Class (Добавить класс) добавьте
в Ваш проект стандартный класс, изменив ключевое слово private на public и
добавив static.
class Class1 { public static long Factorial(int n) { long p = 2; for (int i = 3; i <= n; i++) p = p * i; return p; } } |
8.
В коде для кнопки измените вызов функции на Class1.Factorial(numb).ToString().
9.
Запустите и отладьте программу.
Дополнительное задание:
1.
Добавьте в стандартный модуль описание следующей функции: xn, n – натуральное число.
Измените внешний вид формы.