a1, a2, a3, a4: 1..9; {цифры четырехзначного числа (цифры могут быть только от 1 до 9 в десятичной системе счисления)}
begin
writeln('Введите четырехзначное число');
readln(a); //Вводим четырехзначное число
a1:= a div 1000; {Находим первую цифру, для этого делим это число без остатка на 1000 (например пусть число будет 5479, тогда получится 5479 / 1000 = 5,479; отбрасываем остаток и получается 5)}
a2:= (a mod 1000) div 100; {Находим вторую цифру, для этого сначала берем остаток от деления этого числа на 1000, а потом делим результат на 100 без остатка (5479 / 1000 = 5,479; оставляем остаток, получается 479; 479 / 100 = 4,79 ; отбрасываем остаток и получается 4)}
a3:= (a mod 100) div 10; {Находим 3 цифру, для этого сначала берем остаток от деления этого числа на 100, а потом делим результат на 10 без остатка (5479 / 100 = 54,79; берем остаток и получается 79; 79 / 10 = 7,9 ; отбрасываем остаток и получается 7)}
a4:= a mod 10; {Для нахождения 4 цифры берем остаток от деления этого числа на 10 (5479 / 10 = 547,9 ; берем остаток и получается 9)}
writeln('Сумма цифр числа ', a, ' равна: ', a1 + a2 + a3 + a4); {Выводим сумму цифр}
// Внимание! Если программа не работает, обновите версию!
unit ASM;
interface
type SF=(integer,integer);
function AddSF(a,b:SF):SF;
function SubSF(a,b:SF):SF;
function MultSF(a,b:SF):SF;
function DivSF(a,b:SF):SF;
implementation
function Gcd(p:SF):integer;
begin
(var a,var b):=p;
a:=abs(a); b:=abs(b);
while b>0 do (a,b):=(b,a mod b);
Result:=a
end;
function ReductSF(p:SF):SF;
begin
var t:=Gcd(p);
if t>1 then Result:=(p[0] div t,p[1] div t)
else Result:=p
end;
function AddSF(a,b:SF):=ReductSF((a[0]*b[1]+a[1]*b[0],a[1]*b[1]));
function SubSF(a,b:SF):=ReductSF((a[0]*b[1]-a[1]*b[0],a[1]*b[1]));
function MultSF(a,b:SF):=ReductSF((a[0]*b[0],a[1]*b[1]));
function DivSF(a,b:SF):=ReductSF((a[0]*b[1],a[1]*b[0]));
end.
Пример работы с модулем
uses ASM;
begin
var a:=(5,24);
var b:=(7,8);
var c:=AddSF(a,b);
Writeln(a[0],'/',a[1],'+',b[0],'/',b[1],'=',c[0],'/',c[1])
end.
Результат
5/24+7/8=13/12
var
a: 1000..9999; //четырехзначное число
a1, a2, a3, a4: 1..9; {цифры четырехзначного числа (цифры могут быть только от 1 до 9 в десятичной системе счисления)}
begin
writeln('Введите четырехзначное число');
readln(a); //Вводим четырехзначное число
a1:= a div 1000; {Находим первую цифру, для этого делим это число без остатка на 1000 (например пусть число будет 5479, тогда получится 5479 / 1000 = 5,479; отбрасываем остаток и получается 5)}
a2:= (a mod 1000) div 100; {Находим вторую цифру, для этого сначала берем остаток от деления этого числа на 1000, а потом делим результат на 100 без остатка (5479 / 1000 = 5,479; оставляем остаток, получается 479; 479 / 100 = 4,79 ; отбрасываем остаток и получается 4)}
a3:= (a mod 100) div 10; {Находим 3 цифру, для этого сначала берем остаток от деления этого числа на 100, а потом делим результат на 10 без остатка (5479 / 100 = 54,79; берем остаток и получается 79; 79 / 10 = 7,9 ; отбрасываем остаток и получается 7)}
a4:= a mod 10; {Для нахождения 4 цифры берем остаток от деления этого числа на 10 (5479 / 10 = 547,9 ; берем остаток и получается 9)}
writeln('Сумма цифр числа ', a, ' равна: ', a1 + a2 + a3 + a4); {Выводим сумму цифр}
end.
Если все правильно, отметь решение как лучшее)