Вопрос задан 10.04.2026 в 17:31. Предмет Информатика. Спрашивает Шерниязов Витя.

Напишите функцию, которая вычисляет количество цифр числа (PascalABC)

Перейти к ответам

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

Отвечает Яцків Софія.

В PascalABC.NET вычислить количество цифр числа можно разными способами, в зависимости от того, целое это число или вещественное. Предположим, что нам нужно посчитать цифры целого числа. Ниже приведён простой и понятный пример функции.

pascal
function CountDigits(n: integer): integer;
begin
n := abs(n); // берём модуль числа, чтобы учесть отрицательные
if n = 0 then
CountDigits := 1 // ноль считается как одна цифра
else
begin
CountDigits := 0;
while n > 0 do
begin
n := n div 10;
CountDigits := CountDigits + 1;
end;
end;
end;

Принцип работы функции:

  1. Берём абсолютное значение числа abs(n), чтобы отрицательные числа не создавали проблем.

  2. Если число равно нулю, сразу возвращаем 1, так как 0 — это одна цифра.

  3. Инициализируем счётчик CountDigits нулём.

  4. Пока число больше нуля, делим его на 10 (n := n div 10) и увеличиваем счётчик.

  5. В конце возвращаем значение счётчика — это и есть количество цифр.

Пример использования функции:

pascal
begin
writeln(CountDigits(12345)); // Выведет 5
writeln(CountDigits(-789)); // Выведет 3
writeln(CountDigits(0)); // Выведет 1
end.

Такой способ надёжен, работает со всеми целыми числами и легко читается.

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

Похожие вопросы

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

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

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