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

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

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

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

Ответы 8

  • sum:=sum+(a mod 10) почему sum+(a mod 10)? почему без скобок нельзя?
  • попробуй, может можно
    • Автор:

      yael
    • 6 лет назад
    • 0
  • а если нельзя, то потому, что приоритет операции сложения выше чем операции остатка от деления
    • Автор:

      fly11
    • 6 лет назад
    • 0
  • а зачем складывать? потому что сумма ?
  • ну, да, а для чего же ещё?)
  • Большое спасибо
    • Автор:

      punkllcm
    • 6 лет назад
    • 0
  • a mod 10 - это остаток от деления а на 10 (последняя цифра числа, записанного в десятичной системе счисления)можно по другому : сделать а типа string и, проходя по строке, прибавлять к сумме каждый символ строки (переведенный в цифру)
  • 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) - накапливаем сумму всех цифр поочерёдно

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years