Преобразование многочленов
Аналитическая обработка задачи преобразования многочленов. Блок-схемы основных алгоритмов: алгоритма основной программы, алгоритма заполнения исходных коэффициентов, вычисления алгоритма. Текст программы. Описание интерфейса. Тестирование программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 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