Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 06.10.2013, 12:46   #1
Hitchi
Пользователь
 
Регистрация: 06.10.2013
Сообщений: 17
По умолчанию Задача в Паскале

Если что не так написал, извините. Пишу первый раз
Собственно, вот задача
Код:
program lab;
var a,b,c:integer;
begin
     writeln('Введите число');
     readln(a);
     while a<>0 do
           begin
                b:=a mod 10;
                c:=c+b;
                b:=a div 10;
                a:=b;
           end;
     if (c mod 5)=0
        then
            writeln('Сумма цифр этого числа кратна 5')
     else
         writeln('Сумма цифр этого числа не кратна 5');
end.
Нужна помощь в пояснении, не понятно подтело где расписывается mod и div. И для чего тут нужен оператор цикла.
Hitchi вне форума
Старый 06.10.2013, 13:18   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
program lab;
var a, b : integer;
begin
     writeln('Введите число');
     readln(a);
     b := 0;
     while a<>0 do
     begin
         b:= b + a mod 10;
         a:=a div 10;
     end;
     
     Write ('Сумма цифр этого числа ');
     if (b mod 5) <> 0 then
          Write ('не ');
     WriteLn ('кратна 5')
end.
Poma][a вне форума
Старый 06.10.2013, 14:35   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

A mod B - функция получения остатка от целочисленного деления A на B
например,
5 mod 2 вернёт 1
19 mod 5 вернёт 4
297 mod 10 вернёт 7

A div B - операция целочисленно деления, возвращает частное от деления A на B без остатка.
Например,
19 div 5 вернёт 3
297 div 10 вернёт 29

ну дальше понятно?
с помощью a mod 10 получаем последнюю цифру в десятичной записи числа a
с помощью a div 10 обрасываем последнюю цифру
повторяем, пока число не будет равным нулю.
вот и вся "хитрость"
Serge_Bliznykov вне форума
Старый 06.10.2013, 22:09   #4
Hitchi
Пользователь
 
Регистрация: 06.10.2013
Сообщений: 17
По умолчанию

Спасибо, разобрался
Hitchi вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Паскале Вика М. Помощь студентам 4 02.12.2010 17:37
Задача на паскале Aluckard Фриланс 8 28.11.2010 15:48
ЗАДАЧА НА ПАСКАЛЕ. ddeman666 Помощь студентам 2 01.11.2010 13:29
Задача в Паскале Наталия2012 Помощь студентам 1 26.07.2010 20:56