Вопрос задан 08.05.2019 в 02:22. Предмет Информатика. Спрашивает Янушевська Марина.

С помощью Паскаля: Число в двоичной системе счисления, введенное пользователем программы,

преобразовать в десятичное число.Используя цикл! Желательно попроще (без length, ord, exp).
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Марченко Никита.
var
  a, b, i: integer;
  d: string;
  
begin
  readln(a);
  d := a.ToString();
  for i := length(d) downto 1 do
    b += byte.Parse(d[i]) * round(power(2, length(d) - i));
  writeln(b);
end.

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

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

1. Пользователь вводит число в двоичной системе счисления. 2. Создаем переменную "decimal" и инициализируем ее нулем. Эта переменная будет хранить десятичное значение числа. 3. Создаем переменную "power" и инициализируем ее нулем. Эта переменная будет хранить степень двойки. 4. Создаем переменную "binary" и присваиваем ей введенное пользователем число. 5. Создаем цикл, который будет выполняться до тех пор, пока "binary" не станет равным нулю. 6. Внутри цикла проверяем последнюю цифру числа "binary". Если она равна единице, то прибавляем к "decimal" значение 2 в степени "power". 7. Уменьшаем "binary" на одну цифру, удаляя последнюю цифру. 8. Увеличиваем "power" на единицу. 9. Повторяем шаги с 5 по 8 до тех пор, пока "binary" не станет равным нулю. 10. Выводим значение "decimal" на экран.

Пример кода на языке Паскаль:

``` program BinaryToDecimal; var binary, decimal, power, digit: integer; begin writeln('Введите число в двоичной системе счисления: '); readln(binary); decimal := 0; power := 0; while binary <> 0 do begin digit := binary mod 10; decimal := decimal + digit * round(exp(power * ln(2))); binary := binary div 10; power := power + 1; end; writeln('Десятичное число: ', decimal); end. ```

В этом коде мы использовали функции "mod" и "div" для получения последней цифры числа и удаления последней цифры соответственно. Также использовали функции "round", "exp" и "ln" для вычисления значения 2 в степени "power".

0 0

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

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

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