рд╕реБрдИ рдЦреЛрдЬрдиреЗ рдХреА рдХреМрди рд╕реА рд╡рд┐рдзрд┐ рддреЗрдЬ рд╣реИ? рдПрдХ рддрд┐рдирдХреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ, рдпрд╛ рдЧрд▓рддреА рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЗрдЦреЛ?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдкреНрд░рдпреЛрдЧ рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд╛рдзрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЬреНрдЮрд╛рди, рдПрдХ Arduino рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░, рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдХрджрдо "рд╕рдордЭ"
рдореБрдЭреЗ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ? рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдордп рд╡реНрдпрддреАрдд рд╣реБрдЖред рдХреЗрд╡рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рдпреЛрдЧ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдХрдИ рдмрд╛рд░ рд╡рд┐рдзрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдЬрд┐рд╕ рд╕рдордп рдореЗрдВ рдореЗрд░реА рд░реБрдЪрд┐ рд╣реИ рд╡рд╣ рдФрд╕рдд рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЕрдЧрд▓рд╛ рдЪрд░рдг рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рдФрд░ рдХреМрди рд╕реЗ рдЪрд░ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред рд╕рдордп рдХреА рд░рд╛рд╢рд┐ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ:
"Time_poslMetod" рдФрд░ "Time_randMetod"ред
рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
# рдбреЗрдлрд┐рди рдЗрдЯрд░ 1000ред
рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
#define Iter 10000 #define cell 100 uint8_t potenArr[cell];
рдЪрд░рдг рджреЛ "рдХреЛрдб рд▓рд┐рдЦреЗрдВ"
рдХреЗ рд▓рд┐рдП рд▓реВрдк рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрдВрджрд░ рд╣рдо
рд╕реБрдИ рдХреЛ рдзрдбрд╝ рдореЗрдВ "рдлреЗрдВрдХ" рдХрд░реЗрдВрдЧреЗ, рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдорд╛рдкреЗрдВрдЧреЗ, рд╕рдордп рдХреЛ "рд╡реИрд╢реНрд╡рд┐рдХ" (Time_poslMetod / Time_andandMetod) рдЪрд░ (рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП) рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред
рдпрд╣ рдореЗрд░реЗ рддрд░реАрдХреЛрдВ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рд╣реИред
рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╡рд┐рдзрд┐:
void poslMetod(){ startTime = millis(); for(uint16_t i = 0; i < cell; i++){ if(potenArr[i] == 1){ endTime = millis() - startTime; break; } } Time_poslMetod += endTime; }
рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рдордп рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЦреЛрдЬ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рд╕реЗ рдЗрд╕реЗ рдШрдЯрд╛рддреЗ рд╣реИрдВред рд╣рдо рдкрд╣рд▓реЗ рддрддреНрд╡ рд╕реЗ рдЕрдВрддрд┐рдо рддрдХ рд╕рд░рдгреА (рд╕реНрдЯреИрдХ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдЬрдм рд╣рдо
рд╕реБрдИ рдвреВрдВрдврддреЗ рд╣реИрдВ, рддреЛ рд╕рдордп рд▓рд┐рдЦреЗрдВ, рдЦреЛрдЬ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ, "рд╡реИрд╢реНрд╡рд┐рдХ" (Time_poslMetod) рдЪрд░ рдореЗрдВ рд╕рдордп рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╡рд┐рдзрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдзрд┐:
void randMetod(){ startTime = millis(); for(;;){ uint16_t r = random(cell + 1); if(potenArr[r] == 1){ endTime = millis() - startTime; break; } } Time_randMetod += endTime; }
рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рд░рдгреА рддрддреНрд╡ (рд╕реНрдЯреИрдХ рдореЗрдВ рдПрдХ рдЬрдЧрд╣) рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рднрд╛рдЧреНрдп рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рд╣рдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ
рд╕реБрдИ рдкрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд╣рдо
рд╕реБрдИ рдвреВрдВрдврддреЗ рд╣реИрдВ, рд╕рдордп рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЦреЛрдЬ рдкреВрд░реА рдХрд░рддреЗ рд╣реИрдВ, рд╕рдордп рдХреЛ "рд╡реИрд╢реНрд╡рд┐рдХ" (Time_randMetod) рдЪрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╡рд┐рдзрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рдзрд┐ рд╣рдореЗрдВ рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреА рд╣реИ рдХрд┐ рдпрд╣ рддреЗрдЬрд╝ рд╣реИ, рдЗрд╕ рдирд╕ рдореЗрдВ рдпрд╣ рдФрд░ рднреА рдзреАрдорд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рднрд╛рдЧреНрдп рд╣рдорд╛рд░реА рддрд░рдл рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдвреЗрд░ рд╕реНрдерд╛рдиреЛрдВ рдХреА 100 рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рд╕рдордп рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ 100 рдЬрд╛рдВрдЪреЛрдВ рдХреА рдПрдХ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╡рд┐рдзрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдордиреЗ рдкреВрд░реЗ рд╕реНрдЯреИрдХ рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдордп рдмрд┐рддрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реБрдИ рдХреЛ рдкрд╛рдпрд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рднреА, рдореИрдВ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╣реВрдВ, рддреЛ рдЪрд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛, рдХреЛрдб рдХреЛ рдЪрдордХрд╛рдирд╛, рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдирд╛:
рд╕рдВрдкреВрд░реНрдг рдХреЛрдб #define Iter 10000 #define cell 100 uint8_t potenArr[cell];
рдЪрд░рдг рддреАрди "рдкрд░рд┐рдгрд╛рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг"
рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

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