Современные технологии программирования
|
Курсовая работа в формате Microsoft Word
Задание на курсовую работу по дисциплине «Современные технологии программирования» 8 семестр
Содержание
Тема *
Цель *
Задание *
Общие требования *
Тип числа – “Калькулятор р-ичных чисел”. *
Требования. *
Необходимо предусмотреть следующие варианты (прецеденты) использования калькулятора: *
Тип числа – “Калькулятор простых дробей”. *
Требования. *
Необходимо предусмотреть следующие варианты использования (прецеденты) калькулятора: *
Тип числа – “Калькулятор комплексных чисел”. *
Требования. *
Необходимо предусмотреть следующие варианты использования калькулятора (прецеденты): *
Варианты выполнения *
Рекомендации к выполнению *
Содержание отчета *
Литература *
Тема
Проектирование и реализация программ в технологии “абстрактных типов данных”
Цель
Сформировать практические навыки:
- проектирования программ в технологии “абстрактных типов данных”;
- реализации абстрактных типов данных с помощью классов Object Pascal;
- использования библиотеки визуальных компонентов VCL для построения интерфейса,
- тестирования программ.
Задание
Спроектировать и реализовать калькулятор для выполнения вычислений над числами заданными в соответствии с вариантом, используя классы Object Pascal и библиотеку визуальных компонентов VCL Delphi для построения интерфейса.
Варианты чисел:
- р-ичные числа,
- простые дроби.
- комплексные числа.
Общие требования
Калькулятор обеспечивает вычисление выражений с использованием операций: +, -, *. / и функций: Sqr (возведение в квадрат), Rev (1/x - вычисление обратного значения) без учёта приоритета операций. Приоритет функций одинаковый, выше приоритета операций. Операции имеют равный приоритет.
- Предусмотреть возможность ввода операндов в выражение:
- с клавиатуры,
- с помощью командных кнопок интерфейса,
- из буфера обмена,
- из памяти.
- Необходимо реализовать команду (=). которая завершает вычисление выражения. Она выполняет текущую операцию.
- Необходимо реализовать команду С (начать вычисление нового выражения), которая устанавливает калькулятор в начальное состояние. Она сбрасывает текущую операцию и устанавливает нулевое значение для отображаемого числа и операндов.
- Интерфейс выполнить в стиле стандартного калькулятора Windows (вид - обычный).

- Приложение должно иметь основное окно для ввода исходных данных, операций и отображения результата и окно для вывода сведений о разработчиках приложения.
- Основное окно должно содержать список из трёх меню:
Содержит два пункта: “Копировать” и “Вставить”. Эти команды используются для работы с буфером обмена;
Содержит команды выбора режима работы приложения;
Этот команда для вызова справки о приложении.
- Калькулятор должен обеспечивать возможность ввода исходных данных с помощью:
- командных кнопок (мышью),
- клавиатуры: цифровой и алфавитно-цифровой.
- Вводимые числа выравнивать по правому краю.
- Калькулятор должен быть снабжён памятью. Для работы с памятью необходимы команды:
- MC (“Очистить”),
- MS (“Сохранить”),
- MR (“Копировать”),
- M+ (“Добавить к содержимому памяти”).
Память может находиться в двух состояниях, которые отображаются на панели:
- “Включена” (M). В памяти храниться занесённое значение
- “Выключена” ( ). В памяти находится ноль.
Состояние памяти меняется командами “Сохранить” и “Добавить к содержимому памяти”.
- Для редактирования вводимых значений необходимы команды:
- BackSpase (удалить крайний справа символ отображаемого числа),
- CE (заменить отображаемое число нулевым значением)
- Добавить символ, допустимый в изображении числа (арабские цифры, знак, разделители).
- Для просмотра выполненных вычислений после последней команды “=” калькулятор необходимо снабдить командой “История”.
- Снабдите компоненты интерфейса всплывающими подсказками.
Тип числа – “Калькулятор р-ичных чисел”.
Требования.
Калькулятор обеспечивает работу с числами в системах счисления с основанием в диапазоне от 2 до 16.
Основание системы счисления – настраиваемый параметр. Настройку можно установить в основном окне или добавить в меню “Настройка”.
Исходные числа и результат вводятся и выводятся в формате фиксированная точка
[-]<р - ичное целое без знака><разделитель>[< р - ичная дробь без знака >]
Необходимо обеспечить возможность работы в режимах:
- “целые” (вводятся только р-ичные целые числа),
- “действительные” (вводятся р-ичные числа с целой и дробной частями).
- Кнопки для ввода цифровой информации необходимо связать с используемой системой счисления. Для пользователя необходимо сделать доступными кнопки только для ввода цифр используемой системы счисления.
- При смене системы счисления отображаемое число должно выражаться в новой системе счисления.
Необходимо предусмотреть следующие варианты (прецеденты) использования калькулятора:
- Выполнение одиночных операций:
“операнд1” “операция” “операнд2” “=” “результат”
Пример. 5 + 2 = 7 (р = 10)
- Выполнение операций с одним операндом:
“операнд” “операция” “=” “результат”
Пример. 5 * = 25 (р = 10)
- Повторное выполнение последней операции:
“=”“результат” “=” “результат”
Пример. 5 + 4 = 9 = 13 = 17(р = 10)
- Выполнение операции над отображаемым значением в качестве обоих операндов:
“результат” “операция” “=” “результат”
Пример. 2 + 3 = 5 = 8 + = 16(р = 10)
- Вычисление функций:
“операнд” “Sqr” “результат”
Пример. 5 “Sqr” 25 (р = 10)
- Вычисление выражений:
“операнд1” “функция1” “операция1” “операнд2” “функция2” “операция2” …“операндN” “операцияN” “=”“результат”
Пример.
ввод |
6 |
Sqr |
+ |
2 |
Sqr |
/ |
10 |
+ |
6 |
= |
Отображаемый результат |
6 |
36 |
36 |
2 |
4 |
40 |
10 |
4 |
6 |
10 |
Отображаемое значение может сохраняться в памяти или добавляться к её содержимому.
Тип числа – “Калькулятор простых дробей”.
Требования.
Калькулятор должен обеспечить ввод и редактирование целых чисел в обычной записи и рациональных дробей в записи:
[-]<целое без знака>|[-]<числитель><разделитель><знаменатель>.
<числитель>::= <целое без знака>
<знаменатель>::= <целое без знака>
<разделитель>::= ‘/’ | ‘|’
Предусмотреть настройку калькулятора на отображение результата в двух форматах: “дробь” или “число”. В формате “дробь” результат всегда отображается в виде дроби. В формате “число” результат отображается в виде числа, если дробь может быть сокращена, так что знаменатель равен 1.
Необходимо предусмотреть следующие варианты использования (прецеденты) калькулятора:
- Выполнение одиночных операций:
“операнд1” “операция” “операнд2” “=” “результат”
Пример. 5/1 + 2/1 = 7/1.
- Выполнение операций с одним операндом:
“операнд” “операция” “=” “результат”
Пример. 5/1 * = 25/1.
- Повторное выполнение операции:
“=”“результат” “=” “результат”
Пример. 5/1 + 4/1 = 9/1 = 13/1 = 17.
- Выполнение операции над отображаемым значением в качестве обоих операндов:
“результат” “операция” “=” “результат”
Пример. 2/1 + 3/1 = 5/1 = 8/1 + = 16/1.
- Вычисление функций:
“операнд” “Sqr” “результат”
Пример. 5/1 “Sqr” 25/1.
- Вычисление выражений:
“операнд1” “функция1” “операция1” “операнд2” “функция2” “операция2” …“операндN” “операцияN” “=”“результат”
Пример.
ввод |
6/1 |
Sqr |
+ |
2/1 |
Sqr |
/ |
10/1 |
+ |
6/1 |
= |
Отображаемый результат |
6/1 |
36/1 |
36/1 |
2/1 |
4/1 |
40/1 |
10/1 |
4/1 |
6/1 |
10/1 |
Отображаемое значение может сохраняться в памяти или добавляться к её содержимому.
Тип числа – “Калькулятор комплексных чисел”.
Требования.
Калькулятор обеспечивает ввод комплексных чисел в записи:
[-]<действительная часть><разделитель>[-] <мнимая часть>
<действительная часть>::= <действительное число без знака с целой и\или дробной частями>
<мнимая часть>::= <действительное число без знака с целой и\или дробной частями>
<разделитель>::= ‘i*’
Предусмотреть настройку калькулятора на отображение результата в двух форматах: “комплексное” или “действительное” число. В формате “комплексное” результат всегда отображается в виде комплексного числа. В формате “действительное” результат отображается в виде действительного, если мнимая часть равна 0.
Калькулятор должен вычислять функции: Pwr - возведение в целую степень, Root - извлечение целого корня (Предусмотреть возможность вывода всех корней), Mdl - вычисление модуля комплексного числа, Cnr - вычисление аргумента комплексного числа в градусах, Cnr - вычисление аргумента комплексного числа в радианах. Предусмотреть ввод показателя степени для возведения в степень и извлечения корня. Результат вычисления указанных выше функций отображайте в отдельных компонентах. Эти операции вычисляются отдельно, а не в составе выражения.
Необходимо предусмотреть следующие варианты использования калькулятора (прецеденты):
- Выполнение одиночных операций:
“операнд1” “операция” “операнд2” “=” “результат”
Пример. 5 + 2 = 7.
- Выполнение операций с одним операндом:
“операнд” “операция” “=” “результат”
Пример. 5 * = 25.
- Повторное выполнение операции:
“=” “результат” “=” “результат”
Пример. 5 + 4 = 9 = 13 = 17.
- Выполнение операции над отображаемым значением в качестве обоих операндов:
“результат” “операция” “=” “результат”
Пример. 2 + 3 = 5 = 8 + = 16.
- Вычисление функций:
“операнд” “Sqr” “результат”
Пример. 5 “Sqr” 25 (р = 10)
- Вычисление выражений:
“операнд1” “функция1” “операция1” “операнд2” “функция2” “операция2” …“операндN” “операцияN” “=”“результат”
Пример.
ввод |
6 |
Sqr |
+ |
2 |
Sqr |
/ |
10 |
+ |
6 |
= |
Отображаемый результат |
6 |
36 |
36 |
2 |
4 |
40 |
10 |
4 |
6 |
10 |
Отображаемое значение может сохраняться в памяти или добавляться к её содержимому.
Варианты выполнения
Варианты выполнения
№ Варианта |
Тип числа |
Прецеденты |
операнды могут браться из
|
История |
Настройки |
памяти |
буфера обмена |
1 |
действительное в системе счисления с основанием от 2 до 16 |
1-5, |
да |
да |
да |
да |
2 |
1-5 |
да |
нет |
нет |
да |
3 |
1-5 |
да |
нет |
да |
да |
4 |
1-5 |
да |
да |
нет |
да |
5 |
1-5 |
да |
да |
нет |
нет |
6 |
1-5 |
да |
нет |
нет |
нет |
7 |
1-5 |
да |
нет |
да |
нет |
8 |
1-5 |
да |
да |
да |
нет |
9 |
простая дробь |
1-5 |
да |
да |
да |
да |
10 |
1-5 |
да |
нет |
нет |
да |
11 |
1-5 |
да |
нет |
да |
да |
12 |
1-5 |
да |
да |
нет |
да |
13 |
1-5 |
да |
да |
нет |
нет |
14 |
1-5 |
да |
нет |
нет |
нет |
15 |
1-5 |
да |
нет |
да |
нет |
16 |
1-5 |
да |
да |
да |
нет |
17 |
комплексное |
1-5 |
да |
да |
да |
да |
18 |
1-5 |
да |
нет |
нет |
да |
19 |
1-5 |
да |
нет |
да |
да |
20 |
1-5 |
да |
да |
нет |
да |
21 |
1-5 |
да |
да |
нет |
нет |
22 |
1-5 |
да |
нет |
нет |
нет |
23 |
1-5 |
да |
нет |
да |
нет |
24 |
1-5 |
да |
да |
да |
нет |
Рекомендации к выполнению
- Используйте типы данных разработанные вами при выполнении лабораторных работ.
- В качестве буфера обмена используйте глобальный объект ClipBoard класса TClipBoard, доступный во всех работающих приложениях.
- Диаграмма классов UML для калькулятора представлена на рисунке.

Здесь класс число в зависимости от варианта может быть: р-ичное число, простая дробь, комплексное число.
Содержание отчета
- Задание.
- Спецификации к типам данных.
- Текст программы.
- Тестовые наборы данных для тестирования абстрактных типов данных, классов и приложения.
- Инструкция пользователю.
- Литература.
Литература
А.И. Марченко. Программирование на языке Object Pascal 2.0. - К.: Юниор, 1998. - 304 с., ил.
Кэнту М. Delphi 5 для профессионалов. – СПб.: Питер, 2001. – 944 с.: ил.
П. Дарахвелидзе, Е. Марков. Программирование в Delphi 4. - СПб.:БХВ - Санкт-Петербург,1999.-864 с., ил.
Петр Дарахвелидзе, Евгений Марков. Delphi - среда визуального программирования. СПб.: BHV - Санкт-Петербург, 1996. - 352 с.
Джон Матчо, Дэвид Р. Фолкнер. Delphi. М.: Бином. 1995. -464 с.
Джеф Дантеман, Джим Мишел, Дон Тейлор. Программирование в среде Delphi. - К.: НИПФ “ДиаСофтЛтд”, 1995. - 608 с.
наверх