Преобразование многочленов

Аналитическая обработка задачи преобразования многочленов. Блок-схемы основных алгоритмов: алгоритма основной программы, алгоритма заполнения исходных коэффициентов, вычисления алгоритма. Текст программы. Описание интерфейса. Тестирование программы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 21.10.2017
Размер файла 167,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Преобразование многочленов

Задание

программа многочлен преобразование

Дан многочлен P(х) степени N, действительные числа s и t. Получить многочлен (sх+t)Р(х).

Программа написана с помощью среды программирования Borland С++ Builder 6. Она позволяет вычислять сложные математические выражения c многочленом, а также она достаточно удобна и легка в обращении, что, безусловно, является преимуществами.

1 Аналитическая обработка задачи

В данной задаче дан многочлен Р(х), необходимо получить многочлен (sх+t)*Р(х).

Пусть дан многочлен

.

Тогда:

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

2. Блок-схемы основных алгоритмов

2.1 Блок-схема алгоритма основной программы

Рис. 1- Блок-схема алгоритма основной программы.

2.2 Блок-схема алгоритма заполнения исходных коэффициентов

Рис. 2-Блок-схема алгоритма заполнения исходных коэффициентов.

2.3 Блок-схема алгоритма вычисления многочлена

Рис. 3-Блок-схема алгоритма вычисления многочлена.

3. Текст программы

#include <vcl.h>

#pragma hdrstop

#include "main.h"

#pragma package(smart_init)

#pragma link "CSPIN"

#pragma resource "*.dfm"

TMainForm *MainForm;

AnsiString PolyToStr(float *poly, int st, int end)

{

AnsiString str;

for (int i = st; i < end; i++) {

if (poly[end - i])

if (poly[end - i] != 1)

str = str + FormatFloat("#0.###", poly[end - i]);

str = str + "x";

if (end - i > 1)

str = str + "^" + IntToStr(end - i);

if (poly[end - i - 1] > 0) str += '+';

}

}

if (poly[st] || str == "")

str = str + FormatFloat("#0.###", poly[st]);

return str;

}

//---------------------------------------------------------------------------

__fastcall TMainForm::TMainForm(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::FormActivate(TObject *Sender)

{

cspinEditpChange(NULL);

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::btnStartClick(TObject *Sender)

{

float s = StrToFloatDef(edits->Text, 1),

t = StrToFloatDef(editt->Text, 2),

*a, *b;

a = new float[StringGrid->ColCount + 2];

b = new float[StringGrid->ColCount + 2];

for (int i = 0; i < StringGrid->ColCount + 2; i++)

{ a[i] = 0; b[i] = 0; }

for (int i = 0; i < StringGrid->ColCount; i++)

a[i] = StrToFloat(StringGrid->Cells[StrToInt(cspinEditp->Text) - i][1]);

b[0] = a[0]*t;

for (int i = 0; i < StringGrid->ColCount; i++)

b[i+1] = a[i]*s + a[i+1]*t;

lblStart->Caption = "P(x) = " +

PolyToStr(a, 0, StringGrid->ColCount - 1);

lblResult->Caption = "(sx+t)*P(x) = " +

PolyToStr(b, 0, StringGrid->ColCount);

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::cspinEditpChange(TObject *Sender)

{

StringGrid->ColCount = StrToInt(cspinEditp->Text) + 1;

for (int i = 0; i < StringGrid->ColCount; i++) {

StringGrid->Cells[i][1] = 0;

StringGrid->Cells[i][0] = "a" +

IntToStr(StrToInt(cspinEditp->Text) - i); }

}

//---------------------------------------------------------------------------

4. Описание интерфейса

Интерфейс программы предоставлен 1-й формой. (рис. 4)

Рис. 4 - Основная форма программы.

На рисунке 4 рассматриваются основные компоненты управления программой:

1 - поля cspinEdit, edits и editt, в которые вводятся исходные данные: степень многочлена Р(х), действительные числа s и t;

2 - кнопка «Подсчёт» (btnStart), при нажатии которой происходят вычисления;

3 - таблица (StringGrid), в которой отображаются коэффициенты многочлена Р(х);

4 - поле (pnlStart), в котором отображается исходный многочлен Р(х);

5 - поле (pnlResult), в котором отображается конечный многочлен (sх+t)Р(х).

Для вычисления многочлена (sх+t)Р(х) пользователю необходимо выполнить следующие действия:

1) определить степень многочлена Р(х) (выбрать степени можно в поле 1);

2) ввести коэффициенты многочлена Р(х) (ввод значений в таблицу, поле 3);

3) нажать кнопку «Подсчёт» (поле 2).

5 Тестирование программы

Результаты расчета программы:

1. введем порядок многочлена 3, s = 2, t = -3;

2. введем многочлен ;

Рис. 5 - Вид формы до нажатия кнопки «Подсчёт».

3. Рассчитанный многочлен имеет вид:

.

Рис. 6-Вид формы после нажатия кнопки «Подсчёт».

Результаты математического расчета:

1) пусть порядок многочлена N=3, s = 2, t = -3;

2) пусть многочлен Р(х) имеет вид: ;

3) рассчитанный многочлен имеет вид:

Так как программные и математические расчеты совпадают, можно сделать вывод о том, что программа работает правильно.

Список используемой литературы

1. C++: Учебное пособие. Смирнова Н.Н.-С-Пб.:Питер,2007г.

2. C/C++: Программирование на языке высокого уровня. Павловская Т.А.-С-Пб.:Питер,2007г.;

Размещено на Allbest.ru

...

Подобные документы

  • Разработка алгоритма решения задачи численного интегрирования методом трапеции. Словесное описание и блок-схема разработанного алгоритма программы. Описание интерфейса, главного окна и основных форм программы. Проверка работоспособности программы.

    курсовая работа [1,4 M], добавлен 16.03.2012

  • Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.

    курсовая работа [823,0 K], добавлен 18.12.2011

  • Сущность метода неопределённых коэффициентов, использование интерполяционных многочленов и разностных соотношений для аппроксимации производных. Алгоритм программы и обоснование языка программирования. Экспериментальное исследование и решение задачи.

    курсовая работа [227,4 K], добавлен 30.04.2009

  • Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в виде 4 форм и 1 диалогового окна. Описание алгоритма решения задачи. Текст программы, руководство оператора.

    курсовая работа [1,4 M], добавлен 04.06.2013

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

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.

    курсовая работа [446,0 K], добавлен 19.06.2014

  • Методы обработки информации при решении прикладных задач. Математическая модель задачи. Блок-схема алгоритма программы. Компоненты, которые используются для работы в программе: элементы интерфейса; процедуры; операторы. Текст программы с пояснениями.

    курсовая работа [954,0 K], добавлен 07.01.2011

  • Математическое обоснование метода решения задачи: определенный интеграл, квадратурная формула Симпсона (формула парабол). Словесное описание алгоритма и составление его блок-схемы. Выбор языка программирования. Текст программы решения задачи, ее листинг.

    курсовая работа [593,6 K], добавлен 09.07.2012

  • Примерный вид выходного сигнала датчика. Описание и блок-схема алгоритма обработчиков прерываний. Формула вычисления температуры на индикаторе. Перевод абсолютного значения в BCD-код. Блок-схема алгоритма основной программы. Динамическая индикация.

    курсовая работа [141,2 K], добавлен 21.10.2012

  • Создание и реализация алгоритма решения транспортной задачи методом наименьших стоимостей. Схема алгоритма основной программы. Основные шаги алгоритма решения транспортной задачи. Инструкция по эксплуатации программы и обзор результатов ее выполнения.

    курсовая работа [2,0 M], добавлен 12.02.2013

  • Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.

    лабораторная работа [256,9 K], добавлен 10.11.2015

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

    курсовая работа [1,5 M], добавлен 21.11.2013

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

    курсовая работа [19,9 K], добавлен 15.10.2010

  • Преобразование матрицы по заданным правилам. Методика работы с массивами, основанная на классических алгоритмах. Разработка и описание блок-схемы алгоритма. Листинг программы, экраны работы и отладки программы. Инструкция для пользователей программы.

    контрольная работа [338,4 K], добавлен 29.01.2013

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

    курсовая работа [391,1 K], добавлен 30.09.2013

  • Сущность основных понятий объектно-ориентированного программирования: объект, класс, полиморфизм. Блок-схема алгоритма и текст программы для вычисления площади круга, прямоугольника и трапеции. Принцип работы и результаты тестирования приложения.

    курсовая работа [588,7 K], добавлен 17.07.2012

  • Основные аналитические соотношения. Блок схемы и алгоритм решения задачи. Проверка работоспособности алгоритма вручную. Таблица идентификации переменных. Формы входной и выходной печати. Разработка и отладка программы. Инструкция для работы с программой.

    курсовая работа [69,8 K], добавлен 13.02.2012

  • Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.

    курсовая работа [294,0 K], добавлен 08.09.2008

  • Описание общего алгоритма и интерфейса программы. Метод заполнения массива случайными числами. Метод вычисления длины линии между пространственными точками. Создание, синхронизация и завершение потоков. TThread как абстрактный класс, листинг программы.

    курсовая работа [664,0 K], добавлен 08.04.2014

  • Программирование на алгоритмическом языке Turbo Pascal на примере разработки алгоритма и программы расчета временной функции. Выбор, обоснование методов решения. Схемы алгоритмов основной программы и подпрограмм. Распечатка исходных и вычисленных величин.

    реферат [154,8 K], добавлен 15.03.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.