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

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

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, нерационально



Для преобразования числа из двоичной системы счисления в десятичную можно использовать следующий алгоритм:
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".


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








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