Файл: Разработка модуля для выполнения операций с натуральными числами в шестнадцатеричной системе счисления (Теоретические основы систем счисления ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.02.2024

Просмотров: 45

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание:

ВВЕДЕНИЕ

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

Наиболее распространенной и простой для восприятия является десятичная система счисления, применяемая нами в повседневной жизни. При работе же с шестнадцатеричной системой счисления, используемой в современных вычислительных машинах, у человека могут возникнуть трудности, поэтому возникает необходимость автоматизации проведения операций с числами в шестнадцатеричной системе счисления.

Целью данного курсового проекта является создание прикладного программного обеспечения, а конкретнее – приложения-калькулятора для осуществления операций с натуральными[1] числами в шестнадцатеричной системе счисления.

Достижение поставленной цели обеспечивается решением следующих задач:

  • изучение и анализ литературы, посвященной системам счисления;
  • краткое изложение общих сведений о системах счисления;
  • классификация и систематизация алгоритмов для преобразования чисел из одной системы счисления в другую и правил арифметических операций, которые будут использованы в создаваемой программе;
  • проработка и исследование литературы, посвященной языкам программирования высокого уровня;
  • выбор (и его обоснование) языка программирования и среды разработки;
  • постановка задачи на программирование и определение требований к разрабатываемому программному продукту;
  • разработка и реализация модуля для выполнения операций с натуральными числами в шестнадцатеричной системе счисления;
  • демонстрация работы созданного приложения;
  • подведение итогов и формирование выводов.

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

Предмет исследования – разработка программного продукта для выполнения операций с натуральными числами в шестнадцатеричной системе счисления.

Настоящая учебно-исследовательская работа включает в себя две главы.

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


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

1 Теоретические основы систем счисления

1.1 Общие сведения о системах счисления

«Система счисления или нумерация – это способ записи (обозначения) чисел. Символы, при помощи которых записываются числа, называются цифрами, а их совокупность – алфавитом системы счисления. Количество цифр, составляющих алфавит, называется его размерностью». [2, с. 13]

Выделяют непозиционные и позиционные системы счисления.

Наиболее известный представитель непозиционных систем – римская система счисления. Значение (величина) цифры в непозиционной системе счисления не зависит от ее положения в числе.

В позиционной системе счисления значение числа определяется не только набором входящих в него знаков, но и их местом (разрядом) в последовательности цифр, образующих это число, так, цифра 3 в числах 36 и 123 обозначает соответственно 30 и 3

«Количество символов, применяемых в позиционной системе счисления, называется ее основанием. Например, в десятичной системе счисления используется десять символов (цифр): 0 – 9, а основанием системы является число десять.

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

,

(1)

где – запись числа в системе счисления с основанием q; q – основание системы счисления; – целые числа, меньше q; n – число разрядов в целой части числа; m – число разрядов в дробной части числа.

Для обозначения системы счисления ее основание указывается в индексе. Изображение числа A в виде последовательности коэффициентов полинома является его условной сокращенной (свернутой) записью (кодом):

(2)


В информатике применяют позиционные системы счисления с недесятичным основанием: двоичную, восьмеричную и шестнадцатеричную, т. е. системы счисления с основанием q = 2k , где k = 1, 2, 3, 4».[7]

В шестнадцатеричной системе счисления алфавит состоит из 16 знаков (латинских букв и цифр): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А (10), В (11), С (12), D (13), Е (14), F (15). Основание этой системы счисления .

1.2 Перевод натурального десятичного числа в q-ичную систему счисления

Перевод натурального десятичного числа в q-ичную систему счисления производится по следующему алгоритму:

  1. Исходное число a делится на q в десятичной системе счисления и в качестве нового значения десятичного числа a запоминается целая часть результата от деления.
  2. Остаток от деления меняется на эквивалентную цифру в q-ичной системе счисления и добавляется слева к вычисленным ранее символам
    q-ичной записи числа a (так, первая вычисленная цифра будет последней в
    q-ичном числе).
  3. Выполнение двух предыдущих пунктов повторяется до тех пор, пока число a (то есть очередное частное от деления) не станет меньше q. Полученная таким образом целая часть последнего результата деления также приписывается слева к полученным ранее цифрам q-ичного числа a, то есть первое частное, меньшее q будет являться первой цифрой в q-ичной записи числа a.

1.3 Перевод натурального q-ичного числа в десятичную систему счисления

Перевод натурального q-ичного числа в десятичную систему счисления производится по следующему алгоритму:

  1. Каждая цифра q-ичного числа переводится в десятичную систему.
  2. Полученные числа нумеруются по возрастанию справа налево, начиная с нуля.
  3. Десятичное число, эквивалентное каждой q-ичной цифре, умножается на qk , где k – номер этой цифры, результаты суммируются, при этом все арифметические действия производятся в десятичной системе.

1.4 Перевод натуральных чисел между системами счисления с основаниями 2, 8, 16

Для того чтобы перевести число из двоичной системы счисления в восьмеричную () или шестнадцатеричную () систему счисления требуется разделить цифры исходного числа на группы по три (триады) или четыре (тетрады) цифры соответственно. Группировка осуществляется от младших разрядов к старшим. При необходимости недостающие до триады или тетрады позиции заполняются незначащими нулями слева. Далее каждая триада или тетрада заменяется соответствующей цифрой новой системы. Соотношения чисел в системах счисления с основания 2, 8, 16 приведены в таблице 1.


Таблица 1 – Соответствие чисел позиционных систем счисления[2]

Двоичная

Восьмеричная

Шестнадцате­ричная

0

0

0

1

1

1

10

2

2

11

3

3

100

4

4

101

5

5

110

6

6

111

7

7

1000

10

8

1001

11

9

1010

12

A

1011

13

B

1100

14

C

1101

15

D

1110

16

E

1111

17

F

1.5 Арифметические операции над натуральными числами в позиционных системах счисления

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

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

При вычитании из меньшего числа большего производится заем из старшего разряда».[4, c. 36]

Умножение можно рассматривать как суммирование:

(3)

Деление можно рассматривать как многократное вычитание (из делимого вычитается делитель до тех пор, пока результат не станет неположительным):

(4)


Остаток от деления вычисляется по формуле (при делении нацело равен нулю):

.

(5)

где r – остаток от деления; c – частное; a – делимое; b – делитель.

Для всех позиционных систем счисления справедливы одинаковые законы арифметики: переместительный, сочетательный, распределительный.

2 Реализация на языке высокого уровня модуля для выполнения операций над натуральными шестнадцатеричными числами

2.1 Выбор языка программирования и среды разработки

Создаваемое программное обеспечение будет написано на языке программирования высокого уровня Паскаль в свободно распространяемой интегрированной среде разработки PascalABC.NET.

Паскаль – один из самых популярных языков программирования высокого уровня. Его автором в 1968 году стал профессор Цюрихского Института информатики Никлаус Вирт.

«Важнейшей особенностью Паскаля является воплощенная идея структурного программирования. Другой существенной особенностью является концепция структуры данных как одного из фундаментальных понятий». [3, c. 15]

Основные достоинства языка Паскаль:

  • достаточно прост в освоении, поэтому прекрасно подходит для начала изучения программирования;
  • благодаря развитым способам представления структур данных реализует удобство использования различных типов информации – числового, символьного, битового;
  • упрощенная разработка трансляторов с данного языка вследствие специальных методик их создания;
  • оптимизирующие свойства трансляторов с Паскаля позволяют создавать эффективные программы;
  • использование концепции структурного программирования позволяет сделать программу более наглядной и упрощает ее разработку и отладку.

Помимо достоинств, также существуют некоторые недостатки языка Паскаль. Часть реализаций не включают в себя некоторые возможности, например, функцию, возводящую число в степень, возможности включения в софт участков, которые были написаны на языке машинного типа, часто недостаточно полно реализовано объектно-ориентированное программирование.