Напишите программу,которая считает сумму цифр введенного числа (паскаль) programи fr; var a, sum: integer; begin writeln ('введите число'); readln (a); while a< > 0 do begin sum: =sum+(a mod 10); a: =a div 10; end; writeln ('сумма цифр ',sum); end. почему используется вот такая запись ( что это значит ) - sum: =sum+(a mod 10) можно ли написать эту программу как то через другой цикл? ( если да,то напишите его) заранее

Neronkilir228 Neronkilir228    3   01.10.2019 23:00    0

Ответы
HelenToys HelenToys  17.08.2020 06:42
A mod 10 - это остаток от деления а на 10 (последняя цифра числа, записанного в десятичной системе счисления)
можно по другому : сделать а типа string и, проходя по строке, прибавлять к сумме каждый символ строки (переведенный в цифру)
ПОКАЗАТЬ ОТВЕТЫ
qhahz qhahz  17.08.2020 06:42

var a,s:integer;

begin

write ('Введите число: ');

readln(a);

repeat

s:=s+a mod 10;

a:=a div 10

until a=0;

write ('Сумма цифр: ',s);

end.

a mod 10 - эта операция определяет последнюю цифру числа (остаток от деления на 10)

первоначально sum равно 0

sum:=sum+(a mod 10) - накапливаем сумму всех цифр поочерёдно

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика