Program z_1; var i : integer; s : string; begin s := 1; for i := 10 to 99 do if (i...

0 голосов
195 просмотров

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


Информатика (96 баллов) | 195 просмотров
0

Объяснить три сроки, что они обозначают?

0

s := 1; for i := 10 to 99 do if (i mod 13 = 0) and (i mod 2 <> 0) then

Дан 1 ответ
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.)

(194k баллов)
0

Спасибо большое

0

Пожалуйста