Предмет: Информатика, автор: jioo568

Напишите программу,которая считает сумму цифр введенного числа (паскаль)

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) ???

Можно ли написать эту программу как то через другой цикл? ( если да,то напишите его)

Заранее СПАСИБО


Wani4kaa: Пока твоё число не стало нулём, ты прибавляешь его последнюю цифру (a mod 10 означает "получить остаток от деления a на 10") к ответу, а затем отбрасываешь последнюю цифру у a (a div 10 означает "разделить a на 10 без учёта остатка"). Попробуй воспроизвести алгоритм на бумаге.

Ответы

Автор ответа: Аноним
1
a mod 10 - это остаток от деления а на 10 (последняя цифра числа, записанного в десятичной системе счисления)
можно по другому : сделать а типа string и, проходя по строке, прибавлять к сумме каждый символ строки (переведенный в цифру)

jioo568: sum:=sum+(a mod 10) почему sum+(a mod 10)? почему без скобок нельзя?
Аноним: попробуй, может можно
Аноним: а если нельзя, то потому, что приоритет операции сложения выше чем операции остатка от деления
jioo568: а зачем складывать? потому что сумма ?
Аноним: ну, да, а для чего же ещё?)
Автор ответа: elenaklon
2

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) - накапливаем сумму всех цифр поочерёдно


jioo568: Большое спасибо
Похожие вопросы
Предмет: Физика, автор: mysnikovakris98
помогите пожалуйста .
дам много баллов !
задание №1
ёмкость площадь дна которого равна 12 см квадратных, налита морская вода (1030 кг/м3) до высоты 7 см.
найдите сколько граммов воды налито.
( ответ округлите до целых )
Ответ: в ходится ? г воды.

задание №2
В цилиндрический сосуд налиты ртуть, вода и керосин.
найдите общее давление, которое оказывают жидкости на дно сосуда, если объемы всех жидкостей равны, верхний уровень керосина находится на высоте 122 мм от дна сосуда
( принять g≈10H/кг )
Ответ: ( округлите до сотых) общее давление ,которое оказывают жидкости на дно сосуда равно ? кПа

задание №3
( фотография)

задание №4

в аквариум высотой 20 см ,длиной 50 см и шириной 20 см налита вода, уровень которой ниже края на 2 см. вычислите силу, с которой вода действует на стенку шириной 20 см
( принять и q= 1000 кг/м3 , g≈10H/кг )
Ответ: ( округлите до целого числа ): сила, с которой вода действует на стенку , равна ? H.​
Предмет: Математика, автор: Лиза111111111117478