Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Реализация задания в оконном приложении
Вид формы и полученные результаты представлены на рис. 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
|