19 Янв 14
Перевод в двоичную систему паскальКомментарии : 0 Просмотры : 19810
В данном уроке мы разберемся в том , как переводить числа из десятичной системы счисления в двоичную в паскале. Условие задачи : Требуется перевести число в двоичную систему счисления ( из десятичной ). С клавиатуры вводится натуральное число N , требуется вывести это число в двоичной системе счисления. Устный разбор :Мы знаем , что для перевода числа в другую систему счисления его нужно делить на основание системы ( основание двоичной системы счисления - 2 , десятичной - 10 и т.д ). Делить число нужно до тех пор пока неполное частное больше или равно основанию. Когда неполное частное становится меньше основания , начинаем выписывать остатки от деления с конца ( начинать с последнего неполного частного ! ).Пример : Проще говоря , число 17 в двоичной системе счисления будет выглядеть так : 10001. Теперь , когда мы вспомнили то , как переводить числа в другую систему счисления , мы можем перейти к дальнейшему разбору задачи. В ходе выполнения программы мы будем пользоваться тем же алгоритмом решения , что и на картинке выше. Решение задачи :Код program mypascal; uses crt; var a: array[1..100] of byte; n,i,c:integer; begin readln(n); c:= 0; repeat c:= c + 1; a[c]:= n mod 2; n:= n div 2; until n = 0; for i:= c downto 1 do write(a[i]); writeln(); end. В начале программы объявляем массив , в котором мы будем хранить остатки от деления. Размерность данного массива зависит от того , какие числа мы будем переводить. Например для перевода небольших чисел хватит 100 ячеек. Если вы рассчитываете на более большие числа , то можете увеличить размерность массива. Так как значения элементов массива будут колебаться в промежутке от 0 до 1 , то использовать мы будем тип данных byte ( о типах данных ) Нам понадобятся ещё три переменные n , i , c. Как обычно переменная i играет роль счетчика цикла. Переменная n хранит в себе число , которое будем переводить в двоичную систему счисления. Переменная c нужна для добавления остатков от деления в массив. Далее в программе мы используем цикл repeat ( о циклах ) для сохранения остатков от деления в массив. В конце программы выводим массив в обратном порядке ( это принципиально ) , так как остатки от деления нужно выводить в обратном порядке. Комментарии : 0 Просмотры : 19810 |
НавигацияЛичный кабинетПоискПопулярные
Сумма целых чисел от 1 до... 07 Июн 13
Перевод в двоичную систем... 19 Янв 14 Поиск элемента в массиве ... 17 Янв 14 Практическая работа №6. О... 10 Янв 14 Найти факториал числа 14 Июл 13 Обсуждаемые
Сумма целых чисел от 1 до... 07 Июн 13
Найти наибольшее число 05 Июн 13 Обмен значениями двух пер... 20 Июн 13 Найти факториал числа 14 Июл 13 Сортировка массива в паск... 16 Июл 13 Скачать паскальRSS лентаРешение задач
Если вас интересует решение какой-либо задачи , то вы можете опубликовать
её условие на нашем сайте или форуме. И в скором времени другие пользователи помогут вам. Опубликовать на сайте Опубликовать на форуме Опрос |