Рекурсивные подпрограммы. Составить программу перевода данного натурального числа в p-ичную систему счисления - Pascal ABC
Формулировка задачи:
Здравствуйте, вот условие задачи:
Рекурсивные подпрограммы
Составить программу перевода данного натурального числа в p-ичную систему
счисления (2 <= p<= 9)
Вот текст программы. Никак не получается сделать функцию рекурсивной, гуглил в интернте, хотел сделать по анологии, но ничего не выходит.
Решение задачи: «Рекурсивные подпрограммы. Составить программу перевода данного натурального числа в p-ичную систему счисления»
textual
Листинг программы
procedure dectobase(n:integer;base:byte;var res:string); begin if n>base-1 then dectobase((n div base),base,res) else res:=''; res:=res+inttostr(n mod base); end; var n:integer; os:byte; s:string; begin repeat write('Введите целое положительное число n='); readln(n); until n>0; repeat write('Введите основание СС от 2 до 9 os='); readln(os); until os in [2..9]; dectobase(n,os,s); write(s) end.
Объяснение кода листинга программы
Список элементов:
- Procedure dectobase(n:integer;base:byte;var res:string) - процедура перевода числа n из десятичной системы в p-ичную систему счисления с основанием base и сохранением результата в переменной res.
- Var n:integer; - переменная для ввода числа n.
- Var os:byte; - переменная для ввода основания системы счисления.
- Var s:string; - переменная для хранения результата перевода числа n в p-ичную систему счисления.
- Begin - начало выполнения программы.
- Repeat - повторение блока кода.
- Write('Введите целое положительное число n='); - вывод сообщения для ввода числа n.
- Readln(n); - считывание числа n с помощью функции Readln().
- Until n>0; - условие для повторения блока кода до тех пор, пока число n больше нуля.
- Repeat - повторение блока кода.
- Write('Введите основание СС от 2 до 9 os='); - вывод сообщения для ввода основания системы счисления.
- Readln(os); - считывание основания системы счисления с помощью функции Readln().
- Until os in [2..9]; - условие для повторения блока кода до тех пор, пока основание системы счисления не будет в диапазоне от 2 до 9.
- Dectobase(n,os,s); - вызов процедуры dectobase() для перевода числа n в p-ичную систему счисления с основанием os и сохранением результата в переменной s.
- Write(s) - вывод результата перевода числа n в p-ичную систему счисления на экран.
- End - конец выполнения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д