Вопрос задан 25.02.2019 в 21:48. Предмет Информатика. Спрашивает Кожин Илья.

Нужна ваша помощь. Необходимо написать программу в PascalABC и лучше с объяснениями. Сам не

понимаю. Дано натуральное число. Верно ли, что в данном числе нет данной цифры А (цифру А вводить с клавиатуры)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Турсунов Данияр.
1. PascalABC.NET 3.2

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.
0 0
Отвечает Мамедов Омар-Хаям.
//PascalABC.NET 3.2 сборка 1318

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
Пример вывода:
Нет
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я готов помочь. Программу на PascalABC, проверяющую наличие цифры в натуральном числе, можно написать следующим образом:

```pascal program CheckDigit;

var number, digitToCheck: Integer; isDigitPresent: Boolean;

begin // Вводим натуральное число write('Введите натуральное число: '); readln(number);

// Вводим цифру для проверки write('Введите цифру для проверки (0-9): '); readln(digitToCheck);

// Инициализируем переменную, указывающую, верно ли, что цифры нет в числе isDigitPresent := false;

// Проверяем каждую цифру числа while number > 0 do begin // Получаем последнюю цифру числа if number mod 10 = digitToCheck then begin // Если цифра найдена, устанавливаем флаг и выходим из цикла isDigitPresent := true; break; end;

// Убираем последнюю цифру из числа number := number div 10; end;

// Выводим результат if isDigitPresent then writeln('Цифра ', digitToCheck, ' присутствует в числе.') else writeln('Цифра ', digitToCheck, ' отсутствует в числе.');

readln; end. ```

Объяснения:

1. Программа начинается с объявления переменных `number` (для ввода натурального числа), `digitToCheck` (для ввода цифры, которую нужно проверить), и `isDigitPresent` (логическая переменная, указывающая, есть ли цифра в числе).

2. Затем пользователь вводит натуральное число и цифру для проверки.

3. Используется цикл `while`, чтобы проверить каждую цифру в числе. Цифры извлекаются с помощью операции остатка от деления на 10, и каждый раз убирается последняя цифра с помощью деления на 10.

4. Если цифра совпадает с введенной для проверки, устанавливается флаг `isDigitPresent` в `true`, и программа выходит из цикла.

5. По завершении цикла выводится результат - присутствует ли введенная цифра в числе.

6. Программа завершается после ввода результата пользователем.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос