Разработка электронных таблиц

Федеральное агентство по образованию

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ" (ОмГТУ)


Кафедра «Автоматизированные системы обработки информации и управления»



РАСЧЁТНО-ГРАФИЧЕСКАЯ РАБОТА

На тему «Разработка электронных таблиц»

по дисциплине «История АСОИУ»

студента группы АС-115 Жукова Владимира Владимировича

Пояснительная записка

Шифр работы РГР – 2068998 - 43 -04 ОТЧ

Направление 552800


Зав. кафедрой, д. т. н., проф. А. В. Никонов


Студент В.В. Жуков


Омск 2005

РЕФЕРАТ


Отчет 18 c., 3 рис., 4 табл., 2 источника, 1 прил.

ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ, ОСНОВАНИЕ СИСТЕМЫ СЧИСЛЕНИЯ, MICROSOFT EXCEL, ЭЛЕКТРОННАЯ ТАБЛИЦА, ЛИСТ ЭЛЕКТРОННОЙ КНИГИ

Предметом исследования является позиционная система счисления.

Цель работы – организация средствами Microsoft Excel автоматического выполнения операций над представлениями чисел в позиционных системах счисления.

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

В результате при помощи разработанной таблицы были получены требуемые расчетные величины, отображенные далее в работе.

Содержание


Введение

1 Разработка электронных таблиц

1.1 Перевод чисел в десятичную систему счисления

1.2 Перевод чисел из десятичной системы счисления

1.3 Сложение чисел в позиционных системах счисления

2 Результаты вычислений

Заключение

Список использованных источников

Введение


Данная расчётно-графическая работа по дисциплине «История АСОИУ» посвящена приобретения навыков практического применения базовых информационных технологий, используемых для обработки числовых данных в электронных таблицах. Работа включает в себя выполнение Лабораторной работы № 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.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.3 Сложение чисел в позиционных системах счисления


Для сложения чисел в системе с заданным основанием В>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. Результаты вычислений


2.1 Полученное двадцатеричное представление числа 1190,62510 изображено на рисунке 1, где каждая рамка обозначает двадцатеричную цифру и содержит её десятичное значение.

2 19 10 , 12 10

Рисунок 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

7 3 8

Три неточных последних разряда содержат результаты выполняемого «машиной» перевода десятичной дроби 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

5 1 10 10

Четыре неточных последних разряда содержат результаты выполняемого «машиной» перевода десятичной дроби 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

5 0 4 0 6 0

Шесть неточных последних разряда содержат результаты выполняемого «машиной» перевода десятичной дроби 0,1 10 в систему счисления с основанием 12.


2.4 На рисунке 5 изображен перевод из десятичной системы счисления числа 999999999 в систему с основанием В=9


2 5 2 0 6 0 7 1 0 0

Рисунок 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

10 2 2

Рисунок 7 – Шестнадцатеричное представление числа 259510

Сумма цифр шестнадцатеричной записи целого числа 259510 равна:

10 + 2 + 2 = 5;

Признак делимости: шестнадцатеричное число делится на 15, если сумма его цифр делится на 15 – не подтверждается.


2.6 На рисунке 8 представлен перевод в десятичную систему запись целого числа 6517

3 3 0

Рисунок 8 – Десятичное представление числа 6517

На рисунке 9 представлен перевод в восьмеричную систему запись целого числа 33010

5 1 1

Рисунок 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 – Сложение двух чисел в двоичной системе

«Сумматор» будет работать неправильно из-за переполнения его разрядной сетки, так как сложение чисел происходило с ограниченным числом