Рекурсивный перевод в различные системы счисления - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дано натуральное число n>1. Перевести его в систему счисления 7.

Решение задачи: «Рекурсивный перевод в различные системы счисления»

textual
Листинг программы
function recursion(n:longint):string;
var ch:char;
begin
   if n<>0 then
   begin
      ch:=char(n mod 7 +48);
      recursion:=recursion(n div 7)+ch;
   end
   else recursion:='';
end;
 
var n:longint;
begin
   write('Введите натуральное число>0: ');
   readln(n);
   writeln('Семиричная система: ',recursion(n));
   readln;
end.

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

  1. В функции recursion переменной n присваивается значение, введенное пользователем.
  2. Если n не равно нулю, то выполняется рекурсивный вызов функции recursion с n деленным на 7.
  3. Результат рекурсивного вызова присваивается переменной ch.
  4. Значение ch преобразуется в символьное представление с помощью функции char.
  5. Полученное символьное представление добавляется к результату предыдущего вызова функции recursion.
  6. Если n равно нулю, то функция возвращает пустую строку.
  7. В основной программе пользователю предлагается ввести натуральное число больше или равное нулю.
  8. Введенное число n передается в функцию recursion.
  9. Результат выводится на экран.

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

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