Var ar:array[1..5] of integer; i,s:integer; begin randomize; writeln('Array:'); for i:=1 to 5 do begin ar[i]:=random(5,37); writeln(ar[i]); s:=s+ar[i]; end; writeln('Sum=',s); end.
//2
Var ar:array[1..20] of integer; i,s:integer; begin randomize; writeln('Array:'); for i:=1 to 20 do begin ar[i]:=random(-77,123); writeln(ar[i]); if ar[i] mod 2<>0 then s:=s+1; end; writeln('Count=',s); end.
//3
Var ar:array[1..5] of integer; i:integer; r:real; begin writeln('Array:'); for i:=1 to 5 do begin readln(ar[i]); r:=r+ar[i]; end; r:=r/5; writeln('Res=',r); end.
В данном случае достаточно просто идти с конца. Скажем, если есть число 99, очевидно, последней командой было "прибавить 1". Далее, 98 - может быть получено умножением на 2, и следует выбирать именно эту команду - программа точно не будет превосходить по размеру вариант, где последней операцией является сложение. Например, 98 - 49 - 48 короче, чем 98 - 97 - 96 - 48
Датчик цвета
Датчик касания
Гироскопический датчик