Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Вид формы и полученные результаты представлены на рис. 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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал