Программа для нахождения НОК в Паскале. Объясните, пожалуйста строчки, помечанные цифрами. Заранее спасибо. var n,m:integer;
i,k:integer;
delitsya:boolean; 1.
begin
write(Vvedite N: );
readln(n);
write(Vvedite M: );
readln(m);
if (m<>0) and (n<>0) then
begin
k:=n*m; 2
i:=k; 3
while i>0 do 4
begin
if (i mod n=0) and (i mod m=0) then 5
k:=i; 6
i:=i-1; 7
end;
writeln(NOK ,m, i ,n, raven ,k)
end
else writeln(Na nol delit nelzya);
readln;
end.
Delitsya:boolean; - видимо переменная delitsya типа boolean (значение 0 или 1)
k:=n*m; - присваиваем переменной k значение произведения n*m
i:=k; - присваиваем переменной i значение переменной k
while i>0 do - цикл, который будет выполняться пока значение i>0
if (i mod n=0) and (i mod m=0) then - если остатки отделения i mod n и i mod m равны нулю, то выполняется 2 строчки ниже с присвоением k значения i и уменьшением i на 1
Ощущение, что программа написана криво, она вообще работает?
Оцени ответ
