Перевод из 10-ичной в 3-ичную систему счисления - QBasic
Формулировка задачи:
Ребят, у меня тут возникла следующая проблема. Мне нужно выполнить следующие задание :
(Дано целое число n<80. Вывести его в троичной системе счисления)
Помогите пожалуйста.Решение задачи: «Перевод из 10-ичной в 3-ичную систему счисления»
textual
Листинг программы
- DECLARE FUNCTION d2tRec& (n&)
- DECLARE FUNCTION d2tLng& (m&)
- n& = 123
- PRINT d2tLng(n&), d2tRec(n&)
- FUNCTION d2tLng& (m&)
- n = m&
- p = 1
- DO
- d2t = (n MOD 3) * p + d2t
- n = n \ 3
- p = p * 10
- LOOP WHILE n
- d2tLng = d2t
- END FUNCTION
- FUNCTION d2tRec& (n&)
- IF n& THEN d2tRec = d2tRec(n& \ 3) * 10 + n& MOD 3
- END FUNCTION
Объяснение кода листинга программы
Предположительно, код выполняет перевод числа из десятичной системы счисления в трехзначную. Список действий, которые выполняются в коде:
- Дело в функции d2tLng:
a. Переменная
n
принимает значение аргумента функцииm
. b. Переменнаяp
инициализируется значением 1. c. Начинается цикл DO, который выполняется, пока значение переменнойn
больше 0. d. В каждой итерации цикла значение переменнойd2t
обновляется следующим образом: i. Вычисляется остаток от деления значения переменнойn
на 3. ii. Это значение умножается на значение переменнойp
и добавляется к переменнойd2t
. iii. Значение переменнойn
делится на 3. iv. Значение переменнойp
умножается на 10. e. Код выходит из цикла DO, когда значение переменнойn
становится равным 0. f. Значение переменнойd2tLng
присваивается значению переменнойd2t
. - Дело в функции d2tRec:
a. Если значение переменной
n
больше 0, то выполняется следующее: i. Значение переменнойd2tRec
вычисляется как произведение значения функцииd2tRec
для аргументаn \ 3
и числа 10, к которому прибавляется остаток от деленияn
на 3. ii. Значение переменнойn
делится на 3. - В основной части программы:
a. Значение переменной
n
присваивается 123. b. Вызывается функцияd2tLng
с аргументомn
. c. Вызывается функцияd2tRec
с аргументомn
. d. Выводится значение функцииd2tLng
и значение функцииd2tRec
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д