В паскале часто встречаются программы, где необходимо выделить цифры из n-значного числа. Эти задачи являются составными частями более сложных, например, посчитать сумму цифр n-значного числа.
Программа для выделения цифр из числа
var sum: integer;
number: longint;
begin
sum := 0;
write('Введите число: ');
readln(number);
while number <> 0 do
begin
sum := 0;
{Делим число на 10 и получаем остаток от деления т.е. крайнюю правую цифру числа}
sum := sum + (number mod 10);
writeln(sum);
{Делим число на 10 и получаем целую часть числа т.е. отбрасываем крайнюю правую цифру от числа}
number := (number div 10);
end;
readln;
end.
Еще пример программы, которая определяет число и сумму цифр для любого натурального числа, также выводит запись числа в обратном порядке.
var k,s,n:integer;
a:longint;
begin
writeln('введите целое число');
readln( n );
k:=0; s:=0; a:=0;
repeat
k:=k+1;
s:=s+n mod 10;
a:=a*10+n mod 10;
n:= n div 10;
until n=0;
writeln( 'Запись числа в обратном порядке n= ', a );
writeln( 'Число цифр ', k );
writeln( 'Сумма цифр ', s );
end.