1)Напишите программу, которая получает с клавиатуры натуральное число и находит наибольшую цифру в его...

Тематика Информатика
Уровень 5 - 9 классы
натуральное число наибольшая цифра десятичная запись одинаковые цифры стоящие рядом Pascal программа клавиатура
0

1)Напишите программу, которая получает с клавиатуры натуральное число и находит наибольшую цифру в его десятичной записи. 2)Напишите программу, которая получает с клавиатуры натуральное число и определяет, есть ли в его десятичной записи одинаковые цифры, стоящие рядом.

Сделайте в Паскале Pascal

avatar
задан 4 месяца назад

3 Ответа

0

1) Программа для нахождения наибольшей цифры в числе:

program MaxDigit;

var
  num, maxDigit, currentDigit: integer;

begin
  writeln('Введите натуральное число: ');
  readln(num);

  maxDigit := 0;
  while num > 0 do
  begin
    currentDigit := num mod 10;
    if currentDigit > maxDigit then
      maxDigit := currentDigit;
    num := num div 10;
  end;

  writeln('Наибольшая цифра в числе: ', maxDigit);
end.

2) Программа для определения наличия одинаковых цифр, стоящих рядом:

program SameAdjacentDigits;

var
  num, currentDigit, previousDigit: integer;
  hasSameAdjacentDigits: boolean;

begin
  writeln('Введите натуральное число: ');
  readln(num);

  hasSameAdjacentDigits := false;
  previousDigit := -1;
  while num > 0 do
  begin
    currentDigit := num mod 10;
    if currentDigit = previousDigit then
    begin
      hasSameAdjacentDigits := true;
      break;
    end;
    previousDigit := currentDigit;
    num := num div 10;
  end;

  if hasSameAdjacentDigits then
    writeln('В числе есть одинаковые цифры, стоящие рядом.')
  else
    writeln('В числе нет одинаковых цифр, стоящих рядом.');
end.

avatar
ответил 4 месяца назад
0

1) Программа нахождения наибольшей цифры в числе:

program MaxDigit;
var
  number, maxDigit, currentDigit: integer;
begin
  write('Введите натуральное число: ');
  readln(number);

  maxDigit := 0;
  while number > 0 do
  begin
    currentDigit := number mod 10;
    if currentDigit > maxDigit then
      maxDigit := currentDigit;
    number := number div 10;
  end;

  writeln('Наибольшая цифра в числе: ', maxDigit);
end.

2) Программа определения наличия одинаковых цифр, стоящих рядом:

program SameAdjacentDigits;
var
  number, prevDigit, currentDigit: integer;
  hasSameAdjacentDigits: boolean;
begin
  write('Введите натуральное число: ');
  readln(number);

  hasSameAdjacentDigits := false;
  prevDigit := number mod 10;
  number := number div 10;

  while number > 0 do
  begin
    currentDigit := number mod 10;
    if currentDigit = prevDigit then
    begin
      hasSameAdjacentDigits := true;
      break;
    end;
    prevDigit := currentDigit;
    number := number div 10;
  end;

  if hasSameAdjacentDigits then
    writeln('В числе есть одинаковые цифры, стоящие рядом.')
  else
    writeln('В числе нет одинаковых цифр, стоящих рядом.');
end.

avatar
ответил 4 месяца назад
0

Конечно, вот расширенные ответы на оба вопроса с примерами программ на языке Pascal.

1. Программа для нахождения наибольшей цифры в десятичной записи числа

Для этого нам нужно будет последовательно проверять каждую цифру числа и сравнивать её с текущим максимальным значением. Если текущая цифра больше, мы обновляем максимальное значение.

Пример программы:

program MaxDigitFinder;
var
  numStr: string;
  i, maxDigit, currentDigit: integer;
begin
  writeln('Введите натуральное число:');
  readln(numStr);

  maxDigit := 0;

  for i := 1 to length(numStr) do
  begin
    currentDigit := ord(numStr[i]) - ord('0');
    if currentDigit > maxDigit then
      maxDigit := currentDigit;
  end;

  writeln('Наибольшая цифра: ', maxDigit);
end.

2. Программа для определения наличия одинаковых цифр, стоящих рядом

Для этой задачи нам нужно проверить каждую пару соседних цифр в числе и сравнить их между собой. Если мы находим пару одинаковых цифр, стоящих рядом, выводим соответствующее сообщение.

Пример программы:

program AdjacentDuplicateChecker;
var
  numStr: string;
  i: integer;
  hasDuplicates: boolean;
begin
  writeln('Введите натуральное число:');
  readln(numStr);

  hasDuplicates := false;

  for i := 1 to length(numStr) - 1 do
  begin
    if numStr[i] = numStr[i + 1] then
    begin
      hasDuplicates := true;
      break;
    end;
  end;

  if hasDuplicates then
    writeln('Есть одинаковые цифры, стоящие рядом.')
  else
    writeln('Нет одинаковых цифр, стоящих рядом.')
end.

Объяснение программ

Программа 1: Нахождение наибольшей цифры

  1. Ввод числа: Программа запрашивает ввод натурального числа в виде строки.
  2. Инициализация максимального значения: Переменная maxDigit инициализируется нулём. Это будет хранить текущую наибольшую цифру.
  3. Цикл по всем цифрам: Программа проходит по каждой цифре строки, преобразуя её из символа в число.
  4. Сравнение и обновление: Если текущая цифра больше maxDigit, обновляем maxDigit.
  5. Вывод результата: Программа выводит наибольшую найденную цифру.

Программа 2: Проверка на наличие одинаковых цифр, стоящих рядом

  1. Ввод числа: Программа запрашивает ввод натурального числа в виде строки.
  2. Инициализация флага: Переменная hasDuplicates инициализируется как false. Она будет указывать, найдены ли одинаковые соседние цифры.
  3. Цикл по всем парам соседних цифр: Программа проходит по каждой паре соседних символов в строке.
  4. Сравнение соседних цифр: Если две соседние цифры одинаковы, переменная hasDuplicates устанавливается в true, и цикл прерывается.
  5. Вывод результата: Программа выводит сообщение о наличии или отсутствии одинаковых соседних цифр.

Эти программы на Pascal помогут решить поставленные задачи эффективно и наглядно.

avatar
ответил 4 месяца назад

Ваш ответ

Вопросы по теме