Вопрос задан 23.02.2019 в 02:02. Предмет Информатика. Спрашивает Селезнева Лизонька.

100 баллов.Напишите программу перевода числа из восьмеричной системы счисления в двоичную. Оформить

в Паскале.
0 0
Перейти к ответам

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

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

const
  m:array['0'..'7'] of string=
      ('000','001','010','011','100','101','110','111');
  m1:array['1'..'7'] of string=
      ('1','10','11','100','101','110','111');
var
  s8,s2:string;
  i:integer;
begin
  Write('Введите восьмеричное число: '); Readln(s8);
  s2:=m1[s8[1]];
  for i:=2 to Length(s8) do s2:=s2+m[s8[i]];
  Writeln('В двоичной системе: ',s2)
end.

Тестовое решение:
Введите восьмеричное число: 360721
В двоичной системе: 11110000111010001

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

Программа перевода числа из восьмеричной системы счисления в двоичную на языке Pascal может выглядеть следующим образом:

```pascal program OctalToBinary;

var octalNumber, decimalNumber, binaryNumber: longint; i: integer;

begin writeln('Введите число в восьмеричной системе: '); readln(octalNumber);

decimalNumber := 0; i := 0;

// Переводим число из восьмеричной системы в десятичную while octalNumber <> 0 do begin decimalNumber := decimalNumber + (octalNumber mod 10) * round(power(8, i)); inc(i); octalNumber := octalNumber div 10; end;

// Переводим число из десятичной системы в двоичную binaryNumber := 0; i := 1;

while decimalNumber <> 0 do begin binaryNumber := binaryNumber + (decimalNumber mod 2) * i; decimalNumber := decimalNumber div 2; i := i * 10; end;

writeln('Число в двоичной системе: ', binaryNumber); end. ```

Пользователю будет предложено ввести число в восьмеричной системе счисления. Затем программа переведет это число в десятичную систему, а затем в двоичную. Результат будет выведен на экран.

Программа использует две переменные `octalNumber` и `decimalNumber` для хранения чисел в восьмеричной и десятичной системах соответственно. Переменная `binaryNumber` используется для хранения числа в двоичной системе.

Цикл `while` используется для перевода числа из восьмеричной системы в десятичную. В каждой итерации цикла мы берем последнюю цифру числа в восьмеричной системе (`octalNumber mod 10`), умножаем ее на 8 в степени `i` и добавляем к `decimalNumber`. Затем мы увеличиваем `i` и делим `octalNumber` на 10, чтобы перейти к следующей цифре числа.

Затем, используя цикл `while`, число переводится из десятичной системы в двоичную. В каждой итерации цикла мы берем остаток от деления числа на 2 (`decimalNumber mod 2`) и умножаем его на текущую степень 10 (`i`). Затем мы делим `decimalNumber` на 2 и увеличиваем `i` для перехода к следующему разряду числа.

Наконец, программа выводит полученное число в двоичной системе на экран.

0 0

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

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

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