Автор работы: Пользователь скрыл имя, 24 Сентября 2012 в 17:29, курсовая работа
Целью работы является обучить студентов и курсантов пользоваться автоматом заряжания танковой пушки 2А46.
Одно из основных направлений в обучении – применение теоретических знаний на практике.
Введение……………………………...……………………………….....4
1. Анализ предметной области……………………….………………….5
1.1 Определение требований к программному обеспечению …5
1.2 Анализ требований и определение спецификаций программного обеспечения …………………………..…………..6
2. Проектирование и создание программного обеспечения…………....11
2.1 Разработка интерфейса пользователя...........................................11
2.1.1 Построение графа состояний интерфейса……………….11
2.1.2 Разработка форм ввода – вывода информации………….12
2.2 Разработка структурной схемы программы…...……………....13
2.3 Проектирование физической структуры программного обеспечения…………………………………………………………16
Заключение…………………………………………………..……....17
Список использованных источников …………………………….....18
Приложение А. Техническое задание………………………………....19
Приложение Б. Примеры экранных форм………………………...……23
Приложение В. Код программы…………………………….….……...24
При проектировании физической структуры разрабатываемого программного обеспечения используем диаграммы компонентов. Они показывают, как выглядит программное обеспечение на физическом уровне, т. е. из каких частей оно состоит и как эти части связаны между собой. Зависимость между компонентами фиксируют, если один компонент содержит некоторый ресурс (модуль, объект, класс и др.), а другой - его использует.
Диаграмма компонентов представлена на рисунке 7.
Рисунок 7 – Физическая структура программного обеспечения.
Заключение
Целью курсовой работы являлась разработка алгоритма и ПО определения циклов цифровых сигналов.
В ходе выполненной работы были изучены математические модели задания и преобразования цифровых сигналов. Был произведен анализ предметной области, выявлены требования к программному обеспечению, разработан интерфейс пользователя, выполнено проектирование логической и физической структуры программного обеспечения. В результате проделанной работы был создан данный программный продукт.
Разработанное ПО позволяет легко и просто определять периоды сигналов, заданных дискретными значениями. Его можно рекомендовать всем тем, кто занимается цифровой обработкой сигналов (оценка характерных параметров сигналов или преобразовании их в более удобную форму). Цифровая обработка применяется в таких различных областях, как биомедицина, акустика, звуковая локация, радиолокация, сейсмология, связь, системы передачи данных, ядерная техника и многих других. Таким образом, данный программный продукт может использоваться во многих областях науки.
1. «Borland C++ Builder6. Для профессионалов» / В.А. Шамис – Спб.: Питер, 2004. – 798 с.: ил.
2. Фридман А.Л. «Основы ООП на языке Си++». М.:Горячая линия – Телеком, Радио и Связь, 1999. – 208с.: ил.
3. Павловская Т. А. С/С++. Программирование на языке высокого уровня – СПб.: Питер, 2004. – 461 с.: ил.
4. Сергиенко А.Б. «Цифровая обработка сигналов».: Питер, 2002. – 606 с.: ил.
5. Гольденберг Л.М.
«Цифровая обработка сигналов»,
Приложение А. Техническое задание
Министерство образования
Алтайский государственный технический университет имени И. И. Ползунова
Инженерно-физический факультет
Кафедра САПР
Разработка алгоритма и ПО определения циклов цифровых сигналов Техническое задание на курсовую работу
Исполнитель___________Модин А.Ю.
2006
Введение
Цифровая обработка сигналов в настоящее время является важным инструментом во многих областях науки и техники. Цель обработки сигнала может заключаться в оценке характерных параметров сигнала или преобразовании сигнала в более удобную форму. Наличие быстродействующих цифровых ЭВМ благоприятствовало развитию все более сложных и рациональных алгоритмов обработки сигналов.
Цифровая обработка
применяется в таких различных
областях, как биомедицина, акустика,
звуковая локация, радиолокация, сейсмология,
связь, системы передачи данных, ядерная
техника и многих других. Например,
при анализе электроэнцефалогра
Программа разрабатывается в ходе научной работы студента гр. Сапр-42 Модина А. Ю. у научного руководителя Гарколь Н.С. на основании задания на курсовую работу по дисциплине “Лингвистическое обеспечение САПР” за 5-й семестр 2006/2007 учебного года.
Программа разрабатывается главным образом для демонстрации возможностей работы с цифровыми сигналами, для определения их характеристик (в частности периодов).
3. Требования к программе или программному изделию
3.1. Требования к функциональным характеристикам
3.1.1. Программа должна
обеспечивать возможность
– Выводить на экран цифровой сигнал;
3.1.2. Исходные данные:
– Цифровой сигнал, заданный последовательностью дискретных значений.
– Графическое изображение периода сигнала;
– Длина периода сигнала.
3.2. Требования к надежности
– Предусмотреть
контроль некорректных
3.3. Требования к составу
и параметрам технических
Программа предъявляет невысокие требования к системе. Но для стабильной работы системы необходимо:
– Процессор Pentium с частотой не менее 400 MHz;
– Видеокарта с 16 MB памяти;
– Оперативная память объёмом не менее 64 MB.
Система должна работать
под управлением семейства
Рисунок Б.1 – Результат работы программы
Unit1.cpp
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
{
Application->Terminate();
}
//----------------------------
void __fastcall TForm1::FileOpen1Accept(
{
s.open_file(FileOpen1->Dialog-
Memo1->Lines->LoadFromFile(
int temp;
Memo2->Lines=s.chek(temp);
Label1->Caption="Период: "+IntToStr(temp);
}
//----------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
Form1->Close;
}
//----------------------------
Unit1.h
//----------------------------
#ifndef Unit1H
#define Unit1H
//----------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ActnList.hpp>
#include <Menus.hpp>
#include <StdActns.hpp>
//----------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMemo *Memo1;
TMemo *Memo2;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TActionList *ActionList1;
TMainMenu *MainMenu1;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
TFileOpen *FileOpen1;
void __fastcall N4Click(TObject *Sender);
void __fastcall FileOpen1Accept(TObject *Sender);
void __fastcall N2Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//----------------------------
extern PACKAGE TForm1 *Form1;
class signal
{
private:
TStrings *data;
int max_line;
bool comare_col(int c1,int c2)
{
bool res=true;
int mistakes=0;
for(int i=0;i<data->Count;i++)
{
if(c1<=data->Strings[i].
{
if(data->Strings[i][c1]!=data-
}
else mistakes++;
}
if(mistakes==data->Count)res=
return res;
}
public:
signal()
{
data=new TStringList;
}
~signal()
{
data->Free();
}
void open_file(String path)
{
data->LoadFromFile(path);
max_line=0;
}
TStrings * chek(int &period)
{
TStrings *res;
res=new TStringList;
bool periodicity=false;
period=0;
for(int i=0;i<data->Count;i++)
{
if(data->Strings[i].Length()>
}
for(int i=0;i<max_line;i++)
{
if(!periodicity)
{
period++;
bool mini_conp=true;
for(int k=1;k<int(max_line/period);k++
{
for(int j=1;j<=period;j++)
{
if(!comare_col(j,k*period+j))
}
}
if(mini_conp==true)
}
else break;
}
for(int i=0;i<data->Count;i++)
{
res->Add(data->Strings[i].
}
return res;
}
}s;
//----------------------------
#endif
Project1.cpp
//----------------------------
#include <vcl.h>
#pragma hdrstop
//----------------------------
USEFORM("Unit1.cpp", Form1);
//----------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->Title = "Периоды сигналов";
Application->CreateForm(__
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&
}
}
return 0;
}
//----------------------------
Информация о работе Разработка комплекса обучающих программ для факультета военного обучения АлтГТУ