Var A,k:integer;
Begin
k:=-1;
Repeat
Read(A);
if A mod 2 = 0 then k:=k+1;
Until A=0;
WriteLn('k = ',k)
End.
Рассмотрим фрагмент поблочно.
<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>
<em>Было занятно сделать все это в виде одного оператора)))</em>
<em>// PascalABC.NET 3.2, сборка 1439 от 09.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
ReadlnString('->').ToWords(Arr(',','.'))
.Select(w->w.Where(c->Pos(c,'аеёиоуыэюя')>0).GroupBy(x->x)
.Select(x->(x.Key,x.Count)).Where(x->x[1]>2)).Where(x->x.Count>0)
.SelectMany(x->x).Select(x->x.Item1).Distinct.OrderBy(x->x)
.Println(',')
end.
<u>Пример</u>
-> дает,корова,молоко,длинношеее,животное,жираф,катамаран.
а,е,о
Var n,i:integer;
begin
for n:=2 to 99 do
begin
for i:=2 to 99 do
begin
if (n+i)=(n*i) then writeln(n,' ',i);
end;
end;
end.<span>
</span>
Достать пачку с кашей
вскрыть её
взять ковш
поставить на плиту
вскепитить
посолить
выложить кашу в плошку
надеюсь помогла