Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 11:31   #1
nadminka
 
Регистрация: 20.04.2010
Сообщений: 7
По умолчанию Создание рекурсивной процедуры на примере вычисления факториала

Создание рекурсивной процедуры на примере вычисления факториала
Шаг 1. Создайте приложение Windows в C# и установите на нее элементы как это показано на рисунке:



Шаг 2. В классе формы объявите две переменные целого типа с именами f и n.

Шаг 3. Создайте в классе формы пользовательскую (рекурсивную) функцию с именем fact

int fact(int i)
{

if (i == 1) { return 1; }
else return i * fact(i - 1);//Здесь вызывается рекурсивно функция fact

}

Шаг 4. Создайте обработчик события на нажатие кнопки Выход.

Шаг 5. Создайте обработчик события на нажатие кнопки Вычислить сле-дующего содержания:

private void button1_Click(object sender, EventArgs e)
{
n = Convert.ToInt32(textBox1.Text);
f = fact(n);
label2.Text = "Факториал f = n! = " + Convert.ToString(f);
}

Шаг 6. Сделайте так, чтобы при вводе вместо целого числа, буквы, строки или дробного числа выводилось соответствующее сообщение о неправиль-ном вводе.
Изображения
Тип файла: jpg Безымянный.jpg (94.9 Кб, 132 просмотров)
nadminka вне форума Ответить с цитированием
Старый 26.05.2010, 11:32   #2
nadminka
 
Регистрация: 20.04.2010
Сообщений: 7
По умолчанию

сделала все кроме Шаг 2. В классе формы объявите две переменные целого типа с именами f и n.
вот что получилось , но шаг 2 так и не могу

Последний раз редактировалось nadminka; 26.05.2010 в 11:35.
nadminka вне форума Ответить с цитированием
Старый 26.05.2010, 11:34   #3
nadminka
 
Регистрация: 20.04.2010
Сообщений: 7
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
                    private void button1_Click(object sender, EventArgs e)
        {
                n = Convert.ToInt32(textBox1.Text);
                f = fact(n);
                label2.Text = "Факториал f = n! = " + Convert.ToString(f);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
                int fact(int i)
        {
            
                if (i == 1) { return 1; }
                else return i * fact(i - 1);//Здесь вызывается рекурсивно функция fact 
            
        }

        }

        }
    
}
nadminka вне форума Ответить с цитированием
Старый 26.05.2010, 12:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но шаг 2 так и не могу
Если не ошибаюсь просто описать:
Код:
public partial class Form1 : Form
    {
       public int f;
       public int n;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
эксел создание видимой всеми процедуры dasmeer Помощь студентам 3 13.03.2010 09:16
Функция вычисления факториала (Паскаль)) Doublefaced Помощь студентам 12 01.10.2009 23:34
Создание процедуры целочисленной матрицы на языке паскаль. Darya Помощь студентам 3 11.05.2009 18:40
Создание процедуры на SQL Skyline20000 SQL, базы данных 0 31.03.2009 16:57
Создание своей процедуры kuzmich Общие вопросы Delphi 7 12.01.2009 15:17