МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
Электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра Вычислительной техники
отчет
По лабораторной работе№3
По дисциплине «Информатика»
Тема: «Текстовые редакторы»
Cтудент(ка) гр. 8891 _______________________________ КузнецовВ.М.
Cтудент(ка) гр. 8891 _______________________________ Щедрин В.А.
Ассистент кафедры ВТ _____________________________ Бондаренко П.Н.
Санкт-Петербург
Оглавление
1 Цель работы. 2
2 Системы счисления. 2
2.1 Десятичная система счисления. 4
2.2 Двоичная система счисления. 4
3 Перевод числа из десятичной системы в двоичную. 4
3.1 Правила перевода из системы с большим в систему с меньшим основанием. 4
3.2 Правила перевода из десятичной системы в двоичную. 5
3.3 Схема алгоритма. 5
3.4 Таблица прокрутки алгоритма. 7
4 Реализация алгоритма. 9
4.1 Использование таблицы Word. 9
4.2 Создание тестовых наборов. 11
5 Заключение. 15
6 Список литературы. 15
Цель работы.
Познакомиться с алгоритмом перевода целых чисел из десятичной системы счисления в двоичную(заменить на свою цель!).
Системы счисления.
Система счисления – это совокупность правил записи чисел цифровыми знаками[1]. Значение цифры в позиционной системе счисления определяется её позицией в записываемом числе.
Для позиционной системы счисления формула разложения выглядит следующим образом:
Ap = ai * pi + ai-1 * pi-1 + … + a2 * p2 + a1 * p1 + a0 * p0 (1)
Ар – представляемое число;
p – основание системы счисления;
ai – цифры разрешённые в данной системе счисления;
pi – вес единицы i разряда;
Десятичная система счисления.
В десятичной системе счисления p = 10. Для представления чисел используются десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Число в десятичной системе счисления записывается как сумма единиц, десятков, сотен, тысяч и так далее, веса соседних разрядов различаются в десять раз.
Пример записи десятичного числа в соответствии с (1):
A10 = 345 = 3⋅102 + 4⋅101 + 5⋅100
Для того, чтобы показать, что в примере используется именно десятичная система счисления, используется индекс 10.
Здесь самый старший разряд числа будет называться сотнями. В приведённом примере сотням соответствует цифра 3. Следующий разряд будет называться десятками. В приведённом примере десяткам соответствует цифра 4. Следующий разряд будет называться единицами. В приведённом примере единицам соответствует цифра 5.
Двоичная система счисления.
Основание в двоичной системе счисления p = 2. В этой системе счисления используются цифры: 0, 1. В записи числа используется индекс 2.
Перевод числа из десятичной системы в двоичную.
Правила перевода из системы с большим в систему с меньшим основанием.
Перевести число из десятичной системы в систему с основанием p – значит найти коэффициенты в формуле (1). Для перевода чисел из системы с большим основанием в систему с меньшим основанием используют следующий алгоритм:
1. Найти частное и остаток от деления преобразуемого числа на p. Остаток будет очередной цифрой ai (i=0, 1, 2 …) записи числа в новой системе счисления.
2. Если частное равно нулю, то перевод числа закончен, иначе применяем к частному пункт 1.
Правила перевода из десятичной системы в двоичную.
Пусть необходимо преобразовать десятичное число Dв двоичную систему счисления. Для этого нужно совершить следующие действия:
1. Dразделить на 2 и получить остаток a0.
2. Частное разделить на 2 и получить остатокa1.
3. Повтоpять п. 2, пока не полyчим 1/2=0 с остатком 1. Этот последний остаток и есть стаpшая единица.
Схема алгоритма
Схема алгоритма преобразования представлена на рисунке 1.
Блок 1 соответствует начальным установкам. Введена дополнительная переменная i для отсчета разрядов результирующего числа.
Блок 2 соответствует операции деления числа Dна основание системы 2.
Блок 3 соответствует выполнению операции нахождения остатка, то есть очередной цифры двоичного числа - ai.
Блок 4 соответствует операции перехода к следующему разряду.
Блок 5 соответствует операции присвоения частному статуса делимого
Блок 6 соответствует проверке условия – является ли частное меньше основания, для того, чтобы повторить операции вычисления следующего разряда, либо окончить программу.
Блок 7 соответствует операции завершения алгоритма – присвоения самого старшего разряда двоичного числа.
Рис. 1 – Блок-схема алгоритма преобразования из десятичной в двоичную систему счисления
3.4 Таблица прокрутки алгоритма
Разработанный алгоритм проверен в процессе пошаговой прокрутки. Прокрутка выполнена для двух входных данных. Порядок работы алгоритма при преобразовании числа D10=9 приведен в таблице 1.
Таблица 1 – Пример прокрутки алгоритма
Шаг | Блок | Переменные | ||||
P | Pp | ai | i | P<2 | ||
Результат работы алгоритма по преобразованию числа D10= 9, A2 = 1001.
Порядок работы алгоритма при преобразовании числа D10=16 приведен в таблице 2.
Таблица 2 – Пример прокрутки алгоритма
Шаг | Блок | Переменные | ||||
P | Pp | ai | i | P<2 | ||
Результат работы алгоритма по преобразованию числа D10= 16, A2 = 10000.
Реализация алгоритма.
Для преобразования можно воспользоваться различными способами. Один из них связан с использованием таблиц Word.
Использование таблицы Word.
Разработана таблица, которая может быть использована для преобразования чисел из десятичной системы в двоичную.
Ячейкам таблицы поставлены в соответствие определенные формулы. За основу построения формул взята следующая нумерация ячеек таблицы, как показано в таблице 3.
Таблица 3 - Нумерация ячеек
A1 | B1 | C1 |
A2 | B2 | C2 |
A3 | B3 | C3 |
A4 | B4 | C4 |
Разработанная таблица 4 реализует алгоритм, приведенный на рис. 1.
В ячейке B2 реализовано вычисление целой части от деления исходного числа на основание системы счисления.
В ячейке C2 реализовано вычисление остатка, то есть цифры разряда a0, при помощи формулы A2 – 2*B2.
В ячейке A3 реализовано присвоение значения ячейки B2 (формула А3=В2), для вычисления значения очередного разряда a1.
В ячейке B3 реализовано вычисление целой части от деления исходного числа на основание системы счисления; формула такая же, как и для ячейки B2 (В3=INT(A3/2).
В ячейке C3 реализовано вычисление остатка, то есть цифры разряда a1, при помощи формулы A3 – 2*B3.
В ячейке A4 реализовано присвоение значения ячейки B3 (формула А4=В3), для вычисления очередного разряда a2.
В ячейке B4 реализовано вычисление целой части от деления исходного числа на основание системы счисления; формула такая же, как и для ячейки B2 и В3 (В4=INT(A4/2).
В ячейке C4 реализовано вычисление остатка, то есть цифры разряда a2, при помощи формулы A4 – 2*B4.
В ячейке A5 реализовано присвоение значения ячейки B4 (формула А5=В4), для вычисления очередного разряда a3.
В ячейке B5 реализовано вычисление целой части от деления исходного числа на основание системы счисления; формула такая же, как и для ячейки B2, В3 и В4 (В5=INT(A5/2).
В ячейке C5 реализовано вычисление остатка, то есть цифры разряда a3, при помощи формулы A5 – 2*B5.
В ячейке A6 реализовано присвоение значения ячейки B5 (формула А6=В5), для вычисления очередного разряда a3.
В ячейке B6 реализовано вычисление целой части от деления исходного числа на основание системы счисления; формула такая же, как и для ячейки B2, В3, В4 и В5 (В6=INT(A6/2).
В ячейке C6 реализовано вычисление остатка, то есть цифры разряда a3, при помощи формулы A6 – 2*B6.
Используется таблица следующим образом. Исходное число вводится в ячейку А2. Для пересчета содержимого выделяются те ячейки, которые необходимо пересчитать и нажимается клавиша F9.
Таблица 4 – Пример прокрутки алгоритма
Исходное число | Pp | P – 2* Pp | ai | |
a0 | ||||
a1 | ||||
a2 | ||||
a3 | ||||
a4 | ||||
a5 | ||||
a6 |