Напишите программу,которая считает сумму цифр введенного числа (паскаль)
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) ???
Можно ли написать эту программу как то через другой цикл? ( если да,то напишите его)
Заранее СПАСИБО

2 Сен 2019 в 16:41
2 545 +1
0
Ответы
1

sum:=sum+(a mod 10) - в данной записи используется оператор mod, который возвращает остаток от деления a на 10. Таким образом, a mod 10 дает нам последнюю цифру числа a. Далее мы прибавляем эту цифру к сумме.

Можно переписать эту программу с использованием цикла for:

Program SumOfDigits;
var
a, sum, digit: integer;
begin
sum := 0;
Writeln('Введите число');
Readln(a);
for digit := a to a do
begin
sum := sum + (digit mod 10);
digit := digit div 10;
if digit = 0 then
break;
end;
Writeln('Сумма цифр ', sum);
end.
20 Апр в 05:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 541 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир