Современные технологии программирования
Курсовая работа
назад

Курсовая работа в формате Microsoft Word

Задание на курсовую работу по дисциплине «Современные технологии программирования» 8 семестр

 

Содержание

Тема *

Цель *

Задание *

Общие требования *

Тип числа – “Калькулятор р-ичных чисел”. *

Требования. *

Необходимо предусмотреть следующие варианты (прецеденты) использования калькулятора: *

Тип числа – “Калькулятор простых дробей”. *

Требования. *

Необходимо предусмотреть следующие варианты использования (прецеденты) калькулятора: *

Тип числа – “Калькулятор комплексных чисел”. *

Требования. *

Необходимо предусмотреть следующие варианты использования калькулятора (прецеденты): *

Варианты выполнения *

Рекомендации к выполнению *

Содержание отчета *

Литература *

 

Тема

Проектирование и реализация программ в технологии “абстрактных типов данных”

Цель

Сформировать практические навыки:

Задание

Спроектировать и реализовать калькулятор для выполнения вычислений над числами заданными в соответствии с вариантом, используя классы Object Pascal и библиотеку визуальных компонентов VCL Delphi для построения интерфейса.

Варианты чисел:

Общие требования

Калькулятор обеспечивает вычисление выражений с использованием операций: +, -, *. / и функций: Sqr (возведение в квадрат), Rev (1/x - вычисление обратного значения) без учёта приоритета операций. Приоритет функций одинаковый, выше приоритета операций. Операции имеют равный приоритет.

    1. Предусмотреть возможность ввода операндов в выражение:

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

    5. Приложение должно иметь основное окно для ввода исходных данных, операций и отображения результата и окно для вывода сведений о разработчиках приложения.
    6. Основное окно должно содержать список из трёх меню:

Содержит два пункта: “Копировать” и “Вставить”. Эти команды используются для работы с буфером обмена;

Содержит команды выбора режима работы приложения;

Этот команда для вызова справки о приложении.

    1. Калькулятор должен обеспечивать возможность ввода исходных данных с помощью:

    1. Вводимые числа выравнивать по правому краю.
    2. Калькулятор должен быть снабжён памятью. Для работы с памятью необходимы команды:

Память может находиться в двух состояниях, которые отображаются на панели:

Состояние памяти меняется командами “Сохранить” и “Добавить к содержимому памяти”.

    1. Для редактирования вводимых значений необходимы команды:

    1. Для просмотра выполненных вычислений после последней команды “=” калькулятор необходимо снабдить командой “История”.
    2. Снабдите компоненты интерфейса всплывающими подсказками.

Тип числа – “Калькулятор р-ичных чисел”.

Требования.

    1. Калькулятор обеспечивает работу с числами в системах счисления с основанием в диапазоне от 2 до 16.
    2. Основание системы счисления – настраиваемый параметр. Настройку можно установить в основном окне или добавить в меню “Настройка”.
    3. Исходные числа и результат вводятся и выводятся в формате фиксированная точка
      [-]<р - ичное целое без знака><разделитель>[< р - ичная дробь без знака >]
      Необходимо обеспечить возможность работы в режимах:

    1. Кнопки для ввода цифровой информации необходимо связать с используемой системой счисления. Для пользователя необходимо сделать доступными кнопки только для ввода цифр используемой системы счисления.
    2. При смене системы счисления отображаемое число должно выражаться в новой системе счисления.

Необходимо предусмотреть следующие варианты (прецеденты) использования калькулятора:

  1. Выполнение одиночных операций:
    “операнд1” “операция” “операнд2” “=” “результат”
  2. Пример. 5 + 2 = 7 (р = 10)

  3. Выполнение операций с одним операндом:
    “операнд” “операция” “=” “результат”
  4. Пример. 5 * = 25 (р = 10)

  5. Повторное выполнение последней операции:
    “=”“результат” “=” “результат”
  6. Пример. 5 + 4 = 9 = 13 = 17(р = 10)

  7. Выполнение операции над отображаемым значением в качестве обоих операндов:
    “результат” “операция” “=” “результат”
  8. Пример. 2 + 3 = 5 = 8 + = 16(р = 10)

  9. Вычисление функций:
    “операнд” “Sqr” “результат”
  10. Пример. 5 “Sqr” 25 (р = 10)

  11. Вычисление выражений:
    “операнд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. [-]<целое без знака>|[-]<числитель><разделитель><знаменатель>.

      <числитель>::= <целое без знака>

      <знаменатель>::= <целое без знака>

      <разделитель>::= ‘/’ | ‘|’

    3. Предусмотреть настройку калькулятора на отображение результата в двух форматах: “дробь” или “число”. В формате “дробь” результат всегда отображается в виде дроби. В формате “число” результат отображается в виде числа, если дробь может быть сокращена, так что знаменатель равен 1.

Необходимо предусмотреть следующие варианты использования (прецеденты) калькулятора:

  1. Выполнение одиночных операций:
    “операнд1” “операция” “операнд2” “=” “результат”
  2. Пример. 5/1 + 2/1 = 7/1.

  3. Выполнение операций с одним операндом:
    “операнд” “операция” “=” “результат”
  4. Пример. 5/1 * = 25/1.

  5. Повторное выполнение операции:
    “=”“результат” “=” “результат”
  6. Пример. 5/1 + 4/1 = 9/1 = 13/1 = 17.

  7. Выполнение операции над отображаемым значением в качестве обоих операндов:
    “результат” “операция” “=” “результат”
  8. Пример. 2/1 + 3/1 = 5/1 = 8/1 + = 16/1.

  9. Вычисление функций:
    “операнд” “Sqr” “результат”
  10. Пример. 5/1 “Sqr” 25/1.

  11. Вычисление выражений:
    “операнд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

Отображаемое значение может сохраняться в памяти или добавляться к её содержимому.

Тип числа – “Калькулятор комплексных чисел”.

Требования.

    1. Калькулятор обеспечивает ввод комплексных чисел в записи:
    2. [-]<действительная часть><разделитель>[-] <мнимая часть>

      <действительная часть>::= <действительное число без знака с целой и\или дробной частями>

      <мнимая часть>::= <действительное число без знака с целой и\или дробной частями>

      <разделитель>::= ‘i*’

    3. Предусмотреть настройку калькулятора на отображение результата в двух форматах: “комплексное” или “действительное” число. В формате “комплексное” результат всегда отображается в виде комплексного числа. В формате “действительное” результат отображается в виде действительного, если мнимая часть равна 0.
    4. Калькулятор должен вычислять функции: Pwr - возведение в целую степень, Root - извлечение целого корня (Предусмотреть возможность вывода всех корней), Mdl - вычисление модуля комплексного числа, Cnr - вычисление аргумента комплексного числа в градусах, Cnr - вычисление аргумента комплексного числа в радианах. Предусмотреть ввод показателя степени для возведения в степень и извлечения корня. Результат вычисления указанных выше функций отображайте в отдельных компонентах. Эти операции вычисляются отдельно, а не в составе выражения.

Необходимо предусмотреть следующие варианты использования калькулятора (прецеденты):

  1. Выполнение одиночных операций:
    “операнд1” “операция” “операнд2” “=” “результат”
  2. Пример. 5 + 2 = 7.

  3. Выполнение операций с одним операндом:
    “операнд” “операция” “=” “результат”
  4. Пример. 5 * = 25.

  5. Повторное выполнение операции:
    “=” “результат” “=” “результат”
  6. Пример. 5 + 4 = 9 = 13 = 17.

  7. Выполнение операции над отображаемым значением в качестве обоих операндов:
    “результат” “операция” “=” “результат”
  8. Пример. 2 + 3 = 5 = 8 + = 16.

  9. Вычисление функций:
    “операнд” “Sqr” “результат”
  10. Пример. 5 “Sqr” 25 (р = 10)

  11. Вычисление выражений:
    “операнд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

да

да

да

нет

 

Рекомендации к выполнению

    1. Используйте типы данных разработанные вами при выполнении лабораторных работ.
    2. В качестве буфера обмена используйте глобальный объект ClipBoard класса TClipBoard, доступный во всех работающих приложениях.
    3. Диаграмма классов UML для калькулятора представлена на рисунке.

Здесь класс число в зависимости от варианта может быть: р-ичное число, простая дробь, комплексное число.

Содержание отчета

    1. Задание.
    2. Спецификации к типам данных.
    3. Текст программы.
    4. Тестовые наборы данных для тестирования абстрактных типов данных, классов и приложения.
    5. Инструкция пользователю.
    6. Литература.

Литература

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

 

наверх


назад