Рекурсивные подпрограммы. Составить программу перевода данного натурального числа в 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.

Объяснение кода листинга программы

Список элементов:

  1. Procedure dectobase(n:integer;base:byte;var res:string) - процедура перевода числа n из десятичной системы в p-ичную систему счисления с основанием base и сохранением результата в переменной res.
  2. Var n:integer; - переменная для ввода числа n.
  3. Var os:byte; - переменная для ввода основания системы счисления.
  4. Var s:string; - переменная для хранения результата перевода числа n в p-ичную систему счисления.
  5. Begin - начало выполнения программы.
  6. Repeat - повторение блока кода.
  7. Write('Введите целое положительное число n='); - вывод сообщения для ввода числа n.
  8. Readln(n); - считывание числа n с помощью функции Readln().
  9. Until n>0; - условие для повторения блока кода до тех пор, пока число n больше нуля.
  10. Repeat - повторение блока кода.
  11. Write('Введите основание СС от 2 до 9 os='); - вывод сообщения для ввода основания системы счисления.
  12. Readln(os); - считывание основания системы счисления с помощью функции Readln().
  13. Until os in [2..9]; - условие для повторения блока кода до тех пор, пока основание системы счисления не будет в диапазоне от 2 до 9.
  14. Dectobase(n,os,s); - вызов процедуры dectobase() для перевода числа n в p-ичную систему счисления с основанием os и сохранением результата в переменной s.
  15. Write(s) - вывод результата перевода числа n в p-ичную систему счисления на экран.
  16. End - конец выполнения программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы