Приветствую Вас Гость | RSS
Пятница
29.03.2024, 20:17
Прорвемся!
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Мои статьи [0]
Basic-256 [7]
Программирование в среде Basic-256. Школьный Линукс
Gambas [3]
Программирование в объектно-ориентированной среде

Сервис проверки

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа


Главная » Статьи » Basic-256

Находим сумму цифр числа

Разберемся, что нам надо сделать. Чтобы найти сумму цифр, нужно как-то эти цифры в числе выделить. Так как у нас позиционная запись числа (математики поняли меня и информатики тоже)))), то при делении на 10 нацело мы получаем в остатке последнюю цифру числа. Например:

134\10 = 13 (остаток 4)

Операция вычисления остатка от деления %. То есть в предыдущем примере цифру 4 можно было получить так:

134%10=4

Теперь эту цифру нужно запомнить или сразу внести в сумму. А значит, нужно выделить ячейку для сохранения суммы s. Естественно, ее начальное значение s=0.

Как получить цифру десятков? Но ведь при делении на 10 число уменьшилось в 10 раз (смотри пример). То есть его последняя цифра и есть количество десятков. Можно опять вычислить остаток от деления на 10. И так, пока не получим все цифры.

Разберем пример полностью:

s=0

134%10=4 

s=s+4=4

134\10=13

13%10=3

s=s+3=4+3=7

13\10=1

1%10=1

s=s+1=4+3+1=8

Результат получен. Можно заметить, что деление нацело, остаток от деления на 10 и увеличение суммы нам пришлось делать трижды. То есть в программе можно организовать цикл. Так как количество цифр в числе нам неизвестно - по условию число вводит пользователь, то используем цикл ПОКА (пока выполняется условие, делай...).

Еще один важный момент. Не рекомендуется изменять введенное число - вдруг оно нам еще понадобится! Поэтому число лучше копировать и работать с его копией. А само число пусть хранится в ячейке до лучших времен.

Программа

cls - очистка экрана

  input n - ввод числа пользователем

m=n - копируем введенное число, чтобы можно было изменять не само число, а его копию.
  s=0 - начальное значение суммы цифр числа
  while m > 0.9 - пока m >0,9 (можно взять условие пока m<>1)
  p=m%10 - вычисли остаток от деления m на 10, получаем последнюю цифру записи 
  s=s+p - увеличь сумму цифр числа на последнюю цифру
m=m\10  - раздели m на 10 нацело, при этом мы уменьшаем число на порядок (в 10 раз)
  end while - повтори, если условие еще не выполнено и закончи цикл, если оно уже выполнено
  print s - выведи сумму на экран  

Категория: Basic-256 | Добавил: klop (05.04.2011)
Просмотров: 3783 | Теги: сумма цифр числа, basic256 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Друзья сайта
  • Уроки информатики и ИКТ
  • Школьный сайт

  • Copyright MyCorp © 2024
    Сайт создан в системе uCoz