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.)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы