![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Вид формы и полученные результаты представлены на рис. 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
Дата публикования: 2015-02-22; Прочитано: 228 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!