Автобус -> Вперед (влево) -> Вперед (вниз) -> Вперед (влево) -> Вперед (вверх) -> Вперед (влево) -> Done!
<em>// PascalABC.NET 3.2, сборка 1387 от 20.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('S=',ReadSeqIntegerWhile(i->i<>0).Average)
end.
<u>Пример</u>
24 18 -25 14 6 11 0
S=8
РЁВ
В Паскале можно декодировать посредством функции chrunicode().
Рассмотрим фрагмент поблочно.
<span>FOR i=1 TO 10
A(i)=5+i
NEXT i
Здесь в цикле для i, меняющегося от 1 до 10, в массив А помещаются значения i+5, т.е. 6, 7, 8, .. 15.
</span><span>FOR i=1 TO 10
IF (A(i)+i >12) THEN
A(i)=A(i)+ i
ENDIF
NEXT i
В этом цикле i также меняется от 1 до 10. Для всех значений </span>элементов массива, которые в сумме со своим порядковым номером в массиве (индексом) превысят 12, значение элемента будет увеличено на этот номер.
a[1]+1=6+1=7. Это число меньше 12 и a[1] остается прежним. Так же, a[2]+2=9, a[3]+3=11 и они тоже не изменятся. Начиная с a]4]+4=13 значения будут изменяться на новые и в результате мы получим семь новых значений: 13, 15, 17,... 25. Все они будут нечетными. И еще одно нечетное значение (7) имеет a[2]. Итого, <em><u>нечетные значения будут иметь 8 элементов.</u></em>
<h3>PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var K := ArrRandom(9, -50, 50);
K.Println;
K.Transform(t -> t * t);
K.Println
end.
<h3>22 -21 36 42 -2 37 42 29 49</h3><h3>484 441 1296 1764 4 1369 1764 841 2401</h3>