Федеральное агентство по образованию
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ" (ОмГТУ)
Кафедра «Автоматизированные системы обработки информации и управления»
РАСЧЁТНО-ГРАФИЧЕСКАЯ РАБОТА
На тему «Разработка электронных таблиц»
по дисциплине «История АСОИУ»
студента группы АС-115 Жукова Владимира Владимировича
Пояснительная записка
Шифр работы РГР – 2068998 - 43 -04 ОТЧ
Направление 552800
Омск 2005
Отчет 18 c., 3 рис., 4 табл., 2 источника, 1 прил.
ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ, ОСНОВАНИЕ СИСТЕМЫ СЧИСЛЕНИЯ, MICROSOFT EXCEL, ЭЛЕКТРОННАЯ ТАБЛИЦА, ЛИСТ ЭЛЕКТРОННОЙ КНИГИ
Предметом исследования является позиционная система счисления.
Цель работы – организация средствами Microsoft Excel автоматического выполнения операций над представлениями чисел в позиционных системах счисления.
В процессе работы создавались электронные таблицы, реализующие перевод чисел из произвольной системы в десятичную, из десятичной в систему с произвольным основанием и сложение чисел с любым основанием.
В результате при помощи разработанной таблицы были получены требуемые расчетные величины, отображенные далее в работе.
Введение. 4
1 Разработка электронных таблиц. 5
1.1 Перевод чисел в десятичную систему счисления. 5
1.2 Перевод чисел из десятичной системы счисления. 5
1.3 Сложение чисел в позиционных системах счисления. 7
2 Результаты вычислений. 8
Заключение. 14
Список использованных источников. 15
Введение
Данная расчётно-графическая работа по дисциплине «История АСОИУ» посвящена приобретения навыков практического применения базовых информационных технологий, используемых для обработки числовых данных в электронных таблицах. Работа включает в себя выполнение Лабораторной работы № 4 «Системы счисления: перевод чисел» из [1] и дополнительного индивидуального задания.
Цель работы – организация средствами Microsoft Excel автоматического выполнения операций над представлениями чисел в позиционных системах счисления.
В ходе работы требуется:
а) реализовать перевод чисел в десятичную систему счисления;
б) реализовать перевод чисел из десятичной системы счисления;
в) реализовать сложение в позиционных системах счисления;
д) произвести контрольные вычисления, включая индивидуальное задание.
Индивидуальное задание заключается в переводе двух чисел XB
и YB
, заданных в системе счисления с основанием B
, к представлению XC
и YC
в системе с основанием С
; получении сумм ZB
= XB
+ YB
и ZC
= XC
+ YC
и сравнении и ZC
после перевода в десятичную систему счисления.
Первый раздел отчета посвящен описанию разработанной электронной книги Miсrosoft Excel, состоящей из 3-х листов, реализующие задачи а) -в) соответственно.
Второй раздел содержит результаты вычисления, сделанных при помощи разработанных таблиц, и ответы на контрольные вопросы четвертого пункта Лабораторной работы №4 из [1]. При выполнении индивидуального задания (пункт 2.10.1) использованы исходные данные варианта №19: B=4, XB
= 20332131,00214
, YB
= 13303101,31214
, С = 7.
При работе использован теоретический материал из [2].
1.1 Перевод чисел в десятичную систему счисления
Для перевода чисел из позиционной системы счисления с основанием B>1 в десятичную систему счисления, следуя инструкциям [1], был создан отдельный лист электронной книги, вид которого показан на рисунке А.1 приложения А. Ячейка В8 содержит основание системы В. Целая часть исходного В-ичного числа записывается поразрядно в ячейку D8-W8 так, чтобы младший разряд числа находился в ячейке W8. Дробная часть числа размещается в ячейках Y8-AR8, начиная с ячейки Y8. Вместо нулевых разрядов могут быть оставлены три ячейки. К разработанному листу применена защита, и ввод может быть осуществлен только в описанные ячейки.
Скрытые диапазоны DIV-WIO и YIO-ARIO содержат веса разрядов, равные степеням основания В, так, что: WIO =B0
=1, VIO = B1
, Y10 = B-1
, U10 = B2
, Z10 = B-2
и т.д. Значения весов вычисляются рекуррентно, начиная с W10, путём умножения веса справа или деления веса слева на В. Ячейка В15 содержит искомое десятичное представление, получаемое в результате выполнения формулы Miсrosoft Excel:
СУММПРОИЗВ(D8:W8;D10:W10)+СУММПРОИЗВ(Y8:AR8;Y10:AR), (1)
СУММПРОИЗВ – функция, возвращающая сумму произведений соответствующих элементов массивов;
D8:W8 – диапазон ячеек;
D10:W10 – диапазон ячеек;
Y8:AR8 – диапазон ячеек;
Y10:AR10 – диапазон ячеек,
реализующей сумму попарных произведений разрядов исходного числа и соответствующих им весов.
Результаты вычисления, сделанных с помощью разработанного листа приведены во втором разделе данного отчета.
1.2 Перевод чисел из десятичной системы счисления
Для перевода из десятичной системы счисления в позиционные системы счисления с основанием В>1, следуем инструкции [1], был создан отдельный лист электронной книги, вид которого показан на рисунке А2 приложения А «Перевод из десятичной системы счисления в систему с основанием В». Ячейка К7 содержит основание системы В. Целая часть N десятичного числа записывается поразрядно в ячейке В10, дробная часть Z десятичного – в В18. Целая часть В-ичного числа записывается поразрядно в ячейке D10-W10, чтобы младший разряд находился в ячейке W10. Дробная часть размещается с D18-W18, начиная с ячейки D18 вместо нулевых разрядов, могут быть оставлены пустые ячейки.
Скрытые диапазоны с D11 – W11 и D12 – W12 содержат формулы для пересчета целой части N десятичного числа в заданную систему счисления с любым основанием В, реализуя правило последовательного деления N на В и вычисления остатков [2]. Формулы для определения частных от деления размещены в диапазоне ячеек D11 – W11 под разрядами В-ичного числа. В строке ниже введены формулы для вычисления последовательных остатков от деления N на В. Эти остатки – цифры В-ичного числа.
ЦЕЛОЕ(N/b), (2)
где ЦЕЛОЕ() – функция округляет число до ближайшего меньшего целого;
N – целая часть десятичного числа;
b – основание системы счисления для перевода.
ОСТАТ (N;b), (3)
где ОСТАТ() – функция возвращает остаток от деления;
N – целая часть десятичного числа;
b – основание системы счисления для перевода.
ЕСЛИ(СУММ($D$12:V12)=0;’’’’;V12), (4)
где ЕСЛИ – функция условия;
СУММ – функция суммирует все числа в интервале ячеек;
$D$12:V12 – интервал ячеек;
’’’’ - пустой текст между апострофами;
V12 – ячейка.
Смысл (4) формулы: если слева от разряда V12 (включая сам этот разряд) все нули, то в ячейку записывается результат «пусто» (пустой текст между апострофами), иначе пишется цифра из ячейки V12.
Дробная часть Z десятичного числа переводится аналогично, только при этом применяется не деление, а умножение Z на основание системы счисления. После каждого умножения целая часть результата забирается (вычитается) из него и переносится в качестве очередной цифры в состав дробной части перевода числа [2]. При этом цифры дробной части появляются в порядке слева направо.
ЦЕЛОЕ(D19) (5)
где ЦЕЛОЕ() – функция округляет число до ближайшего меньшего целого;
D19 – ячейка
Формула (5) – это первая цифра дробной части.
D19-D18 (6)
где D19 – ячейка;
D18 – ячейка.
Формула (6) показывает: вычитаем целую часть из результата.
Для сложения чисел в системе с заданным основанием В>1, следуем инструкции [1], был создан отдельный лист электронной книги, вид которого показан на рисунке А3 приложения А. Ячейка В8 содержит основание системы В. Диапазон ячеек для ввода цифр слагаемых D8:AC8 и D9:AC9; диапазон ячеек отображения суммы слагаемых – D10:AC10. Диапазон скрываемых ячеек D12:AC12 содержит формулы для вычисления переносов;
ЦЕЛОЕ((AC9+AC8+AD12)/$B$8), (7)
где ЦЕЛОЕ – функция округляет число до ближайшего наименьшего целого;
AC9, AC8, AD12, $B$8 – ячейки.
Смысл формулы (7) в том, что когда сумма двух разрядов и переноса из предыдущего разряда будет больше основания системы счисления, то сформируется перенос в следующий разряд. Диапазон ячеек D10:AC10 содержит формулу для вычисления разрядов суммы:
ОСТАТ(AD12+AC8+AC9;$B$8), (8)
где ОСТАТ() – возвращает остаток от деления;
AD12 – ячейка;
AC8 – ячейка;
AC9 – ячейка;
$B$8 – сохраняемая ячейка.
Формула (8) – это часть той же суммы, остающаяся в данном разряде.
Из рисунка А3 приложения А «Сложение чисел с заданным основанием» видно, что группа разрядов чисел «разделена» на листе на две части стрелками. Так можно условно отмечать положение раздельной запятой, когда нужно интерпретировать суммирование как операцию над дробными числами.
2.1
Полученное двадцатеричное представление числа 1190,62510
изображено на рисунке 1, где каждая рамка обозначает двадцатеричную цифру и содержит её десятичное значение.
Рисунок 1 – Двадцатеричное представление числа 1190,62510
Полученное двадцатеричное число содержит пять значащих двадцатеричных цифр.
2.2
Перевод десятичной дроби 0,110
в системы счисления с основаниями 2, …, 9 представлены в таблице 1
Таблица 1 – Перевод из десятичной системы счисления
Основание системы
|
Исходное число
|
Полученный перевод числа
|
2
|
0,1
|
0,0(0011)
|
3
|
0,1
|
0,(0022)
|
4
|
0,1
|
0,0(12)
|
5
|
0,1
|
0,0(2)
|
6
|
0,1
|
0,0(3)
|
7
|
0,1
|
0,0(4620)
|
8
|
0,1
|
0,0(6314)
|
9
|
0,1
|
0,(08)
|
Дробная часть числа в системе с основанием В есть позиционная дробь 0, а –1
а –2
…а –к
, записанная цифрами этой системы счисления и обозначающая сумму
а –1
В –1
+ а –2
В –2
+ … + а –к
В –к
, (9)
где a –1
- первый член дробной части числа;
В –1
– основание позиционной системы в степени первого члена дробной части числа;
a –2
- второй член дробной части числа;
В –2
– основание позиционной системы в степени второго члена дробной части числа;
a –к
- к-тый член дробной части числа;
В –1
– основание позиционной системы в степени к-того члена дробной части числа, которая лежит в промежутке от 0 до 1. Значение цифры а –1
можно извлечь путем умножения величины (9) на основание В. Результат умножения составляет величину а –1
+ а –2
В –1
+ … + а –к
В –к + 1
, и его целая часть представляет собой искомое значение цифры а –1
. Вычитая целую часть, вновь получим величину между нулем единицей, из которой таким же путем можно будет извлекать следующие цифры. Процесс продолжается до тех пор, пока не будет получена нулевая дробная часть или пока не будет достигнута приемлемая точность представления дроби.
2.3
Перевод десятичной дроби 0,1 10
в систему счисления с основаниями В=9 представлен на рисунке 2
0
|
,
|
0
|
8
|
0
|
8
|
0
|
8
|
0
|
8
|
0
|
8
|
0
|
8
|
0
|
8
|
0
|
8
|
0
|
7
|
3
|
8
|
Рисунок 2 – Девятеричное представление числа 0,110
Три неточных последних разряда содержат результаты выполняемого «машиной» перевода десятичной дроби 0,1 10
в системы счисления с основаниями 9.
Перевод десятичной дроби 0,1 10
в систему счисления с основаниями В=11 представлен на рисунке 3
0
|
,
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
5
|
1
|
10
|
10
|
Рисунок 3 – Представление числа 0,110
в системе с основанием В=11
Четыре неточных последних разряда содержат результаты выполняемого «машиной» перевода десятичной дроби 0,1 10
в систему счисления с основанием 11.
Перевод десятичной дроби 0,1 10
в систему счисления с основаниями В=12 представлен на рисунке 4
0
|
,
|
1
|
2
|
4
|
9
|
7
|
2
|
4
|
9
|
7
|
2
|
4
|
9
|
7
|
2
|
5
|
0
|
4
|
0
|
6
|
0
|
Рисунок 4 – Представление числа 0,110
в системе с основанием В=12
Шесть неточных последних разряда содержат результаты выполняемого «машиной» перевода десятичной дроби 0,1 10
в систему счисления с основанием 12.
2.4
На рисунке 5 изображен перевод из десятичной системы счисления числа 999999999 в систему с основанием В=9
Рисунок 5 – Девятеричное представление числа 99999999910
Появление в конце числа двух нулей объясняется соблюдением признака делимости на 9: число делится на 9 тогда и только, когда сумма его цифр делится на 9, как показано ниже:
9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 = 81;
81 / 9 = 9 остаток 0
1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 9
9 / 9 = 1 остаток 0.
Перевод десятичной дроби 99999999910
в систему счисления с основаниями В=3 представлен на рисунке 6
2
|
1
|
2
|
0
|
2
|
0
|
0
|
2
|
0
|
0
|
0
|
2
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
Рисунок 6 – Троичное представление числа 99999999910
Четыре нуля в троичном представлении числа 99999999910
.
2.5
На рисунке 7 представлен перевод в шестнадцатеричную систему запись целого числа 259510
Рисунок 7 – Шестнадцатеричное представление числа 259510
Сумма цифр шестнадцатеричной записи целого числа 259510
равна:
10 + 2 + 2 = 5;
Признак делимости: шестнадцатеричное число делится на 15, если сумма его цифр делится на 15 – не подтверждается.
2.6
На рисунке 8 представлен перевод в десятичную систему запись целого числа 6517
Рисунок 8 – Десятичное представление числа 6517
На рисунке 9 представлен перевод в восьмеричную систему запись целого числа 33010
Рисунок 9 – Восьмеричное представление числа 33010
Признак делимости на 7, записанного в восьмеричной системе счисления: число делится на 7 тогда и только тогда, когда на 7 делится сумма его цифр – подтверждается, так как:
5 + 1 + 1 = 7;
2.7
В таблице 2 представлен перевод в десятичную систему счисления чисел из системы с основанием В=2.
Таблица 2 – Перевод в десятичную систему счисления из двоичной системы
Основание системы
|
Исходные числа
|
Полученный перевод числа
|
2
|
0,1
|
0,5
|
2
|
0,3
|
1,5
|
2
|
0,8
|
4
|
Дробь всегда получается с конечным числом значащих цифр, потому что если знаменатель натуральной несократимой дроби, задающей дробную часть числа, разлагается только на те же простые множители, на которые разлагается основание В системы счисления, то такая дробная часть в позиционной записи будет конечной.
2.8
На рисунке 10 представлено сложение двух чисел в двоичной системе
1
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
Рисунок 10 – Сложение двух чисел в двоичной системе
«Сумматор» будет работать неправильно из-за переполнения его разрядной сетки, так как сложение чисел происходило с ограниченным числом разрядов.
Наибольшее правильно вычисляемое значение суммы имеет вид:
111111111111111111111111102 =67 108 86210 .
2.9
На рисунке 11 представлен перевод в десятичную систему запись числа 2460,738
Рисунок 11 – Десятичное представление числа 2460,738
На рисунке 12 представлен перевод в восьмеричную систему запись числа 1328,92187510
Рисунок 12 – Восьмеричное представление числа 1328,92187510
Согласно заданию число 2460,738
было переведено в десятичную систему счисления, а затем снова в восьмеричную систему счисления
2460,738
→ 1328,92187510
→ 2460,738
2.10
Пусть В=2, ХВ
= 100,00012
, YВ
= 100,01112
, С=7 (исходные данные варианта №1). В таблице 3 представлены XB
и YB
в систему с основанием С и результатами независимых суммирований ZB
и ZС
Таблица 3 – Результаты вычислений
Основание системы счисления
|
Величина
|
Х
|
Y
|
Z
|
2
|
100,0001
|
100,0111
|
1000,1
|
7
|
4,(03)
|
4,(30)
|
11,(3)
|
Каждая из получено сумм ZC
и ZВ
при переводе в десятичную систему представляет собой 8,б5.
2.10.1 Индивидуальное задание (Вариант №19)
В таблице представлены результаты преобразования XB
и YB
в систему с основанием С и результаты независимых суммирований ZB
= XB
+ YB
и Zc
= X
с
+ Y
с
.
XB
→ XC
;
YB
→ YC
;
XB
+ YB
→ ZB
→ Z10
;
XC
+ YC
→ ZC
→ Z’10
;
Таблица 4 – Результаты вычисления
Основание системы счисления
|
Величина
|
X
|
Y
|
Z
|
4
|
2033231,0021
|
13303101,3121
|
100301232,3202
|
7
|
212121,(24612)
|
162105,(593362)
|
404230,(202512)
|
Каждая из полученных независимых сумм ZB
и Z
с
при переводе в десятичную систему счисления представляет собой число 68718,88281 и 68719,2937, т.к. перевод и сложение чисел происходит с ограниченным числом разрядов.
Результатом выполнения расчётно-графической работы является электронная книга Microsoft Excel, позволяющая осуществлять перевод чисел из одной позиционной системы в другую систему с любым основанием, а также сложение чисел в произвольной системе счисления. Для разработки этой книги были использованы теоретический материал из [2] и методические указания из [1].
В ходе выполнения индивидуального задания косвенно контролировалось переполнение при представлении чисел в разных системах счисления. Для этого заданные числа 100,00012
и 100,01112
суммировались раздельно в двоичной и в семеричной системах счисления. При переводе в десятичную систему полученные суммы дали одинаковый результат, что значит, что переполнение при переводе чисел не произошло.
Для этого заданные числа 2033231,00214
и 13303101,31214
суммировались раздельно в четверичных и в семиричных системах счисления. При переводе в десятичную систему полученные суммы не дали одинаковый результат, что значит, что переполнение при переводе чисел произошло.
1 Информатика: Методические указания к лабораторным работам /В.Н.Задорожный, О.Н. Канева. – Омск: Изд-во ОмГТУ, 2005 – 56 с. [1]
2 Информатика: Конспект лекций /В.Н. Задорожный, О.Н. Канева. – Омск: Изд-во ОмГТУ, 2005. – 44 с. – Часть 1. [2]
|