Смекни!
smekni.com

Программа Умножение многочленов (стр. 1 из 2)

Содержание

Введение

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

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

3. Техническая часть

3.1 Разработка схемы алгоритма

3.2 Реализация программы на языке программирования

Заключение

Список использованных источников


Введение

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

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

Данная программа позволяет производить операцию умножения двух многочленов между собой и получать результат в виде нового многочлена.

Данная программа может быть использована как одно из средств в областях, связанных с математическими вычислениями и расчетами.

Пояснительная записка состоит из трех разделов: анализа предметной части, постановки задачи и технической части.

В разделе «Анализ предметной части рассмотрены теоретические основы математической модели, приведено обоснование и словесное описание разрабатываемого алгоритма.

В разделе «Постановка задачи» рассматривается вопросы назначения программы, предъявлены требования к программе, выполнен выбор среды разработки и языка программирования.

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


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

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

Математическая модель умножения многочленов представлена в формулах (1) и (2).

(1)

(2)

В частности,

Алгоритм умножения многочленов:

1) перемножение i-го и (k-i)-го элементов многочленов между собой, где k – номер элемента в многочлене-результате, а i – порядковый номер первого многочлена, (k-i) – порядковый номер второго многочлена;

2) сложение полученного результата с предыдущим произведением элементов многочленов;

3) переход к следующим элементам многочленов;

4) повторение пунктов 1-3 k раз для i-го элемента многочленов, где k – номер элемента в многочлене-результате, а i – порядковый номер для перемножающихся многочленов;

5) переход к следующему элементу многочлена-результата;

6) повторение пунктов 1-5 по числу элементов в многочлене-результате.


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

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

Целью курсовой работы, выполненной на тему «Умножение многочленов», является разработка программы, позволяющей получать результат перемножение двух многочленов.

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

Программа предназначена для следующих основных функций:

- ввод размеров многочленов;

- ввод элементов многочленов;

- вывод результата перемножения многочленов.

Входной информацией будет являться:

- размер первого многочлена;

- размер второго многочлена;

- массив элементов первого многочлена;

- массив элементов второго многочлена.

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

Все внесенные изменения тут же визуально отображаются на экране.

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

Входная информация представлена в виде:

- массива элементов результирующего многочлена.

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

Для вывода выходной информации используется монитор.

Для решения выберем следующие идентификаторы:

- n - размер первого многочлена;

- m - размер второго многочлена;

- a[0..10] - массив элементов первого многочлена;

- b[0..10] - массив элементов второго многочлена;

- d[0..20] - массив элементов результирующего многочлена.

Автоматизированная система должна быть разработана для пользователя, не имеющего профессиональных навыков в программировании. Следовательно, программный продукт, должен работать в диалоговом режиме и взаимодействовать с пользователем через экран и клавиатуру ПЭВМ. К такой системе предъявляется ряд требований, которые позволяют облегчить диалог пользователя с машиной:

- комфорт и дружественность;

- развитая система подсказок;

- целостность и надежность данных.

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

- система должна обеспечивать машинное формирование входной информации и ее проверку,

- выдачу информации на экран монитора.

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

Разрабатываемая система должна работать в любой версии операционных систем семейства Windows.

Для этого рассмотрим наиболее распространенные средства реализации.

Необходимо сказать, что революционным шагом явилось появление визуального программирования основанного на принципе WYSIWYG (What you see is what you get), возникшего в Visual Basic и нашедшего блестящее воплощение в системах Delphi и C++Builder фирмы Borland.

Визуальное программирование позволило свести проектирование пользовательского интерфейса к простым и наглядным процедурам, которые дают возможность значительно сократить сроки проектирования интерфейса.

Благодаря визуальному объектно-ориентированному программированию была создана технология, получившая название быстрая разработка приложений, по-английски - RAD-Rapid Application Development.

Системы Delphi и C++Builder это следующий шаг в развитии среды быстрой разработки приложений.

Для реализации была выбрана системы Delphi и язык программирования Object Pascal, так как хотя C++Builder и Delphi похожи, но предпочтительнее использовать Delphi, как более простой и удобный для разработки небольших приложений и баз данных.


3 Техническая часть

3.1 Разработка схемы алгоритма

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

Блок «начало» соответствует загрузке системы и выдачи главной формы.

Рисунок 1 – Алгоритм функционирования системы

Блок 1 – Начало программы.

Блок 2 – Ввод количества элементов в 1-го многочлена.

Блок 3 – Ввод количества элементов в 2-го многочлена.

Блок 4 – Цикл по всем элементам массивов a и b.

Блок 5 – Инициализация нулями массива a.

Блок 6 – Инициализация нулями массива b.

Блок 7 – Цикл по всем элементам массива d.

Блок 8 – Инициализация нулями массива d.

Блок 9 – Цикл по количеству введенных элементов массива a.

Блок 10 – Проверка условия является ли введенное значение элемента 1-го массива числом.

Блок 11 – Присваивание введенного значения в i-ый элемент массива.

Блок 12 – Вывод сообщения об ошибке на экран.

Блок 13 – Прекращения выполненных следующих далее инструкций.

Блок 14 – Цикл по количеству введенных элементов массива b.

Блок 15 – Проверка условия является ли введенное значение элемента 2-го массива числом.

Блок 16 – Присваивание введенного значения в i-ый элемент массива.

Блок 17 – Вывод сообщения об ошибке на экран.

Блок 18 – Прекращения выполненных следующих далее инструкций.

Блок 19 – Задать количество ячеек таблицы элементов многочлена-результата.

Блок 20 – Цикл для всех элементов многочлена-результата.

Блок 21 – Цикл для суммирования произведений a[i]*b[k-i], из которых складывается значение элемента многочлена-результата.

Блок 22 – Вычисление значения части суммы, из которой складывается значение элемента многочлена-результата.

Блок 23 – Вычисление значения элемента многочлена-результата.

Блок 24 – Вывод подписи для ячейки таблицы многочлена-результата..

Блок 25 – Вывод в заданную ячейку таблицы значения элемента многочлена-результата.

Блок 26 – Выход из программы.

3.2 Реализация программы на языке программирования

Программный продукт, выполнен при помощи языка программирования Object Pascal в интегрированной среде разработки Delphi.

Код программы на языке программирования Object Pascal, разработанной в системе разработки Delphi.

unit Unit1; // название модуля


interface // область описывающая интерфейс

uses // подключаемые модули