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

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

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

Блок-схема функции-обработчика 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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: