Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
В заключение данной курсовой работы хотелось бы кратко сказать о проделанной работе, о проблемах, с которыми столкнулся при выполнении поставленной цели, и о перспективах развития и улучшения данного программного продукта.
Целью данной курсовой работы было составить алгоритм генерации полиномов по введенной степени и корням и написать программу, реализующую этот алгоритм.
Чтобы выполнить поставленную цель, необходимо было решить три задачи:
При решении третьей задачи столкнулся с рядом трудностей:
Основными источниками, помогавшими выполнить поставленную цель, явились:
Результатом данной курсовой работы стал алгоритм генерации полиномов и написанная на его основе программа. Данная программа предназначена для работы с целыми числами, хотя алгоритм является действенным и при работе с вещественными числами, а при некоторых его усовершенствованиях (организации работы с мнимой частью) и с комплексными. Следовательно, одной из перспектив развития данного алгоритма является его улучшение для работы с комплексными числами, а программы написание ее для работы со всеми числами: целыми, вещественными, комплексными.
Так же реально улучшить временную характеристику алгоритма и программы, если после проверки «не вышло ли произведение или сумма коэффициентов многочлена» за диапазон типа, если все же выход произошел, сразу же остановить работу алгоритма и программы и выдать пользователю сообщение об ошибке.
Чтобы более полно использовать возможности алгоритма, его лучше реализовывать на тех языках программирования, у которых типы данных имеют достаточно большие диапазоны.
Решив последнюю задачу, можно сразу решить такие задачи, как увеличение вводимого значения степени генерируемого полинома и количества вводимых символов и буфера.
Не трудно заметить, что при перемножении вещественных чисел с дробной частью количество цифр в дробной части их произведения будет равно, в общем случае, сумме количества символов перемножаемых чисел, поэтому количество символов в дробной части произведения при большом количестве символов в дробной части перемножаемых чисел достаточно быстро увеличивается.
Следовательно, одной из серьезнейших проблем при работе с вещественными и комплексными числами встает проблема точности, которую, в принципе на все сто процентов разрешить никогда не удастся, так как программист всегда будет ограничен в ресурсах, поэтому представить вещественные можно только лишь с определенной точностью, иногда вполне достаточной.
Надеюсь, что мой опыт в разработке подобных программных продуктов будет полезен другим людям, и данная программа из области исследования при выполнении курсовой работы, при условии, конечно же, его усовершенствования, выйдет в свет как полностью готовый к использованию программный продукт и будет востребован не только в целях методических разработок.
Список использованных источников и литературы
Приложение
Таблица тестов
В таблице приведены результаты некоторых тестов программы.
Обратите внимание на то, что в скобках показаны некорректно введенные данные и сообщения программы об ошибках с просьбами повторить ввод.
номер теста |
входные данные |
выходные данные |
1 |
; 1, 2 |
x^2-3x+2=0 |
2 |
; 1, 2, 3 |
x^3-6x^2+11-6=0 |
3 |
; , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 |
x^10-10x^9+45x^-120x^7+210x^6- -252x^5+210x^4-120x^3 + 45x^2-10x+1 |
4 |
4; , 4321, 23 ,32 |
Произошел выход за диапазон типа |
5 |
; , 1 |
x^2-10000000000x+999999999 |
6 |
; , 0 |
x^2=0 |
7 |
(-4),(1), 3; (q), ( ), 0, 1, 100 |
(Введен символ или пробел повторите ввод), (Введите степень не меньшую, чем 2, и не большую, чем 100), (Введен символ или пробел повторите ввод), (Не было введено значения), x^3-101x^2+100x=0 |
8 |
; -1, 1, -2, 2, 0 |
x^5-5x^3+4x=0 |
9 |
; , 1, 2, 3, 4, 5, 6, 7, 8, 9 |
x^10-45x^9+870x^8-9450x^7+63273x^6- -269325x^5+723680x^4-1172700x^3+ +1026576x^2-362880x |
10 |
25; , 2, 3, 4, 5, 6, 7, 8, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6, 7 |
Произошел выход за диапазон типа |