Объясните (нам дали олимпиаду, но мы этого не проходили) 1. какой получится вывод после выполнения данной программы, при этом каждый элемент равен своему индексу? var a: array [1..10] of integer; i: byte; s: integer; begin for i: =1 to 10 do read (a[i]); s: =0; for i: =1 to 10 do if i mod 3 = 0 tnen s: =s+a[i]; write (`s=`, s) end. нашла ответ, что s=18, но откуда это взято?
Ну смотри. У тебя цикл выполняется 10 раз. На каждой итерации проверяется, не равен ли остаток от деления счётчика на 3. Если равен, то на значение элемента массива с текущим номером увеличивается переменная S. Счётчик отсчитывается от 1 до 10. Соответственно, подходят значения 3, 6 и 9. Поскольку в массиве, как ты пишешь, номера индексов, то берём их: 3 + 6 + 9 = 18.