begin var s:=ReadlnString('Введите натуральное число:'); var c:=ReadlnChar('Введите цифру для поиска:'); if Pos(c,s)>0 then Writeln('Такая цифра есть') else Writeln('Такой цифры нет') end.
2. PascalABC.NET любой версии, Free Pascal и т.д. на строках
var s:string; c:char; begin Write('Введите натуральное число: '); Readln(s); Write('Введите цифру для поиска: '); Readln(c); if Pos(c,s)>0 then Writeln('Такая цифра есть') else Writeln('Такой цифры нет') end.
3. То же, но без строк, с циклом
var n:longint; d:0..9; begin Write('Введите натуральное число: '); Read(n); Write('Введите цифру для поиска: '); Read(d); while n>0 do begin if n mod 10=d then begin Writeln('Такая цифра есть'); Exit end; n:=n div 10 end; Writeln('Такой цифры нет') end.
Var n,a:integer; b:boolean; begin b:=true; //"флаг", указывающий на результат readln(a); //вводим цифру readln(n); //вводим число while n>0 do //пока число не равно 0 if n mod 10=a then //mod 10 возвращает последнюю цифру числа begin b:=false; //если эта цифра равна а, тогда "флаг" меняет своё значение break; //и выходим из цикла end else n:=n div 10; {иначе посредством div 10 убираем самый правый разряд. Если левый аргумент меньше 10, он вернёт 0 и тем самым завершит цикл} if b=true then writeln('Да') else writeln('Нет'); {"флаг" остаётся true только если не встретилось совпадений в цикле} end.
30
Объяснение: