Миникалькулятор - программа, позволяющая выполнять арифметические действия над двоичными, восьмеричными или шестнадцатеричными числами (курсовая:  программа (Delphi) и пояснительная записка)


СОДЕРЖАНИЕ

ВВЕДЕНИЕ    4
1. РАЗРАБОТКА ЭСКИЗНОГО И ТЕХНИЧЕСКОГО ПРОЕКТОВ ПРОГРАММЫ    7
1.1. Задание    7
1.2. Назначение и область применения    7
1.3. Технические характеристики    7
1.3.1. Постановка задачи    7
1.3.2. Описание алгоритма    8
1.3.3. Организация входных и выходных данных    14
1.3.4. Выбор состава технических и программных средств    15
2. РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА    20
2.1. Разработка программы    20
2.2. Спецификация программы    22
2.3. Текст программы c комментариями    22
2.4. Описание программы    22
2.5. Тестирование программы    23
3. ВНЕДРЕНИЕ    25
3.1. Условия выполнения программы    25
3.2. Выполнение программы    25
3.3. Сообщения оператору    25
ЗАКЛЮЧЕНИЕ    27
ГЛОССАРИЙ    29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ    31
ПРИЛОЖЕНИЕ 1. ТЕКСТ ПРОГРАММЫ С КОММЕНТАРИЯМИ    32
ПРИЛОЖЕНИЕ 2. ТЕСТИРОВАНИЕ ПРОГРАММЫ    49

 

ВВЕДЕНИЕ

 

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

В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией. Первая известная нам система, основанная на позиционном принципе - шестидесятеричная вавилонская. Цифры в ней были двух видов, одним из которых обозначались единицы, другим - десятки. Следы вавилонской системы сохранились до наших дней в способах измерения и записи величин углов и промежутков времени [7, C.14].

Однако наибольшую ценность для нас имеет индо-арабская десятичная система. Индийцы первыми использовали ноль для указания позиционной значимости величины в строке цифр. Эта система получила название десятичной, так как в ней десять цифр. Для того чтобы лучше понять различие позиционной и непозиционной систем счисления, рассмотрим пример сравнения двух чисел. В позиционной системе счисления сравнение двух чисел происходит следующим образом: в рассматриваемых числах слева направо сравниваются цифры, стоящие в одинаковых позициях. Большая цифра соответствует большему значению числа. Например, для чисел 123 и 234, 1 меньше 2, поэтому число 234 больше, чем число 123. В непозиционной системе счисления это правило не действует. Примером этого может служить сравнение двух чисел IX и VI. Несмотря на то, что I меньше, чем V, число IX больше, чем число VI [6, C.5].

Основание системы счисления, в которой записано число, обычно обозначается нижним индексом. Если число записано в десятичной системе, то основание, как правило, не указывается. Основание системы - это тоже число, и его будем указывать в обычной десятичной системе. Вообще, число x может быть представлено в системе с основанием p, как x=an*pn+an-1*pn-1+ a1*p1+a0*p0, где an...a0 - цифры в представлении данного числа.

Наибольший интерес при работе на ЭВМ представляют системы счисления с основаниями 2, 8 и 16. Вообще говоря, этих систем счисления обычно хватает для полноценной работы, как человека, так и вычислительной машины. Однако иногда в силу различных обстоятельств все-таки приходится обращаться к другим системам счисления, например к троичной, семеричной или системе счисления по основанию 32. Для того чтобы нормально оперировать с числами, записанными в таких нетрадиционных системах, важно понимать, что принципиально они ничем не отличаются от привычной десятичной. Сложение, вычитание, умножение в них осуществляется по одной и той же схеме [6, C.8].

Итак, почему мы не пользуемся другими системами счисления. В основном потому, что в повседневной жизни мы привыкли пользоваться десятичной системой счисления, и нам не требуется никакая другая. В вычислительных же машинах используется двоичная система счисления, так как оперировать над числами, записанными в двоичном виде, довольно просто. Часто в информатике используют шестнадцатеричную систему, так как запись чисел в ней значительно короче записи чисел в двоичной системе. Может возникнуть вопрос: почему бы не использовать для записи очень больших чисел систему счисления, например по основанию 50. Для такой системы счисления необходимы 10 обычных цифр плюс 40 знаков, которые соответствовали бы числам от 10 до 49 и вряд ли кому-нибудь понравится работать с этими сорока знаками. Поэтому в реальной жизни системы счисления по основанию, большему 16, практически не используются. Таким образом, тема данной работы является актуальной.

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

Соответственно, задачами работы стали:

- разработка эскизного и технического проектов;

- разработка программного модуля;

- тестирование программного модуля.

Данная программа реализована в среде программирования Delphi седьмой версии. Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль начиная с версии 5.5 добавил в Паскаль объектно-ориентированные свойства, а Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией [2, C.11]. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Дельфи от С++ является то, что объекты по умолчанию располагаются в динамической памяти.

1. Разработка эскизного и технического проектов программы

1.1. Задание

 

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

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

 

1.2. Назначение и область применения

 

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

 

1.3. Технические характеристики

1.3.1. Постановка задачи

 

Разработать программу, позволяющую производить арифметические действия (сложение (+), вычитание (-), умножение (*), деление (/)) над числами, заданными в двоичной, восьмеричной или шестнадцатеричной системах счисления. Программа напоминает стандартное приложение Windows «Калькулятор» и может быть названа «Миникалькулятор». Так как  представление чисел в каждой из вышеперечисленных систем счисления имеет свои особенности, для выполнения поставленной задачи следует принять ряд допущений:

1) числа, используемые в программе, могут быть только целочисленными (то есть дробные числа не допускаются). Такая же особенность реализована и в стандартном приложении Windows «Калькулятор», в котором числа в двоичной, восьмеричной или шестнадцатеричной системах счисления могут быть только целыми.

2) в целях реализации вышеуказанного допущения результат операции деления должен быть округлен посредством встроенной функции округления, которая имеется  в каждой реализации компилятора всех языков высокого уровня. Например, в Delphi это функция round().

3) поскольку в памяти компьютера под значение числа каждого определенного типа отводится строго определенный участок памяти, числа вводимые пользователем должны принадлежать определенному диапазону. Числа в программе хранятся в формате integer, то есть под каждое из них в памяти отводится 4 байта и соответственно они должны лежать в диапазоне от – 2147483648 до 2147483647

 

2.5. Тестирование программы

 

Поскольку программа «Миникалькулятор» предназначена для работы с системами счисления, отличными от привычной нам десятичной, проверка правильности работы программы визуально, без специальных средств затруднена. Поэтому для проверки правильности работы программы используем встроенное приложение Windows – «Калькулятор», функциональность которого аналогична программе, разработанной в рамках курсового проекта. Итак, для проверки правильности работы программы выполним следующие вычисления сначала в программе «Миникалькулятор», затем в приложении «Калькулятор» OC Windows XP (по умолчанию выбрана двоичная система счисления):

1) 101 + 110

2) Rez (1) + 110

3) Rez (2)  + 110

4) Rez(3)  - 10000

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

6) Rez (5) * 25

7) Обнуление (нажать кнопку СЕ)

8) Выбор шестнадцатеричной системы счисления

9) F4240 / 186A0

Графические результаты тестирования программы смотрите в приложении 2.

 

ПРИЛОЖЕНИЕ 2. ТЕСТИРОВАНИЕ ПРОГРАММЫ

 

 

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

Рис. 1. Результат выполнения операции 101 + 110 в двоичной системе счисления в программе «Калькулятор»

 

 

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

Рис. 2. Результат выполнения операции 101 + 110 в двоичной системе счисления в программе «Миникалькулятор»

 

 

Заказать курсовую

 

Добавить комментарий


Защитный код
Обновить