Sepaplake 28 ноября 2019 в 05:44

Program z_1;
var i : integer;
s : string;
begin
s := 1;
for i := 10 to 99 do
if (i mod 13 = 0) and (i mod 2 <> 0) then
s := s * i;
writeln('proizvedenie = ',s);
readln;
end.
Дана задача объяснить три строки:
s := 1;
for i := 10 to 99 do
if (i mod 13 = 0) and (i mod 2 <> 0) then

S:=1; - переменной s присваивается начальное значение 1
for i := 10 to 99 do  - начало цикла с параметром, i - параметр цикла, 10 - начальное значение параметра, 99 - конечное значение параметра. Т.е. цикл будет выполняться 90 раз, параметр i будет принимать последовательно значения 10, 11, 12, ..., 99.
if (i mod 13 = 0) and (i mod 2 lt;gt; 0) then  - условный оператор. В условии используется операция mod - определение остатка от целочисленного деления. (i mod 13 = 0) - это условие будет выполняться для чисел, которые делятся на 13 без остатка; (i mod 2 lt;gt; 0) - это условие будет выполняться для чисел, которые делятся на 2 с остатком (это нечетные числа). Таким образом, условие (i mod 13 = 0) and (i mod 2 lt;gt; 0) будет иметь значение true для нечетных чисел, которые делятся на 13 без остатка (это 13, 39, 65, 91).
Программа в целом вычисляет произведение нечетных чисел, которые делятся на 13 без остатка. 
(В программе есть ошибка. Тип переменной s должен быть integer.)
Для комментирования необходимо зарегистрироваться на сайте