рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ

1ред рдкрд░рд┐рдЪрдп


рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рд╕рдмрд░реВрдЯреАрдиреНрд╕ (рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдмрд░реВрдЯреАрди) рдХрд╛ рдкреНрд░рднрд╛рд╡ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╕реБрдмрд╣ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд, рд╡реЗ рдЖрдЬ рддрдХ рдЕрдкрдиреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдирд╣реАрдВ рдЦреЛрддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдмрд┐рдирд╛, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗрд╡рд▓ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╡реЗ рдмрд╣реБрдд рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╢реБрджреНрдз рд╕рд┐рджреНрдзрд╛рдВрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИред

рдСрдЯреЛрдореЗрдЯрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ, рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдЯреЛрдореЗрдЯрди рд╕рдмрдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ (рдПрдПрдордкреА) рдХрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реЛрдЧрд╛, рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдСрдЯреЛрдореЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕рдорд╛рди (рдиреЗрд╕реНрдЯреЗрдб) тАЛтАЛрдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕рдВрдЧрдарди, рдмрд╣реБрдд рд╣реА рд╕рддрд╣реА рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрддрд░ [1, 2] рдкрд░ рдиреЗрд╕реНрдЯреЗрдб рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИ рдФрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд░реНрдХрд┐рдЯ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдЧреЗ рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрд╛ рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдлрд┐рд░ рдСрдЯреЛрдореЗрдЯрди рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ред

рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреА рдФрдкрдЪрд╛рд░рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди, рджреВрд╕рд░реА рдУрд░, рдореЙрдбрд▓ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛ред

2. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо


рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ [3] рдореЗрдВ, рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ (рдПрдкреА) рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЙрдбрд▓ рдХреА рдХреЗрд╡рд▓ рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛ рджреА рдЧрдИ рдереАред рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, рддрдереНрдпрд╛рддреНрдордХ рдЧрдгрдирд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдЯреЛрдореЗрдЯрди C ++ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рджрд┐рдирдЪрд░реНрдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЪреВрдВрдХрд┐ рд╣рдо рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рд╣рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВрдЧреЗред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдоред

рдПрдХ рдПрдкреАрдЖрдИ рдореЗрдВ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдорд╢реАрди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ 1 рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ FSimpleFactorial automaton рд╡рд░реНрдЧ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ automaton рджрд┐рдирдЪрд░реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ "00" рдореЗрдВ рд╣реИ (рдЙрдкрдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП [3] рджреЗрдЦреЗрдВ)ред рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕реНрддрд░ рдкрд░, рдмрдирд╛рдИ рдЧрдИ рдСрдЯреЛрдореЗрдЯрди рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ "f0" рд╕реЗ рдЕрдВрддрд┐рдо рдЕрд╡рд╕реНрдерд╛ "00" рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдлреИрдХреНрдЯрд░рд┐рдпрд▓ рдореЗрдореЛрд░рд┐рдпрд▓ рдлрдВрдХреНрд╢рди (рдлреИрдХреНрдЯрд░рд┐рдпрд▓ (...)) рдХреЗ рдПрдХреНрд╢рди y1 рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдЗрд╕ рд╕рдВрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдЯреЛрдореЗрдЯрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1. рдПрдПрдордПрд╕ рд╕реЗ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛
#include "lfsaappl.h"

class FSimpleFactorial : public LFsaAppl
{
public:
    double dF{1};		//	 
    FSimpleFactorial(int n);
    virtual ~FSimpleFactorial() {};
private:
    int nN{0};
    void y1();
    double factorial(int n);
};

#include "stdafx.h"
#include "FSimpleFactorial.h"

LArc TT_SimpleFactorial[] = {
    LArc("f0", "00", "--",	"y1"),		//
    LArc()
};
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
FSimpleFactorial::FSimpleFactorial(int n)
    :LFsaAppl(TT_SimpleFactorial, "FSimpleFactorial")
{
    nN = n;
}
//
void FSimpleFactorial::y1() { dF = factorial(nN); }

double FSimpleFactorial::factorial(int n)
{
    if (n == 0) return 1;
    else return n*factorial(n-1);
}


рдЪреВрдВрдХрд┐ FSimpleFactorial рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди (рд╕рдмрд░реВрдЯреАрди) рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ "рдЖрд╡рд░рдг" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЛ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рддреА рд╣реИред рдЙрд╕рдХрд╛ рдЙрджрд╛рд╣рд░рдг FTskSimple рдирд╛рдордХ рдПрдХ рд╡рд╕реНрддреБ рд╕реЗ рдЙрддреНрдкрдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рд╕реВрдЪреА 2 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2. рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛
#include "lfsaappl.h"

class FTskSimple : public LFsaAppl
{
public:
    LFsaAppl* Create(CVarFSA *pCVF) { Q_UNUSED(pCVF)return new FTskSimple(nameFsa); }
    bool FCreationOfLinksForVariables();
    FTskSimple(string strNam);
    virtual ~FTskSimple();

    CVar    *pVarF;
    CVar    *pVarN;
    CVar    *pVarStart;

    LFsaAppl *pFCall{nullptr};
protected:
    int x1();
    void y1(); void y2(); void y3();
};

#include "stdafx.h"
#include "FTskSimple.h"
#include "FSimpleFactorial.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
LArc TT_Task[] = {
    LArc("st", "t1", "--",	"y1"),	//
    LArc("t1", "t2", "x1",	"y3"),	//
    LArc("t2", "t1", "--",	"y2"),	//
    };

FTskSimple::FTskSimple(string strNam)
    :LFsaAppl(TT_Task, strNam)
{
}

FTskSimple::~FTskSimple() { if (pFCall) delete pFCall; }

bool FTskSimple::FCreationOfLinksForVariables() {
    pVarF = CreateLocVar("dF", CLocVar::vtDouble, "factorial value");
    pVarN = CreateLocVar("nN", CLocVar::vtInteger, "input value");
    pVarStart = CreateLocVar("bStart", CLocVar::vtBool, "start?");
    return true;
}

int FTskSimple::x1() { return pVarStart->GetDataSrc(); }

void FTskSimple::y1()
{
    // reset flag start
    pVarStart->SetDataSrc(this, 0.0);
    // creating and calling a subroutine
    pFCall = new FSimpleFactorial(pVarN->GetDataSrc());
}
void FTskSimple::y2()
{
    // display factorial value
    pVarF->SetDataSrc(this, static_cast<FSimpleFactorial*>(pFCall)->dF);
}

void FTskSimple::y3()
{
    // reset flag start
    pVarStart->SetDataSrc(this, 0.0);
    static_cast<FSimpleFactorial*>(pFCall)->nN = pVarN->GetDataSrc();
    // creating and calling a subroutine
    pFCall->FCall(this);
}


рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ "st" рд╕реЗ рд░рд╛рдЬреНрдп "t1" рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдкрд░ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреА рд╣реИ FSimpleFactorial, рдЬреЛ рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди (рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрде рдореЗрдВ, рдПрдХ рд╕рдмрдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд╛ рдЖрдзрд╛рд░ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреВрд▓рд┐рдпрди рдкреНрд░рдХрд╛рд░ bStart рдХреЗ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ (рдпрд╣ рднреА рдХреЛрдб 1 рдХреЛ рджреЗрдЦреЗрдВ), рдпрд╣ рд░рд╛рдЬреНрдп "t1" рд╕реЗ "t2" рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЗрд╕ рд╕рдВрдХреНрд░рдордг рдкрд░, y1 рдХреА рдХреНрд░рд┐рдпрд╛, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рдорд╛рди рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддреА рд╣реИ (рдЧрд▓рдд рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП) рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, FCall рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ, рдЬреЛ рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди рдмрдирд╛рддреА рд╣реИред

рд╡реАрдХреЗрдкреАрдП рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдСрдЯреЛрдореЗрдЯрд╛ рдХреЗ рджреБрднрд╛рд╖рд┐рдпрд╛ рдПрдореНрдмреЗрдбреЗрдб рдСрдЯреЛрдореЗрдЯрди рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░рд╛рдЬреНрдп "f0" рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдХреЗ рд░рд╛рдЬреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд░реНрддрдорд╛рди рд░рд╛рдЬреНрдп рдмрди рдЬрд╛рддреЗ рд╣реИрдВред рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди рдХрд╛ рдЕрдВрддрд┐рдо рд░рд╛рдЬреНрдп "00" рдореЗрдВ рд╕рдВрдХреНрд░рдордг рд░рд╛рдЬреНрдп рдХреЗ рдЯреА 2 рдХреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдСрдЯреЛрдореЗрдЯреЛрди рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХреЛ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕реНрддрд░ рдкрд░ рдФрд░ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рддрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛, рд░рд╛рдЬреНрдп "t2" рд╕реЗ рд░рд╛рдЬреНрдп "t1" рддрдХ рдмрд┐рдирд╛ рд╢рд░реНрдд рд╕рдВрдХреНрд░рдордг рдкрд░, рдХрд╛рд░реНрд░рд╡рд╛рдИ y2 рдХрд░рддреА рд╣реИ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ dF рдХреЗ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рднрд╛рдЬреНрдп рдХреА рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рд╢реАрд░реНрд╖-рд╕реНрддрд░ рдХреЗ рдСрдЯреЛрдореЗрдЯрди рдХреЗ рдЕрдЧрд▓реЗ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЗ рдмрд╛рдж рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рдСрдЯреЛрдореЗрдЯрди рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдкрд░рд┐рдгрд╛рдо) рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдпрд╣ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдп рдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереЗред рд╕рд╛рдорд╛рдиреНрдп рд╕рдмрд░реВрдЯреАрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдШреЛрдВрд╕рд▓реЗ рдХреЗ рдХрд╛рд░рдг, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рд╢рд░реНрдд рдкрд░рдорд╛рдгреБрддрд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХреБрд▓ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдПрдХ рдЕрд╕рддрдд рдЪрд╛рд▓реЛрдВ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлреИрдХреНрдЯрд░рд┐рдпрд▓ рдХреА рдЧрдгрдирд╛ рдХрд╛рдлреА рдЫреЛрдЯреА рд╣реИ рдФрд░ рдПрди = 170 рдХреЗ рд▓рд┐рдП рдПрдХ рдбрдмрд▓ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рддрдХ 1 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рдмрдбрд╝реЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХреЛ рд▓рдВрдмреЗ рдЕрдВрдХрдЧрдгрд┐рдд рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [4, 5])ред рдЗрд╕реА рд╕рдордп, рдлреИрдХреНрдЯрд░рд┐рдпрд▓ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рди рд╕рдордп рдФрд░ рднреА рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд▓рдЧрднрдЧ рдЕрд╕рддрдд рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╢реЗрд╖ рдиреЗрдЯрд╡рд░реНрдХ рдорд╢реАрдиреЛрдВ рдХреА рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдЖрд╡реЗрджрди рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд╕рддрдд рдШрдбрд╝реА рдЪрдХреНрд░ рд╕реЗ рдкрд░реЗ рдЬрд╛рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдЧрд╛, рдЬреЛ рдЕрдкрдиреЗ "рдмреНрд░реЗрдХ" рдореЗрдВ рд╣реА рдкреНрд░рдХрдЯ рд╣реЛрдЧрд╛ред

рдЖрдк рдПрдХ рдЕрд╕рддрдд рдШрдбрд╝реА рдЪрдХреНрд░ рдХреЗ рднреАрддрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЧрдгрдирд╛ рдХреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдХреЗ "рдмреНрд░реЗрдХ" рджреЛрд╖ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп рдлреИрдХреНрдЯрд░рд┐рдпрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рдЪ рд╣реИ, рдСрдЯреЛрдореЗрдЯрд╛ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдореЛрдб рдХреЗ рдХрд╛рд░рдг, рдЧрдгрдирд╛ рдХрд╛ рд╕рдордп рдмрдврд╝ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрд╡реЗрджрди рдХреЗ рд▓реМрдХрд┐рдХ рдЧреБрдг рд╕рд╛рдорд╛рдиреНрдп рдкрд░ рд▓реМрдЯ рдЖрдПрдВрдЧреЗред

рд╕реВрдЪреА 3 рдЕрдкрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рдФрд░ рдПрдХ рдСрдЯреЛрдореЗрдЯрди рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рдж рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдлреЙрд░реНрдо рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЧрдгрдирд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рдорд╛рдгреБ рдЪрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдлреЙрд░реНрдо y = f (...) рдХреЗ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ f рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдпрд╛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдРрд╕рд╛ рд░рд┐рдХреЙрд░реНрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕рдордп рдХреЛ рдорд╛рд╕реНрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЪрд░ y рдХреЗ рдореВрд▓реНрдп рдХреЗ "рддрд╛рддреНрдХрд╛рд▓рд┐рдХ" рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рдЧрд▓рдд рдЫрд╛рдк рдмрдирд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рди рддреЛ рдХреЛрдИ рд╣реИ рдФрд░ рди рд╣реА рд╣реИред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 3. рддрдереНрдпрд╛рддреНрдордХ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдп
int factorial(int n)
{
    if (n == 0) return 1;
    else return n*factorial(n-1);
}

double Factorial(int n)
{
    double dF = 1;
    if (n == 0)
        return dF;
    else {
        double dPrev = Factorial(n-1);
        double dF = n*dPrev;
        return dF;
    }
}


рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдкрд░рдорд╛рдгреБ рдХреНрд░рд┐рдпрд╛рдУрдВ (рд╡рд┐рдзрд┐рдпреЛрдВ) рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХреБрд▓ рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдордп рдСрдЯреЛрдореЗрдЯрди рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗ рдЕрд╕рддрдд рд╕рдордп рдХреЗ рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рддреЛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдкрдиреЗ рдФрдкрдЪрд╛рд░рд┐рдХ рдореЙрдбрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рдЯрд┐рдкреНрдкрдгреА 1. рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рдЕрд╕рддрдд рдШрдбрд╝реА рдЪрдХреНрд░ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдХреБрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛рдлреА рджреГрдврд╝рддрд╛ рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЪрдХреНрд░ рдХреЗ рд╕рдордп рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡реАрдХреЗрдкреАрдП рдкрд░реНрдпрд╛рд╡рд░рдг рдСрдЯреЛрдореЛрдЯрди рд╕реНрдкреЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдХреЗ рдЪрдХреНрд░реЛрдВ рдореЗрдВ рдЗрд╕рдХреА рднрд░рдкрд╛рдИ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдмрд╛рдж рдХреЗ рдЪрдХреНрд░реЛрдВ рдХреЗ рдЕрд╕рддрдд рд╕рдордп рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

рдЕрдВрдЬреАрд░ рдореЗрдВред рдЪрд┐рддреНрд░ 1 рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдорд╛рд░реНрдХрдЕрдк рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдПрдХ рд╕рдорд╛рди рдкрд░рд┐рдорд┐рдд рд░рд╛рдЬреНрдп рдорд╢реАрди рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЙрд╕рдХреЗ рд╡рд┐рдзреЗрдп рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдо рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЖрдЯреЛрдореЗрдЯрди рдХреЗ рдЧреНрд░рд╛рдл рдХреЗ рд░реВрдк рдореЗрдВ рдСрдЯреЛрдореЗрдЯрди рдореЙрдбрд▓ рд╣реА рдЕрдВрдЬреАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред 2.

рдЫрд╡рд┐
рдЕрдВрдЬреАрд░ред 1. рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо factorial рдЕрдВрдЬреАрд░ рдХреЗ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ

рдЫрд╡рд┐
ред 2. рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рднрд╛рдЬреНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдПрдХ рдСрдЯреЛрдореЗрдЯрди рдореЙрдбрд▓

рднрд╛рдЬреНрдп рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рджрд┐рдирдЪрд░реНрдпрд╛ рдХрд╛ рдХреЛрдб рд╕реВрдЪреА 4 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдВрдХреНрд░рдордг рддрд╛рд▓рд┐рдХрд╛ (рдЯреАрдкреА) рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдПрдордПрд╕ рдореЗрдВ рднрд╛рдЬреНрдп рдХреА рдЧрдгрдирд╛ рдХреЗ рд╕рдордп рдФрд░ n = 170 рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдЕрд╕рддрдд рдЪрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рдФрд░ рдпрджрд┐ рдЧрдгрдирд╛ рдХрд╛ рд╕рдордп рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ / рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рдХрд╛рд░ (рдбрд┐рдмрдЧ / рд░рд┐рд▓реАрдЬрд╝) рдХреА рдЧрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЕрд╕рддрдд рдЪрд░рдгреЛрдВ (рдШрдбрд╝реА рдЪрдХреНрд░) рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗрд╡рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЧреБрдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЧрддрд┐ рдХреЗ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреА рд╣реИред

рдПрдХ рдСрдЯреЛрдореЗрдЯрди рдореЙрдбрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрд╕рддрдд рдЯрд┐рдХреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд░реВрдк рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░, рдХреБрдЫ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╕реВрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдмреАрдЪ, рдРрд╕реЗ рдЕрдиреБрдорд╛рди рдмрд╣реБрдд рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИрдВ рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ, рдЕрдХреНрд╕рд░ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 4. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрдереНрдпрд╛рддреНрдордХ рджрд┐рдирдЪрд░реНрдпрд╛
#include "lfsaappl.h"

class FFactRec : public LFsaAppl
{
public:
    FFactRec(int n);
    virtual ~FFactRec() { if (pFFactRec) delete pFFactRec; };
    int nN;		//	n
    double dF;	//	n!
private:
	int x1();
    void y1(); void y2(); void y3();
protected:
    void CallFactorial();
    double  PrevFactorial();
    FFactRec *pFFactRec{nullptr};
};

#include "stdafx.h"
#include "FFactRec.h"

#define QT_NO_DEBUG_OUTPUT

extern LArc TT_FactRec[];
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//	   
FFactRec::FFactRec(int n)
    :LFsaAppl(TT_FactRec, "FFactRec")
{
    nN=n; dF=1;
}

LArc TT_FactRec[] = {
//        Debug    Release     Steps
//msec: 120-129   98-101        340
    LArc("f1", "00", "x1",	"y3"),	//
    LArc("f1", "f2", "^x1",	"y1"),	//
    LArc("f2", "00", "--",	"y2"),	//
    LArc()
};

int FFactRec::x1() { return nN==0; }
//   
void FFactRec::y1() { CallFactorial(); }
//	1.      
//	2.    
void FFactRec::y2() { dF = PrevFactorial()*nN; }
// 0!
void FFactRec::y3() { dF = 1; }
//   (  )
void FFactRec::CallFactorial()	{
    //	     
    pFFactRec = new FFactRec(nN-1);
    pFFactRec->FCall(this);
};
//    
double  FFactRec::PrevFactorial()	{ return pFFactRec->dF; };


3. рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╣рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдФрд░ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝рдХрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рджрд┐рдирдЪрд░реНрдпрд╛ - рд▓рдЧрднрдЧ рд▓рдЧрд╛рддрд╛рд░ рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВред рдЙрдирдореЗрдВ рд╕реЗ, рдЗрдирд░рдЯрд┐рдпрд▓ рдирд╛рдордХ рд╕рдмрд░реВрдЯреАрди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ (рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, [3] рджреЗрдЦреЗрдВ)ред рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред

рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рд┐рджреНрдзрд╛рдВрдд [6] рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рджрд┐рдирдЪрд░реНрдпрд╛ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд┐рдирд╛, рд╕рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рд╕реЗ рдПрдХ рдХреБрд╢рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдореЙрдбрд▓ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП (рд▓реЗрдЦ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ), рдЙрдкрдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЗрд╕реЗ рдПрдХ рд╣реА рдЪрдХреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдмреЗрд╡рдХреВрдлреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдХреНрд╖ рддрдВрддреНрд░ рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рдзреАрдорд╛ рд╣реЛрдЧрд╛, рдмреЗрд╢рдХ, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реИ (рдПрдХ рд╣реА рд╕реНрдЯреИрдХ рдореЗрдореЛрд░реА рдХрд╛ рдЦрд░реНрдЪ), рд▓реЗрдХрд┐рди рдореМрдЬреВрджрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд▓реЗрдХрд┐рди рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рднреА рдПрд▓реНрдЧреЛрд░рд┐рдердо рдореЙрдбрд▓ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХрддрд╛ рдФрд░ рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВред рдЗрд╕ рдЕрд░реНрде рдореЗрдВ, рдСрдЯреЛрдореЗрдЯрди рдореЙрдбрд▓ рди рдХреЗрд╡рд▓ рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ "рдСрдЯреЛрдореЗрдЯреЛрди рдЪрд┐рдкреНрд╕" рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИ - рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдореЛрдВ рдХреА рдЧрдгрдирд╛, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрджрд┐ред рдЖрджрд┐ред

рд▓рдбрд╝рд╛рдИ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛рдлреА рд╣рдж рддрдХ рд╡реНрдпрд░реНрде рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВ, рд╡рд╣ рдмреЛрд▓реА: "рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╡рд┐рдзрд┐ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реИ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрднреА-рдХрднреА рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдордЭрдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдФрд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдПрдХ рдлрд╛рдпрджрд╛ рд╣реЛрдЧрд╛ тАЭ[7]ред рдореИрдВ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рджрдо рдкрд░ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЙрдбрд▓ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВ, рдПрдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдореЙрдбрд▓ рдХреЗ "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧреБрдгреЛрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдФрд░ рдЖрдЦрд┐рд░ рдХрд╛ред рдлрд┐рд░ рднреА, рдореИрдВ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ - рдХрд┐ рдХреЛрд░рдЯрд╛рдЗрди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИрдВ? рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдпрд╣ рдкреВрдЫ рд▓рд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓рд╛ ... рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╣ рдПрдХ рдорд┐рд▓рд┐рдпрди рдХреЛрд░рдЖрдЙрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП [8] рджреЗрдЦреЗрдВ) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдШреЛрдВрд╕рд▓реЗ рдХрд╛ рд╕реНрддрд░ рд╣реИ рдЬреЛ рд╕рдорд╛рди рдпрд╛ рдЙрдЪреНрдЪ рдирд╣реАрдВ рд╣реИред рдФрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдХреЗрд╡рд▓ рдореБрдЭреЗ рд╣реА рдирд╣реАрдВ рдорд┐рд▓рддрд╛ ... [реп]

рд╕рд╛рд╣рд┐рддреНрдп
1. .., .. . I, . ., 1981, 2, 135-144. [ ], : mi.mathnet.ru/at5725 . . . ( 10.03.2020).
2. .., .. . II, . ., 1981, 3, 112-121. [ ], : mi.mathnet.ru/at5743 . . . ( 10.03.2020).
3. . [ ], : habr.com/ru/post/484588 . . . ( 10.03.2020).
4. . [ ], : habr.com/ru/post/255761 . . . ( 10.03.2020).
5. C++. [ ], : habr.com/ru/post/172285 . . . ( 10.03.2020).
6. . . : . . тАУ .: , 1983. тАУ 256 .
7. , ? Python. Ethan Jarrell. Recursion vs. Looping in Python [ ], : nuancesprog.ru/p/3325 . . . ( 15.03.2020).
8. Your first coroutine with Kotlin. [ ], : kotlinlang.org/docs/tutorials/coroutines/coroutines-basic-jvm.html . . . ( 18.03.2020).
9. . CyberForum.ru. [ ], : www.cyberforum.ru/unity/thread2479923.html . . . ( 18.03.2020).

All Articles