рдирдорд╕реНрдХрд╛рд░ рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВред рдпрд╣ рдЖрд▓реЗрдЦ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмреНрд▓реЙрдХ рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧрд╛, рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдкрд╣рд▓реЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдореЙрдбрд▓ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛), рдФрд░ рдЙрддреНрдкрдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреАред рд╡рд┐рд╖рдп рд╕реНрд╡рдпрдВ рдмрд╣реБрдд рдЧрдВрднреАрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрднрд╡ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдПрдирд╛рд▓реЙрдЧ рдХреА рднрд╛рд░реА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рдХрдбрд╝рд╛рдИ рд╕реЗ рддреИрдпрд╛рд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рднрд╛рдЧ рдФрд░ рдЕрдиреНрдп рдХрдард┐рдирд╛рдЗрдпрд╛рдВ)ред
рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА 1. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА
рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдФрдкрдЪрд╛рд░рд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдердо рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдВрддрд┐рдо рдХреЛрдб рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдпреЛрдЬрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреЛ рдХреБрдЫ рдХреЙрд▓рд┐рдВрдЧ / рд╕реЗрд╡рд╛рд░рдд рдХреЛрдб рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реВрддреНрд░реАрдХрд░рдг рдХреЛ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдмреНрд▓реЙрдХ рдкреНрд░рд╛рдердорд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдмрджрд▓реЗ рдореЗрдВ, рд╕рдмрдХреНрд░рд╛рдЗрдХрд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ), рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реНрд░реЗрдгреА-рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреА рдкрджрд╛рдиреБрдХреНрд░рдо рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд░реНрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдмрдпрд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдФрд░ рдкреНрд░рдгрд╛рд▓реА рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ред рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдпрд╛рди рдХреЛ рдХреБрдЫ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛, рдореИрдВрдиреЗ рдЬреАрдПрдирдпреВ рдкреНрд░реЛрд▓реЙрдЧ рдЪреБрдирд╛ред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ, рдЖрдк рдЕрдХреНрд╕рд░ рд╕рдорд╛рдзрд╛рди рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ, рдмреНрд▓реЙрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЗрд╕ рдкрд╣рд▓реЗ рдЪрд░рдг (рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╡рд┐рд╡рд░рдг) рдХреЛ "рдЫреЛрдбрд╝" рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдореА рд╕рдорд╛рдзрд╛рди рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдерд╛, рдЬреЛ рдПрдХ рдХреЛрдб рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЗ "рдИрдВрдЯреЛрдВ" рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВред рдпрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рд╕рдВрднрд╡ рд╣реИрдВ, рдореИрдВ рдХреБрдЫ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд░реНрдгрди рдХрд░реВрдБрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдереЗред рдкреАрдврд╝реА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдШреЛрд╖рдгрд╛рдУрдВ рдХреА рдкреАрдврд╝реА, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рднрд╛рдЧ рдХреА рдкреАрдврд╝реА, рдореБрдЦреНрдп рднрд╛рдЧ рдХреЗ рдЪрд░рдгреЛрдВ, рдбреА-рдЖрд░рдВрднреАрдХрд░рдг), рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреИрд╕реНрдХреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдХреИрд╕реНрдХреЗрдбреНрд╕ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реБрдП, рдпрд╣ рдпреЛрдЬрдирд╛ рдШрдЯрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдореЙрдбрд▓ рд▓реВрдкрд┐рдВрдЧ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП) рдЗрд╕реА рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдШрдЯрдирд╛ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ (рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмреНрд▓реЙрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд), рд╕рд╛рде рд╣реА рд╕рд╛рде рдбреЗрдЯрд╛ рдкрд░ рднреА рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЙрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕рдорд╛рдзрд╛рди рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдРрд╕реА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ рдЬреЛ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ (рдФрд░, рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдордирдорд╛рдирд╛ рдкрд╛рда)ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ PHP рднрд╛рд╖рд╛ рдХреЛ рдЪреБрдирд╛ - рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдордирдорд╛рдирд╛ рдкрд╛рда рдЯреБрдХрдбрд╝реЗ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдЯреНрдпреВрдирд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдЙрддреНрдкрдиреНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИ "рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг (рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо, рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдорд╛рдзреНрдп)":<? if ($Stage == stInit) { $argumentID = $Arg["ID"][0]; $argumentSize = $Arg["Size"][0]; $resultID = GetNextMail("result" . $this->ID); if ($this->Op == "Min") { echo " " . $resultID . " = 1E300;\n"; } else if ($this->Op == "Max") { echo " " . $resultID . " = -1E300;\n"; } elseif ($this->Op == "Avr") { echo " " . $resultID . " = 0.0;\n"; } ?> for (i = 0; i < <? echo $argumentSize; ?>; i++) <? if ($this->Op == "Min") { ?> if (<? echo $argumentID . "[i] < " . $resultID; ?>) <? echo $resultID . " = " . $argumentID . "[i];\n"; } else if ($this->Op == "Max") { ?> if (<? echo $argumentID . "[i] > " . $resultID; ?>) <? echo $resultID . " = " . $argumentID . "[i];\n"; } elseif ($this->Op == "Avr") { echo " " . $resultID . " += " . $argumentID . "[i];\n"; } if ($this->Op == "Avr") { echo " " . $resultID . " /= " . $argumentSize . ";\n"; } } ?>
рдпрд╣ рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдЬреЛ рдРрд╕реА рдкреАрдврд╝реА рдпреЛрдЬрдирд╛ (PGEN ++) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдирд┐рд░реНрдгрд╛рдпрдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдкреАрдврд╝реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ:
рдХ) рдкреНрд░рджреВрд╖рдг рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреА рдореЙрдбрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ;
рдмреА) рд╕рд░рд▓ рд░реЛрдмреЛрдЯ рдореИрдирд┐рдкреБрд▓реЗрдЯрд░ рдХреА рдХреБрдЫ рдХреАрдиреЗрдореЗрдЯрд┐рдХреНрд╕ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди;
рд╕) рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо (рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо, рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдорд╛рдзреНрдп рдХреА рдЦреЛрдЬ);
рдбреА) рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА PROFTEST рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ред
рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╕реНрдпрд╛
рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╡рд░рдг (рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо) рдХрд╛
рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ :

рдФрд░ рдпрд╣
рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛
рдкрд░рд┐рдгрд╛рдо рд╣реИ :

2. рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛: рдЙрддреНрдкрдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдорд╕реНрдпрд╛ (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЙрдбрд▓) рдХреЗ рдмрдпрд╛рди рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдгред рдЙрддреНрдкрдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рд╕рддреНрдпрд╛рдкрди
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖, рдФрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рд╣реИред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЙрдбрд▓ рдП рдерд╛, рддреЛ рдЙрд╕ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдореЙрдбрд▓ рдмреА рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдореЙрдбрд▓ рдП рдФрд░ рдмреА рд╕рдВрдпреЛрдЧ рд╣реЛрдиреЗ рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдореЗрдВ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрджрд╛рдиреБрдХреНрд░рдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдПред рдЙрдирдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рдереЗред рдЙрдиреНрд╣реЗрдВ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВред рдлрд┐рд░ рд╕реНрд░реЛрдд рдХрд╛рд░реНрдпрдХреНрд░рдо (рдпрд╛, рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдкрд╛рда) рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХреА рдорд╛рдиреНрдпрддрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рдлрд▓ рдорд╛рдиреНрдпрддрд╛ рдкрд░, рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ / рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░рдпреБрдХреНрдд рдореЙрдбрд▓ рддрддреНрд╡реЛрдВ рдХреЗ рд╕реЗрдЯ (рдкрд╛рда рдХреЛ "рдкрдврд╝рдиреЗ" рдХреЗ рдХреНрд░рдо рдореЗрдВ) рдПрдХ рдСрд░реНрдбрд░ рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдФрд░ рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рд╕рдВрдмрдВрдз рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрдгрдп рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдорд╛рдиреНрдпрддрд╛ рдкрджреНрдзрддрд┐, рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдорд╛рдиреНрдпрддрд╛ рднрд╛рдЧ (рдпрд╣ рд╕рдВрд╢реЛрдзрд┐рдд рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ) рдФрд░ рдирд┐рд░реНрдгрд╛рдпрдХ рднрд╛рдЧ (рдЬреАрдПрдирдпреВ рдкреНрд░реЛрд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рдкреНрд░реА-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (рдбрд┐рдХреНрд╢рдирд░реА рдЪреЗрдХ, рд▓реЗрд╡реЗрдВрд╕рд╣реЗрдЯрд┐рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рдЬрд╝реА рдЪреЗрдХ, рдХреЛрд╖реНрдардХ рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рдВрддреБрд▓рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ), рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕реНрдЯреЗрдЬ рдкрд░ред "рддреЗрдЬреА" рдХрд╛ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг) рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рд░реНрдХрд┐рдЯ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпрдХреНрд╖ рдЖрд╡реЗрджрди рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛ (рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо, рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдорд╛рдзреНрдп рдХреА рдЦреЛрдЬ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореВрд▓ рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдореЙрдбрд▓ рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рддреНрдпрд╛рдкрди рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ, рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдЧреЗред
3. рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬрдирд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдХреГрддрд┐рдХ-рднрд╛рд╖рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╕рдордп (рдКрдкрд░ рд╡рд░реНрдгрд┐рдд), рд╕рдорд╕реНрдпрд╛ рдХреЗ рдореЙрдбрд▓ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдкрд╛рда рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдмрд╕ рдЙрдкрдпреБрдХреНрдд рдорд╛рдиреНрдпрддрд╛ рд╡рд┐рдзрд┐рдпрд╛рдБ рд▓рд┐рдЦреЗрдВред рдЗрд╕рд▓рд┐рдП, рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреАрдврд╝реА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
a) рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╕рд░рд▓ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ;
рдмреА) рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ - рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдмрдпрд╛рди рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдХреЗ рдмрдпрд╛рди (рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╡рд╕реНрддреБрдУрдВ-рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ) рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ;
рдЧ) рдкреНрд░рд╛рдкреНрдд рдФрдкрдЪрд╛рд░рд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдФрд░ рдпрд╣ рд╕рд░реНрдХрд┐рдЯ рдХрд╛рдо рднреА рдХрд░рддрд╛ рд╣реИред рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдПрдХ рд╣реА рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣рд╛рдВ
рдПрдХ рдорд╛рдиреНрдпрддрд╛ рдкрджреНрдзрддрд┐ ("рдПрдХ рд╡реЗрдХреНрдЯрд░ рдпрд╛ рдПрдХ рд╕реНрдХреЗрд▓рд░ рджрд░реНрдЬ рдХрд░реЗрдВ" рдХреАрдкреИрдб рд╡рд░реНрдЧ) рдХрд╛
рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ , рдЬреЛ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ (рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд╛рда рдХреА рдорд╛рдиреНрдпрддрд╛ (рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЛрдб) рдпрд╛ рд░реВрд╕реА (рд░реВрд╕реА рдореЛрдб) рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдпрд╛рди рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдорд╛рдиреНрдпрддрд╛) рдХреА рдорд╛рдиреНрдпрддрд╛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рдиреНрдпрддрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдлрд┐рд░ GNU рдкреНрд░реЛрд▓реЙрдЧ рдкрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред
@versions(Programmatical) @global_unique(PROCESS,infinity):- (\s*for\s*\(i\s*\=\s*0\;\s*i\s*\<\s*(\d+)->{N}\;\s*i\+\+\)\s*\{\\n\s*printf\(\"(\w+)->{VECTOR} \[\%i\]\s*\=\s*\"\,\s*i\)\;\\n\s*scanf\(\"\%lf\"\,\s*\&(\w+)==>{VECTOR}\[i\]\)\;\\n\s*\}\\n)| (\s*printf\(\"(\w+)->{SCALAR}\s*\=\s*\"\)\;\\n\s*scanf\(\"\%lf\"\,\s*\&(\w+)==>{SCALAR}\)\;\\n). @versions(Russian) @nearest(db_vvedem,2,"db_vvedem.csv"). @fast(db_var,"db_var.csv"). @global_unique(PROCESS,infinity):- (()->{VAR}([--]+)?=>{db_vvedem($)}\s+((\s+\s+)?)->{KEYB} ([--]+)?=>{db_var($,$VAR)}\s+(\w+)->{ID}((\s+\s+)?)!=>{KEYB}\s*\.). @versions(Russian) handle:-xpath('PROCESS','//ID/text()',[VText]), xpath('PROCESS','//VAR/text()',['0']), simple_vector(_,VText,_), global_id(GID),assertz(simple_act(GID,in,VText,'')),!. handle:-xpath('PROCESS','//ID/text()',[SText]), xpath('PROCESS','//VAR/text()',['1']), global_id(GID),assertz(simple_act(GID,in,SText,'')),!. @versions(Programmatical) handle:-xpath('PROCESS','//VECTOR/text()',[VText]), xpath('PROCESS','//N/text()',[NText]), simple_vector(_,VText,NText), global_id(GID),assertz(simple_act(GID,in,VText,'')),!. handle:-xpath('PROCESS','//SCALAR/text()',[SText]), simple_scalar(_,SText), global_id(GID),assertz(simple_act(GID,in,SText,'')),!. @versions(Programmatical,Russian) @goal:- handle,!. @done:- clear_db.
рд░реВрд╕реА рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдпрд╛рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг: . max. min. V 10 . V . V min. V max. min . max . V . .
рдФрд░
рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╛рдХреГрддрд┐рдХ-рднрд╛рд╖рд╛ рд╡рд┐рд╡рд░рдг рд╕реЗ рдкреНрд░рдгрд╛рд▓реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рд╕рдорд╕реНрдпрд╛ рдХрд╛
рдореЙрдбрд▓ :

4. рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ
рдЙрд▓рдЯреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╕рдордп, рдХреБрдЫ рднреА рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ "рд╕реБрдзрд╛рд░" рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп (рдордирдорд╛рдирд╛ рдЪрд░рд┐рддреНрд░) рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдПрдХ рдкрд╣рдЪрд╛рди рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдорд╛рдирд╛рдВрддрд░" рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред рдпрд╣ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рдХрд╛ рдПрдХ рд╕реНрдерд┐рд░ рдФрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ Cilk / Cilk ++ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реБрдзрд╛рд░ рдХрд╛рд░реНрдп рдХреЛ рд╡рд┐рдзрд┐рдпреЛрдВ (рдЬреАрдПрдирдпреВ рдкреНрд░реЛрд▓реЙрдЧ рдкрд░) рдХреЛ рдорд╛рдиреНрдпрддрд╛ рджреЗрдХрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг (рдЙрд╕рдиреЗ cilk_spawn рдФрд░ cilk_syncbives рдбрд╛рд▓рд╛): #include <stdio.h> #include <math.h> #include <omp.h> #define PI 3.14159265358 #define NX 100 #define NY 100 #define MaxT 0.001 #define h 0.01 #define tau 0.00001 #define cilk_spawn _Cilk_spawn #define cilk_sync _Cilk_sync void F( double x, double y, double t, double * val ){ double r = sqrt(x*x + y*y); double result = 0.0; int i; for ( i = 0; i < 300; i++ ) result += exp(-r*t)*sin(0.1*i*r + 0.5*PI); *val = result; } int main( ){ double f[NY][NX] = {0.0}; double v[NY][NX] = {0.0}; double v1[NY][NX] = {0.0}; double t; int x, y; double start = omp_get_wtime(); for ( t = 0.0; t < MaxT; t += tau ) { for ( y = 1; y < NY-1; y++ ) for ( x = 1; x < NX-1; x++ ) cilk_spawn F(x*h, y*h, t, &f[y][x]); for ( y = 1; y < NY-1; y++ ) for ( x = 1; x < NX-1; x++ ) { cilk_sync; v1[y][x] = v[y][x] + tau*((v[y-1][x]+v[y+1][x]+v[y][x-1]+v[y][x+1]-4.0*v[y][x])/h/h - f[y][x]); } for ( y = 1; y < NY-1; y++ ) for ( x = 1; x < NX-1; x++ ) v[y][x] = v1[y][x]; } for ( y = 0; y < NY; y++ ) { for ( x = 0; x < NX; x++ ) printf("%lf ", v[y][x]); printf("\n"); } printf("Total time = %lf\n", omp_get_wtime() - start); return 0; }
5. рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдХрдерд╛ред рдмрдВрдж рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдордирдорд╛рдиреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдФрд░ рдкрд╣рдЪрд╛рди
рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ / рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдордирдорд╛рдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдмрд╕ рдХреЛрдИ рд╕реЛрд░реНрд╕ рдХреЛрдб рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╣реА рдХрд╛рдордХрд╛рдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрд╛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рддрдерд╛рдХрдерд┐рдд "рдореЗрдЯрд╛ рд▓реЗрдпрд░" рдХреЗ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдШрдЯрдХ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдХреНрд░рдо рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ (рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди, рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛, рдЖрджрд┐) рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдкрдиреЗ рддрд░реНрдХ рдХрд╛ рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рдмрд░рд╛рдмрд░ рдПрдХ рд░реВрдкред рдлрд┐рд░ рдпрд╣ рдРрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ - рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЙрдбрд▓ (рдпрд╛ рдореЙрдбрд▓) рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрдо рд╕реЗ рдХрдо рд╢реБрджреНрдзрддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдРрд╕реЗ "рдореЗрдЯрд╛рд╕реЗрд▓реЗрдпрд░" рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдПрдХ рдмрд╛рд░ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ C / C ++ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛; рдЗрддрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╢рд╛рдпрдж рдХрд┐рд╕реА рджрд┐рди рдХреЛрдИ рдРрд╕рд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред
6. рдирд┐рд╖реНрдХрд░реНрд╖
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдФрд░ рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╢реИрдХреНрд╖рдгрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдирд┐рд░реНрдгрдп рдкреВрд░реНрдг рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд╡реАрдирддрд╛ рдХрд╛ рдвреЛрдВрдЧ рдХрд░рддреЗ рд╣реИрдВред