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