
Паскаль, процедуры и функции Составить программу, определяющую, в каком из данных двух чисел
больше цифр (создать подпрограмму для вычисления кол-ва цифр в числе).

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

===== PascalABC.NET =====
function КолЦифр(n: integer): integer;
begin
(n, Result) := (Abs(n), 0);
while n > 0 do
begin
Inc(Result);
n := n div 10
end
end;
begin
var (a, b) := ReadInteger2('Введите два целых числа:');
case Sign(КолЦифр(a) - КолЦифр(b)) of
1: Print('В первом числе больше цифр');
0: Print('В числах одинаковое количество цифр');
else
Print('Во втором числе больше цифр')
end
end.




var x1,x2:integer;
function f(x:Integer):Integer ;
var
k:integer;
begin
while x>0 do
begin
x:=x div 10;
k:=k+1;
end;
f:=k;
end;
begin
read(x1,x2);
if f(x1)>f(x2) then
write('В первом числе больше цифр')
else if
f(x2)>f(x1) then
write('В втором числе больше цифр')
else
write('В числах одинаковое количество цифр')
end.



Для решения этой задачи вам потребуется написать подпрограмму (процедуру или функцию), которая будет считать количество цифр в числе. Затем вы можете использовать эту подпрограмму в основной программе, чтобы определить, в каком из двух чисел больше цифр.
В Pascal вы можете создать функцию для вычисления количества цифр в числе следующим образом:
pascalfunction CountDigits(number: Integer): Integer; var count: Integer; begin count := 0; repeat number := number div 10; Inc(count); until number = 0; Result := count; end;
Эта функция CountDigits
принимает число number
типа Integer и возвращает количество цифр в этом числе.
Теперь, когда у нас есть функция для подсчета цифр, давайте создадим основную программу:
pascalprogram CompareDigits; function CountDigits(number: Integer): Integer; var count: Integer; begin count := 0; repeat number := number div 10; Inc(count); until number = 0; Result := count; end; var num1, num2, digits1, digits2: Integer; begin writeln('Введите первое число: '); readln(num1); writeln('Введите второе число: '); readln(num2); digits1 := CountDigits(num1); digits2 := CountDigits(num2); if digits1 > digits2 then writeln('В первом числе больше цифр.') else if digits1 < digits2 then writeln('Во втором числе больше цифр.') else writeln('В обоих числах одинаковое количество цифр.'); end.
При запуске программы она запросит ввод двух чисел и затем выведет результат, указывая, в каком из чисел больше цифр или равное количество цифр, если они равны.


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









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili