Системы счисления - Pascal ABC (12524)

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

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

Определите основы систем исчисления от двоичной до пьятнадцятковои, где число 2A16 в младшем разряде содержит цифру ноль.

Решение задачи: «Системы счисления»

textual
Листинг программы
uses crt;
const digit:string[15]='0123456789ABCDE'; //цифры в СС от 2 до 15
{функция перевода Dec числа в сс 2-15
n-число в сс 10, r-система счисления в которую переводим}
function FromDec(n,r:integer):string;
var s:String;
begin
s:='';
repeat
s:=digit[(n mod r)+1]+s;
n:=n div r;
until n=0;
FromDec:=s;
end;
 
var ss:byte;
    n:longint;
begin
n:=$2A;
for ss:=2 to 15 do
if FromDec(n,ss)[length(FromDec(n,ss))]='0' then
writeln('CC ',ss,'=',FromDec(n,ss))
end.

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

Этот код на языке Pascal ABC выполняет следующие действия:

  1. Импортируется библиотека crt.
  2. Определяется константа digit, которая представляет собой массив из 15 строк, содержащих цифры от 2 до 15.
  3. Определяется функция FromDec, которая принимает два аргумента: n - число, которое нужно перевести в систему счисления от 2 до 15, и r - система счисления, в которую нужно перевести. Эта функция создает новую строку s и повторяет следующий цикл:
    • s присваивается значение digit[(n mod r)+1] (т.е. берется цифра, которая соответствует остатку от деления n на r, и добавляется в начало строки s).
    • Затем n делится на r.
    • Пока n не станет равным 0, цикл повторяется.
    • В конце функция возвращает значение s.
  4. Определяется переменная ss, которая представляет собой байт (т.е. она может принимать значения от 0 до 255).
  5. Задается начальное значение n как $2A.
  6. Для каждого значения ss от 2 до 15 выполняется следующая последовательность действий:
    • Если последняя цифра в числе, переведенном из десятичной системы счисления в систему счисления ss, равна '0', то выводится сообщение CC, ss, =, результат перевода числа n в систему счисления ss.
  7. Программа завершается.

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

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