Определение ортогональной матрицы
Разработка эскизного и технического проектов программы преобразования заданной матрицы в ортогональную матрицу. Сравнивание транспонированной матрицы с обратной с целью проверки ортогональности. Выбор состава технических и программных средств реализации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.12.2014 |
Размер файла | 52,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
КУРСОВАЯ РАБОТА
по дисциплине
«Программирование »
Тема курсовой работы «Определение ортогональной матрицы»
Содержание
Введение
1. Разработка эскизного и технического проектов программы
1.1 Задание
1.2 Назначение и область применения
1.3 Технические характеристики
1.3.1 Постановка задачи
1.3.2 Описание алгоритма
1.3.3 Организация входных и выходных данных
1.3.4 Выбор состава технических и программных средств
2. Разработка рабочего проекта
2.1 Разработка программы
2.2 Спецификация программы
2.3 Описание программы
2.4 Тестирование программы
Заключение
Список использованной литературы
Приложение «Листинг программы «Определение ортогональной матрицы»
Введение
Курсовая работа «Определение ортогональной матрицы» посвящена созданию рабочей программы, позволяющей работать с массивами данных.
Рабочая программа представляет оператору преобразование по методу Гаусса -- Жордана заданной матрицы в обратную матрицу. Транспонирование расчетной матрицы. Умножение транспонированной матрицы на обратную матрицу и сравнивание результата с единичной матрицей с целью проверки верности нахождения обратной матрицы. Сравнивание транспонированной матрицы с обратной, с целью проверки ортогональности.
Рабочая программа реализуется в консольной технологии, занимает не более 15 кбайт памяти. Может работать под операционной системой Windows ХР и более ранних версиях Windows, на процессорах начиная 486 серии.
Данная курсовая работа имеет практическое применение: при небольшой модификации данного проекта можно создать тестовую программу в помощь студентам, изучающим матрицы и свойства матриц.
1. Разработка эскизного и технического проектов программы
1.1 Задание
В курсовой работе необходимо создать консольное приложение «Определение ортогональной матрицы», позволяющее рассчитывать из заданной матрицы обратную матрицу, транспонированную матрицу, и с её помощью определять ортогональность представленной матрицы.
Консольное приложение должно:
- автоматически преобразовывать исходную матрицу в обратную матрицу;
- автоматически транспонировать исходную матрицу;
- автоматически умножать транспонированную матрицу на обратную матрицу;
- автоматически сравнивать произведение матриц с единичной матрицей;
- автоматически сравнивать транспонированную матрицу с обратной;
- автоматически просчитывать вывод об ортогональности матрицы;
- выводить на экран результаты вычисления.
Интерфейс программы «Определение ортогональной матрицы» должен представлять собой собственное консольное окно с заголовком и выводом расчетных данных.
1.2 Назначение и область применения
Назначение программы - «Определение ортогональной матрицы» позволяет производить проверку заданной матрицы на ортогональность.
Область применения программы - вычисления для дисциплины по курсу линейной алгебры при изучении темы «Матрицы» для учащихся старших классов и студентов первого курса.
1.3 Технические характеристики
1.3.1 Постановка задачи
Необходимо разработать программу для проведения математических вычислений с матрицами с целью выявления ортогональности матрицы.
В математике квадратная матрица А называется ортогональной, если АТ=А-1
Транспонированная матрица АТ - это матрица, полученная путем замены у исходной матрицы А строк на столбцы. Обратная матрица А-1 - это такая матрица, при умножении на которую исходной матрицы А, даёт в результате единичную матрицу. Единичная матрица - это такая матрица, в которой элементы главной диагонали принимают значение 1, остальные элементы 0. Главная диагональ матрицы - это диагональ, которая проходит через верхний левый и нижний правый углы матрицы.
Разрабатываемая программа «Определение ортогональной матрицы» должна по методу Гаусса -- Жордана преобразовывать исходную матрицу в обратную и сравнивать её с транспонированной.
При выполнении арифметических действий с матрицами следует применить стандартные математические алгоритмы.
1.3.2 Описание алгоритма
В программе решаются одновременно несколько задач:
Транспонирование исходной матрицы.
Нахождение обратной матрицы из исходной.
Вычисление верности вычислений, путем сравнивания произведения транспонированной и обратной матрицы с единичной.
Сравнивание транспонированной и обратной матрицы на предмет ортогональности.
Вывод результатов вычислений.
Транспонирование исходной матрицы решается путем перезаписи элементов aij исходной матрицы в элементы aji транспонированной матрицы в двух циклах поэлементно.
Для нахождения обратной матрицы воспользуемся алгоритмом Гаусса -- Жордана, а именно:
1. Выбираем первый слева столбец матрицы, в котором есть хоть одно отличное от нуля значение.
2. Все элементы первой строки делим на верхний элемент выбранного столбца.
3. Из оставшихся строк вычитаем первую строку, умноженную на первый элемент соответствующей строки, с целью получить первым элементом каждой строки (кроме первой) ноль.
4. Далее проводим такую же процедуру с матрицей, получающейся из исходной матрицы после вычёркивания первой строки и первого столбца.
5. После повторения этой процедуры n-1 раз получаем верхнюю треугольную матрицу
6. Вычитаем из предпоследней строки последнюю строку, умноженную на соответствующий коэффициент, с тем, чтобы в предпоследней строке осталась только 1 на главной диагонали.
7. Повторяем предыдущий шаг для последующих строк. В итоге получаем единичную матрицу и решение на месте свободного вектора (с ним необходимо проводить все те же преобразования).
8. Чтобы получить обратную матрицу, нужно применить все операции в том же порядке к единичной матрице.
Для проверки вычислений требуется вычислить произведение обратной матрицы на транспонированную матрицу и сравнить результат с единичной матрицей. Умножение матриц происходит поэлементно. Для этого используется три цикла, первый и второй используется для перебора элементов результирующей матрицы, второй и третий для перебора элементов транспонированной матрицы, первый и третий для перебора элементов обратной матрицы. После каждого прохождения третьего цикла, накапливаем сумму, которая после завершения цикла приравнивается к соответствующему элементу результирующей матрицы. Для того, чтобы значения были верными, после прохождения первого и второго цикла, объявляем текущий элемент результирующей матрицы равным нулю. После завершения работы всех циклов на выходе должна быть заполненная, не нулевая матрица. Далее поэлементно будем сравнивать полученную матрицу с единичной матрицей. Зная, что единичная матрица - это матрица, у которой главные элементы единицы, а остальные нули, будем использовать два цикла для прогона всей матрицы поэлементно. В конце каждого цикла зададим условие: если элемент находиться на главной диагонали (т.е. aij такое, что i=j) и он не равен единице, то будем накапливать счетчик «истины»; если элемент находиться не на главной диагонали (т.е. aij такое, что i!=j) и он не равен нулю, то так же будем накапливать счетчик «истины». В итоге, после прохождения всех циклов, сравним счетчик «истины» с исходным значением и программа сделает вывод, единичная ли матрица. Если полученная матрица единичная - то результат нахождения обратной и транспонированной матрицы верный. Примечание: т.к. мы не можем сравнить точно два действительных числа, то для этого будем использовать некую e, равную e=0,00001. Т.е. можно сказать, что результат вычислений мы получаем с точностью e.
Далее, зная, что полученные транспонированная матрица и обратная матрица, найдены верно, будем сравнивать их между собой поэлементно. Применяя ранее описанный способ с накоплением счетчика «истины», запустим два цикла для перебора элементов обоих матриц. Если элементы будут расходиться между собой, то будем накапливать счетчик «истины».
В итоге, если счетчик «истины» будет больше исходного значения, то программа делает вывод об ортогональности матрицы.
1.3.3 Организация входных и выходных данных
Входные данные - это заданная в задании матрица.
Выходные данные - это вывод об ортогональности матрицы.
Кроме того, при запуске программы выдаются текстовые сообщения о последовательности действий программы и вывод промежуточных матриц: заданной заданием, обратной, транспонированной, результат произведения обратной матрицы на транспонированную матрицу с последующим выводом о правильности решения.
1.3.4 Выбор состава технических и программных средств
Средства, используемые в данной работе, содержатся в интегрированной среде разработки (IDE) Microsoft Visual C++ 2008 (далее VS). Эта среда предоставляет набор инструментов, которые помогают в создании и изменении кода, а также в обнаружении и исправлении ошибок. В VS для организации работы служат проекты и решения. При написании программы на языке C++ с помощью VS первым этапом является выбор типа проекта. Для каждого типа проекта VS устанавливает параметры компилятора и генерирует стартовый код. Так как задача ставились написать консольное приложение, то запускался мастер приложений Win32 и создавался пустой проект - без файлов исходного кода. В пустой проект через обозреватель решений добавлялись файлы исходного кода «main.cpp», «prototype.ccp» и файл включений «prototype.h». Далее все файлы компилировались, исправлялись ошибки, полученные при компиляции, создавался загрузочный (исполнительный) модуль, он запускался на выполнение. При запуске на выполнение возникали ошибки в логике программы, которые в дальнейшем были исправлены. В конечном итоге получился исполнительный модуль - рабочая программы «Определение ортогональной матрицы.exe».
2. Разработка рабочего проекта
2.1 Разработка программы
Программа «Определение ортогональной матрицы» предназначена для функционирования в среде Windows. Это приложение, хотя и разрабатывалось в среде визуального программирования, но использует консольное окно. Таким образом, программирование строится на процессе написания кода, придающего консольному окну и программе в целом необходимую функциональность. Окно программы изображено на рисунке 1.
Рисунок 1. Консольное окно программы «Определение ортогональной матрицы»
Окно программы выводится только один раз. Позиции для вывода данных определены программой. По окончании расчета программа предлагает нажать любую клавишу.
2.2 Спецификация программы
В спецификации программы определены основные файлы программы «Определение ортогональной матрицы».
Обозначения |
Наименование |
Примечание |
|
Определение ортогональной матрицы.exe |
Исполняемая программа |
Входная точка в программу |
|
main.срр |
Главная функция |
Занимается вызовом основных вычислительных функций |
|
prototype.ccp |
Файл для функций |
Занимается описанием всех функций для ввода и вывода расчетных данных |
|
prototype.h |
Файл включений |
Определены прототипы файловых функций для выполнения расчетов |
2.3 Описание программы
ортогональный матрица программа
При создании программы использовался модульный принцип построения программ. Все исходные модули логически разделены на файлы. Программа состоит из 3-х файлов: «main.срр», «prototype.ccp», «prototype.h».
Файл «main.срр» - главный, является по своей сути управляющим. Здесь осуществляется вход в программу. Этот модуль вызывает функции из другого модуля - файла функций «prototype.ccp». Прототипы функций хранятся в файле включений «prototype.h».
Функции, используемые в «main.ccp» и описанные в модуле «prototype.срр» вызываются в ходе программы:
void print_mas(double **mas); - функция вывода на экран предложенной матрицы. Функция применяется для упрощения алгоритма, так как операция вывода на экран матрицы идентична для всех расчетных матриц. Входными данными является указатель, в котором записана требуемая для вывода на экран матрица. Выходных данных нет.
void sravnenie(double **mas); - функция сравнения матрицы с единичной матрицей. Функция применяется для упрощения алгоритма и наглядности кода программы. Входные данные - указатель, в котором записана требуемая функция для сравнения. Выходных данных нет.
void rezultat(double **mas, double **mast); - функция сравнения обратной матрицы и транспонированной матрицы, а также финальный вывод результатов программы. Функция применяется для упрощения алгоритма и наглядности кода программы. Входные данные - два указателя, в которых записаны обратная и транспонированная матрицы. Выходных данных нет.
double ** obrat(double **mas); - функция для создания обратной матрицы. Функция применяется для упрощения алгоритма и наглядности кода программы. Входные данные - указатель, в котором записана расчетная матрица. Выходные данные - указатель, в котором записана обратная матрица.
double ** trans(double **mas); - функция для создания транспонированной матрицы. Функция применяется для упрощения алгоритма и наглядности кода программы. Входные данные - указатель, в котором записана расчетная матрица. Выходные данные - указатель, в котором записана транспонированная матрица.
double ** proizv(double **mas, double **mast); - функция для расчета произведения двух матриц. Функция применяется для упрощения алгоритма и наглядности кода программы. Входные данные - указатели требуемых для произведения матриц. Выходные данные - указатель с матрицей в которую записан результат произведения.
double ** sozdanie(double mas[4][4]); - функция для перезаписи матрицы из массива в указатель. Функция применяется для упрощения алгоритма, так как данная операция идентична для всех расчетных матриц. Входные данные - двумерный массив. Выходные данные - указатель, в которые переписан массив.
2.4 Тестирование программы
Так как при выполнении программы не требуется вводить дополнительных данных, а входе выполнения программы, существует алгоритм автопроверки расчетов, то следует заметить, что данная программа не нуждается в многократном тестировании. Отмечу только что при компилировании программы в среде разработки (IDE) Microsoft Visual C++ 2008 никаких ошибок и замечаний не возникло.
Заключение
Программа «Определение ортогональной матрицы.ехе» - консольное приложение, занимает объем не более 15 Кбайт. Для ее выполнения необходим минимальный состав аппаратурных средств: операционная система Windows 95, процессор 486 серии, оперативная память 4 Мбайт, память видеокарты 512 Кбайт, жесткий диск 544 Мбайт, экран, клавиатура, мышь.
Рабочая программа из каталога «Release» проекта «Определение ортогональной матрицы», можно скопировать на жесткий или съемный диск.
При запуске рабочей программы на экран выводиться результат вычислений.
Список использованной литературы
1. Герберт Шилдт. Полный справочник по С++. Четвертое издание. Москва. Издательский дом «Вильямс». 2009 г.
2. В.И. Шупляк, С++, Практический курс, Учебное пособие., Минск, «Новое знание», 2011 г.
3. MSDN -справочник по системе, операторам, функциям для среды разработки Microsoft Visual Studoi 2008 (2010) по языку С++.
4. Голуб Дж. (Gene H. Golub), Ван Лоун Ч. (Charles F. Van Loan) Матричные вычисления. -- М.: Мир, 2009, 548с., ил. (ISBN 5-03-002406-9)
5. Хорн Р. (Roger A. Horn), Джонсон Ч. (Charles C. Johnson) Матричный анализ. -- М.: Мир, 2011, 655с., ил. (ISBN 5-03-001042-4)
Приложение
Листинг программы «Определение ортогональной матрицы»
Главный модуль программы - main.cpp
#include <stdio.h>
#include <locale.h>
#include <math.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#include "prototype.h"
#define NS printf_s(" \n \n")
int main()
{
setlocale(LC_ALL,"");
//Задание рассчетной матрицы
double mas_general[4][4]= {1.00, 0.42, 0.54, 0.66,
0.42, 1.00, 0.32, 0.44,
0.54, 0.32, 1.00, 0.22,
0.66, 0.44, 0.22, 1.00};
double null[4][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
double **mas=sozdanie(mas_general);
double **obrat1=sozdanie(null);
double **trans1=sozdanie(null);
double **ras1=sozdanie(null);
//Запуск вывода на экран расчетной матрицы
printf_s ("Расчетная матрица\n");
print_mas(mas);
NS;
//Запуск функции создания обратной функции
obrat1=obrat(mas);
//Запуск вывода на экран обратной матрицы
printf_s ("Обратная матрица\n");
print_mas(obrat1);
NS;
//Запуск функции создания транспонированной функции
trans1=trans(mas);
//Запуск вывода на экран транспонированной матрицы
printf_s ("Транспонированная матрица\n");
print_mas(trans1);
NS;
//Запуск функции умножения обратной на транспонированную
ras1=proizv(obrat1,trans1);
//Вывод на экран результата умножения расчетной матрицы на обратную
printf_s ("Проверка подлинности получения обратной и транспонированной матрицы\nРезультат умножения транспонированной матрицы на обратную\n");
print_mas(ras1);
NS;
//Запуск функции сравнения полученной матрицы с единичной
sravnenie(ras1);
//Запуск функции сравнения транспонированной матрицы с обратной
rezultat(obrat1,trans1);
return 0;
}
Модуль программы prototype.ccp
#include "prototype.h"
//Функция перезаписи из массива в указатели
double ** sozdanie(double mas[4][4])
{
//Создаем указатель
double **ras;
ras=new double *[4];
for (int i=0; i<4; i++)
ras[i]= new double [4];
//Переписываем в него массив
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
ras[i][j]=mas[i][j];
//Выводим указатель
return ras;
//Подчищаем за собой
for (int i = 0; i < 4; i++)
delete [] ras[i];
delete [] ras;
}
//Функция вывода на экран матрицы
void print_mas (double **mas)
{
for (int i=0; i<4; i++)
{
printf_s ("\n");
for (int j=0; j<4; j++)
printf_s ("%4.2f ",mas[i][j]);
}
}
//Функция транспонирования матрицы
double ** trans(double **mas)
{
//Создаем указатель
double **ras;
ras=new double *[4];
for (int i=0; i<4; i++)
ras[i]= new double [4];
//Переписываем из входящего указателя в новый, заменяя строки на столбцы
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
ras[j][i]=mas[i][j];
//Выводим соданый указатель
return ras;
//Подчищаем за собой
for (int i = 0; i < 4; i++)
delete [] ras[i];
delete [] ras;
}
//Функция расчета обратной матрицы
double ** obrat(double **mas)
{
//Создаем временный указатель
double **temp1 = new double *[4];
for (int i=0; i<4; i++)
temp1[i]= new double [4];
//Переписываем входной указатель на временный
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
temp1[i][j]=mas[i][j];
//Создание обратной матрицы
{
//Создаем временную матрицу
double temp;
//Создаем указатель для единичной матрицы
double **E = new double *[4];
for (int i = 0; i < 4; i++)
E[i] = new double [4];
//Заполняем единичную матрицу
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
{
E[i][j] = 0.00;
if (i == j)
E[i][j] = 1.00;
}
//Заполняем временную матрицу
//Все элементы первой строки делим на верхний элемент выбранного столбца.
for (int k = 0; k < 4; k++)
{
temp = temp1[k][k];
for (int j = 0; j < 4; j++)
{
temp1[k][j] = temp1[k][j]/temp;
E[k][j] = E[k][j]/temp;
}
//Из оставшихся строк вычитаем первую строку, умноженную на первый элемент соответствующей строки,
//с целью получить первым элементом каждой строки (кроме первой) ноль.
for (int i = k + 1; i < 4; i++)
{
temp = temp1[i][k];
for (int j = 0; j < 4; j++)
{
temp1[i][j] = temp1[i][j] - temp1[k][j] * temp;
E[i][j] = E[i][j] - E[k][j] * temp;
}
}
}
//Вычитаем из предпоследней строки последнюю строку, умноженную на соответствующий коэффициент,
//с тем, чтобы в предпоследней строке осталась только 1 на главной диагонали.
for (int k = 4 - 1; k > 0; k--)
{
for (int i = k - 1; i >= 0; i--)
{
temp = temp1[i][k];
for (int j = 0; j < 4; j++)
{
temp1[i][j] = temp1[i][j] - temp1[k][j] * temp;
E[i][j] = E[i][j] - E[k][j] * temp;
}
}
}
//Переписываем значения из обработаной единичной матрицы в расчетную матрицу
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
temp1[i][j] = E[i][j];
//Подчищаем за собой
for (int i = 0; i < 4; i++)
delete [] E[i];
delete [] E;
//Возвращаем указатель с результатом
return temp1;
//Подчищаем за собой
for (int i = 0; i < 4; i++)
delete [] temp1[i];
delete [] temp1;
}
}
//Функция произведения двух матриц
double ** proizv (double **mas, double **mast)
{
//Создаем указатель, в который будем записывать результат вычислений
double **ras;
ras=new double *[4];
for (int i=0; i<4; i++)
ras[i]= new double [4];
//Вычисляем значения по элементно
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
ras[i][j]=0;
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
{
for (int k=0; k<4; k++)
{
double s = mas[k][j]*mast[i][k];
//Результат умножения записываем в результирующий указатель
ras[i][j]=ras[i][j]+s;
}
}
//Выводим результирующий указатель
return ras;
//Подчищаем за собой
for (int i = 0; i < 4; i++)
delete [] ras[i];
delete [] ras;
}
//Функция сравнения матрицы с единичной матрицой
void sravnenie(double **mas)
{
int s=1; //Счетчик истины
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
{
//Сравнение по единичным наборам
if (i==j)
{
if (mas[i][j]!=1 && (fabs(mas[i][j]-1.0)>0.00001))
{
s=s+1; //Если условие не выполняется, то счетчик истины увеличивается
}
}
//Сравнение по нулевым наборам
else if (i!=j)
{
if (mas[i][j]!=0 && (fabs(mas[i][j])>0.00001))
{
s=s+1; //Если условие не выполняется, то счетчик истины увеличивается
}
}
}
//Сравнение счетчика истины с начальным значением
if (s>1)
printf_s ("Матрица не единичная => Вычисления выполнены не правильно\n\n");
else
printf_s ("Матрица единичная => Вычисления выполнены правильно\n\n");
}
//Функция сравнения матриц
void rezultat(double **mas, double **mast)
{
int s=1; //Счетчик истины
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
if (mas[i][j]!=mast[i][j])
s++; //При выполнении условия, счетчик накручиваем
if (s>1) printf_s ("Транспонированная матрица не идентична обратной => \nПредставленная матрица не ортогональна\n\n");
else printf_s ("Транспонированная матрица идентична обратной => \nПредставленная матрица ортогональна\n\n");
}
Модуль программы prototype.h
#ifndef PROTOTYPE_H
#define PROTOTYPE_H
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void print_mas(double **mas); //Функция вывода на экран матрицы
void sravnenie(double **mas); //Функция сравнения матрицы с единичной
void rezultat(double **mas, double **mast);//Функция сравнения обратной и транспонированной матрицы и финальный вывод расчтов
double ** obrat(double **mas); //Функция создания обратной матрицы
double ** trans(double **mas); //Транспонирование матрицы
double ** proizv(double **mas, double **mast); //Функция произведения матриц
double ** sozdanie(double mas[4][4]); //Функция перезаписи из массива в указатели
#endif
Размещено на Allbest.ru
Подобные документы
Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.
курсовая работа [159,8 K], добавлен 26.01.2010Разработка эскизного и технического проектов компьютерной игры "Скачки". Назначение и область применения программы. Выбор состава технических и программных средств. Составление текста программы, ее спецификация, тестирование и условия выполнения.
курсовая работа [681,4 K], добавлен 18.10.2014Разработка эскизного и технического проектов программы, ее назначение и область применения, технические характеристики. Организация входных и выходных данных, выбор состава технических и программных средств. Текст программы, ее описание и тестирование.
курсовая работа [1,3 M], добавлен 15.11.2009Составление процедуры для матрицы, разложения матрицы на множители, решения системы линейных уравнений, нахождения определителя матрицы и матрицы с транспонированием. Суть метода квадратного корня. Разложение матрицы на множители. Листинг программы.
лабораторная работа [39,4 K], добавлен 18.09.2012GetMatrDop как процедура определяет значение элемента транспонированной матрицы дополнений. Знакомство с этапами разработки в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы. Особенности тестирования программы.
курсовая работа [780,4 K], добавлен 20.11.2014Разработка эскизного и технического проектов программы "Шифр Цезаря": назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка, тест и внедрение программы.
курсовая работа [563,7 K], добавлен 15.07.2012Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.
курсовая работа [700,6 K], добавлен 26.01.2010Основные операции над матрицами. Формирование матрицы из файла. Ввод матрицы с клавиатуры. Заполнение матрицы случайными числами. Способы формирования двухмерных массивов в среде программирования С++. Произведение определенных элементов матрицы.
курсовая работа [537,0 K], добавлен 02.06.2015Разработка эскизного и технического проекта программы идентификации личности по отпечатку. Назначение и область применения, описание алгоритма, входных и выходных данных. Выбор состава технических и программных средств. Тестирование и внедрение продукта.
курсовая работа [61,9 K], добавлен 12.05.2015Разработка эскизного и технического проектов программы, приложения "Телефонный справочник". Организация входных и выходных данных. Выбор состава технических средств. Интегрированная среда разработки Delphi 7. Разработка рабочего проекта, внедрение.
курсовая работа [427,4 K], добавлен 21.07.2012