Взглянув на число, мы сразу можем сказать, из каких цифр оно состоит. Так что для человека нетрудно определить, из каких цифр состоит число. Но для ЭВМ сделать это непросто. Мы пользуемся десятичной системой счисления, а в машинной памяти хранятся числа в иной записи, чаще всего в двоичной системе. Нет прямого соответствия между привычными нам десятичными цифрами и цифрами прочих систем счисления. К тому же как в основах математики, так и в теории программирования число рассматривается как одно неделимое значение. А тот факт, что число состоит из цифр, обусловлен только принятым у нас способом записи чисел.
Program cifry;
uses crt;
var n: integer;
function chislocf (n:integer): integer;
{сколько цифр в данном числе}
var k: integer;
begin
k:=0;
repeat
k:=k+1;
n:=n div 10
until n=0;
chislocf:=k
end;
function summacf (n:integer): integer;
{нахождение суммы цифр числа}
var s:integer;
begin
s:=0;
repeat
s:=s+n mod 10;
n:=n div 10
until n=0;
summacf:=s
end;
function naoborot (n: integer): integer;
{запись числа в обратном порядке}
var a: integer;
begin
a:=0;
repeat
a:=a*10+n mod 10;
n:=n div 10
until n=0;
naoborot:=a
end;
begin
write('n= ');
read(n);
writeln('Цифр в данном числе: ', chislocf(n));
writeln('Сумма цифр числа: ', summacf(n));
writeln('Число в обратном порядке: ', naoborot(n));
readkey
end.
Все три приведенные функции осуществляют простые действия, с которыми мы легко справляемся и без помощи ЭВМ. Однако они потребуются при составлении программ для многих интересных задач с цифрами.