Предмет: Информатика, автор: den4i9

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

Ответы

Автор ответа: petyaGavrikov
0
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.)
Автор ответа: den4i9
0
Спасибо большое
Автор ответа: petyaGavrikov
0
Пожалуйста
Похожие вопросы
Предмет: Математика, автор: dashakortv8
Предмет: Математика, автор: spakelisss234
Предмет: История, автор: azel090209