Разработка программы для анализа прямоугольной матрицы - Программирование, компьютеры и кибернетика курсовая работа

Разработка программы для анализа прямоугольной матрицы - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Разработка программы для анализа прямоугольной матрицы

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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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


Изыскание средств и методов механизации и автоматизации работ - одна из основных задач технических дисциплин. Автоматизация работ с данными имеет свои особенности и отличия от автоматизации других типов работ. Для этого класса задач используют особые виды устройств, большинство из которых являются электронными приборами Совокупность устройств, предназначенных для автоматической, или автоматизированной обработки данных, называют вычислительной машиной. Конкретный набор взаимодействующих между собой устройств и программ, предназначенный для обслуживания одного рабочего участка, называют вычислительной системой. Центральным устройством большинства вычислительных систем является компьютер.
Компьютер - это электронный прибор, предназначенный для автоматизации создания, хранения, обработки и транспортировки данных [6].
В настоящее время, различные процессы хранения и обработки данных уже немыслим без использования персонального компьютера. Применение этого средства позволяет ускорить данные процессы значительно. Одним из примеров использования персонального компьютера при решении математических задач является материал настоящей курсовой работы.
Целью настоящей курсовой работы является разработка программы для анализа прямоугольной матрицы и поиска в ней всех подматриц, у которых общая сумма элементов главной и побочной диагонали равна нулю.
Согласно техническому заданию необходимо разработать программу для поиска в прямоугольной матрице всех квадратных подматриц, у которых общая сумма элементов главной и побочной диагонали равна нулю. Для достижения данной цели программа должна отвечать следующим требованиям:
b) использование динамических структур;
- организация меню с расширенными функциями:
a) возможность загружать данные одним из тремя способов (случайныйввод, в ручную или ввод из текстового файла);
b) возможность вывода результата в текстовый файл или на дисплей;
c) обработка исключающих ситуаций (ошибка при чтении файла, ошибка при выделении динамической памяти под матрицу);
a) матрица должна быть прямоугольной.
программа тестирование кодирование алгоритм
2 . Обоснование и проектирование структур данных
Для операции с прямоугольной матрицей используют динамический двумерный массив. При создании динамического двумерного массива в операции newуказывается его размерность. Следует отметить тот факт, что размерность матрицы вводится с клавиатуры. Организация матрицы представлена на рисунке 2.1.
В операторе 1 объявляется переменная типа «указатель на указатель на int» и выделяется память под массив указателей на строки массива. В операторе 2 организуется цикл выделения памяти под каждую строку массива. В операторе 3 каждому элементу массива указателей на строки присваивается адрес начала участка память, выделенную под строку двумерного массива [3, c. 62].
Для работы с файлами использовались два класса:
a) ifstream - класс входных файловых потоков;
b) ofstream - класс выходных файловых потоков.
Для организации циклов, некоторых подсчетов и констант используются переменные типа int. Int - целый тип, размер которого не определяется стандартом, а зависит от компьютера и компилятора.
Алгоритм - это точное предписание, определяющее вычислительный процесс, ведущий от исходных данных к искомому испытанию. Из определения следует, что каждый разработанный алгоритм должен обладать следующими свойствами:
a) Детерминированность - каждая команда понятна исполнителю (в данном случае компьютеру) и исключает неоднозначность исполнения;
b) результативность - реализация вычислительного процесса, предусмотренного алгоритмом, должна через определенное число шагов привести к результату или сообщению о невозможности его получения;
c) массовость - если алгоритм разработан для решения определенной задачи, он должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных;
d) дискретность - пошаговый характер процесса получения результата, состоящий в последовательном выполнении конечного числа заданных алгоритмом действий.
Способы описания алгоритма: словесный, структурно-стилизованный, язык графических символов, операторный язык. В настоящей работе мы представим алгоритмы с помощью языка графических символов.
Алгоритм функции «random» представлен на рисунке 3.1.
Рисунок 3.1 - Блок-схема функции «random»
Алгоритм функции «vvod1» представлен на рисунке 3.2.
Рисунок 3.2 - блок-схема функции «vvod1»
Алгоритм функции «vvod2» представлен на рисунке 3.3.
Рисунок 3.3 - блок-схема функции «vvod2»
Алгоритм функции «main» представлен на рисунке 3.4.
Рисунок 3.4 - Блок-схема функции «main»
Кодирование - это процесс написания программного кода, с целью реализации алгоритма на языке С/С++.
В настоящей курсовой работе для упрощения структуры программы использовались функции, которые позволили избежать избыточности кода.
- int random (int N) - функция, которая выдает случайные числа с равномерным распределением в интервале [0, N-1]. Переменная N является целой константой;
- voidvvod1 (int **a, constintnstr, constintnstb) - функция, котораяпозволяет заполнить массив с клавиатуры. Константы nstrиnstb - размеры матрицы, которые вводятся с клавиатуры; int **a - указатель на указатель на int;
- voidvvod2 (int **a, constintnstr, constintnstb) - функция, котораяпозволяет заполнить массив случайными числами. Константы nstrиnstb - размеры матрицы, которые вводятся с клавиатуры; int **a - указатель на указатель на int;
- voidvvod3 (int **a, constintnstr, constintnstb) - функция, котораяпозволяет заполнить массив из файла. Константы nstrиnstb - размеры матрицы, которые вводятся с клавиатуры; int **a - указатель на указатель на int;
- int main() - обязательная функция, которая обеспечивает создание точки входа в откомпилированную программу.
При написании программы важную роль отводится её тестированию. Целью тестирования является определение работоспособности программы на всем требуемом диапазоне исходных данных.
Рассмотрим работоспособность программы при разных вариантах ввода и вывода.
На рисунке 5.1 представлен ввод матрицы с клавиатуры.
На рисунке 5.2.1 представлен вывод результата на дисплей.
На рисунке 5.2.2 представлен вывод результата на дисплей.
На рисунке 5.3 представлен ввод матрицы с клавиатуры.
На рисунке 5.4 представлен вывод результата в файл.
На рисунке 5.5 представлен ввод матрицы случайными числами
Рисунок 5.5 - Ввод случайными числами
На рисунке 5.6 представлен вывод результата на дисплей.
На рисунке 5.7 представлен ввод случайными числами.
Рисунок 5.7 - Ввод случайными числами
На рисунке 5.8 представлен ввод матрицы случайными числами.
На рисунке 5.9 представлен ввод матрицы из файла.
На рисунке 5.10.1 представлен вывод результата на дисплей
Рисунок 5.10.1 - Вывод результата на дисплей
На рисунке 5.10.2 представлен вывод результата на дисплей.
Рисунок 5.10.2 - Вывод результата на дисплей
На рисунке 5.11 представлен вывод результата в файл.
При неправильном выборе варианта ввода или вывода, а также при отсутствии файлов, прилагавшихся к программе, программа автоматически завершит свою работу.
Данная программа была разработана в среде Dev-C++ 4.9.9.2. Для запуска Dev-C++ необходимо запустить проргамный файл devcpp.exe в папке с программой (папка была выбрана пользователем в процессе установки).
Также Dev-C++ можно запустить через ярлык на «Рабочем столе» компьютера, запуск программы осуществляется с помощью двойного щелчка на ярлык. После этого откроется окно программы. На рисунке 6.1 представлена среда Dev-C++.
Для открытия файла с курсовым проектом необходимо перейти в меню «Файл» и выбрать «Открыть проект или файл», в появившемся диалоговом окне на диске «Курсовой проект» открыть папку «Курсовой проект» и выбрать файл «Myunit.cpp».На рисунке 6.2 представлено диалоговое окно с открытием файла.
Для того, чтобы скомпилировать программу нажмите Ctrl+F9. После того как проект успешно скомпилирован, диалоговое окно будет иметь статус «Done». Это значит, что программа готова к работе. На рисунке 6.3 представлен процесс компиляции.
При нажатии клавиши F9 программа запустится. В появившемся окне пользователю необходимо ввести количество строк и столбцов в матрице, следует отметить тот факт, что количество строк и столбцов не должносовпадать, и выбрать вариант ввода с помощью трех клавиш: 1 - ввод с клавиатуры, 2 - ввод случайными числами, 3 - ввод из файла. На рисунке 6.4 представлен процесс ввода.
После ввода матрицы программа начнет поиск подматриц, которые удовлетворяют условию задачи. При нахождении подматриц в диалоговом окне появится вырианты вывода результат: 1 - вывод на дисплей, 2 - вывод в файл. В зависимости от выбора пользователь увидит результат работы программы либо на дисплее, либо при открытии файла «output.txt» в папке «Курсовой проект».
При неправильном вводе информации программа автоматически завершает свою работу.
В курсовой работе была разработана программа для анализа прямоугольной матрицы и поиска в ней подматриц, у которых общая сумма элементов главной и побочной диагонали равна нулю.
Разработанная программа удовлетворяет следующим требованиям:
b) использование динамических структур;
c) Возможность ввода и вывода матрицы различными способами;
Результаты, полученные в ходе тестирования, совпадают с ожидаемыми результатами.
1. Шилдт Г. С++ / Г. Шилдт.: Пер. с англ. - M.: Издательский дом «Вильямс», 2008. - 624 с.
2. Лафоре Р. Объектно-ориентированное программирование в С++ / Р. Лафоре. - СПб.: Питер, 2007.-928 с.
3. Павловская Т.А. С/С++. Программирование на языке высокого уровня / Т.А. Павловская. - СПб.: Питер, 2005. - 464 с.
4. Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум / Т.А. Павловская, Ю.А. Щупак. - СПб.: Питер, 2005. - 240 с.: ил.
5. Шаров В.Г. Введение в программирование. Учебное пособие / В.Г. Шаров. - Рыбинск: РГАТА, 2004. - 64 с.
6. История развития средств вычислительной техники [Электронный ресурс]: URL: http://orags.narod.ru/manuals/inf_zo/texts/s_2.htm (дата обращения: 01.06.2012).
7. Информатика: Разработка алгоритма [Электронный ресурс]: URL: http://www.klgtu.ru/students/literature/inf_asu/650.html (дата обращения: 02.06.2012).
intrandom(intN) {returnrand()% N;} // функциявводаслучайнымичислами
void vvod1 (int **a, const int nstr, const int nstb) { // вводсклавиатуры
cout << «Matriza A («<< nstr << «*» << nstb <<»):» << endl;
void vvod2 (int **a, const int nstr, const int nstb) { // вводслучайнымичислами
cout << «Matriza A («<< nstr << «*» << nstb <<»):» << endl;
void vvod3 (int **a, const int nstr, const int nstb) { // вводизфайла
cout<<»\n Nevozmozhno otkrit file»;
for (i=0; instb) mini=nstb; // поискподматрицвматрице
sum1+=a[t] [str++]; // суммы главных и побочных диагоналей
cout<< «vvedite chislo 1-vivod na display, 2-vivod v file»;
for (t=i; t<=i+l; t++) {cout<<»\n»;
for (t=i; t<=i+l; t++) {output<<»\n»;
for (i = 0; i < nstr; i++) // Освобождениепамяти
Разработка структурной диаграммы программного модуля. Представление схемы для основных расчетов выбранного приложения для создания прямоугольной матрицы. Особенности создания пользовательского интерфейса. Тестирование и отладка спроектированного модуля. курсовая работа [648,4 K], добавлен 27.05.2015
Подбор игрового движка и описание его основных характеристик. Разработка структуры, алгоритма и интерфейса программы. Проектирование иерархии классов. Выделение типового приема визуализации. Тестирование правильности работы программного обеспечения. курсовая работа [3,1 M], добавлен 19.01.2017
Разработка программного обеспечения заданной информационной системы. Описание алгоритма и математического метода решения задачи. Этапы формирования и реализации программы, ее листинг и оценка функциональности. Разработка инструкции пользователя. курсовая работа [223,9 K], добавлен 23.06.2015
Разработка комплекса алгоритмов. Кодирование и компиляция. Тестирование, отладка, испытание и сдача программы. Минимальные системные требования для использования Delphi 7. Написание программы с использованием инструментального языка высокого уровня. курсовая работа [2,7 M], добавлен 21.02.2011
Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя. курсовая работа [1,5 M], добавлен 17.01.2011
Разработка алгоритма и программы "Расчет стыкового паяного соединения" в среде Microsoft Visual Studio для облегчения расчётов сварных швов. Создание главной формы приложения и его кодирование для расчёта углового шва. Тестирование программы на ошибки. курсовая работа [1,5 M], добавлен 06.02.2013
Разработка и тестирование программы класса Точка. Спецификация программы. Сценарий диалога с пользователем. Разработка структур данных и алгоритмов. Таблица параметров функций программы. Текст программы на языке C++. Особенности тестирования программы. лабораторная работа [43,1 K], добавлен 21.07.2012
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Разработка программы для анализа прямоугольной матрицы курсовая работа. Программирование, компьютеры и кибернетика.
Реферат: Валютный курс и его роль в экономике
Реферат: Психологічні якості працівників та їх використання у процесі менеджменту
Доклад по теме Матвеева Новелла Николаевна
Курсовая работа по теме Производство мясных рубленых полуфабрикатов
Контрольная Работа На Тему Собственный Капитал И Внеоборотные Активы
Отмена Контрольных Работ В 9 Классе
Владимир Святой Креститель Земли Русской Эссе
Курсовая Работа На Тему Современные Маркетинговые Технологии
Реферат по теме Особенности молодежного сленга в японском языке
Курсовой По Ооп Указатели На Объект
Сочинение по теме Особость архетипов женского/девичьего успеха в русской сказке
Курсовая работа по теме Структуры данных: бинарное упорядоченное несбалансированное дерево
Реферат: The Effects Of The Industrial Revolution Essay
Моделирование В Биологии Реферат
Курсовая работа: Фармакогкостический анализ видов маклеи. Скачать бесплатно и без регистрации
Реферат по теме Квалиметрия и ее возникновение
Забавный Случай В Лесу Сочинение 3
Реферат На Тему Женские Образы Романа Л.Н. Толстого "Война И Мир"
Реферат по теме Ключевые положения теории гравитонов
Курсовая работа по теме Силуэт в дизайне вывески
Маркетинговое исследование рынка кондитерских изделий в Российской Федерации - Маркетинг, реклама и торговля лабораторная работа
Бухгалтерский учет и контроль в бюджетных организациях - Бухгалтерский учет и аудит дипломная работа
Мексиканские Соединённые Штаты - География и экономическая география презентация


Report Page