Генерация матриц
Сущность теории матриц, ее основные понятия и определения. Теоремы теории матриц, дающие научную основу для разработки алгоритма генерации. Свойства определителя как основной числовой характеристики квадратных матриц. Проблемы при составлении алгоритма.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.05.2009 |
Размер файла | 273,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
{
int i, j=0, d, r;
int *mass1,*mass2;
mass1=(int*) malloc (n*sizeof(int));
mass2=(int*) malloc (n*sizeof(int));
if (det<0) d=-1*det;
else if (det>=0) d=det;
for (i=2; i<=d; i++)
{
while (d % i==0)
{
d/=i;
*(mas_fakt+j)=i;
j++;
}
}
if (j<n)
{
while (j<=n)
{
*(mas_fakt+j)=1;
j++;
}
}
else if (j>n)
{
r=i=0;
while (i<j)
{
if (i<n)
*(mass1+i)=*(mas_fakt+i);
else if (i>=n)
{
*(mass2+r)=*(mas_fakt+i);
r++;
}
i++;
}
for (i=0; i<r; i++)
{
j=*(mass2+i);
*(mass1+i)=*(mass1+i)*j;
}
for (i=0; i<n; i++)
*(mas_fakt+i)=*(mass1+i);
}
if (det<0)
{r=*(mas_fakt+0);*(mas_fakt+0)=-1*r;}
free(mass1);
free(mass2);
}
int prost (int det)
{
int d, i, flag=1;
d=det;
if((d % 2==0 && d!=0 && d!=2) || d<0)
flag=0;
else
for (i=3; i<sqrt(d); i+=2)
if (d % i==0)
flag=0;
return flag;
Заключение
В заключение данной курсовой работы хотелось бы кратко сказать о проделанной работе, о проблемах, с которыми столкнулся при выполнении поставленной цели, и о перспективах развития и улучшения данного программного продукта.
Целью данной курсовой работы было составить алгоритм генерации матриц по введенному определителю, размерности и диапазона элементов матрицы.
Чтобы выполнить поставленную цель, необходимо было решить три задачи:
1. Поиск литературы по предмету данной курсовой работы.
2. Составление алгоритма для выполнения поставленной цели.
3. Написание программы, реализующей составленный алгоритм.
При решении третьей задачи столкнулся с трудностью проверки корректности ввода данных. Необходимо было проверять, чтобы вводимый определитель удовлетворял диапазону элементов матрицы, т.е. введенный определитель, если является простым числом, то должен входить во введенный диапазон, и размерность матрицы должна быть больше двух.
Основными источниками, помогавшими выполнить поставленную цель, явились:
1. Книги по линейной алгебре, в которых содержался материал по теории матриц.
2. Книги по информатике и программированию.
Результатом данной курсовой работы стал алгоритм генерации матриц и написанная на его основе программа. Данная программа предназначена для работы с целыми числами. Одной из перспектив развития данного алгоритма является его улучшение для работы с действительными и комплексными числами, а программы - написание ее для работы со всеми числами: целыми, вещественными, комплексными.
Чтобы более полно использовать возможности алгоритма, его лучше реализовывать на тех языках программирования, у которых типы данных имеют достаточно большие диапазоны.
Надеюсь, что данная программа из области исследования при выполнении курсовой работы, при условии ее усовершенствования, выйдет в свет как полностью готовый к использованию программный продукт и будет востребован не только в целях методических разработок.
Список литературы
1. Ланкастер П. Теория матриц / Ланкастер П. - М.: Наука, 1982. - 272 с.
2. Линейная алгебра / Ильин В.А., Позняк Э.Г. - М.: Наука, 1978. - 304 с.
3. Кострикин А.И. Введение в алгебру / Кострикин А.И. - М.: Физико-математическая литература, 2001. - 368 с.
4. Писанецки С. Технология разряженных матриц / Писанецки С. - М.: Мир, 1988. - 410 с.
5. Гантмахер Ф.Р. Теория матриц / Гантмахер Ф.Р. - М.: Наука, 1988. - 552 с.
6. Подбельский В.В. Язык С++ / Подбельский В.В. - М.: Финансы и статистика, 2003. - 560 с.
7. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Бейсик, Си, Паскаль. Самоучитель. / Кетков Ю.Л., Кетков А.Ю. - СПб.: БХВ - Петербург, 2002. - 480 с.
8. Мальцев А.И. Основы линейной алгебры / Мальцев А.И. - М.: Наука, 1970. - 400 с.
9. Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++ / Крячков А.В., Сухинина И.В., Томшин В.К. - М.: Горячая линия - Телеком, 2000. - 344 с.
Приложение
Таблица тестов.
В таблице приведены результаты некоторых тестов программы.
номер теста |
входные данные |
выходные данные |
|
1 |
02-100 100 |
||
2 |
-103-50 50 |
||
3 |
-13-24 50 |
||
4 |
502-100 100 |
||
5 |
1134-100 100 |
Проверьте правильность ввода данных! Размерность должна быть > или равно 2. Определитель должен входить в диапазон, если является простым числом, или раскладываться на простые множители принадлежащие данному диапазону!!! |
|
6 |
13-24 50 |
Подобные документы
Строение жидкокристаллического монитора. Нематические жидкокристаллические субстанции. Рассеивание светового потока. Проблема TN матриц. Горизонтальные углы обзора матриц. Улучшенные матрицы S-IPS и SA-SFT. Технология Multi-Domain Vertical Alignment.
презентация [235,8 K], добавлен 04.09.2012Особенности работы с массивами с помощью MS Excel. Вычисление определителей матриц, произведения матриц и матрицы на вектор. Скалярное произведения найденных векторов. Поиск обратных матриц. Решение системы линейных уравнений, проверка найденных решений.
лабораторная работа [270,9 K], добавлен 05.06.2015Создание информационной системы обработки матриц. Общая характеристика программного обеспечения, которое реализует выполнение заданных функций. Программа разработана с использованием среды визуального программирования Delphi 7 и языка Object Pascal.
курсовая работа [373,4 K], добавлен 14.01.2011Си - стандартизированный процедурный язык программирования. Алгоритм и программа на языке Си для формирования двух матриц с определенной размерностью и значением элементов. Применение матриц в математике. Исходный текст программы и результаты выполнения.
реферат [1,4 M], добавлен 23.12.2010История и задачи разработки языка программирования Pascal. Понятие и характерные особенности типизированного файла, основные операции с файловыми переменными. Блок-схема алгоритма и исходный текст программы для обработки сведений об учениках школы.
контрольная работа [55,3 K], добавлен 31.07.2013Использование ранжированных переменных в программном пакете Mathcad. Создание матриц без использования шаблонов матриц, описание операторов для работы с векторами и матрицами. Решение систем линейных и нелинейных уравнений с помощью функций Mathcad.
контрольная работа [964,6 K], добавлен 06.03.2011Схема и коэффициент эффективности дискретного канала. Функции блоков, свойства канальных матриц, информационные характеристики источника сообщений и приемника. Теоремы Шеннона о критической скорости, криптографическому и помехоустойчивому кодированию.
учебное пособие [994,9 K], добавлен 06.05.2011Понятие матрицы, определение ее составных частей и границ, обосновывающие теории. Арифметические операции над матрицами, способы их представления в Mathcad. Формирование уравнений цепи на основе теории графов. Характеристика топологических матриц графа.
учебное пособие [982,4 K], добавлен 03.05.2010Задача нахождения кратчайшего покрытия булевой матрицы. Алгоритмы поиска кратчайших покрытий методом Патрика и методом Закревского. Метод предварительного редуцирования булевой матрицы. Описание программы "Нахождение кратчайшего покрытия булевых матриц".
курсовая работа [884,1 K], добавлен 12.12.2010Обоснование необходимости разработки программного комплекса. Обзор методов восстановления трёхмерных сцен. Общая структура алгоритма восстановления 3D сцен и сравнительный анализ его методов. Сравнительный анализ приближений и оценка его результатов.
дипломная работа [2,6 M], добавлен 10.01.2013