рдПрдХ рдЧреИрд░-рд╕реНрдерд┐рд░ рд╕рд░рдгреА рдЗрдВрдбреЗрдХреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ

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


рдЫрд╡рд┐

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


VAR i: INT; OUT: INT; IN: ARRAY [0..4] of INT:= 1, 2, 3, 4, 5; END_VAR OUT := 0; FOR i:= 0 TO 4 DO OUT := OUT + IN[i]; END_FOR; 

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ? рдЗрдирдкреБрдЯ рд╕рдВрдХреЗрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ OUT рдЪрд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рд▓рд┐рдЦрддрд╛ рд╣реИред рдЗрд╕ рдЪрд░ рдХрд╛ рдорд╛рди рд╣реЛрдЧрд╛ 15. рдЕрдм рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреБрдЫ рддреНрд░реБрдЯрд┐ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд░рдгреА рдореЗрдВ рдПрдХ рдиреЙрдирдЯреЗрдХреНрд╕реЗрдВрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░ рдПрдХ рддрддреНрд╡ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред


 VAR i: INT; OUT: INT; IN: ARRAY [0..4] of INT:= 1, 2, 3, 4, 5; END_VAR OUT := 0; FOR i:= -1 TO 4 DO OUT := OUT + IN[i]; END_FOR; 

рдЪрд░ OUT = 15 рдореЗрдВ рдорд╛рди

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


рдПрдХ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдХреЛ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЪрд░ OUT рдореЗрдВ рд╣рдореЗрд╢рд╛ рдорд╛рди рд╣реЛрддрд╛ рд╣реИ 15. рд╣рдо рдХреЗрд╡рд▓ рдЙрд╕ рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рддреНрд░реБрдЯрд┐ -1 рдХреЗ рдмрд░рд╛рдмрд░ рд╕реНрдЯрд╛рд░реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИред


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ


 var IN = [ 1, 2, 3, 4, 5 ]; var OUT = 0; for (var i = -1; i <= 4; i++) { OUT += IN[i]; } console.log('OUT = '+ OUT); 

OUT = NaN

рдЬрд╛рдУ


 package main import "fmt" func main() { IN := [5]int{ 1, 2, 3, 4, 5 } OUT := 0 for i := -1; i <= 4; i++ { OUT += IN[i] } fmt.Printf("OUT = %d", OUT) } 

рдШрдмрд░рд╛рд╣рдЯ: рд░рдирдЯрд╛рдЗрдо рдПрд░рд░: рдЗрдВрдбреЗрдХреНрд╕ рдСрдлрд╝ рд░реЗрдВрдЬ

рдЬрд╛рд╡рд╛


 public class MyClass { public static void main(String args[]) { int[] IN = {1, 2, 3, 4, 5}; int OUT = 0; for (int i = -1; i <= 4; i++) OUT += IN[i]; System.out.printf("OUT = %d", OUT); } } 

рдереНрд░реЗрдб рдореЗрдВ рдЕрдкрд╡рд╛рдж "рдореБрдЦреНрдп" java.lang.ArrayIndexOutOfBoundsException: -1

рдкреАрдПрдЪрдкреА


 <?php $IN = [1, 2, 3, 4, 5]; $OUT = 0; for ($i=-1; $i<=4; $i++) { $OUT += $IN[$i]; } echo('OUT = '.$OUT); 

OUT = 15
PHP рд╕реВрдЪрдирд╛: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдСрдлрд╝рд╕реЗрдЯ: -1

рдЕрдЬрдЧрд░ рей


 IN = [ 1, 2, 3, 4, 5 ]; OUT = 0; for i in range(-1, 5): OUT += IN[i]; print('OUT = {0:1d}'.format(OUT)); 

OUT = 20

рдкрд╛рдпрдерди рдореЗрдВ, рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрдХрди рд╕рд░рдгреА рдХреЗ рдЕрдВрдд рд╕реЗ рдЬрд╛рддрд╛ рд╣реИред


рд╕реА / рд╕реА ++


 #include<stdio.h> int main() { int IN[]= {1,2,3,4,5}; int OUT=0; int i; for (i=-1; i<=4; i++) { OUT += IN[i]; } printf("OUT = %i", OUT); return 0; } 

рд╕реА ++ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде, рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреАред рдпрджрд┐ рдЖрдк рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпреЗ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдВрдЧреЗ:


http://codepad.org


OUT = -143484461

https://ideone.com/ рдПрдЯ рдЕрд▓ред


OUT = 15

https://www.jdoodle.com


OUT = 14

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЙрди рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ C / C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд┐рди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЖрдк рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреА рд░рд╛рдп рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреАред


рд╕реА рддреЗрдЬ


 using System; class Program { static void Main() { int[] IN = new int[] { 1, 2, 3, 4, 5 }; int OUT = 0; for (int i = -1; i <= 4; i++) { OUT += IN[i]; } Console.Write("OUT of IN + y = "+ OUT); } } 

рдЕрдЦрдВрдбрд┐рдд рдЕрдкрд╡рд╛рдж:
System.IndexOutOfRangeException: рдЗрдВрдбреЗрдХреНрд╕ рд╕рд░рдгреА рдХреА рд╕реАрдорд╛ рдХреЗ рдмрд╛рд╣рд░ рдерд╛ред

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


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

Source: https://habr.com/ru/post/hi415911/


All Articles