На главную

Зачетный проект 6 (windows forms). Пользовательские функции

 

ПРИЛОЖЕНИЯ ДЛЯ WINDOWS FORMS

Лабораторная работа 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.    Добавьте в стандартный модуль описание следующей функции: xnn – натуральное число. Измените внешний вид формы.

На главную