Вывести двоичное представление натурального числа, используя рекурсию - PascalABC.NET

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

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

Вывести двоичное представление данного натурального числа используя рекурсивную подпрограмму. Я что-то пытался написать, вышло это.
Листинг программы
  1. var x,i:integer;
  2. s:array [1..16] of integer;
  3. function rec(x:integer):integer;
  4. var i:integer;
  5. begin
  6. if x<>0 then
  7. begin
  8. i:=i+1;
  9. s[i]:=(x mod 2);
  10. x:=rec(x div 2);
  11. end;
  12. end;
  13. begin
  14. readln (x);
  15. rec(x);
  16. for i:=i downto 1 do
  17. write (s[i]);
  18. end.

Решение задачи: «Вывести двоичное представление натурального числа, используя рекурсию»

textual
Листинг программы
  1. procedure Binary(n:integer);
  2. begin
  3. if n>1 then  Binary(n div 2)else write('');
  4. write(n mod 2);
  5. end;
  6. var N:word;
  7.     s:string;
  8. begin
  9. write('Введите целое неотрицательное число n=');
  10. readln(n);
  11. Binary(n);
  12. end.

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

  1. Объявлена процедура Binary с параметром n:integer
  2. В процедуре используется рекурсия для вычисления двоичного представления числа n
  3. Если n больше 1, то вызывается рекурсивная функция Binary(n div 2) для вычисления двоичного представления половины числа n
  4. Затем вызывается функция write(n mod 2) для вывода остатка от деления n на 2
  5. В основной части программы объявлены переменные N:word и s:string
  6. Пользователю предлагается ввести неотрицательное целое число n
  7. После ввода числа, вызывается функция Binary(n) для вычисления и вывода двоичного представления числа n

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


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

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

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы