Разработка в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы

GetMatrDop как процедура определяет значение элемента транспонированной матрицы дополнений. Знакомство с этапами разработки в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы. Особенности тестирования программы.

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

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

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

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

"Разработка в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы"

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

В курсовой работе «Разработка в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы» ставятся несколько задач.

Исходными данными являются массивы :

Матрица А - двумерный массив.

Матрицы B и Y - одномерные массивы.

Необходимо разработать алгоритмы, блок-схемы и программный код на языке Pascal для решения следующей задачи:

1) Решить линейное уравнение ATAX=B

2) Отсортировать элементы, находящиеся на главной диагонали обратной матрицы (ATA)-1 по убыванию.

3) Вычислить значение матрицы Z=ATBTY

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

Для выполнения операций с матрицами будут использованы стандартные возможности и инструментарий языка Pascal, в частности это использование одномерных и двумерных массивов, циклов for... do, использование функций, оператора выбора, циклов if… then, объявление переменных разных типов и другие.

2. Описание алгоритма решения задачи графическим способом

2.1 Детализация схемы алгоритма

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

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

Детализация укрупненной схемы алгоритма

В алгоритме программы на рисунке 1 решаются несколько задач.

1) Реализация диалогового интерфейса меню для взаимодействия с пользователем. Выбор соответствующего пункта меню запрограммирован на клавиши F1…F4, это реализовано с помощью оператора выбора (селектора) case. Если значение селектора совпадает с каким-либо значением в операторе case, то выполняется ветка, относящаяся к данному случаю. При нажатии, например клавиши F1 происходит переход в процедуру zadacha1 и т.д.

2) Так как основная задача поделена на три основных части, то, соответственно, созданы три процедуры zadacha1, zadacha2, zadacha3. В каждой из них производятся итоговые вычисления матриц с выводом результатов на экран.

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

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

Рис.2. Блок схема процедуры zadacha1

zadacha1 - процедура вычисления линейного уравнения A^T*A*X=B и вывод на экран результатов вычислений. На экран выводится значение матрицы Х.

i, j : integer - это переменные цикла.

M : Matrix44 - это двумерный массив, т.е. матрица 4х4

P : Matrix41 - это одномерный массив, т.е. матрица 4х1

Внутри процедуры zadacha1 находятся 4 вложенных цикла и 1 цикл вывода матрицы B на экран.

1 цикл: вычисление матрицы A^T. Перед началом цикла идет вызов процедуры Trans44(A, M).

2 цикл: вычисление матрицы A^T*A. Перед началом цикла идет вызов процедуры PMatrix44(M, A, M).

3 цикл: вычисление матрицы обратной (A^T*A). Перед началом цикла идет вызов процедуры Obrat(M, M).

4 цикл: вывод матрицы B на экран.

5 цикл: определение значения матрицы Х=((A^T*A)^(-1))*B. Перед началом цикла идет вызов процедуры PMatrix41(M, B, P).

Рис.3. Блок схема процедуры zadacha2

Zadacha2 - процедура сортировки элементов главной диагонали матрицы, обратной (A^T*A) по убыванию. На экран выводится значение обратной матрицы (A^T*A), ее определителя и отсортированная главная диагональ матрицы обратной (A^T*A).

i, j, ni, nj: integer - это переменные цикла.

P : array[1..4] of Real - это одномерный массив для элементов главной диагонали.

max : real - это переменная массива P[i].

M : Matrix44 - это двумерный массив, т.е. матрица 4х4

Внутри процедуры zadacha2 находятся 3 вложенных цикла, 1 цикл присвоения массива, 1 цикл сортировки с условием и 1 цикл вывода отсортированных элементов на экран. Всего 6 циклов.

1 цикл: вычисление матрицы A^T. Перед началом цикла идет вызов процедуры Trans44(A, M).

2 цикл: вычисление матрицы A^T*A. Перед началом цикла идет вызов процедуры PMatrix44(M, A, M).

3 цикл: вычисление матрицы обратной (A^T*A). Перед началом цикла идет вызов процедуры Obrat(M, M).

4 цикл: присвоение элементов главной диагонали матрицы, обратной (A^T*A), в массив P.

5 цикл: цикл сортировки с условием, если элемент массива меньше следующего, то меняем их местами.

6 цикл: вывод на экран отсортированной главной диагонали матрицы M, обратной (A^T*A).

Рис.4. Блок схема процедуры zadacha3

Zadacha3 - процедура вычисления значения матрицы Z=(B^T)*(A^T)*Y.

M : Matrix44 - это двумерный массив, т.е. матрица 4х4.

P : Matrix14 - это матрица 1х4.

i, j, nom : integer - это переменные цикла.

r : real - это искомая переменная , т.е. матрица Z.

Внутри процедуры zadacha3 находятся 3 основных цикла.

1) цикл вычисления матрицы B^T. Перед началом цикла идет вызов процедуры Trans41(B, P).

2) цикл вычисления матрицы A^T. Перед началом цикла идет вызов процедуры Trans44(A, M).

3) цикл вывода на экран матрицы Y и вычисление значения матрицы Z.

При вычислении значения матрицы Z идет вызов процедуры PMatrix14(P, M, P) и PMatrix(P, Y, r).

Рис.5. Блок схема процедуры

PMatrix44(AMatrix, BMatrix : Matrix44; var Res : Matrix44)

PMatrix44 - это процедура умножения матрицы (4х4) на матрицу (4х4), результат - матрица (4х4).

var i, j, k : integer - это переменные цикла.

r : real; - это искомая переменная, результат вычислений.

AMatrix, BMatrix : Matrix44 - это присвоение массиву AMatrix и BMatrix значений двумерного массива Matrix44.

var Res : Matrix44 - это присвоение переменной Res значений двумерного массива Matrix44.

В конце процедуры Res[i, j] := r; означает, что искомой переменной r производится присвоение значения переменной Res.

Рис.6. Блок схема процедуры

GetMatr(AMatr : Matrix44; var BMatr : Matrix33; i, j:integer)

GetMatr - это процедура вычеркивания из матрицы AMatr строки i и столбца j и формирование матрицы BMatr (3х3).

var ki, kj, di, dj : integer; - это переменные цикла.

var Res : Matrix44 - это присвоение переменной Res значений двумерного массива Matrix44.

Рис. 7. Блок схема функции GetDet(AMatrix : Matrix44) : Real

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

var i : integer; - переменная цикла

Res : Real; - искомая переменная

M : Matrix33; - массив 3 на 3.

Рис.8. Блок схема процедуры GetMatrDop(AMatr : Matrix44; var ResMatr : Matrix44);

pascal транспонированный матрица

GetMatrDop - эта процедура определяет значение элемента транспонированной матрицы дополнений.

Рис.9. Блок схема функции znak(a, b : integer) : integer;

Функция znak определяет, если четное число, результат = 1, иначе результат = -1.

Рис.10. Блок схема функции DetMinor(AM : Matrix33) : real;

Функция DetMinor определяет детерминанту матрицы 3х3.

Рис.11. Блок схема процедуры

Obrat(AMatrix : Matrix44; var Res : Matrix44)

Процедура Obrat выполняет расчет обратной матрицы.

Рис.12. Блок схема процедуры

PMatrix41(AMatrix: Matrix44; BMatrix : Matrix41; var Res : Matrix41);

PMatrix41- эта процедура выполняет умножение матрицы (4х4) на матрицу (4х1), результат - матрица (1х4).

Рис.13. Блок схема процедуры

PMatrix14(AMatrix: Matrix14; BMatrix : Matrix44; var Res : Matrix14);

PMatrix14- эта процедура выполняет умножение матрицы (1х4) на матрицу (4х4), результат - матрица (1х4).

Рис.14. Блок схема процедуры

PMatrix(AMatrix: Matrix14; BMatrix : Matrix41; var Res : Real);

PMatrix - это процедура умножения матрицы (1х4) на матрицу (4х1), результат - число.

3. Разработка программы на языке PASCAL

3.1 Краткое описание блоков программы

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

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

После названия программы и идентификации используемых модулей следует раздел объявления типов (type), констант (const), переменных (var) и подпрограмм (procedure).

В данной программе в разделе типов задаются 4 статических массива (матрицы) вещественных чисел:

type Matrix44 = array[1..4, 1..4] of real;{матрица 4х4}

Matrix41 = array[1..4, 1..1] of real;{матрица 4х1}

Matrix14 = array[1..1, 1..4] of real;{матрица 1х4}

Matrix33 = array[1..3, 1..3] of real;{матрица 3х3}

В разделе констант объявлены 3 константы:

const A : Matrix44 = ((3, 3, 4, 5),(2, 6, 4, 6),(3, 4, 5, 5),(1, 9, 3, 6));

B : Matrix41 = ((1), (2), (1), (2));

Y : Matrix41 = ((1), (4), (0), (3));

В разделе переменных объявлена одна переменная символьного типа C : Char; и одна логического типа IsClose : Boolean.

Основная часть программы состоит из вспомогательных процедур и функций. Основные рабочие процедуры: zadacha1, zadacha2, zadacha3. Вспомогательные процедуры: PMatrix41, PMatrix14, PMatrix, PMatrix44, Trans41, Trans44, GetMatr, GetMatrDrop, Obrat. В каждой подпрограмме (процедуре) объявлены свои переменные и выполняются независимые циклы. Функции в программе объявлены как function DetMinor, znak, GetDet. Функция GetDet (возвращает значение определителя матрицы) используется в процедуре Obrat, функции DetMinor и znak используются в GetDet.

Такая структура программы объясняется множеством вычислений с матрицами, которые необходимо осуществить. Исходя из этого, все промежуточные вычисления реализованы во вспомогательных процедурах. А основные рабочие процедуры zadacha1, zadacha2, zadacha3 собирают в себе все промежуточные вычисления из других процедур и выводят вычисленные данные на экран.

Взаимодействие (интерфейс, простейшее меню) с пользователем организовано в программе в конце кода, начиная с BEGIN и до END. Запуск главных трех процедур zadacha1,2,3 выполняется через интерфейс пользователя.

Элементы ¦, L, -, ¬, = это символы псевдографики, которые в dos-режиме используются для графического оформления таблицы.

3.2 Листинг программы

program laba1;

uses crt;

type Matrix44 = array[1..4, 1..4] of real;{матрица 4х4}

Matrix41 = array[1..4, 1..1] of real;{матрица 4х1}

Matrix14 = array[1..1, 1..4] of real;{матрица 1х4}

Matrix33 = array[1..3, 1..3] of real;{матрица 3х3}

const A : Matrix44 = ((3, 3, 4, 5),(2, 6, 4, 6),(3, 4, 5, 5),(1, 9, 3, 6));

B : Matrix41 = ((1), (2), (1), (2));

Y : Matrix41 = ((1), (4), (0), (3));

var C : Char;

IsClose : Boolean;

procedure PMatrix41(AMatrix: Matrix44; BMatrix : Matrix41; var Res : Matrix41);

var i, j, k : integer;

r : real;

begin

for i := 1 to 4 do

begin

for j := 1 to 1 do

begin

r := 0;

for k := 1 to 4 do

begin

r := r + AMatrix[i, k]*BMatrix[k, j];

end;

Res[i, j] := r;

end;

end;

end;

procedure PMatrix14(AMatrix: Matrix14; BMatrix : Matrix44; var Res : Matrix14);

var i, j, k : integer;

r : real;

begin

for i := 1 to 1 do

begin

for j := 1 to 4 do

begin

r := 0;

for k := 1 to 4 do

begin

r := r + AMatrix[i, k]*BMatrix[k, j];

end;

Res[i, j] := r;

end;

end;

end;

procedure PMatrix(AMatrix: Matrix14; BMatrix : Matrix41; var Res : Real);

var k : integer;

begin

Res := 0;

for k := 1 to 4 do

begin

Res := Res + AMatrix[1, k]*BMatrix[k, 1];

end;

end;

procedure PMatrix44(AMatrix, BMatrix : Matrix44; var Res : Matrix44);

var i, j, k : integer;

r : real;

begin

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

r := 0;

for k := 1 to 4 do

begin

r := r + AMatrix[i, k]*BMatrix[k, j];

end;

Res[i, j] := r;

end;

end;

end;

procedure Trans41(AMatrix : Matrix41; var Res : Matrix14);

var i : Integer;

begin

for i := 1 to 4 do

Res[1, i] := AMatrix[i, 1];

end;

procedure Trans44(AMatrix : Matrix44; var Res : Matrix44);

var i, j : Integer;

begin

for i := 1 to 4 do

for j := 1 to 4 do

Res[i, j] := AMatrix[j, i];

end;

procedure GetMatr(AMatr : Matrix44; var BMatr : Matrix33; i, j:integer);

var ki, kj, di, dj : integer;

begin

di := 0;

for ki := 1 to 3 do

begin

if (ki = i) then

di := 1;

dj:=0;

for kj := 1 to 3 do

begin

if (kj = j) then

dj := 1;

BMatr[ki, kj] := AMatr[ki + di, kj + dj];

end;

end;

end;

function DetMinor(AM : Matrix33) : real;

var Res : real;

begin

Res := AM[1, 1]*AM[2, 2]*AM[3, 3] + AM[1, 2]*AM[2, 3]*AM[3, 1] + AM[2, 1]*AM[3, 2]*AM[1, 3];

Res := Res - (AM[1, 3]*AM[2, 2]*AM[3, 1] + AM[1, 1]*AM[2, 3]*AM[3, 2] + AM[2, 1]*AM[1, 2]*AM[3, 3]);

DetMinor := Res;

end;

function znak(a, b : integer) : integer;

begin

if ((a+b) mod 2) = 0 then

znak := 1

else

znak := -1;

end;

function GetDet(AMatrix : Matrix44) : Real;

var i : integer;

Res : Real;

M : Matrix33;

begin

Res := 0;

for i:=1 to 4 do

begin

GetMatr(AMatrix, M, 1, i);

Res := Res + znak(1, i) * AMatrix[1, i] * DetMinor(M);

end;

GetDet := Res;

end;

procedure GetMatrDop(AMatr : Matrix44; var ResMatr : Matrix44);

var M : Matrix33;

i, j : integer;

begin

for i := 1 to 4 do

for j := 1 to 4 do

begin

GetMatr(AMatr, M, i, j);

ResMatr[j, i] := znak(i, j) * DetMinor(M);

end;

end;

procedure Obrat(AMatrix : Matrix44; var Res : Matrix44);

var d : real;

i, j : integer;

M : Matrix44;

begin

d := GetDet(AMatrix);

writeln('Определитель матрицы det|A^T*A| = ', d:10:2);

GetMatrDop(AMatrix, M);

for i := 1 to 4 do

for j := 1 to 4 do

Res[i, j] := M[i, j]/d;

end;

procedure zadacha1;

var M : Matrix44;

P : Matrix41;

i, j : integer;

begin

ClrScr;

writeln('Решить линейное уравнение A^T*A*X=B');

writeln('Вычислим матрицу A^T:');

Trans44(A, M);

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

write(M[i, j]:10:2);

write(' ');

end;

writeln;

end;

writeln('Вычислим матрицу A^T*A:');

PMatrix44(M, A, M);

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

write(M[i, j]:10:2);

write(' ');

end;

writeln;

end;

writeln('Вычислим матрицу обратную (A^T*A):');

Obrat(M, M);

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

write(M[i, j]:10:2);

write(' ');

end;

writeln;

end;

writeln('Матрица В:');

for i := 1 to 4 do

begin

write(B[i, 1]:10:2);

writeln;

end;

writeln('Определим значения матрицы Х=((A^T*A)^(-1))*B: ');

PMatrix41(M, B, P);

for i := 1 to 4 do

begin

for j := 1 to 1 do

begin

write(P[i, j]:10:2);

write(' ');

end;

writeln;

end;

writeln('Для продолжения нажмите любую клавишу...');

repeat

until KeyPressed;

end;

procedure zadacha2;

var M : Matrix44;

P : array[1..4] of Real;

i, j, ni, nj : integer;

max : real;

isExit : boolean;

begin

ClrScr;

writeln('Сортировка элементов главной диагонали матрицы, обратной (A^T*A) по убыванию');

writeln('Вычислим матрицу A^T:');

Trans44(A, M);

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

write(M[i, j]:10:2);

write(' ');

end;

writeln;

end;

writeln('Вычислим матрицу A^T*A:');

PMatrix44(M, A, M);

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

write(M[i, j]:10:2);

write(' ');

end;

writeln;

end;

writeln('Вычислим матрицу обратную (A^T*A):');

Obrat(M, M);

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

write(M[i, j]:10:2);

write(' ');

end;

writeln;

end;

for i := 1 to 4 do

P[i] := M[i, i];

repeat

isExit := false;

for i := 1 to 3 do

begin

if P[i] < P[i + 1] then

begin

max := P[i + 1];

P[i + 1] := P[i];

P[i] := max;

isExit := true;

end;

end;

until not isExit;

writeln('Отсортированная главная диагональ матрицы M, обратной (A^T*A)');

for i := 1 to 4 do

begin

write(P[i]:10:2);

write(' ');

end;

writeln;

writeln('Для продолжения нажмите любую клавишу...');

repeat

until KeyPressed;

end;

procedure zadacha3;

var M : Matrix44;

P : Matrix14;

i, j, nom : integer;

r : real;

begin

ClrScr;

writeln('Вычисление значения матрицы Z=(B^T)*(A^T)*Y');

writeln('Вычислим матрицу B^T:');

Trans41(B, P);

for j := 1 to 4 do

begin

write(P[1, j]:10:2);

write(' ');

end;

writeln;

writeln('Вычислим матрицу A^T:');

Trans44(A, M);

for i := 1 to 4 do

begin

for j := 1 to 4 do

begin

write(M[i, j]:10:2);

write(' ');

end;

writeln;

end;

writeln('Матрица Y:');

for i := 1 to 4 do

begin

write(Y[i, 1]:10:2);

write(' ');

end;

writeln;

PMatrix14(P, M, P);

PMatrix(P, Y, r);

writeln('Значение матрицы Z: ', r:10:2);

writeln;

writeln('Для продолжения нажмите любую клавишу...');

repeat

until KeyPressed;

end;

BEGIN

repeat

IsClose := false;

{очищаем экран}

ClrScr;

GotoXY(15, 8);

write('г================================================¬');

GotoXY(15, 9);

write('¦ Для выбора задания нажмите клавишу (F1..F4) ¦');

GotoXY(15, 10);

write('¦====T===========================================¦');

GotoXY(15, 11);

write('¦ F1 ¦ Решить линейное уравнение ¦');

GotoXY(15, 12);

write('¦ F2 ¦ Сортировка элементов главной диагонали ¦');

GotoXY(15, 13);

write('¦ F3 ¦ Вычислить значение матрицы ¦');

GotoXY(15, 14);

write('¦ F4 ¦ Выйти из программы ¦');

GotoXY(15, 15);

write('L====¦===========================================-');

repeat

C := ReadKey;

if C <> #59 then

if C <> #60 then

if C <> #61 then

if C <> #62 then

C := #0;

until C <> #0;

case C of

#59 : zadacha1;

#60 : zadacha2;

#61 : zadacha3;

#62 : IsClose := true;

end;

until IsClose;

END.

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

На рисунках ниже приведены скриншоты выполнения кода программы в программе FreePascal IDE.

Рис.15. Главное окно программы при выполнении команды Run (Ctrl+F9)

Рис.16. Выполнение первого задания (клавиша F1) согласно условиям задачи

Рис.17. Выполнение второго задания (клавиша F2) согласно условиям задачи

Рис.18. Выполнение третьего задания (клавиша F3) согласно условиям задачи

Список литературы

1. Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач: Учебное пособие. - СПб.: Питер, 2005. - 237 с.: ил.

2. Потапова О.Н., Салихова Г.Л., Садриева Л.М., Миндиярова О.Г., Мохова О.М., Фахрутдинова Р.Р., Ханова И.А. Информатика: Методические указания по выполнению курсовой работы по дисциплине «Информатика» для бакалавров направления подготовки 131000 «Нефтегазовое дело» всех форм обучения - Альметьевск: Альметьевский государственный нефтяной институт, 2013. -120 с.

3. Федоренко Ю. Алгоритмы и программы на Turbo Pascal. Учебный курс. - СПб: Питер, 2001. - 240 с.: ил.

4. Шпак Ю. А. Turbo Pascal 7.0 на примерах / Под ред. Ю. С. Ковтанюка -- К.: Издательство Юниор, 2003. -- 496 с., ил.

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


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

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

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

  • Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.

    курсовая работа [115,5 K], добавлен 22.05.2010

  • Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.

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

  • Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.

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

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

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

  • Характеристика используемой операционной системы, языка программирования. Структура программы на языке Turbo Pascal 7.1. Операторы языка Turbo Pascal. Проведение сортировки записей. Алгоритмы программы и подпрограмм. Причины возникновения ошибок.

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

  • Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.

    лабораторная работа [12,7 K], добавлен 14.05.2011

  • Создание программы, позволяющей вводить квадратную матрицу и заменять значения ненулевых элементов и значения элементов главной диагонали на другие. Программа выполнена с использованием языка проектирования программ Visual Basic for Application.

    курсовая работа [405,3 K], добавлен 30.08.2010

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

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

  • Программирование нестандартных функций. Матрицы и операции над ними. Решение нелинейных уравнений и численное интегрирование. Оптимизация функции и численное дифференцирование. Аппроксимация функции: методы решения, описание программы, результаты.

    курсовая работа [70,5 K], добавлен 12.08.2011

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