Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика1 / Лабораторная работа №1.doc
Скачиваний:
36
Добавлен:
25.04.2015
Размер:
185.86 Кб
Скачать

1.1.3 Перевод чисел из одной системы в другую.

Для перевода чисел из одной системы в другую разработаны специальные алгоритмы. Алгоритм – это набор команд, написанных для решения поставленной задачи, и условий, определяющих порядок их выполнения. Каждая команда пишется на отдельной строке.

В данной работе рассматриваются алгоритмы переводов только целых положительных чисел.

Алгоритм перевода чисел из 2-ной системы в 10-ю

Начало алгоритма

Надписать над каждой цифрой ее порядковый номер, начиная с нуля, справа налево.

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

Сложить полученные слагаемые.

Записать результат.

Конец алгоритма.

Пример: Переведем двоичное число 1 0 1 1 12 в десятичную систему счисления

4 3 2 1 0 надписываем над числом порядковый номер его цифр

1 0 1 1 12 образуем ряд слагаемых, как описано выше, и находим сумму 1*24+0*23+1*22+1*21+1*20 == 16+0+4+2+1=2310

Итак, 1 0 1 1 12 == 2310

Циклический алгоритм.

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

Начало цикла. Пока «логическое условие выполняется», повторять

1-я команда, которая повторяется

2-я команда, которая повторяется

- - - - - - - - - - - - - -- - - - - - - - - - - - - - - -

N-я команда, которая повторяется (обычно, изменение аргумента условия)

Конец цикла

Команды, расположенные между началом и концом цикла, повторяются столько раз, сколько раз выполняется условие повторения цикла.

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

Алгоритм перевода чисел из 10-ной системы в 2-ную.

Начало алгоритма

Заданное число считаем делимым.

Начало цикла

Если делимое более нуля, то выполнять (условие выполнения цикла)

Разделить делимое на основание системы методом целочисленного деления, т.е. найти частное и остаток

Считать частное новым делимым (изменение аргумента условия)

Конец цикла (возврат на начало цикла)

Переписать остатки в обратном порядке на строку результата

Конец алгоритма

Применим этот алгоритм для перевода числа из 2-й системы в десятичную: переведем число 2310 в двоичную систему.

Число 23 считаем делимым.

Условие (делимое 23>0) верно, выполняем цикл 23:2=(частное=11, ост=1). Делимое = 11

Условие (делимое 11>0) верно, выполняем цикл 11:2=(частное=5, ост=1). Делимое = 5

Условие (делимое 5>0) верно, выполняем цикл 5:2=(частное=2, ост=1). Делимое = 2

Условие (делимое 2>0) верно, выполняем цикл 2:2=(частное=1, ост=0). Делимое = 1

Условие (делимое 1>0) верно, выполняем цикл 1:2=(частное=0, ост=1). Делимое = 0

Условие (делимое 0>0) не верно, цикл не выполняется (команды цикла пропускаются).

Записываем остатки в обратном порядке в строке результата.

2310→101112

Для перевода чисел из 2-ной системы в 8-ную и обратно, а также для перевода из 2-ной системы в 16-ную и обратно существуют более простые алгоритмы.