Формат 2003. Другой заблокирован сайтом
S:=1; - переменной s присваивается начальное значение 1
<span>for i := 10 to 99 do - начало цикла с параметром, i - параметр цикла, 10 - начальное значение параметра, 99 - конечное значение параметра. Т.е. цикл будет выполняться 90 раз, параметр i будет принимать последовательно значения 10, 11, 12, ..., 99.
</span>if (i mod 13 = 0) and (i mod 2 <> 0) then - условный оператор. В условии используется операция mod - определение остатка от целочисленного деления. (i mod 13 = 0) - это условие будет выполняться для чисел, которые делятся на 13 без остатка; (i mod 2 <> 0) - это условие будет выполняться для чисел, которые делятся на 2 с остатком (это нечетные числа). Таким образом, условие <span>(i mod 13 = 0) and (i mod 2 <> 0) будет иметь значение true для нечетных чисел, которые делятся на 13 без остатка (это 13, 39, 65, 91).
</span>Программа в целом вычисляет произведение нечетных чисел, которые <span>делятся на 13 без остатка.
(В программе есть ошибка. Тип переменной s должен быть integer.)</span>
Const
n = 20;
var
i, imax, j, x: integer;
a: array[1..n]of integer;
begin
for i := 1 to n do
a[i] := random(100);
for i := 1 to n - 1 do
begin
imax := i;
for j := i + 1 to n do
if a[j] > a[imax] then
imax := j;
x := a[i];
a[i] := a[imax];
a[imax] := x;
end;
for i := 1 to n do
write(a[i],' ');
writeln();
writeln(imax);
end.
Делим нацело на 8, выделяем остатки:
1112 : 8=139 остаток 0
139 : 8=17 остаток 3
17:8 = 2 остаток 1 число собираем с последнего частного и далее -
все остатки от деления 2130
Проверка:
2130= 2*8^3+1*8^2+3*8=1112
и далее - аналогично