Реализация задания в оконном приложении

Вид формы и полученные результаты представлены на рис. 1.1. Компонента Edit1 используется для ввода n, а компоненты Edit2 и Edit3 – для вывода результатов.

Листинг программы может иметь следующий вид:

Блок-схема функции-обработчика Button1Click представлена на рис. 1.2.

. . .

double Faktorial(int);

double Faktorial_R(int);

//--------------------- Кнопка START ---------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int n = StrToInt(Edit1->Text);

switch(RadioGroup1->ItemIndex) {

case 0:

Edit2->Text = FloatToStrF(Faktorial_R(n), ffFixed, 8, 1);

break;

case 1:

Edit3->Text = FloatToStrF(Faktorial(n), ffFixed, 8, 1);

break;

}

}

//------------------ Функция без рекурсии ---------------------------------------

double Faktorial(int n) {

double f = 1;

for (int i = 1; i <= n; i++) f *= i;

return f;

}

//------------------- Рекурсивная функция ----------------------------------------

double Faktorial_R(int n) {

if (n < 2) return 1;

else

return n*Faktorial_R(n-1);

}

Рис. 1.1

Рис. 1.2

Блок-схемы функций пользователя Faktorial_R и Faktorial представлены на рис. 1.3.

Рис. 1.3


4355451018811674.html
4355489156808158.html
    PR.RU™