Программа Калькулятор Windows для вычислений в десятичной системе

Готовая работа

Курсовая работа

по предмету “Операционные системы”

  1. Введение…………….3
  2. Литературный обзор………….3
  3. Аналитический обзор предметной области…………7
  4. Описание методов решения поставленной задачи……….7
  5. Описание структуры программы…………….9
  6. Описание пользовательского интерфейса………21
  7. Описание результатов работы программы……24
  8. Выводы……….26
  9. Список использованных источников………27

 

Введение

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

Литературный обзор

C++ Builder — программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++.C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель  и палитру компонентов . Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов  и форма нового приложения. Под окном формы приложения находится окно редактора кода. Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов. Компоненты разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью. Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики. Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы. Если выбрать компонент из палитры и добавить его к форме, инспектор объектов автоматически покажет свойства и события, которые могут быть использованы с этим компонентом. В верхней части инспектора объектов имеется выпадающий список, позволяющий выбирать нужный объект из имеющихся на форме. Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются а странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения. При определении свойств компонента во время проектирования нужно выбрать компонент на форме, открыть страницу свойств в инспекторе объектов, выбрать определяемое свойство и изменить его с помощью редактора свойств (это может быть п остое поле для ввода текста или числа, выпадающий список, раскрывающийся список, диалоговая панель и т.д.). Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows 95 или Windows NT предполагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В C++ Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или и ого события, вы поручаете программе выполнить написанную функцию, если это событие произойдет. Для того, чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке значений рядом с событием, чтобы заставить C++ Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок { … }. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках. Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->. Первым шагом в разработке приложения C++ Builder является создание проекта. Файлы проекта содержат сгенерированный автоматически исходный текст, который становится частью приложения, когда оно скомпилировано и подготовлено к выполнению. Чтобы создать новый проект, нужно выбрать пункт меню File/New Application. C++ Builder создает файл проекта с именем по умолчанию Project1.cpp, а также make-файл с именем по умолчанию Project1.mak. При внесении изменений в проект, таких, как добавление новой формы, C++ Builder обновляет файл проекта.

Простейшей и, пожалуй, наиболее часто используемой кнопкой является кнопка Button, расположенная на странице библиотеки “Standard”. Компонент Button  представляет собой стандартную кнопку windows, инициирующее какое-то действие.  Внешний вид – свойство Caption (надпись). Можно использовать и ускоренный доступ – ставим перед надписью «&». Этот символ делает первый символ надписи подчеркнутым и пользователь может вместо щелчка на кнопке нажать Alt совместно с клавишей выделенного символа. Основное событие любой кнопки — OnClick, возникающее при щелчке на ней. Именно в обработчике этого события записываются операторы, которые должны выполняться при щелчке пользователя на кнопке. Помимо этого есть еще ряд событий, связанных с различными манипуляциями клавишами и кнопками мыши. Свойство Cancel, если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок «”Закрыть”» в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

Компонент Edit предназначен для ввода текста. Расположен он на вкладке Standard Палитры компонентов. Основное его свойство – это Text. Оно позволяет читать и записывать некоторый текст в Edit. Это свойство имеет строковый тип. Это означает, что если пользователь вводит в edit некоторое число, то необходимо дополнительное преобразование. Делается это приблизитетльно так: int z= StrToInt(Edit1->Text). Кроме функции StrToInt есть обратная к ней IntToStr. Они переводят строку в целое число и целое число в строку соответственно. Кроме этой пары функций имеется пара StrToFloat и FloatToStr, котрые работают с вещественными числами.

Компонент Label (метка) расположен на вкладке Standard Палитры Компонентов. Свойство Caption определяет, что за надпись будет иметь наша метка.

MainMenu – компонент  представляющий меню расположеный на странице “Standard”. Это невизуальный компонент, т.е. место его размещения на форме в процессе проектирования не имеет никакого значения для пользователя — он все равно увидит не сам компонент, а только меню, сгенерированное им. Обычно на форму помещается один компонент MainMenu. В этом случае его имя автоматически заносится в свойство формы Menu. Основное свойство компонента — Items. Его заполнение производится с помощью Конструктора Меню, вызываемого двойным щелчком на компоненте MainMenu или нажатием кнопки с многоточием рядом со свойством Items в окне Инспектора Объектов.

Компонент Panel расположен на вкладке Standard Палитры компонентов. Он предназначен для компоновки объектов в окне. Основное его свойство – это Align. Оно отвечает, естественно, за то, как наша панель расположена в окне – прилеплена ли она, например, к верхнему или левому краю или же занимает всю клиентскую область окна. При этом при изменении размеров окна панель остается в определяемым этим свойством положении – т. е., например, если мы задали значение этого свойства в alRight, то при растягивании нашего окна по горизонтали панель все равно будет располагаться в правой части окна. Обратите внимание, что одно из значений этого свойства – это alClient. При задании этого значения панель будет занимать все оставшиеся место на форме. Например, если вы расположили на форме две панели и задали для них значения этого свойства в alLeft и alClient соотвественно, то первая панель будет располагаться в левой части формы (от верхнего края до нижнего), а вторая – занимать всю оставшуюся область. Причем при изменении размера окна такое расположение будет сохраняться. Еще несколько полезных свойств панели отвечают за ее внешний вид. Например, свойства BevelInner и BevelOuter отвечают, как будет выглядеть граница нашей панели относительно своей внутренной и своей внешних частей. Например, если хотите, чтобы граница панели представляла из себя приподнятую границу, то эти два свойства надо установить в bvLowered и bvRaised соответственно. Если же мы хотим, чтобы панель выглядела как традиционная панель – безо всякой вдавленной внутренней части, то эти свойства устанавливаем в bvRaised и bvNone соответсвенно.

Аналитический обзор предметной области

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

Описание методов решения поставленной задачи

Согласно поставленному техническому заданию я должен реализовать программный продукт «Калькулятор Windows» для вычислений в десятичной системе. Программный продукт должен выполнять операции сложения, умножения, деления и вычитания. Также должны быть предусмотрены кнопки внесения в память и ее очистки. При решении данной задачи, я решил, пользоваться простыми программными решениями. Для реализации технического задания я использовал C++ Builder6. В предыдущих пунктах я описал какие визуальные и невизуальные компоненты я буду использовать для создания интерфейса программного продукта, а в последующих пунктак приведу результаты их роботы, в этом пункте я опишу методы реализации кода. Так как калькулятор не может существовать без цифровых и других кнопок, для обработки нажатия на них я буду использовать обработчик событий ОnClick. Это событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя. Обычно событие OnClick наступает, если пользователь нажал и отпустил основную кнопку мыши, когда указатель мыши находился на компоненте. Для формы событие OnClick наступает, если пользователь щелкнул на пустом месте формы или на недоступном компоненте. Этот метод мне нужен, чтоб при нажатии на кнопки происходили некоторые события, например, такие как вывод результата выполнения программы , отображения автора программы и многих других… При нажатии на цифровую кнопку, описаний выше обработчик событий анализирует в какое поле ему необходимо записывать цифры для дальнейшей их обработки. При нажатии на кнопки «+», «-», «*», «/», в поле вводиться обозначение действия которое будет произведено при нажатии на кнопку «=». Кнопка «=» распознает какое действие, записано в одном из полей и должно произойти при ее нажатии. Все эти действия по анализу я реализировал с помощью простого для понимания и реализации оператора if . Эго формат такой:

if (выражение) оператор-1; [else оператор-2;]

Выполнение оператора if начинается с вычисления выражения. Далее выполнение осуществляется по следующей схеме:

1.     если выражение истинно (т.е. отлично от 0), то выполняется оператор-1

2.      если выражение ложно (т.е. равно 0),то выполняется оператор-2.

3.     сли выражение ложно и отсутствует оператор-2 (в квадратные скобки заключена необязательная конструкция), то выполняется следующий за if оператор.

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

Так как мой калькулятор должен запоминать результат, я эту функцию реализовал следующим образом:

1.     При нажатии на кнопку «Запам’ятати результат», переменной внутри программы присваеваться значение которое соответствует результату выполнения программы. Там результат хранится до закрытия программы.

2.     При нажатии на кнопку «Відновити результат» значение которое храниться в памяти будет воспроизведено в первое окно программы для дальнейшего его обработки.

При нажатии на кнопку «Clear» программа очищает все поля ввода и готовится для выполнения следующих действий.

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

Детали:

Формат файла(-ов): doc

Тип работы: Курсовая работа

Предмет: Компьютерные науки

Год написания: 2011

Страниц: 27

Литературы: 4 шт.

Цена: 537 руб. (можно купить часть работы)

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

Ваш email не будет показан.

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