Вопрос задан 08.07.2023 в 01:13. Предмет Информатика. Спрашивает Сагалакова Карина.

Запросить с клавиатуры 16-ричное число (переменная х16 строкового типа string), в переменной х8

сформировать его 8-ричное представление. Результат вывести на экран.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Беккер Каролина.

// PascalABC.NET

// количество знаков - произвольное!

function HexDigitToBin(Self: char): string; extensionmethod;

begin

 var bd: array of string := ('0000', '0001', '0010', '0011',

     '0100', '0101', '0110', '0111', '1000', '1001', '1010',

     '1011', '1100', '1101', '1110', '1111');

 var hd := '0123456789ABCDEF';

 var i := Pos(Self.ToUpper, hd);

 Result := if i > 0 then bd[i - 1] else '****'

end;

function Bin4ToOct(Self: string): char; extensionmethod;

begin

 var od: array of string := ('000', '001', '010', '011',

     '100', '101', '110', '111');

 var i := od.FindIndex(p -> p = Self);

 Result := if i < 0 then '*' else i.ToString.First

end;

function HexToOct(Self: string): string; extensionmethod;

begin

 var t := '';

 foreach var c in Self do

  t += c.HexDigitToBin;

 var L := t.Length;

 t := '0' * ((3 - L mod 3) mod 3) + t;

 L := t.Length;

 var n := L div 3;

 Result := '';

 for var i := 0 to n - 1 do

   Result += t[3 * i + 1: 3 * i + 4].Bin4ToOct;

end;

begin

 var x16 := ReadString('Введите 16-ричное число:');

 var x8 := x16.HexToOct;

 x8.Print

end.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на языке Python, которая запрашивает 16-ричное число с клавиатуры и выводит его 8-ричное представление:

python
# Запросить 16-ричное число с клавиатуры x16 = input("Введите 16-ричное число: ") try: # Преобразовать 16-ричное число в целое число x10 = int(x16, 16) # Преобразовать целое число в 8-ричное представление x8 = oct(x10) # Вывести результат на экран print("8-ричное представление:", x8) except ValueError: print("Ошибка! Введите корректное 16-ричное число.")

Вы можете вставить этот код в среду разработки на Python (например, IDLE) и выполнить его. Программа запросит у вас ввести 16-ричное число, а затем выведет его 8-ричное представление на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос