Разработка пакета прикладных программ для вычисления определителя матрицы произвольного порядка

Автор: Пользователь скрыл имя, 30 Марта 2012 в 07:12, курсовая работа

Описание работы

Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX
Цель работы – разработка пакета прикладных программ для вычисления определителя матрицы произвольного порядка.

Содержание

ВВЕДЕНИЕ
1. АНАЛИЗ ВОПРОСА И ПОСТАНОВКА ЗАДАЧИ
1.1. Выбор метода решения
1.2. Выбор инструментальных средств
1.3. Выбор аппаратных средств
1.4. Выводы по первой главе
2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ
2.1. Общая структура программного модуля
2.2. Блок - схемы алгоритмов и их описание
2.3. Контрольный текстовый пример
2.4. Выводы по второй главе
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ПРИЛОЖЕНИЕ

Работа содержит 1 файл

курсовик.doc

— 380.00 Кб (Скачать)

Язык VBA (Visual Basic for Application) используют для написания приложений, использующих графическую среду, в частности для приложений Microsoft Office, так как он является встроенным языком этих приложений.

И наконец Язык Cи, обладающий всеми необходимыми возможностями для решения поставленной задачи. Кроме того он был заложен в программу моего курса обучения и потому хорошо мне известен. Язык Си - это универсальный язык программирования,  для которого  характерны  экономичность  выражения,  современный набор операторов и типов данных.  Язык  Си  не  является  ни языком  "очень  высокого  уровня", ни "большим" языком, и не предназначается для некоторой специальной  области  применения,  но  отсутствие ограничений и общность языка делают его для многих задач более удобным  и  эффективным,  чем  языки, предположительно более мощные.

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

 

1.3. Выбор аппаратных средств

 

Минимальные системные требования для более - менее нормальной работы:

Процессор Intel Pentium II/400 MHz

Microsoft Windows 98/2000 (SP2)/XP

128 MB RAM (рекомендуется 256 MB)

3 GB (рекомендуется 5 GB) свободного места на жестком диске (для полной установки операционной системы и среды для разработки программы)

CD-ROM

Монитор SVGA (разрешение экрана 800x600, 256 цветов)

Мышь

 

1.4. Выводы по первой главе

 

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

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

Для более нормальной работы нам понадобятся:

Процессор Intel Pentium II/400 MHz

Microsoft Windows 98/2000 (SP2)/XP

128 MB RAM (рекомендуется 256 MB)

3 GB (рекомендуется 5 GB) свободного места на жестком диске (для полной установки операционной системы и среды для разработки программы)

CD-ROM

Монитор SVGA (разрешение экрана 800x600, 256 цветов)

Мышь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ

 

2.1. Общая структура программного модуля

В таблице представлены используемые функции и выполняемые ими действия

Выполняемые действия

Название функции

Принимает размер матрицы и значения ее элементов, которые вводит пользователь с клавиатуры

Блок ввода

Вычисляет решения матрицы A размерности Razm при свободных членах B. В случае несовместности системы завершает работу программы.

Kramer(A,B,Razm)

Вычисляет детерминант матрицы A размерности Razm

Det(A,Razm)

Выводит на экран результаты решения

Блок вывода

 

На рисунке 1 изображена схема дерева-вызова программы

 

 

Рисунок 1- дерево-вызов программы для вычисления определителя матрицы

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

Разработанная в ходе выполнения курсовой работы программа, состоит из тела программы и двух функций. Алгоритм выполнения программы изображён на рисунке 1.

                    

                         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2 – Алгоритм выполнения программы

 

 

 

 

 

 

 

 

 

 

Рисунок 3 – Алгоритм функции Kramer

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

             

 

 

Рисунок 4 – Алгоритм нахождения Det

 

 

 

 

 

 

 

 

 

2.3. Контрольный текстовый пример

 

Далее приведен контрольный текстовый пример результатов работы программы.

 

 

 

 

 

 

 

 

 

2.4. Выводы по второй главе

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

В ходе выполнения данного курсового проекта были разработана программа на языке высокого уровня C. А также изучены возможности данного языка.

Систематизированы и закреплены практические навыки использования ЭВМ, программного обеспечения, существующих средств обслуживания системных программистов, а также теоретические знания по основным разделам курса "Объектно-ориентированного программирования".

При выполнении курсового проекта произведено знакомство с реферативными журналами и другими информационными источниками по объектно-ориентированному и системному программированию с целью анализа состояния решаемой задачи.

Получены практические навыки работы в среде программировании С.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

 

1.      Алексеев Е. В. и др. Вычислительная техника и программирование. Практикум по программированию: Практ. пособие / В. Е. Алексеев, А. С. Ваулин, Г. Б. Петрова; Под ред. А. В. Петрова. – М.: Высш. шк., 1991. – 400 с.: ил

2.      Глушаков С. В., Мельников И. В. Персональный компьютер: Учебный курс / Худож. оформитель А. С. Юхтман. – Харьков: Фолио; М.: ООО «Издательство АСТ», 2001. – 520 с. – (Домашняя б-ка).

3.      Козлов В.В., Можаева Н.А., Зуева Н.Г. Информатика. Алгоритмизация и программирование. Мет. Указания и задания к курсовой работе,2006. -32с

4.      Громов Ю.Ю.,Татаренко С.И. Программирование на языке СИ:

   Учебное пособие. -Тамбов,1995.- 169 с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                    ПРИЛОЖЕНИЕ

 

/****************************************************************************

* Дата: 23/05/10 Время: 16:55 Версия: v.1.0                                 *

* Компилятор: BC v.3.1.                                                     *

* Лист 1/Листов 5                                                           *

* ***************************************************************************

* Проект:PROJECT2.PRJ                                                       *

* Файл: project.cpp                                                         *

* Наименование: нет.                                                        *

* Назначение: вычисляет детерминант                                         *

* Описатель: float Det(float**A,int Razm)                                   *

* Входные параметры:                                                        *

* float **A – исходная матрица;                                             * 

* int Razm – размерность матрицы.                                           *

* Выходные параметры: нет.                                                  *

* Возвращаемое значение:                                                   *

* Значение определителя.                                                    *

* Внешние ссылки: нет.                                                      *

*****************************************************************************

*Программист: Кравченко Д.С. Группа: ИА-22                                  *

****************************************************************************/

 

#include <stdio.h>

#include <conio.h>

 

// Нахождение детерминанта матрицы методом треугольников

float Det(float**A,int Razm)

{

              float det = 0;    // Детерминант матрицы

              // пересчет суммы положительных "треугольников"

              for (int i = 0; i<Razm; i++)

              {                             int i1 = i+1;

                                          float det_ = A[i][0];

                                          for(int j = 1; j<Razm; j++)

                                          {                             if(i1 == Razm)  i1 = 0;

                                                                      det_ *= A[i1++][j];

                                          }

                                          det+=det_;

              }

              // пересчет суммы отрицательных "треугольников"

              for (i = 0; i<Razm; i++)

              {                             int i1 = i+1;

                                          float det_ = A[0][Razm-1];

                                          for(int j = Razm-2; j>-1; j--)

                                          {                            if(i1 == Razm)  i1 = 0;

                                                                      det_ *= A[i1++][j];

                                          }

                                          det -= det_;

              }

              return det;

}

 

 

/****************************************************************************

* Дата: 23/05/10 Время: 16:55 Версия: v.1.0                                 *

* Компилятор: BC v.3.1.                                                     *

* Лист 1/Листов 2                                                           *

* ***************************************************************************

* Проект:PROJECT2.PRJ                                                       *

* Файл: project.cpp                                                         *

Информация о работе Разработка пакета прикладных программ для вычисления определителя матрицы произвольного порядка