Нужна ваша . необходимо написать программу в pascalabc и лучше с объяснениями. сам не понимаю. дано натуральное число. верно ли, что в данном числе нет данной цифры а (цифру а вводить с клавиатуры)
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.
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.
Пример ввода:
3
123
Пример вывода:
Нет