Урок 6 (windows forms). Пользовательские функции

Лабораторные работы си шарп. Пользовательские функции»

Приложения для Windows forms

Lab 8. Пользовательские функции

Выполнить: Создайте проект для вычисления факториала числа. Вычисление должно быть оформлено в виде пользовательской функции. Запускать функции следует по щелчку на кнопке Вычислить (btnCalc). Выводить результата следует в текстовое поле (txtFactorial).

[Solution and Project name: Lab8, file name Lab8.cs]

✍ Решение:

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

  1. Добавьте в стандартный модуль описание следующей функции: xn, n – натуральное число. Измените внешний вид формы.