Перевод из двоичной системы счисления в десятичную. Паскаль

Реализуем алгоритм перевода числа из двоичной системы счисления в десятичную на языке Паскаль. Программа будет работать для двоичных чисел, состоящих из 10 цифр, т.к. мы используем тип данных LONGINT. Как реализовать данный алгоритм для любого двоичного числа —  рассмотрим в следующих записях.

Задача будет полезна как приложение языка программирования к решению практических задач.

Всегда рад комментариям, пишите!

Можно приступать!

Как бы мы решали данную задачу на бумаге:

Мы умножаем каждую цифру числа на 2 в степени, соответствующей разряду этой цифры в числе, и складываем полученные произведения.

Для возведения числа ДВА в соответствующую степень, мы используем функцию (я назову ее STEP, выделена зеленым цветом).

Рассмотрим код программы:

function step(x:integer):longint;
 var i:integer; st:longint;
 begin
 if x=0 then step:=1 else begin
      st:=1;
      for i:=1 to x do begin
      st:=st*2;
      step:=st;
      end; end;
 end;
var k,a,b,d,s:longint;


begin
s:=0;
k:=0;
readln(a);
repeat
      b:=a mod 10; // отделяем последнюю цифру числа
      d:=a div 10; // запоминаем число без последней цифры
      s:=s+b*step(k); 
      k:=k+1;
      a:=d;
until d=0;
writeln(s);
end.

В программе используется цикл с постусловием: когда целая часть числа станет равной нулю, т.е.  отделим все цифры числа,  мы выходим из цикла.

Функция STEP возвращает значение: число ДВА в некоторой степени k.

Процесс работы программы смотрите в презентации «Перевод из двоичной системы счисления в десятичную. Паскаль» (скачать)

Andrey K

View Comments

  • Проверял - работает => использовал в своей программе)

  • А почему не по схеме Горнера? Намного проще и эффективнее.

  • Схема классная, очень хорошо помогла. Спасибо!

Recent Posts

Решение задачи №6 и задачи №22 ЕГЭ по информатике 2021

Настала пора написать серию мини-обучалок по решению задач ЕГЭ по информатике версии 2021 года. В…

4 года ago

Внеурочное занятие по информатике. Пишем игру «Поле чудес» на Python.

Данная статья будет полезна для учителей информатики, которые занимаются программированием с детьми внеурочно. Опыт  показывает, …

4 года ago

Основные алгоритмы в помощь школьнику. Часть 1

Рассмотрим набор наиболее часто встречающихся задач на программирование в школьном курсе информатики. Добавляйте свои задачи…

5 лет ago

Школьный тур Всероссийской олимпиады школьников по информатике 9-11 класс (2018-2019). Разбор задач. Часть 2

В прошлый раз мы разобрали первые две задачи школьного тура Всероссийской олимпиады школьников, проводимой в…

6 лет ago

Школьный тур Всероссийской олимпиады школьников по информатике 9-11 класс (2018-2019). Разбор задач. Часть 1

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

6 лет ago

Школьный этап Всероссийской олимпиады школьников по информатике 2017 (9-11 классы). Задача №4. «Плацкартный вагон»

Задача. В плацкартном вагоне 54 места, пронумерованных числами от 1 до 54. Вагон разбит на 9…

7 лет ago