A doua etapă a modelării este etapa algoritmizării modelului și implementarea mașinii sale. Această etapă este o etapă care vizează implementarea ideilor și a schemelor matematice sub forma unui model de mașină. M proces de funcționare a sistemelor S.

Procesul de operare a sistemului S poate fi considerat ca o schimbare secvențială a stărilor sale în spațiul k-dimensional. Sarcina modelării procesului de funcționare a sistemului în studiu S este construcția funcțiilor z, pe baza căruia este posibil să se calculeze caracteristicile procesului de interes al funcționării sistemului. Acest lucru necesită relațiile care leagă funcțiile z cu variabile, parametri și timp, precum și condiții inițiale în momentul de timp t = t 0 .

Există două tipuri de stări ale sistemului:

  • 1) special, inerent procesului de funcționare a sistemului doar în anumite momente din timp;
  • 2) non-singular, în care procesul este tot restul timpului. În acest caz, funcția de stat z eu (t) se poate schimba brusc și între cele speciale - fără probleme.

Algoritmii de modelare pot fi construiți în conformitate cu „principiul stărilor speciale”. Să denotăm o schimbare de stare asemănătoare unui salt (releu) z Cum z,și „principiul stărilor speciale” - ca. principiul z.

« Principiu z " face posibil ca un număr de sisteme să reducă semnificativ costul timpului computerului pentru implementarea algoritmilor de modelare. modelul de modelare matematică statistic

O formă convenabilă de reprezentare a structurii logice a modelelor proceselor de funcționare a sistemelor și a programelor mașinii este o diagramă. În diferite etape ale modelării, sunt elaborate următoarele scheme de algoritmi și programe de modelare:

Schema generalizată (mărită) a algoritmului de modelare setează procedura generală pentru modelarea sistemului fără a se specifica detalii.

Diagrama detaliată a algoritmului de modelare conține clarificări care nu sunt disponibile în schema generică.

Diagrama logică a algoritmului de modelare reprezintă structura logică a modelului procesului de funcționare a sistemului S.

Schema programului afișează ordinea de implementare software a algoritmului de modelare utilizând software specific. O schemă de program este o interpretare a unei scheme logice a unui algoritm de modelare de către un dezvoltator de programe bazată pe un limbaj algoritmic specific.

Etape de algoritmizare a modelului și implementarea mașinii sale:

  • 1. Construirea schemei logice a modelului.
  • 2. Obținerea unor rapoarte matematice.
  • 3. Validarea modelului de sistem.
  • 4. Alegerea instrumentelor pentru modelare.
  • 5. Elaborarea unui plan pentru implementarea lucrărilor de programare.
  • 6. Specificarea și construcția schemei programului.
  • 7. Verificarea și validarea schemei programului.
  • 8. Efectuarea programării modelului.
  • 9. Verificarea fiabilității programului.
  • 10. Intocmirea documentatiei tehnice pentru a doua etapa.
INSTITUTUL TEHNOLOGIC DE LA MOSCU
Modelarea computerizată
Buzhinsky V.A. ktn
profesor asistent

Moscova
2014

Conceptele de bază ale CM
Modelul este un obiect creat artificial care se reproduce într-un anumit
obiectul real este originalul.
Model computerizat - prezentarea informațiilor despre sistemul simulat
prin intermediul unui computer.
Sistem - un set de elemente interconectate cu proprietăți,
diferită de proprietățile elementelor individuale.
Un element este un obiect care are proprietăți importante în scopuri de modelare.
Într-un model de computer, proprietățile unui element sunt reprezentate de valorile caracteristicilor elementului.
Relația dintre elemente este descrisă folosind în special cantități și algoritmi
formule de calcul.

În prezent, un model de computer este cel mai adesea înțeles ca:
imaginea condiționată a unui obiect sau a unui sistem de obiecte (sau procese),
descris folosind tabele computerizate interconectate, diagrame bloc,
diagrame, grafice, desene, fragmente de animație, hipertext etc.
și reprezentând structura și relațiile dintre elementele obiectului.
Vom numi modele de computer de acest fel structurale și funcționale;
un program separat, un set de programe, un pachet software,
permițând prin intermediul unei secvențe de calcule și a unui grafic
afișează rezultatele lor reproduc (simulează) procese
funcționarea unui obiect, a unui sistem de obiecte, supus impactului asupra obiectului
diverși factori (de obicei aleatori). Vom continua să folosim astfel de modele.
numite modele de simulare.
Simularea pe computer este o metodă de rezolvare a problemei analizei sau
sinteza unui sistem complex bazat pe utilizarea modelului său de calculator.
Esența modelării computerizate este obținerea cantitativă și
rezultate calitative conform modelului existent.

Subiectul nr. 1. Concepte de bază ale modelării computerizate.
Subiectul nr. 2. Construirea algoritmilor de modelare: formalizare și
algoritmizarea proceselor.
Tema № 3. Versatilitatea modelelor matematice.
Tema № 4. Modele matematice ale sistemelor complexe.
Tema № 5. Modele continuo-deterministe, discrete-deterministe, discrete-probabiliste și continue-probabiliste.

Seminar web numărul 2
Construirea algoritmilor de modelare:
formalizarea și algoritmizarea proceselor
1. Formalizarea modelului
2. Algoritmizarea procesului

De-a lungul istoriei sale, omenirea a folosit diverse
metode și instrumente pentru crearea modelelor informaționale. Aceste căi
îmbunătățit constant. Deci, primele modele de informații
au fost create sub formă de picturi rupestre. În prezent informativ
modelele sunt de obicei construite și cercetate folosind modern
tehnologia calculatoarelor.
Când studiați un obiect nou, acesta este de obicei construit mai întâi.
model de informații descriptive folosind limbaje naturale
și desene. Un astfel de model poate afișa obiecte, procese și fenomene.
calitativ, adică neutilizarea caracteristicilor cantitative. De exemplu,
model heliocentric al lumii lui Copernic în limbaj natural
a fost formulat după cum urmează:
Pământul se învârte în jurul soarelui, iar luna se învârte în jurul pământului;
toate planetele se învârt în jurul soarelui.

Limbile formale sunt folosite pentru a construi formal
modele de informare. Matematica este cea mai răspândită
limbajul formal folosit. Folosind matematic
conceptele și formulele sunt construite modele matematice.
În științele naturii (fizică, chimie etc.),
modele formale de fenomene și procese. Adesea folosit pentru aceasta
limbaj matematic universal al formulelor algebrice (pentru lecția nr. 3).
Cu toate acestea, în unele cazuri, specializate
limbaje formale (în chimie - limbajul formulelor chimice, în muzică - muzical
diplomă etc.) (?).

1. uch. întrebare. Formalizare
modele
Procesul de construire a modelelor de informații folosind
limbajele formale se numesc formalizare.
În procesul studierii modelelor formale, se face adesea
vizualizarea lor. (?)
Pentru vizualizarea algoritmilor, se utilizează diagrame bloc,
relații spațiale între obiecte - desene, modele
circuite electrice - circuite electrice. La redarea formală
modele cu ajutorul animației, dinamica procesului poate fi afișată,
trasarea graficelor modificărilor valorilor etc.
În zilele noastre, răspândit
modele vizuale interactive computerizate. În astfel de modele, cercetătorul
poate modifica condițiile și parametrii inițiali ai proceselor și poate observa
schimbări în comportamentul modelului.

Prima etapă a oricărei cercetări este formularea unei probleme care
determinat de un scop dat.
Problema este formulată în limbajul obișnuit. După natura producției, toate
sarcinile pot fi împărțite în două grupuri principale. La primul grup poți
atribuiți sarcini în care este necesar să investigați cum să schimbați
caracteristicile unui obiect cu un anumit impact asupra acestuia, „ce se va întâmpla,
dacă?…". Al doilea grup de sarcini: ce impact ar trebui să aibă asupra
obiect astfel încât parametrii săi să satisfacă unele date
condiție, „cum să faci? ..”.
A doua etapă este analiza obiectului. Rezultatul analizei unui obiect este identificarea acestuia
componente (obiecte elementare) și definirea relațiilor dintre ele.
A treia etapă este dezvoltarea unui model informațional al obiectului. Clădire
modelul ar trebui să fie legat de scopul simulării. Fiecare obiect are
un număr mare de proprietăți diferite. În procesul de construire a unui model
sunt evidențiate principalele proprietăți, cele mai esențiale, care
atinge scopul
Tot ce a fost menționat mai sus este o formalizare, adică un înlocuitor
un obiect sau proces real prin descrierea sa formală, adică a lui
model de informare.

10.

După ce a construit un model informațional, o persoană îl folosește în loc de
obiectul original pentru a studia proprietățile acestui obiect, prognoză
comportamentul său etc. Înainte de a construi orice structură complexă,
de exemplu, un pod, proiectanții realizează desene, efectuează calcule
rezistență, sarcini admise. Deci, în loc de un adevărat pod
se ocupă de descrierea modelului său sub formă de desene,
formule matematice.
Formalizarea este un proces
alocare și traducere
structura internă a obiectului în
anumite informații
structură - formă.

11.

12.

În funcție de gradul de formalizare, modelele informaționale sunt
figurativ semnificativ și iconic.
Modelele iconice pot fi împărțite în următoarele grupuri:
modele matematice reprezentate de formule matematice,
afișarea relației diferiților parametri ai unui obiect, sistem sau
proces;
modele speciale prezentate în limbi speciale (partituri,
formule chimice etc.);
modele algoritmice reprezentând procesul sub forma unui program,
înregistrat într-o limbă specială.

13.

O secvență de comenzi pentru a controla obiectul,
a cărui implementare duce la realizarea unui predeterminat
obiectivul se numește algoritm de control.
Originea conceptului de „algoritm”.
Cuvântul „algoritm” provine de la numele matematicianului
estul medieval al lui Muhammad al-Khwarizmi (787-850). Erau
metode de efectuare a calculelor aritmetice cu
numere din mai multe cifre. Mai târziu în Europa, aceste tehnici au fost numite
algoritmi, din ortografia latină a numelui al-Khwarizmi. In zilele de azi
conceptul de algoritm nu se limitează la aritmetică
calcule.

14.

Algoritm - instrucțiuni clare și precise de efectuat
o anumită succesiune de acțiuni,
vizând atingerea obiectivului specificat sau
soluția sarcinii.
Algoritm aplicat la calcul
mașină - o rețetă exactă, adică un set de operații și
regulile alternanței lor, cu ajutorul cărora, începând
cu câteva date inițiale, puteți rezolva oricare
problema de tip fix.

15.

Proprietățile algoritmului:
Discreție - algoritmul trebuie împărțit în pași (separat
acțiuni finalizate).
Certitudine - interpretul nu ar trebui să aibă
ambiguități în înțelegerea etapelor algoritmului (interpretul nu
trebuie să ia decizii independente).
Eficacitate (limitate) - algoritmul ar trebui să conducă la
rezultatul final într-un număr finit de pași.
Comprensibilitate - algoritmul trebuie să fie de înțeles pentru interpret.
Eficiență - se alege unul dintre algoritmii posibili
un algoritm care conține mai puțini pași sau pentru a-l executa
durează mai puțin timp.

16.

Tipuri de algoritmi
Tipuri de algoritmi ca mijloace logice și matematice în
în funcție de obiectiv, de condițiile inițiale ale problemei, de modalitățile de rezolvare,
definițiile acțiunilor executorului sunt împărțite după cum urmează
cale:
algoritmi mecanici, altfel deterministi;
algoritmi flexibili, altfel probabilistic și euristic.
Un algoritm mecanic specifică anumite acțiuni,
denotându-le într-o succesiune unică și fiabilă,
oferind astfel un necesar sau dorit fără ambiguități
rezultat, dacă aceste condiții ale procesului sau sarcinii sunt îndeplinite, pentru
pe care algoritmul a fost dezvoltat.
Un algoritm euristic este unul în care
realizarea rezultatului final al programului de acțiune nu este cu siguranță
predefinit, la fel ca întreaga secvență nu este indicată
acțiunile executorului. Acești algoritmi folosesc
proceduri logice universale și metode de luare a deciziilor,
bazat pe analogii, asociații și experiență, soluții la similare
sarcini.

17.

În procesul de algoritmizare, algoritmul original este împărțit în separat
părți conexe numite pași sau algoritmi privați.
Există patru tipuri principale de algoritmi privați:
algoritm liniar;
algoritm de ramificare;
algoritm ciclic;
algoritm auxiliar sau subordonat.
Algoritm liniar - un set de instrucțiuni executate
secvențial în timp unul după altul.
Algoritm de ramificare - un algoritm care conține cel puțin unul
condiție, ca urmare a verificării către care computer asigură tranziția
unul din cei doi pași posibili.
Algoritm ciclic - un algoritm care implică repetări
aceeași acțiune asupra noilor surse de date. Necesar
observați că algoritmul ciclic este ușor implementat de doi
dintre tipurile de algoritmi considerați anterior.
Algoritm auxiliar sau subordonat - un algoritm anterior
dezvoltat și utilizat în întregime în algoritmizarea unui anumit
sarcini.

18.

În toate etapele de pregătire pentru algoritmizarea problemei, este utilizat pe scară largă
reprezentarea structurală a algoritmului sub formă de diagrame bloc.
Diagrama bloc - o reprezentare grafică a algoritmului sub forma unei diagrame
blocuri de simboluri grafice conectate între ele folosind săgeți (linii de tranziție), fiecare dintre ele corespunzând unui singur pas
algoritm. Blocul conține o descriere a acțiunilor efectuate în acesta.

19.

Metode de descriere a algoritmilor
Alegerea instrumentelor și metodelor de înregistrare a algoritmului
depinde în primul rând de scopul (natura)
algoritm, precum și despre cine (ce) va
executorul algoritmului.
Algoritmii sunt scrise ca:
reguli verbale,
diagrame bloc,
programe.

20.

Modul verbal de descriere a algoritmilor este în esență un limbaj obișnuit, dar
cu o selecție atentă de cuvinte și fraze care nu permit cuvinte inutile,
ambiguitate și repetare. Limbajul este completat cu matematică obișnuită
notație și câteva convenții speciale.
Algoritmul este descris ca o succesiune de pași. La fiecare pas
compoziția acțiunilor efectuate și direcția în continuare
calcule. Mai mult, dacă pasul curent nu indică care pas ar trebui
efectuată în continuare, apoi se efectuează trecerea la pasul următor.
Exemplu. Creați un algoritm pentru a găsi cel mai mare număr de trei date
numerele a, b, c.
Comparați a și b. Dacă a> b, atunci luați a ca maxim al t, altfel (a<=b) в
ia b ca maxim.
Comparați t și c. Dacă t> c, treceți la pasul 3. În caz contrar (t maxim c (t = c).
Luați t ca rezultat.
Dezavantajele unui mod verbal de descriere a algoritmilor:
lipsa de claritate,
lipsa de precizie.

21.

Mod grafic de descriere
algoritmii este o modalitate
reprezentarea algoritmului cu
folosind în general acceptate
figuri grafice, fiecare dintre ele
care unul sau
mai mulți pași ai algoritmului.
În interiorul blocului este scris
descrierea comenzilor sau condițiilor.
A indica
secvența de execuție
blocurile folosesc linii de comunicare
(linii de conexiune).
Există anumite
reguli pentru descrierea algoritmilor în
sub formă de diagrame bloc. (?)

22.

Descrierea algoritmilor folosind programe - un algoritm scris în
limbajul de programare se numește program.
Formele verbale și grafice de scriere a algoritmului sunt destinate
persoană. Un algoritm conceput pentru a rula pe un computer
scris într-un limbaj de programare (limbaj înțeles de un computer). Acum
sunt cunoscute câteva sute de limbaje de programare. Cel mai popular:
C, Pascal, BASIC etc.
Exemplu. Creați un algoritm pentru a găsi cel mai mare număr de trei
numere date a, b, c.
program MaxFromThree;
var
a, b, c, rezultat: Real;
începe
Scrieți („Introduceți a, b, c”);
ReadLn (a, b, c);
dacă a> b atunci rezultă: = un alt rezultat: = b;
dacă c> rezultă atunci rezultă: = c;
WriteLn („Maximul a trei numere este:”, rezultat: 9: 2)
Sfârșit.
(?)

23.

Exemplul 1
Având în vedere o matrice unidimensională, calculați media aritmetică. (?)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Soluția problemei
Test de program;
Var i, summ: Întreg;
massiv: matrice de Integer;
Începe
summ: = 0;
pentru i: = 1 până la 5
începe
Write („Introduceți un element matrice:”);
ReadLn (massiv [i]);
summ: = summ + massiv [i];
Sfârșit;
Scrieți ("media aritmetică a matricei este:", summ / 5);
WriteLn;
Sfârșit.
(?)

24.

Exemplul 2
Construiți un algoritm pentru procesul de aruncare a unui corp într-un unghi față de orizont
(?)

25.

V.V. Vasiliev, L.A. Simak, A.M. Rybnikov. Matematică și
modelarea computerizată a proceselor și sistemelor din mediu
MATLAB / SIMULINK. Manual pentru studenți de licență și absolvenți. 2008
an. 91 pagini
Simulare computerizată a problemelor fizice în
Microsoft Visual Basic. Manual de autor: Alekseev D.V.
SOLON-PRESS, 2009
Autor: Orlova I.V., Polovnikov V.A.
Editor: manual universitar
An: 2008

26.

Anfilatov, V.S. Analiza sistemului în management [Text]: manual / V.S.
Anfilatov, A. A. Emelyanov, A. A. Kukushkin; ed. A. A. Emelyanova. - M.:
Finanțe și statistici, 2002. - 368 p.
Venikov, V.A. Teoria asemănării și modelării [Text] / V. A. Venikov, G. V.
Venikov, Moscova: Școala superioară, 1984, 439 p.
Evsyukov, V. N. Analiza sistemelor automate [Text]: metodologic educațional
manual pentru sarcini practice / V. N. Evsyukov, A. M. Chernousova. -
A 2-a ed., Isp. - Orenburg: IPK GOU OSU, 2007. - 179 p.
Zarubin, V. S. Modelarea matematică în tehnologie [Text]: manual. pentru universități /
Ed. V. S. Zarubina, A. P. Krishchenko. - M.: Editura Universității Tehnice de Stat din Moscova Bauman, 2001. -
496 s.
Kolesov, Yu.B. Modelarea sistemelor. Sisteme dinamice și hibride [Text]:
uch. manual / Yu.B. Kolesov, Yu.B. Senichenkov. - SPb. : BHV-Petersburg, 2006. - 224 p.
Kolesov, Yu.B. Modelarea sistemului. Abordare orientată pe obiecte [text]:
Uch. manual / Yu.B. Kolesov, Yu.B. Senichenkov. - SPb. : BHV-Petersburg, 2006 .-- 192 p.
Norenkov, I. P. Bazele proiectării asistate de calculator [Text]: manual pentru
universități / I.P.Norenkov. - M.: Editura MSTU im. N. E. Bauman, 2000. - 360 p.
Skurikhin și V.I. Modelare matematică [Text] / V. I. Skurikhin, V. V.
Shifrin, V. V. Dubrovsky. - K.: Tekhnika, 1983 .-- 270 p.
Chernousova, A.M. Software pentru sisteme automate
proiectare și management: manual [Text] / A. M. Chernousova, V.
N. Sherstobitova. - Orenburg: OSU, 2006. - 301 p.

La a doua etapă de modelare - etapa de algoritmizare a modelului și implementarea mașinii sale - modelul matematic format în prima etapă este încorporat într-un model de mașină specific. Această etapă este o etapă a activității practice care vizează implementarea ideilor și a schemelor matematice sub forma unui model de mașină al procesului de funcționare a sistemului S. Înainte de a lua în considerare etapele de algoritmizare și de implementare a mașinii a modelului, să ne oprim pe principiile de bază ale construirii algoritmilor de modelare și formelor de prezentare a acestora.

Principiile algoritmilor de modelare a construcțiilor.

Procesul de funcționare a sistemului S poate fi considerat ca o schimbare secvențială a stărilor sale în spațiul -dimensional. Evident, sarcina modelării procesului de funcționare a sistemului S în studiu este de a construi funcții pe baza cărora este posibil să se calculeze caracteristicile procesului de funcționare a sistemului de interes. Pentru aceasta, trebuie să existe relații care să conecteze funcțiile cu variabilele, parametrii și timpul, precum și condițiile inițiale în momentul timpului

Să luăm în considerare procesul de funcționare a unui sistem determinist în care nu există factori aleatori, adică vectorul stărilor unui astfel de sistem poate fi determinat de la (2.3) ca. Apoi starea procesului în momentul de timp

poate fi determinată fără echivoc din relațiile modelului matematic de condițiile inițiale cunoscute. Acest lucru vă permite să construiți un algoritm de modelare pentru procesul de funcționare a sistemului. Pentru a face acest lucru, transformăm rapoartele modelului într-o astfel de formă pentru a face convenabil calcularea după valori, unde organizăm un contor de timp al sistemului, care la momentul inițial arată ora. Pentru acest moment, adăugați intervalul de timp, apoi contorul va arăta Calculați valorile Apoi mergeți la momentul de timp Dacă pasul este suficient de mic, atunci puteți obține valori aproximative

Să luăm în considerare procesul de funcționare a unui sistem stocastic, adică un sistem care este influențat de factori aleatori, adică vectorul stărilor este determinat de relația (2.3). Pentru un astfel de sistem, funcția stărilor procesului la momentul în timp, relațiile model determină doar distribuția probabilității pentru momentul în timp. În cazul general, condițiile inițiale pot fi, de asemenea, aleatorii, date de distribuția de probabilitate corespunzătoare. În acest caz, structura algoritmului de modelare pentru sistemele stocastice rămâne practic aceeași. Doar în locul unei stări, este acum necesar să se calculeze distribuția probabilității pentru stările posibile. Lăsați contorul de timp al sistemului să arate ora. În conformitate cu distribuția de probabilitate dată, este selectat Mai mult, pornind de la distribuție, se obține o stare până când se construiește una dintre realizările posibile ale unui proces multidimensional aleatoriu într-un interval de timp dat.

Principiul considerat al construirii algoritmilor de modelare se numește principiu. Acesta este cel mai universal principiu care permite determinarea stărilor secvențiale ale procesului de funcționare a sistemului S la intervale de timp specificate.

Când se iau în considerare procesele de funcționare a unor sisteme, se poate constata că acestea se caracterizează prin două tipuri de stări: 1) speciale, inerente procesului de funcționare a sistemului doar în anumite momente de timp (momente de sosire a intrării sau controlului acțiuni, perturbări ale mediului extern etc.) restul timpului. Stările speciale se caracterizează și prin faptul că funcțiile stărilor în aceste momente de timp se schimbă brusc, iar între stările speciale schimbarea coordonatelor are loc fără probleme și continuu sau nu are loc deloc.

stări în acele momente din timp în care aceste stări au loc, este posibil să se obțină informațiile necesare pentru construirea funcțiilor. Evident, pentru tipul de sistem descris, algoritmii de modelare pot fi construiți în conformitate cu „principiul stărilor speciale”. Să desemnăm o schimbare bruscă (releu) de stare ca și „principiul stărilor speciale” - ca principiu

De exemplu, pentru un sistem de așteptare (-scheme), stările pot fi alese ca stări speciale în momentele în care solicitările de serviciu ajung la serverul P și în momentele în care se termină serviciul de cereri de către canalele K, când starea sistemul, estimat de numărul de revendicări din acesta, se schimbă brusc.

Rețineți că caracteristicile procesului de funcționare a unor astfel de sisteme cu stări speciale sunt estimate din informații despre stări speciale, iar stările non-singulare nu sunt luate în considerare în simulare. „Principiul face posibil ca un număr de sisteme să reducă semnificativ costul timpului computerului pentru implementarea algoritmilor de modelare în comparație cu„ principiul. Sistemele S. Pentru a studia procesul de funcționare a sistemelor mari, este rațional să se utilizeze principiul combinat al construirii algoritmilor de modelare, care combină avantajele fiecăruia dintre principiile luate în considerare.

Forme de reprezentare a algoritmilor de modelare.

O formă convenabilă de reprezentare a structurii logice a modelelor proceselor de funcționare a sistemelor și a programelor mașinii este o diagramă. În diferite etape ale modelării, sunt întocmite diagrame logice generalizate și detaliate ale algoritmilor de modelare, precum și diagrame de programe.

Schema generalizată (mărită) a algoritmului de modelare stabilește procedura generală pentru modelarea sistemului, fără a se specifica detalii. Diagrama generalizată arată ce trebuie făcut la pasul următor al simulării, de exemplu, treceți la generatorul de numere aleatorii.

Schema detaliată a algoritmului de modelare conține rafinamente care nu se află în schema generalizată. Diagrama detaliată arată nu numai ce ar trebui făcut la etapa următoare a modelării sistemului, ci și cum să o faceți.

Diagrama logică a algoritmului de modelare este structura logică a modelului procesului de funcționare a sistemului S. Diagrama logică indică o succesiune de operații logice ordonate în timp, asociate cu soluția problemei de modelare.

Diagrama programului afișează ordinea implementării software a algoritmului de modelare utilizând software specific. O schemă de program este o interpretare a unei scheme logice a unui algoritm de modelare de către un dezvoltator de programe bazată pe un limbaj algoritmic specific. Diferența dintre aceste scheme este că schema logică reflectă structura logică a modelului procesului de funcționare a sistemului și schema programului - logica implementării mașinii a modelului utilizând instrumente specifice de modelare software și hardware.

Schema logică a algoritmului și schema programului pot fi executate atât într-o formă mărită, cât și într-o formă detaliată. Pentru a desena aceste diagrame, un set de simboluri definit de GOST 19.701 - 90 (ISO 5807 - 85) „Sistem unificat de documentare a programului.

Diagrame de algoritmi, programe, date și sisteme.

Simboluri și reguli de execuție ". Unele dintre simbolurile cele mai utilizate în practica modelării computerizate sunt prezentate în Fig. 3.3, care prezintă simbolurile de bază, specifice și speciale ale procesului. Acestea includ: simbolul principal: a - proces - simbolul afișează o funcție pentru prelucrarea datelor de orice fel (efectuarea unei anumite operațiuni sau grup de operații care duce la o schimbare a semnificației, formei sau plasării informațiilor sau la o determinare de-a lungul căreia ar trebui să se deplaseze din mai multe direcții de curgere); simboluri specifice procesului: b - soluție - simbolul afișează o soluție sau o funcție de tip comutator care are o singură intrare și un număr de ieșiri alternative, dintre care una și numai una pot fi activate după calcularea condițiilor definite în cadrul acestui simbol ( rezultatele de calcul corespunzătoare pot fi scrise în vecinătate cu linii care reprezintă aceste căi); c - pregătire - simbolul afișează o modificare a unei comenzi sau a unui grup de comenzi pentru a influența unele funcții ulterioare (setarea unui comutator, modificarea unui registru index sau inițializarea unui program); d - proces predefinit - simbolul afișează un proces predefinit constând din una sau mai multe operații sau pași de program care sunt definiți în altă parte (într-un subrutină, modul); d - operare manuală - simbolul afișează orice proces efectuat de o persoană; caractere speciale: conector e - simbolul afișează ieșirea către o parte a circuitului și intrarea dintr-o altă parte a acestui circuit și este utilizat pentru a sparge linia și a o continua în alt loc (simbolurile conectorului corespunzătoare trebuie să conțină același tip unic desemnare); g - terminator - simbolul reprezintă ieșirea către mediul extern și intrarea din mediul extern (începutul sau sfârșitul diagramei algoritmului, utilizări externe sau destinația datelor).

Orez. 3.3. Simboluri și scheme ale algoritmilor de modelare

Un exemplu de imagine a unei scheme a unui algoritm de modelare este prezentat în Fig. 3.3, h.

De obicei, o schemă este cea mai convenabilă formă de reprezentare a structurii algoritmilor de modelare. În unele cazuri, se utilizează alte forme de reprezentare a algoritmilor de modelare, de exemplu, forma schemelor grafice (Fig. 3.3, i). Aici - începutul, - sfârșitul, - calculul, - formarea, - verificarea stării, - contorul, - rezultatul rezultatului ,, unde este numărul total de operatori ai algoritmului de modelare. Ca o explicație a schemei grafice a algoritmului, textul oferă dezvăluirea conținutului operatorilor, ceea ce face posibilă simplificarea prezentării algoritmului, dar complică munca cu acesta.

Algoritmii de simulare pot fi de asemenea reprezentați sub formă de scheme operator. Notarea operatorilor pe o astfel de schemă corespunde notației pentru schemele grafice. Pentru exemplul considerat, schema operator a algoritmului are forma

Mai detaliat, ne vom familiariza cu forma de reprezentare a structurii logice a algoritmilor de modelare și a programelor de computer atunci când luăm în considerare modele de simulare a proceselor de funcționare a diferitelor sisteme și metode de implementare a acestora pe computer.

Etape secundare ale celei de-a doua etape a modelării.

Luați în considerare etapele secundare efectuate în algoritmizarea modelului de sistem și implementarea mașinii sale, concentrându-vă pe sarcinile fiecărui pas secundar și pe metodele de soluționare a acestora.

2.1. Construirea diagramei logice a modelului. Se recomandă construirea modelului conform principiului blocului, adică sub forma unui set de blocuri de construcție. Construirea unui model de sisteme S din astfel de

blocurile oferă flexibilitatea necesară în timpul funcționării sale, în special în etapa de depanare a mașinii. La construirea unui model de bloc, procesul de funcționare al sistemului este împărțit în subprocese separate destul de autonome. Astfel, modelul este subdivizat funcțional în submodele, fiecare dintre acestea, la rândul său, putând fi subdivizate în elemente și mai mici. Blocurile acestui model sunt de două tipuri: principal și auxiliar. Fiecare bloc principal corespunde unui sub-proces real care are loc în sistemul simulat S, iar blocurile auxiliare sunt doar o parte integrantă a modelului mașinii, nu reflectă funcțiile sistemului simulat și sunt necesare doar pentru implementarea mașinii , fixarea și procesarea rezultatelor simulării.

2.2. Obținerea de relații matematice. Concomitent cu implementarea subetapei de construire a schemei logice a modelului, este necesar să se obțină, dacă este posibil, relații matematice sub formă de funcții explicite, adică să se construiască modele analitice. Acest sub-pas corespunde atribuirii implicite a posibilelor relații matematice în etapa de construire a unui model conceptual. La efectuarea primei etape, nu pot fi încă informații despre forma specifică a acestor relații matematice, iar la a doua etapă este deja necesar să se obțină aceste relații. Schema modelului mașinii ar trebui să fie o reflectare completă a conceptului inerent modelului și să aibă: a) o descriere a tuturor blocurilor modelului cu numele lor; b) un sistem de desemnare unificat și numerotarea blocurilor; c) reflectarea logicii modelului procesului de funcționare a sistemului; d) stabilirea relațiilor matematice într-o formă explicită.

Astfel, în cazul general, modelul de mașină construit al sistemului va avea un caracter combinat, adică va reflecta abordarea de simulare analitică, atunci când o parte a procesului din sistem este descrisă analitic, iar cealaltă parte este imitată prin algoritmi corespunzători.

2.3. Validarea modelului de sistem. Această verificare este prima verificare efectuată în timpul fazei de implementare a modelului. Deoarece modelul este o descriere aproximativă a procesului de funcționare a unui sistem real S, atunci până când nu se dovedește fiabilitatea modelului, nu se poate argumenta că, cu ajutorul acestuia, se vor obține rezultate care coincid cu cele care ar putea fi obținute în timpul unui experiment pe scară largă cu un sistem real S. Prin urmare, determinarea fiabilității unui model poate fi considerată cea mai importantă problemă în sistemele de modelare. Gradul de încredere în rezultatele obținute prin metoda de modelare depinde de soluția acestei probleme. Verificarea modelului la subetajul considerat ar trebui să răspundă la întrebarea în ce măsură diagrama logică a modelului de sistem și relațiile matematice utilizate reflectă intenția modelului format în prima etapă. În acest caz, se verifică următoarele: a) posibilitatea

rezolvarea problemei; b) acuratețea reflectării ideii în schema logică; c) completitudinea schemei logice a modelului; d) corectitudinea relațiilor matematice utilizate.

Numai după ce dezvoltatorul este convins de o verificare adecvată a corectitudinii tuturor acestor prevederi, se poate presupune că există o diagramă logică a modelului sistemului 5, adecvată pentru lucrări ulterioare privind implementarea modelului pe un computer.

2.4. Selectarea instrumentelor de modelare.În această etapă secundară, este necesar să se decidă în cele din urmă ce computer (computer, AVM, GVK) și ce software este recomandabil să se utilizeze pentru a implementa modelul sistemului S. În general, alegerea mijloacelor de calcul poate fi efectuată la subetapele anterioare, dar subetapa considerată este ultima, când această alegere trebuie făcută în cele din urmă, deoarece în caz contrar vor exista dificultăți în desfășurarea unor lucrări ulterioare privind implementarea modelului. Problema alegerii unui computer se reduce la asigurarea următoarelor cerințe:

a) disponibilitatea software-ului și hardware-ului necesar; b) disponibilitatea computerului selectat pentru dezvoltatorul modelului; c) asigurarea tuturor etapelor implementării modelului; d) capacitatea de a obține rezultate în timp util.

2.5. Elaborarea unui plan pentru implementarea lucrărilor de programare. Un astfel de plan ar trebui să ajute la programarea modelului, luând în considerare estimările dimensiunii programului și costurile forței de muncă pentru pregătirea acestuia. Atunci când se utilizează un mainframe, planul ar trebui să includă: a) alegerea limbajului (sistemului) de programare a modelului; b) o indicație a tipului de computer și a dispozitivelor necesare simulării; c) o estimare a cantității aproximative de memorie operațională și externă necesară; d) costurile aproximative ale timpului computerizat pentru modelare; e) timpul estimat petrecut pentru programarea și depanarea unui program de computer.

2.6. Specificarea și construcția schemei de programe. O specificație a programului este o prezentare formalizată a cerințelor pentru un program care trebuie îndeplinite în timpul dezvoltării sale, precum și o descriere a sarcinii, condițiilor și efectului unei acțiuni fără a specifica modalitatea de realizare a acesteia. Prezența unei diagrame logice a modelului vă permite să construiți o diagramă a programului, care ar trebui să reflecte: a) împărțirea modelului în blocuri, subblocuri etc;

b) particularitățile programării modelului; c) efectuarea modificărilor necesare; d) capacitatea de a testa programul; e) o estimare a costului timpului de calcul; f) forma de prezentare a datelor de intrare și ieșire.

Construirea unei diagrame de programe este una dintre sarcinile principale în etapa de implementare a unui model de mașină. În acest caz, trebuie acordată o atenție specială caracteristicilor limbajului ales pentru implementarea modelului: limbajul algoritmic al generalului

limba de destinație sau de modelare (de ex. SIMULA, SIMSCRIPT, GPSS).

2.7. Verificarea și validarea schemei de programe. Verificarea unui program este dovada faptului că comportamentul unui program este conform cu specificațiile pentru program. Această verificare este a doua în etapa de implementare a mașinii a modelului de sistem. Evident, nu are rost să continuăm să lucrăm la implementarea modelului dacă nu există certitudinea că au fost comise erori în schema programului conform căreia vor fi efectuate programe suplimentare care îl fac inadecvat schemei logice a modelului. și, prin urmare, inadecvat obiectului de modelare în sine. În același timp, se verifică conformitatea fiecărei operații prezentate în schema programului și se efectuează operațiunea analogă cu aceasta în schema logică a modelului.

2.8. Programare model. Cu o diagramă de program suficient de detaliată care reflectă toate operațiunile diagramei logice a modelului, puteți începe programarea modelului. Dacă este disponibil un design adecvat al programului, programarea este doar o sarcină a programatorului, fără implicarea și asistența dezvoltatorului modelului. Atunci când se utilizează pachete software pentru modelare, se realizează generarea directă de programe de lucru pentru modelarea unui anumit obiect, adică programarea modelului se realizează într-un mod automat.

2.9. Verificarea validității programului. Aceasta este ultima verificare în etapa de implementare a mașinii a modelului, care trebuie efectuată: a) prin conversia programului înapoi la circuitul original; b) verificarea părților individuale ale programului la rezolvarea diferitelor probleme de testare; c) combinarea tuturor părților programului și verificarea acestuia în ansamblu pe un exemplu de testare a modelării unei versiuni a sistemului S.

În acest sub-pas, este, de asemenea, necesar să verificați estimările timpului computerului petrecut la simulare. De asemenea, este util să se obțină o aproximare analitică destul de simplă a dependenței costurilor de timp ale computerului de numărul de realizări, ceea ce va permite dezvoltatorului modelului (clientului) să formuleze corect cerințele pentru acuratețea și fiabilitatea rezultatelor simulării.

2.10. Pregătirea documentației tehnice pentru a doua etapă. Pentru a finaliza etapa de implementare a mașinii modelului, este necesară întocmirea documentației tehnice care conține: a) schema logică a modelului și descrierea acestuia; b) o schemă adecvată a programului și a desemnărilor adoptate; c) textul integral al programului; d) o listă a cantităților de intrare și ieșire cu explicații; e) instrucțiuni pentru lucrul cu programul; f) o estimare a costului timpului computerizat pentru modelare, cu o indicație a resurselor informatice necesare.

Astfel, în această etapă se dezvoltă schema modelului sistemului S, se realizează algoritmizarea și programarea acestuia.

folosind software și hardware specifice, adică se construiește un model de mașină, cu care trebuie să lucrați pentru a obține rezultatele de modelare necesare prin evaluarea caracteristicilor procesului de funcționare a sistemului S (problemă de analiză) sau pentru a căuta structuri optime , algoritmi și parametri ai sistemului S (problemă de sinteză).