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

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

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



Программа перевода числа из восьмеричной системы счисления в двоичную на языке 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` для перехода к следующему разряду числа.
Наконец, программа выводит полученное число в двоичной системе на экран.


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili