в работе программы, то могли
5. Конец.
Программа
Program
Problem4; { Входит ли цифра 2 в запись числа }
uses WinCrt;
var
n, p, k : integer;
begin
write('Введите целое число '); readln(n);
k := 0;
while n <> 0 do
begin
p := n mod 10;
if p = 2 then k := k + 1;
n := n div 10
end;
if
k = 0 then writeln('Цифра 2 не входит в запись этого числа')
else writeln('Цифра 2 входит в запись этого числа')
end.
Если вы внимательно разобрались в работе программы, то могли заметить, что во многих случаях в программе будет проделываться бесполезная работа.
Например, если нами введено число 31572. В программе сделано так, что отделяется по одной цифре справа и так продолжается до первой цифры слева.
Первой цифрой справа является 2. Казалось бы, раз в числе сразу первой цифрой найдена двойка, то можно выдать сообщение, что число содержит цифру 2 и на этом работу закончить. Однако в программе сделано не так. Цикл будет продолжаться до последней цифры числа и большая работа будет проделываться бесполезно.
Возникает необходимость в досрочном прерывании цикла. Как это сделать мы рассмотрим ниже.