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. Дана задача объяснить три ст...
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 <> 0) then - условный оператор. В условии используется операция mod - определение остатка от целочисленного деления. (i mod 13 = 0) - это условие будет выполняться для чисел, которые делятся на 13 без остатка; (i mod 2 <> 0) - это условие будет выполняться для чисел, которые делятся на 2 с остатком (это нечетные числа). Таким образом, условие (i mod 13 = 0) and (i mod 2 <> 0) будет иметь значение true для нечетных чисел, которые делятся на 13 без остатка (это 13, 39, 65, 91).
Программа в целом вычисляет произведение нечетных чисел, которые делятся на 13 без остатка.
(В программе есть ошибка. Тип переменной s должен быть integer.)
Не нашли ответ?
Похожие вопросы