рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕рддреБрд░рдВрдд рдореИрдВ рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рд╕реБрдВрджрд░ рдФрд░ рдкреНрд░рднрд╛рд╡реА рд╣реИ :)
рдпрд╣
OOP рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдХреЗ рд╢реБрд░реВ рд╣реБрдЖред рдлрд┐рд░ рд╕рдВрдпреЛрдЧ рд╕реЗ, рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдФрд░ "рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рдкреВрд░реА рдирдХрд▓" рд╡рд┐рд╖рдп рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╡рд╣ рдлреНрд▓рд╛рдИрд╡реЗрдЯ рдкреИрдЯрд░реНрди рдореЗрдВ рдЖрдПред рдХреМрди рдирд╣реАрдВ рдЬрд╛рдирддрд╛ - рдХреГрдкрдпрд╛
рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдкрд╣рд▓реЗ рдкрдврд╝реЗрдВ
ред рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди (рд╡рд┐рдХреА рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдореВрд▓ рдореЗрдВ)ред
рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ:
рдлреНрд▓рд╛рдИрд╡реЗрдЯ рдкреИрдЯрд░реНрди рдХрд╛ рд╡рд░реНрдгрди рд╣реИ рдХрд┐ рдЕрддреНрдпрдзрд┐рдХ рдЙрдЪреНрдЪ рд▓рд╛рдЧрдд рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд╛рде рдмрд╣реБрдд рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдкреНрд░рддреНрдпреЗрдХ рдлрд┐рдЯрд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ: рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА рд░рд╛рдЬреНрдпред рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд (рд╕рд╛рдЭрд╛) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдРрд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рдВрджрд░реНрдн рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрддреА рд╣реИред рдмрд╛рд╣рд░реА рд░рд╛рдЬреНрдп рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдпрд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЕрд╡рд╕рд░рд╡рд╛рджреА рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЙрд╕рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдХрд╛рд░реНрдпрд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕реБрдзрд╛рд░реЗрдВред рдореИрдВ рдЬреИрд╡-рдЧрдгрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдмреЛрд▓реВрдВрдЧрд╛ - рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд░ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдпреЛрдЬрдирд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬреИрд╡-рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛрджрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред
рдкреБрдирд╢реНрдЪ рдпрджрд┐ рдХреЛрдИ рдЖрд░рдПрдирдП / рдкреНрд░реЛрдЯреАрди рдХреЛ рдореЛрдбрд╝рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдкрд░ рд╕реНрд╡рдпрдВ рдЬреИрд╡-рдЧрдгрдирд╛ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ - рдПрдХ рдЖрджреЗрд╢ рдмрдирд╛рдПрдВ, рддреЛ рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ред
рддреЛ рдПрдХ рдЖрд░рдПрдирдП рдСрдмреНрдЬреЗрдХреНрдЯ (рдЖрд░рдПрдирдП) рд╣реИред рд╡рд╣ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЪреЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреАрдПрдирдП, рдкреНрд░реЛрдЯреАрди рдЖрджрд┐ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рдкреНрд░рддреНрдпреЗрдХ рдЖрд░рдПрдирдП рдореЗрдВ рдХрдИ рдЕрдгреБ (рдиреНрдпреВрдХреНрд▓рд┐рдпреЛрдЯрд╛рдЗрдбреНрд╕) (рдЕрдгреБ) рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдгреБ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдЕрдгреБ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА) - рд╕рд╛рдЗрдЯреЛрд╕рд┐рди, рдпреВрд░реИрд╕рд┐рд▓, рдЧреБрдЖрдирд┐рди, рдПрдбреЗрдирд┐рдиред рдкреНрд░рддреНрдпреЗрдХ рдЕрдгреБ, рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, 28-33 рдкрд░рдорд╛рдгреБ (рдПрдЯрдо) рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдорд╛рдгреБ рдХреЗ рддреАрди рдЧрдгрдирд╛ рдХреЛрдг рд╣реИрдВред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ рдХреЛрдг
{
рдирд┐рдЬреА рдирд╛рд╡ рдлрд╝рд╛рдЗ ;
рдирд┐рдЬреА рдлреНрд▓реЛрдЯ рдереАрдЯрд╛ ;
рдирд┐рдЬреА рдирд╛рд╡ d ;
}
рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдкреНрд░рд╛рдердорд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдЧреИрдЧреНрдпреВрдЧрд╕рдЧреИрдХреИрдХреБрдЧреИрдХреБрдЧ - рдПрдХ рддреАрди-рдЖрдпрд╛рдореА рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╛рдиреА рд▓рдЧрднрдЧ 1000 рдкрд░рд╕реНрдкрд░ рдЬреБрдбрд╝реЗ рд╣реБрдП рдкрд░рдорд╛рдгреБ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд░реЗрдЦрд╛рдВрдХрди рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдЧреНрд░рд╛рдл рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдЧрдВрднреАрд░ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдЬреИрд╡ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ 3 рдбреА рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдорд╛рдгреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рдЙрд╕рдХреЗ рдХреЛрдг рджреВрд╕рд░реЗ рдкрд░рдорд╛рдгреБ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЧрдгрдирд╛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЧрдгрдирд╛ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ - рд╣рдо рдЖрд░рдПрдирдП рдХреА рдЕрдВрддрд┐рдо "рдЕрдЪреНрдЫреА" рд╕реНрдерд┐рддрд┐ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ "рд╕реБрдзрд╛рд░" рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдХреЛрдиреЗ рдореЗрдВ рдПрдХ рдЕрдгреБ рдХреЛ рдШреБрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП 1000 рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ 1000 рд╕реЗ, рдХреЗрд╡рд▓ рдПрдХ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдПрдХ "рдЕрдЪреНрдЫрд╛" рд░рд╛рдЬреНрдп рдмрди рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдЧрдгрдирд╛ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИред
рдорд╛рдереЗ рдХрд╛ рдлреИрд╕рд▓рд╛рджрд░рдЕрд╕рд▓, рдпрд╣ рд╢реБрд░реБрдЖрдд рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рд░реЙрд╕реЗрдЯрд╛ @ рд╣реЛрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдерд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1000 рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛рдиреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ
рдЖрд░рдПрдирдП рдмреЗрд╕реНрдЯрдПрдЖрд░рдПрдирдП ;
рдЖрд░рдПрдирдП рдХрд░реЗрдВрдЯрдЖрд░рдПрдирдП ;
рдФрд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдХрд░реНрд░реЗрдВрдЯрд╛ = рдмреЗрд╕реНрдЯрдЯреАрдиред рдХреНрд▓реЛрди ( ) ;
рдЧрдгрдирд╛ ( рдХрд░рдВрдЯ рдЖрд░рдПрдирдП ) ;
рд╕рдорд╕реНрдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЗрд╕ рдХреНрд▓реЛрди () рдХреА рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╕рднреА рдкрд░рдорд╛рдгреБрдУрдВ рдХреЗ рдЧреНрд░рд╛рдл рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред
рдФрд░ рдпрджрд┐ рдЖрдк рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рднреА рдкрд░рдорд╛рдгреБрдУрдВ рдХреЗ рдХреЛрдгреЛрдВ рдХреЛ "рдЕрдЪреНрдЫреА" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорд┐рдЯрд╛ рджреЗрдВрдЧреЗред
рдХреНрд▓рд╛рд╕рд┐рдХ рдлреНрд▓рд╛рдИрд╡реЗрдЯрдХреНрд▓рд╛рд╕рд┐рдХ рдлреНрд▓рд╛рдИрд╡реЗрдЯ рд╣рдореЗрдВ рдкрд░рдорд╛рдгреБрдУрдВ рд╕реЗ рдХреЛрдиреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдлреИрд▓рд╛рдиреЗ рдФрд░ рдКрдкрд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реАрдорд╛ рддрдХ рдХрд┐ рдЖрд░рдПрдирдП рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд┐рдд рд╕рд░рдгреАред рдЗрд╕ рд╕рд░рдгреА рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рддрд╛рдХрд┐ рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рдорд╛рдгреБ рдореЗрдВ рдорд┐рд▓ рд╕рдХреЗрдВред
рдлрд┐рд░, рдЬрдм рдХреНрд▓реЛрдирд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдЗрд╕ рд╕рд░рдгреА рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдкрд░рдорд╛рдгреБрдУрдВ рдХреЗ рдЧреНрд░рд╛рдл рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдУрдУрдкреА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдЧрдгрдирд╛ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЙрдбрд▓ рдЕрдкрдирд╛ рд╕рд╛рд░ рдЦреЛ рджреЗрддрд╛ рд╣реИ - рдХреЛрдг рдЕрдм рдкрд░рдорд╛рдгреБрдУрдВ рдХреЗ рдЧреБрдг рдирд╣реАрдВ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╕рдВрдкреВрд░реНрдг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЧреБрдг рд╣реИрдВред рд╣рд▓реНрдХреЗ рд╕реЗред рдпрд╣ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ, рди рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧред
рдХреНрдпрд╛ рдХрд░реЗрдВ?рдореБрдЦреНрдп рдмрд╛рдд рдкрд╣рд▓реЗ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡
рдореЗрдВ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╛рдиреА рд╣рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдкрд░рдорд╛рдгреБрдУрдВ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд┐рдХреНрдЪрд░ рдХреЛ рддрдм рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлрд┐рд░ рдХрдо рд╕реЗ рдХрдо рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рд╣реЛрдВрдЧреЗ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдкреВрдЫрдирд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬреЛ рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдПрдХрд▓ рдХреЛрдгреЛрдВ рдХреЛ рд╕рдордп рдХреА рд╕рд░рдгрд┐рдпреЛрдВ рд╕реЗ рдмрджрд▓ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рд╕рдордп рдореЗрдВ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рдеред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ рдХреЛрдг
{
рдирд┐рдЬреА рдлреНрд▓реЛрдЯ [ ] рдлрд╝рд┐ = рдирдпрд╛ рдлреНрд▓реЛрдЯ [ рдЪреЗрдиред TimeHistory ] ;
рдирд┐рдЬреА рдирд╛рд╡ [ ] рдереАрдЯрд╛ = рдирдИ рдирд╛рд╡ [ рд╢реНрд░реГрдВрдЦрд▓рд╛ред TimeHistory ] ;
рдирд┐рдЬреА рдлреНрд▓реЛрдЯ [ ] рдбреА = рдирдпрд╛ рдлреНрд▓реЛрдЯ [ рдЪреЗрдиред TimeHistory ] ;
рдЬрдирддрд╛ рддреИрд░рддреА рд╣реИ
{
{{ рдлреА рдлреА [ рдЪреИрдиред рд╕рдордп ] ; }
рд╕реЗрдЯ { рдлреА ] рдЪреЗрдиред рд╕рдордп ] = рдореВрд▓реНрдп ; }
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд╛рд╡ рдереАрдЯрд╛
{
{{ рдереАрдЯрд╛ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ ред рд╕рдордп ] ; }
рд╕реЗрдЯ { рдереАрдЯрд╛ [ рдЪреЗрдиред рд╕рдордп ] = рдореВрд▓реНрдп ; }
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд╛рд╡ D
{
get { рд╡рд╛рдкрд╕реА d [ рдЪреИрдиред рд╕рдордп ] ; }
рд╕реЗрдЯ { d [ рдЪреЗрдиред рд╕рдордп ] = рдореВрд▓реНрдп ; }
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реВрдиреНрдп рд╕реЗрдЯрдЗрдиреНрд╕реЗрд╢рди ( int argTime )
{
рдлреА = рдлреА [ рдЕрд░реНрдЧрд╛рдЗрдо ] ;
рдереАрдЯрд╛ = рдереАрдЯрд╛ [ argTime ] ;
D = d [ argTime ] ;
}
}
рдЖрдЧреЗ рдХрд╛ рд╕рдордп рд╕рд░реНрдХрд┐рдЯ рд╕реНрддрд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рд╕рдмрд╕реЗ рдКрдкрд░реА рд╡рд╕реНрддреБред рдореИрдВ рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВред рдкреВрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд╡рд▓ рдЕрдВрдд рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ (рдХрдерди рдЧрдгрд┐рдд рдореЗрдВ рдЬреИрд╕рд╛ рд╣реИ - рд╢реБрд░реБрдЖрдд рдореЗрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдЕрдВрдд рдореЗрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рд╣реИ)ред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ рдХреА рдЪреЗрди
{
рдирд┐рдЬреА рд╕реНрдерд┐рд░ рдЪреЗрди рдЙрджрд╛рд╣рд░рдг ;
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ ( рдЗрдВрдЯ рдореЛрд▓рд╛рдЙрдВрдЯ )
{
рдЙрджрд╛рд╣рд░рдг = рдпрд╣ ;
}
/// рд╡рд░реНрддрдорд╛рди рд╕рдордп
рдирд┐рдЬреА рдЗрдВрдЯ рдЯрд╛рдЗрдо = 0 ;
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ int рд╕рдордп
{
{ рд░рд┐рдЯрд░реНрди рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд╕рдордп ; }
рд╕реЗрдЯ { рдЙрджрд╛рд╣рд░рдгред рд╕рдордп = рдорд╛рди ; }
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ int OldTime
{
рдкреНрд░рд╛рдкреНрдд
{
int oldTime = рдЙрджрд╛рд╣рд░рдгред рд╕рдордп - 1 ;
рдЕрдЧрд░ ( рдкреБрд░рд╛рдирд╛ рд╕рдордп == - 1 )
{
oldTime = рдЯрд╛рдЗрдорд╣рд╛рдЗрд╕реНрдЯрд░ - 1 ;
}
рдкреБрд░рд╛рдиреЗ рд╕рдордп рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ ;
}
}
/// рд╕рдордп рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрджрдо рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рднрдВрдбрд╛рд░
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ int TimeHistory = 5 ;
рдирд┐рдЬреА рд╕реНрдерд┐рд░ рдЗрдВрдЯ рдкреАрдврд╝реА ;
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ int рдЬрдирд░реЗрд╢рди
{
{ рд╡рд╛рдкрд╕реА рдкреАрдврд╝реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ ; }
}
/// рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕рдордп рдПрдХ рдХрджрдо рдЖрдЧреЗ
рд╕рдВрд░рдХреНрд╖рд┐рдд рд╢реВрдиреНрдп NextTime ( int argGeneration )
{
рд╕рдордп ++ ;
рдЕрдЧрд░ ( рд╕рдордп > = рдЯрд╛рдЗрдорд╣рд┐рд╕реНрдЯреНрд░реА )
{
рд╕рдордп = 0 ;
рдЬрдирд░реЗрд╢рди = argGeneration + 1 ;
CurrentMaxTimeID = 0 ;
}
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реВрдиреНрдп рдЪреЗрдХрдЯрд╛рдЗрдо ( int argTimeID, int argGeneration )
{
// 2 рдкреАрдврд╝реА рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдиреА рдкреАрдврд╝реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдкреАрдврд╝реА рд╣реИ,
// рддрдм рд╕рдордп рдЯрд┐рдХрдЯ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдЯрд┐рдХрдЯреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
// (рдпрд╣ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдФрд░ рдкрд┐рдЫрд▓реА рдкреАрдврд╝реА рдХреЗ рдмреАрдЪ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)
// рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕реЗ рдмрдбрд╝реА рдХреЛрдИ рдкреАрдврд╝реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА
if ( argGeneration < ( рдЬрдирд░реЗрд╢рди - 1 ) ||
( argGeneration == рдЬрдирд░реЗрд╢рди && CurrentMaxTimeID < argTimeID ) ||
рдкреАрдврд╝реА > рдкреАрдврд╝реА )
{
рдХрдВрд╕реЛрд▓ред рд░рд╛рдЗрдЯрд▓рд╛рдЗрди ( "ErrorGenerationRNA" ) ;
рдХрдВрд╕реЛрд▓ред ReadLine ( ) ;
}
рдЕрдЧрд░ ( рд╕рдордп ! = argTimeID )
{
рд╕рдордп = argTimeID ;
}
}
рдирд┐рдЬреА рд╕реНрдерд┐рд░ int CurrentMaxTimeID = 0 ;
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ int GetNextTimeID ( int argCurrentTimeID, int argGeneration )
{
int NextTime = - 1 ;
рдпрджрд┐ ( argGeneration == рдЬрдирд░реЗрд╢рди )
{
NextTime = argCurrentTimeID + 1 ;
}
рдЕрдЧрд░ ( argGeneration == рдЬрдирд░реЗрд╢рди - 1 )
{
рдЕрдЧрд▓реА рдмрд╛рд░ = 0 ;
}
рдЕрдЧрд░ ( CurrentMaxTimeID < NextTime )
{
рдХрд░рдВрдЯрдореИрдХреНрд╕рдЯрд╛рдЗрдордЖрдИрдбреА = рдиреЗрдХреНрд╕реНрдЯ рдЯрд╛рдЗрдо ;
}
рдЕрдЧрд▓реА рдмрд╛рд░ рд▓реМрдЯреЗрдВ ;
}
}
рдЪреЗрди рд╕рд┐рдВрдЧрд▓рдЯрди рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рд╢рд╛рд╕реНрддреНрд░реАрдп рд░реВрдк рд╕реЗ рдирд╣реАрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬрдм рдкрд╣рд▓рд╛ рдЖрд░рдПрдирдП рдСрдмреНрдЬреЗрдХреНрдЯ (рдЪреЗрди рд╡рдВрд╢рдЬ) рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдлреА рдПрдХрдорд╛рддреНрд░ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рдПрдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рдВрджрд░реНрдн рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕рдордп рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрд░рдПрдирдП рд╕реЗ "рдкреБрд░рд╛рдиреА рд╡рд╕реНрддреБрдПрдВ" рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдордп рдореЗрдВ рдирд╣реАрдВред
TimeHistory рдХреЗ рдорд╛рди рд╕реЗ рдПрд░рд░реНрд╕ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рд╛рдкреЗрдХреНрд╖ рдореВрд▓реНрдп рд╣реИ, рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдХрд┐ SIMULTANEOUSLY рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдо рддреМрд░ рдкрд░ рджреЛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдФрд░ рд╡рд░реНрддрдорд╛рдиред рд▓реЗрдХрд┐рди рдЗрд╖реНрдЯрддрдорддрд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛рдХрд░ 5 рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдЧреЗ, рдЬреЛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХреЛ рд╕рдордп рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░рдПрдирдП рдЧреБрдгреЛрдВ / рд╡рд┐рдзрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо "рдордзреНрдпрд╕реНрде" рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡рд░реНрдЧ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИ - рд╡рд╣ рд╣реИ, рдкрд╛рд░рджрд░реНрд╢реА)
RNARealise рдХреЛ RNA рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рджреЗрдВред рдФрд░ рдЕрд╕рд▓реА рдЖрд░рдПрдирдП рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдПрдХ "рдордзреНрдпрд╕реНрде" рдмрдирд╛рддреЗ рд╣реИрдВ:
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ рдЖрд░.рдПрди.рдП.
{
рдирд┐рдЬреА RNARealise рдмреЙрдбреА ;
рдирд┐рдЬреА int TimeID = 0 ;
рдирд┐рдЬреА int GenerationID = 0 ;
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЕрдгреБ [ ] рдЕрдгреБ
{
рдкреНрд░рд╛рдкреНрдд
{
рд╢рд░реАрд░ред рдЪреЗрдХрдЯрд╛рдЗрдо ( рдЯрд╛рдЗрдордЖрдИрдбреА, рдЬреЗрдирд░реЗрд╢рдирдЖрдИрдбреА ) ;
рд╡рд╛рдкрд╕реА рд╢рд░реАрд░ред рдЕрдгреБ ;
}
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрд░рдПрдирдП ( RNASeq argSeq )
{
body = рдирдпрд╛ RNARealise ( argSeq ) ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрд░рдПрдирдП рдХреНрд▓реЛрди ( )
{
рд╢рд░реАрд░ред рдЪреЗрдХрдЯрд╛рдЗрдо ( рдЯрд╛рдЗрдордЖрдИрдбреА, рдЬреЗрдирд░реЗрд╢рдирдЖрдИрдбреА ) ;
рдЖрд░рдПрдирдП рдиреНрдпреВрдЖрд░рдПрдирдП = ( рдЖрд░рдПрдирдП ) рдпрд╣ ред рд╕рджрд╕реНрдпрд╡рд╛рд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ( ) ;
NewRNAред рд╢рд░реАрд░ = рдирдпрд╛ред рд╢рд░реАрд░ ред рдХреНрд▓реЛрди ( рдпрд╣ ред рдЬреЗрдирд░реЗрд╢рдирдЖрдИрдбреА ) ;
NewRNAред TimeID = рдЪреЗрдиред GetNextTimeID ( рдпрд╣ ред TimeID , рдпрд╣ ред GenerationID ) ;
NewRNAред рдкреАрдврд╝реА = рдЬрдВрдЬреАрд░ред рдкреАрдврд╝реА;
рд╡рд╛рдкрд╕реА NewRNA ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реВрдиреНрдп рд╡рд╛рдкрд╕реА ( int argPosition )
{
рд╢рд░реАрд░ред рдЪреЗрдХрдЯрд╛рдЗрдо ( рдЯрд╛рдЗрдордЖрдИрдбреА, рдЬреЗрдирд░реЗрд╢рдирдЖрдИрдбреА ) ;
рд╢рд░реАрд░ред Refold ( argPosition ) ;
}
}
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ - TimeID рдЯрд╛рдЗрдо рд╕реНрдЯреИрдореНрдк рдФрд░ рдЬреЗрдирд░реЗрд╢рдирдЖрдИрдбреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдкреАрдврд╝реАред рдФрд░ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХреНрд╕реЗрд╕ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рд╣рд░ рдмрд╛рд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдмреЙрдбреА.рдЪреЗрдХрдЯрд╛рдЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ (TimeID, GenerationID) рдЙрд╕ рд╕рдордп рдореЗрдВ рд╣реИред
рдФрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрд░рдПрдирдП рдХреНрд▓реЛрди () рдХреНрд▓реЛрдирд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рдордзреНрдпрд╕реНрде рдХрд╛ рдЦреЛрд▓ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рдФрд░ рдкреАрдврд╝реА рдХрд╛ рдПрдХ рдирдпрд╛ рдореБрд╣рд░ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдиреЗрдХреНрд╕реНрдЯрдЯрд╛рдЗрдо рдХреНрд▓реЛрди рдЯрд╛рдЗрдо (argGeneration) рдХрд╛ рдЕрдиреБрд╡рд╛рдж рднреА рд╣реЛрдЧрд╛ред рдФрд░ рдЕрдгреБ рдХреНрд▓реЛрдирд┐рдВрдЧ рдХреЗ рд╕реНрддрд░ рдкрд░, рдХреЛрдиреЛрдВ рдХрд╛ рдЖрд░рдВрднреАрдХрд░рдг рднреА рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп рд╣реЛрдЧрд╛
for ( int i = 1 ; i < FullAnglesред рд▓рдВрдмрд╛рдИ ; i ++ )
{
FullAngles [ i ] ред рд╕реЗрдЯрдЗрдВрд╢реНрдпреЛрд░рд┐рдпрд▓ ( рдЪреЗрдиред рдУрд▓реНрдбрдЯрд╛рдЗрдо ) ;
}
рдЬреЛ рдкреВрд░реНрдг рдХреНрд▓реЛрдирд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдХрдо рд╣реИред рдФрд░ рдкреВрд░рд╛ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ - рдЬрд╣рд╛рдВ рдХреНрд▓реЛрдирд┐рдВрдЧ рдХреА рдЧрдИ рдереА, рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧрдгрдирд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдереА
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реВрдиреНрдп рдЕрд╡рд░реЛрдзрдХ ( )
{
рдЖрд░рдПрдирдП saveRNA = CurrentRNAред рдХреНрд▓реЛрди ( ) ;
locScore = NucFluctuation ( saveRNA ) ;
// рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд░рд╛рдЬреНрдп рдмрдЪрд╛рдУ
рдмрдЪрд╛рдУ ( ) ;
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбрдмрд▓ NucFluctuation ( RNA argRNA )
{
for ( int j = 1 ; j < FragmentCount ; j ++ )
{
рдЖрд░рдПрдирдП locRNA = argRNAред рдХреНрд▓реЛрди ( ) ;
// рд░реЛрдЯреЗрд╢рди рдХрд░реЗрдВ
рдШреБрдорд╛рдПрдБред AtomAngleRotate ( locRNA ) ;
// рдмрд╛рд░реА рдХреА рд▓рд╛рднрдкреНрд░рджрддрд╛ рдХреА рдЧрдгрдирд╛
RNAScoreред рд╕реНрдХреЛрд░ ( locRNA ) ;
}
}
рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдРрд╕рд╛ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░ рдХреЛрдг рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ рднреА рд╕реАрдзреЗ рдКрдкрд░ рд╕реЗ рд╕рдордп рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? (рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЗрд╕реЗ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП "рд╣реЛрдорд╡рд░реНрдХ" рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдЕрдЧрд░ рдпрд╣ рд╕рдордЭрдирд╛ рдЕрднреА рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рддреЛ рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ)ред