Напишите функцию, которая вычисляет количество цифр числа (PascalABC)
Ответы на вопрос
В PascalABC.NET вычислить количество цифр числа можно разными способами, в зависимости от того, целое это число или вещественное. Предположим, что нам нужно посчитать цифры целого числа. Ниже приведён простой и понятный пример функции.
pascalfunction 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;
Принцип работы функции:
-
Берём абсолютное значение числа
abs(n), чтобы отрицательные числа не создавали проблем. -
Если число равно нулю, сразу возвращаем
1, так как0— это одна цифра. -
Инициализируем счётчик
CountDigitsнулём. -
Пока число больше нуля, делим его на 10 (
n := n div 10) и увеличиваем счётчик. -
В конце возвращаем значение счётчика — это и есть количество цифр.
Пример использования функции:
pascalbegin
writeln(CountDigits(12345)); // Выведет 5
writeln(CountDigits(-789)); // Выведет 3
writeln(CountDigits(0)); // Выведет 1
end.
Такой способ надёжен, работает со всеми целыми числами и легко читается.
Если нужно, можно сделать версию для больших чисел или вещественных чисел, но для целых это самый прямой вариант.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

