Реферат по предмету "Информатика"


Предметна область системного аналізу Основні поняття системного аналізу

МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра інформаційних
систем та мереж
Практична робота №1
на тему:
ПРЕДМЕТНА ОБЛАСТЬ СИСТЕМНОГО АНАЛІЗУ. ОСНОВНІ ПОНЯТТЯ СИСТЕМНОГО АНАЛІЗУ
Львів-2009р.
Назва роботи:
Предметна область системного аналізу. Основні поняття системного аналізу
Мета роботи:
Ознайомитись з предметною областю системного аналізу та вивчити теоретичні відомості.
Короткі теоретичні відомості:
У процесі вивчення системного аналізу важливо передусім проаналізувати причини і фактори, що зумовили можливість його становлення й розвитку як універсальної наукової методології, зрозуміти роль і місце системного аналізу в сучасних галузях наукових знань, у різних сферах практичної діяльності, а також виявити міру його впливу на розвиток суспільства.
Необхідність такого підходу обумовлена видатними досягненнями ХХ століття, зокрема освоєнням космосу; розробкою й масовим впровадженням обчислювальної техніки, інформаційних технологій і світової мережі Інтернет; швидким розвитком і широким застосуванням авіацій; дослідженням ядерних процесів, освоєнням і розвитком атомної енергетики. Стрімкий розвиток наукомістких технологій і технічного оснащення в різних галузях виробництва й обслуговування, враховуючи медицину, фармакологію, генну інженерію, низка інших найбільших досягнень науково- технічного прогресу увійшли в історію цивілізації як результат погодженої взаємодії науки, освіти і промисловості. Усі ці досягнення зробили свій вагомий внесок різні науки, які охоплюють багато галузей знань і різні історичні періоди. Це були науки, щозародилися у Стародавньому світі, і науки, формування яких почалося лишеу ХХ столітті. До останніх поряд з іншими новітніми напрямами, такими яккібернетика, дослідження операцій, загальна теорія систем, системотехніка, теорія прийняття рішень, теоріяоптимізації, належить і системний аналіз.
Системне мислення – це вища форма людського пізнання, коли процеси відображення об’єктивної реальності базуються на цілісному відображені досліджуваного об’єкта з позиції досягнення поставлених цілей дослідження на підставі знань, досвіду, інтуїції і передбачення. Принципововажливоюдеталлю цього означення є залежність меж об’єкта дослідженнявідпоставлених цілей.
Середовище – зовнішнє оточення людини та об’єкта дослідження (природне середовище, зовнішні об’єкти, що залежать від розглянутого об’єкта або взаємодіють із ним).
Людина – розробник, виробник, користувача, продавець чи покупець об’єкта або фахівець-дослідник відповідної предметної галузі, до якої належить досліджуваний об’єкт.
Відповіді на контрольні питання:
Системний аналіз — вивчення об'єкта дослідження як сукупності елементів, що утворюють систему. У наукових дослідженнях він передбачає оцінку поведінки об'єкта як системи з усіма факторами, які впливають на його функціонування. Цей метод широко застосовується у наукових дослідженнях при комплексному вивченні діяльності виробничих об'єднань і галузі в цілому, визначенні пропорцій розвитку галузей економіки тощо.
Системне мислення – це вища форма людського пізнання, коли процеси відображення об’єктивної реальності базуються на цілісному відображені досліджуваного об’єкта з позиції досягнення поставлених цілей дослідження на підставі знань, досвіду, інтуїції і передбачення. Принципововажливою деталлю цього означення є залежність меж об’єкта дослідження відпоставлених цілей.
Системний аналітик – Людина яка стежить за станом системи.І досліджує систему.
Предметна область системного аналізу зводиться до вивчення складнихбагаторівневих множин систем різної природи та різних видів і класів зрізноманітними властивостями і відношеннями між ними. Вона настількиширока, що не підлягає строгій та однозначній класифікації йвпорядкуванню.Методи системного дослідження як способи чи шляхи практичного аботеоретичного пізнання явищ і закономірностей функціонування і розвиткускладних систем є досить різноманітними іне обмежуються будь-якимирамками.
A×B={(a,b) |a∈A,b∈B} — прямий добуток множин.
A∪B={x|x∈A∨x∈B} — поєднання множин.
A∩B={x|x∈A∧x∈B} — перетин множин.
A\B={x|x∈A∧x∉B} — різниця множин.
∅ — пуста множина.
U— універсальна множина.
A=U\A={x|x∉A} — доповнення множини.
Будь-який заданий клас абстрактних об’єктів може мати декількаможливихпредставлень, та вибір найкращого з них основним чиномзалежить від того, яким чином об’єкт буде використаний, а також від типуздійснених над ним операцій.
В алгоритмах на дискретних структурах часто ми зустрічаємось зпредставленням кінцевих послідовностей та операціями з ними. Зобчислювальної точки зору простішим представленням кінцевоїпослідовності 1 2,, ,n s s … s є точний список її членів, які знаходяться попорядкув суміжних комірках пам’яті.
Мережа Петрі складається з чотирьох елементів: скінченної множини позицій Р = {p1, p2,..., pn}, множини переходів Т = {t1, t2,..., tm}, вхідної функції І:T→P, і вихідної функції О:T→P.
Майже всі машинні представлення дерев основані на зв’язнихрозподілах.Кожний вузол складається із поля даних та деяких полів длявказівників. В наступному прикладі представлені дерев кожний вузол має потри полявказівників.
Дерево досягальності мережі Петрі є ілюстрацією множинидосягальностіR(C, μ). Оскільки в багатьох випадках множина досягальності єнескінченною, то існують певні правила, які дозволяють відобразити їїскінченним деревом досягальності.
Поставновка задачі:
Потрібно за даними в методичці знайти розширену вхідну і вихідну функції мережі Петрі. Також зобразити граф мережі Петрі, дерево досяжності глибини 3. Написати програму яка повинна шукати розширену вхідну і вихідну функції за вхідними даними і будувати дерево досяжності.
Вхідні дані:
I(t1) = {p4,p2, p3 }; O(t1) = { p4, p3, p4, p3, p3, p4, p1 };
I(t2) = { p2, p3, p3, p3};O(t2) = { p3,p1, p2, p4, p4};--PAGE_BREAK--
I(t3) = {p4, p3}; O(t3) = {p1,p4};
I(t4) = {p4, p2p2, p4,p4p3, p2};O(t4) = { p2, p2 };
μ0 = {5,5,5,5}.
Хід виконання роботи:
Ознайомитись з теоретичними відомості, які подані в цій методичці.Реалізувати на мовах Pascalабо С програми зв’язного формування списку елементів послідовності згідно номеру варіанту.Програма повинна шукати розширену вхідну і вихідну функцію і будувати дерево досяжності глибини 3. Розв’язати завдання відповідно до свого порядкового номеру у спискугрупи. Завдання отримати у викладача. При оформленні лабораторної роботидотримуватись вимог, які наведені в методичних вказівках.
Розширена вхідна і вихідна функції:
I(p1)={t1,t2,t3}
I(p2)={t2,t4,t4}
I(p3)={t1,t1,t1,t2}
I(p4)={t1,t1,t1,t2,t2,t3}
O(p1)={}
O(p2)={t1,t2,t4,t4,t4}
O(p3)={t1,t2,t2,t2,t3,t4}
O(p4)={t1,t3,t4,t4,t4}
Граф мережі Петрі:
Маркування мережі Петрі:
Виконання мережі Петрі:
Запуск t1:
Запуск t2:
Запуск t3:
/>

Запуск t4:
Дерево досягальності глибини 3:
/>
Код програми:
#include
#include
#pragma hdrstop


#include «Unit1.h»
#include «Unit2.h»
#include «Unit3.h»
//--------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link «XPManifest»
#pragma link «acButtons»
#pragma resource "*.dfm"
#define n 4
TForm1 *Form1;
//---------------------------------------------------------------------------
struct TMT
{
int z;
int p[n];
int t[n];
};


TMT P[n], T[n]; int ccc[n],cc[n],c[n],b;
//---------------------------------------------------------------------------


__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}


//---------------------------------------------------------------------------
void run()
{
P[0].z=StrToInt(Form1->StringGrid3->Cells[1][0]); T[0].z=0; ccc[0]=P[0].z;
P[1].z=StrToInt(Form1->StringGrid3->Cells[2][0]); T[1].z=0; ccc[1]=P[1].z;
P[2].z=StrToInt(Form1->StringGrid3->Cells[3][0]); T[2].z=0; ccc[2]=P[2].z;
P[3].z=StrToInt(Form1->StringGrid3->Cells[4][0]); T[3].z=0; ccc[3]=P[3].z;
int z;
for(z=0; z
{
for(int i=0; i
{P[z].t[i]=0; T[i].p[z]=0;


for(int j=0; jStringGrid1->ColCount; j++)
{
if((StrToIntDef(Form1->StringGrid2->Cells[j][i],0)))
if(z+1==StrToInt(Form1->StringGrid2->Cells[j][i]))P[z].t[i]++;


if((StrToIntDef(Form1->StringGrid1->Cells[j][i],0)))
if(z+1==StrToInt(Form1->StringGrid1->Cells[j][i]))T[i].p[z]++;
}}}}
//---------------------------------------------------------------------------
void search()
{ AnsiString p,p2,t,t2; int z,j,zz;


for(z=0; zStringGrid1->RowCount; z++)
{ p=«I(p»+IntToStr(z+1)+")={";
t=«O(p»+IntToStr(z+1)+")={";
for(j=0; jStringGrid2->RowCount; j++)
for(zz=0; zzStringGrid2->ColCount; zz++)
{
if((StrToIntDef(Form1->StringGrid2->Cells[zz][j],0)))
if(z+1==StrToInt(Form1->StringGrid2->Cells[zz][j]))
{
p2=«t»+IntToStr(j+1)+",";
p+=p2;
}
if((StrToIntDef(Form1->StringGrid1->Cells[zz][j],0)))
if(z+1==StrToInt(Form1->StringGrid1->Cells[zz][j]))
{
t2=«t»+IntToStr(j+1)+",";
t+=t2; }
}
if(p.Pos(«t»)) p[p.Length()]='}';else p+="}";
Form1->Memo1->Lines->Add(p);    продолжение
--PAGE_BREAK--
if(t.Pos(«t»)) t[t.Length()]='}';else t+="}";
Form1->Memo2->Lines->Add(t);
}}


//=========================================================
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for(int i=0; iStringGrid1->RowCount; i++)
{
StringGrid1->Cells[0][i]=«I(t»+IntToStr(i+1)+")";
StringGrid2->Cells[0][i]=«O(t»+IntToStr(i+1)+")";
}
StringGrid3->Cells[0][0]=" м";
StringGrid3->Cells[1][0]=«5»;
StringGrid3->Cells[2][0]=«5»;
StringGrid3->Cells[3][0]=«5»;
StringGrid3->Cells[4][0]=«5»;
}
//=========================================================
void spp(int i)
{
for(int j=0; j
if(T[i].p[j]&&T[i].p[j]>P[j].z) {b=0; break;}


if(b==1)
{
for(int j=0; j
{
T[i].z+=T[i].p[j];
P[j].z-=T[i].p[j];
}
for(int k=0; k
if(P[k].t[i]!=0&&T[i].z!=0)
P[k].z+=P[k].t[i];
}
}
void kpk()
{
for(int i=0; i
{
Form1->TreeView1->Items->AddChild(Form1->TreeView1->Items->Item[0],«0»);
Form2->TreeView1->Items->AddChild(Form2->TreeView1->Items->Item[0],«0»);
for(int j=0; j
{
Form1->TreeView1->Items->AddChild(Form1->TreeView1->Items->Item[0]->Item[i],«0»);
Form2->TreeView1->Items->AddChild(Form2->TreeView1->Items->Item[0]->Item[i],«0»);
for(int e=0; e
{
Form1->TreeView1->Items->AddChild(Form1->TreeView1->Items->Item[0]->Item[i]->Item[j],«0»);
Form2->TreeView1->Items->AddChild(Form2->TreeView1->Items->Item[0]->Item[i]->Item[j],«0»);
}}}}//---------------


//=======================================
int p1,p2,p3;
void run_5()
p1=-1;
AnsiString f=«m(»+IntToStr(P[0].z)+","+IntToStr(P[1].z)+","+IntToStr(P[2].z)+","+IntToStr(P[3].z)+")";
Form1->TreeView1->Items->Clear(); Form2->TreeView1->Items->Clear();
Form1->TreeView1->Items->Add(NULL,f); Form2->TreeView1->Items->Add(NULL,f);
Form1->TreeView1->Items->Item[0]->Text=f;
Form2->TreeView1->Items->Item[0]->Text=f;
kpk();
for(int i=n-1; i>-1; i--)
{b=1; T[i].z=0; p1++; p2=-1;
if(!Form1->CheckBox2->Checked) t1=p1; else t1=i;
P[0].z=ccc[0];
P[1].z=ccc[1];
P[2].z=ccc[2];
P[3].z=ccc[3];
spp(p1);
AnsiString f=«t»+IntToStr(p1+1)+"("+IntToStr(P[0].z)+","+IntToStr(P[1].z)+","+IntToStr(P[2].z)+","+IntToStr(P[3].z)+")";
if(ccc[0]!=P[0].z||ccc[1]!=P[1].z||ccc[2]!=P[2].z||ccc[3]!=P[3].z)
{
Form1->TreeView1->Items->Item[0]->Item[t1]->Text=f;
Form2->TreeView1->Items->Item[0]->Item[t1]->Text=f;
cc[0]=P[0].z;
cc[1]=P[1].z;
cc[2]=P[2].z;
cc[3]=P[3].z;
}
else goto end;


for(int j=n-1; j>-1; j--)
{b=1; T[j].z=0; p2++; p3=-1;
if(!Form1->CheckBox2->Checked) t2=p2; else t2=j;
P[0].z=cc[0];
P[1].z=cc[1];
P[2].z=cc[2];
P[3].z=cc[3];
spp(p2);
AnsiString f=«t»+IntToStr(p2+1)+"("+IntToStr(P[0].z)+","+IntToStr(P[1].z)+","+IntToStr(P[2].z)+","+IntToStr(P[3].z)+")";
if(cc[0]!=P[0].z||cc[1]!=P[1].z||cc[2]!=P[2].z||cc[3]!=P[3].z)
{
Form1->TreeView1->Items->Item[0]->Item[t1]->Item[t2]->Text=f;
Form2->TreeView1->Items->Item[0]->Item[t1]->Item[t2]->Text=f;
c[0]=P[0].z;
c[1]=P[1].z;
c[2]=P[2].z;
c[3]=P[3].z;
}
else goto end1;
for(int e=n-1; e>-1; e--)
{ b=1; T[j].z=0; p3++;
if(!Form1->CheckBox2->Checked) t3=p3; else t3=e;
P[0].z=c[0];
P[1].z=c[1];
P[2].z=c[2];
P[3].z=c[3];
spp(p3);
AnsiString f=«t»+IntToStr(p3+1)+"("+IntToStr(P[0].z)+","+IntToStr(P[1].z)+","+IntToStr(P[2].z)+","+IntToStr(P[3].z)+")";
if(c[0]!=P[0].z||c[1]!=P[1].z||c[2]!=P[2].z||c[3]!=P[3].z)
{
Form1->TreeView1->Items->Item[0]->Item[t1]->Item[t2]->Item[t3]->Text=f;
Form2->TreeView1->Items->Item[0]->Item[t1]->Item[t2]->Item[t3]->Text=f;
} }
end1:
}end: }
void __fastcall TForm1::acBitBtn2Click(TObject *Sender)
{
int i=0,j=0;
p1=n; b=1; p1=n;
Memo1->Clear();
Memo2->Clear();
search();
run();
run_5();
}
Результати роботи програми:
/>
Висновок:
Я ознайомився з предметною областю системного аналізу та вивчив теоретичні відомості. Виконав завдання, написав програму.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.