Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • In contact cu
  • 2 modelarea procesului de cercetare și algoritmizarea acestuia. Formalizarea și algoritmizarea proceselor de funcționare a sistemelor

2 modelarea procesului de cercetare și algoritmizarea acestuia. Formalizarea și algoritmizarea proceselor de funcționare a sistemelor

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

Principii de construire a algoritmilor de modelare.

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 studiat S este de a construi funcții pe baza cărora este posibil să se calculeze caracteristicile de interes în procesul de funcționare a sistemului. Pentru a face acest lucru, trebuie să existe relații de conectare a funcțiilor cu variabile, parametri și timp, precum și condiții inițiale la momentul de timp.

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

poate fi determinat în mod unic din relațiile modelului matematic bazat pe condiții 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 relațiile modelului la această formă pentru a face convenabil calculul prin valori, unde organizăm un contor de timp de sistem, care la momentul inițial arată timpul. Pentru acest moment, Adăugați un interval de timp, apoi contorul va afișa Calculați valorile Apoi treceți la momentul în timp Dacă pasul este suficient de mic, atunci în acest fel 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 procesului afirmă la momentul de timp, relațiile modelului determină doar distribuția de probabilitate pentru momentul de timp. În cazul general, condițiile inițiale pot fi aleatorii, specificate de distribuția de probabilitate corespunzătoare. În același timp, structura algoritmului de modelare pentru sistemele stocastice rămâne practic aceeași. Doar în locul unei stări, acum este necesar să se calculeze distribuția de probabilitate pentru stările posibile. Lăsați contorul de timp al sistemului să arate ora. În conformitate cu o distribuție de probabilitate dată, se selectează o stare. Apoi, pe baza distribuției, se obține o stare până când se construiește una dintre posibilele implementări ale unui proces multidimensional aleator într-un interval de timp dat.

Principiul considerat al construirii algoritmilor de modelare se numește principiul Acesta este cel mai universal principiu care ne permite să determinăm stările succesive ale procesului de funcționare a sistemului S la intervale de timp date , uneori se dovedește a fi neeconomic.

Luând în considerare procesele de funcționare a unor sisteme, se poate constata că acestea sunt caracterizate de două tipuri de stări: 1) speciale, inerente procesului de funcționare a sistemului numai în anumite momente de timp (momente de intrare sau influențe de control, tulburări ale mediului extern etc.nespeciale, în care procesul este situat în restul timpului, stările speciale se caracterizează și prin faptul că funcțiile stărilor în aceste momente de timp se schimbă brusc, și între stări speciale. modificarea coordonatelor are loc lin și continuu sau nu are loc deloc. Astfel, la modelarea sistemului S se observă doar cele speciale ale acestuia.

stări în acele momente în timp în care apar aceste stări, este posibil să se obțină informațiile necesare pentru construirea funcțiilor. Evident, pentru tipul de sisteme descris, algoritmii de modelare pot fi construiți după „principiul stărilor speciale”. Să notăm o schimbare bruscă (releu) de stare și „principiul stărilor speciale” drept principiu

De exemplu, pentru un sistem de așteptare (-schemă), stările pot fi selectate ca stări speciale la momentele primirii cererilor de service în dispozitivul P și la momentele finalizării deservirii cererilor de către canalele K, când starea de sistemul, estimat după numărul de solicitări din acesta, se modifică brusc.

Rețineți că caracteristicile procesului de funcționare a unor astfel de sisteme cu stări speciale sunt estimate folosind informații despre stări speciale, iar stările nespeciale nu sunt luate în considerare în timpul modelării. „Principiul face posibil ca un număr de sisteme să reducă semnificativ costul timpului de calculator pentru implementarea algoritmilor de modelare în comparație cu „principiul”. „principiul” numai prin aceea că include o procedură pentru determinarea momentului de timp corespunzător următoarelor sisteme speciale de stare S. Pentru a studia procesul de funcționare a sistemelor mari, este rațional să se utilizeze principiul combinat al construirii algoritmilor de modelare, combinând 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 de procese de funcționare a sistemelor și a programelor de calculator este o diagramă. În diferite etape de modelare, sunt compilate diagrame logice generalizate și detaliate ale algoritmilor de modelare, precum și diagrame de program.

Diagrama generalizată (mărită) a algoritmului de modelare specifică procedura generală de modelare a sistemului fără detalii clarificatoare. Diagrama generalizată arată ce trebuie făcut la următorul pas de modelare, de exemplu, accesarea senzorului de numere aleatorii.

Diagrama detaliată a algoritmului de modelare conține clarificări care lipsesc în schema generalizată. O diagramă detaliată arată nu numai ce ar trebui făcut la următorul pas al modelării sistemului, ci și cum se face.

Diagrama logică a algoritmului de modelare reprezintă structura logică a modelului procesului de funcționare a sistemului S. Diagrama logică indică o succesiune ordonată în timp de operații logice asociate cu rezolvarea problemei de modelare.

Diagrama programului afișează ordinea implementării software a algoritmului de modelare folosind software-ul matematic specific. O diagramă de program este o interpretare a diagramei logice a unui algoritm de modelare de către un dezvoltator de program pe baza unui limbaj algoritmic specific. Diferența dintre aceste scheme este că diagrama logică reflectă structura logică a modelului procesului de funcționare a sistemului, iar diagrama programului reflectă logica implementării mașinii a modelului folosind instrumente de modelare software și hardware specifice.

Diagrama logică a algoritmului și diagrama programului pot fi implementate atât în ​​formă extinsă, cât și detaliată. Pentru a desena aceste diagrame, se utilizează un set de simboluri, definite de GOST 19.701 - 90 (ISO 5807 - 85) „Sistem unificat de documentare a programului.

Scheme de algoritmi, programe, date și sisteme.

Convenții și reguli de execuție.” Unele dintre cele mai frecvent utilizate simboluri î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ă funcția de prelucrare a datelor de orice fel (efectuarea unei anumite operațiuni sau grup de operațiuni, care duce la modificarea valorii, formei sau plasării informațiilor sau la determinarea carei dintre mai multe direcții de curgere ar trebui mutate); simboluri specifice procesului: b - decizie - simbolul reprezintă o funcție de decizie sau de tip comutator având o singură intrare și un număr de ieșiri alternative, dintre care una și numai una poate fi activată după evaluarea condițiilor definite în cadrul acestui simbol (rezultatele calculului corespunzătoare pot fi înregistrate adiacente cu linii reprezentând aceste căi); c - pregătire - simbolul afișează modificarea unei comenzi sau a unui grup de comenzi pentru a influența o funcție ulterioară (setarea unui comutator, modificarea unui registru index sau inițializarea unui program); d - proces predefinit - simbolul afișează un proces predefinit format din una sau mai multe operații sau pași de program care sunt definiți în altă parte (într-o subrutină, modul); d - operare manuala - simbolul afiseaza orice proces efectuat de o persoana; simboluri speciale: e - conector - simbolul afișează ieșirea într-o parte a circuitului și intrarea dintr-o altă parte a acestui circuit și este folosit pentru a rupe linia și a o continua în alt loc (simbolurile conectorului corespunzătoare trebuie să conțină aceeași denumire unică ); g - terminator - simbolul afișează ieșirea în mediul extern și intrarea din mediul extern (începutul sau sfârșitul diagramei algoritmului, utilizare externă sau destinația datelor).

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

Un exemplu de imagine a diagramei algoritmului de modelare este prezentată în Fig. 3.3, h.

De obicei, o diagramă este cea mai convenabilă formă de reprezentare a structurii algoritmilor de modelare. În unele cazuri, se folosesc alte forme de reprezentare a algoritmilor de modelare, de exemplu, forma diagramelor grafice (Fig. 3.3, i). Aici este începutul, - sfârșitul, - calculul, - formarea, - verificarea condiției, - contor, - ieșirea rezultatului, , unde este numărul total de operatori ai algoritmului de modelare. Ca o explicație a diagramei grafice a algoritmului, textul oferă o dezvăluire a conținutului operatorilor, ceea ce simplifică prezentarea algoritmului, dar complică lucrul cu acesta.

Algoritmii de modelare pot fi reprezentați și ca diagrame operator. Notarea operatorilor într-o astfel de diagramă corespunde notației pentru diagramele grafice. Pentru exemplul luat în considerare, diagrama operatorului algoritmului are forma

Ne vom familiariza mai detaliat cu forma de reprezentare a structurii logice a algoritmilor de modelare și a programelor de mașină 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 un computer.

Subetape ale celei de-a doua etape de modelare.

Să luăm în considerare subetapele efectuate în timpul algoritmizării modelului de sistem și implementării mașinii acestuia, acordând o atenție deosebită sarcinilor fiecărei subetape și metodelor de rezolvare a acestora.

2.1. Construirea unei diagrame logice a modelului. Se recomandă construirea modelului conform principiului blocului, adică sub forma unui anumit set de blocuri standard. Construirea unui model de sisteme S din astfel

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

2.2. Obținerea de relații matematice. Concomitent cu executarea subetapei de construire a unei diagrame 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. Această subetapă corespunde specificării implicite a posibilelor relații matematice la etapa de construire a unui model conceptual. La efectuarea primei etape, este posibil să nu existe încă informații despre tipul specific de astfel de relații matematice, iar în a doua etapă este deja necesară obținerea acestor relații. Diagrama modelului de mașină trebuie să fie o reflectare completă a conceptului inerent modelului și să aibă: a) o descriere a tuturor blocurilor modelului cu numele acestora; b) un sistem unificat de notare și numerotare a blocurilor; c) reflectarea logicii modelului procesului de funcționare a sistemului; d) precizarea relaţiilor matematice în formă explicită.

Astfel, în cazul general, modelul de mașină construit al sistemului va fi de natură combinată, adică reflectă abordarea analitic-simulare, atunci când o parte a procesului din sistem este descrisă analitic, iar cealaltă parte este simulată prin algoritmi.

2.3. Verificarea fiabilității modelului sistemului. Această verificare este prima dintre verificările efectuate în timpul fazei de implementare a modelului. Întrucât modelul este o descriere aproximativă a procesului de funcționare a unui sistem real S, atunci până la probarea fiabilității modelului nu se poate afirma că cu ajutorul lui se vor obține rezultate care coincid cu cele care ar putea fi obținute în cursul unei experiment la scară completă cu un sistem real S. Prin urmare, determinarea validității unui model poate fi considerată cea mai importantă problemă în modelarea sistemului. Gradul de încredere în rezultatele obținute prin metoda modelării depinde de soluția acestei probleme. Testarea modelului la subetapa luată în considerare ar trebui să răspundă la întrebarea în ce măsură diagrama logică a modelului de sistem și relațiile matematice utilizate reflectă proiectarea modelului format în prima etapă. În acest caz se verifică: a) posibilitatea

rezolvarea problemei; b) acuratețea reflectării designului în diagrama logică; c) completitudinea diagramei logice a modelului; d) corectitudinea relaţiilor matematice folosite.

Numai după ce dezvoltatorul este convins de verificarea corespunzătoare a corectitudinii tuturor acestor prevederi putem considera că există o diagramă logică a modelului de sistem 5, potrivită pentru lucrările ulterioare privind implementarea modelului pe un computer.

2.4. Selectarea instrumentelor de modelare.În această etapă, este necesar să se rezolve în sfârșit problema ce computer (calculator, AVM, GVK) și ce software este recomandabil să utilizați pentru a implementa modelul sistemului S. În general, alegerea instrumentelor de calcul poate fi efectuată la subetapele anterioare, dar subetapa luată în considerare este ultima, când această alegere trebuie făcută în cele din urmă, deoarece în caz contrar vor apărea dificultăți în realizarea lucrărilor ulterioare privind implementarea modelului. Problema alegerii unui computer se rezumă la îndeplinirea următoarelor cerințe:

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

2.5. Întocmirea unui plan pentru efectuarea lucrărilor de programare. Un astfel de plan ar trebui să ajute la programarea modelului, ținând cont de estimările volumului programului și de costurile forței de muncă pentru pregătirea acestuia. Planul atunci când se utilizează un computer universal ar trebui să includă: a) selectarea unui limbaj (sistem) de programare pentru model; b) indicarea tipului de calculator și a dispozitivelor necesare modelării; c) evaluarea cantității aproximative de memorie RAM și memorie externă necesară; d) costurile estimate de timp de calculator pentru modelare; e) timpul estimat petrecut la programarea și depanarea programului pe un computer.

2.6. Specificarea și construcția diagramei programului. O specificație de program este o reprezentare oficială a cerințelor unui 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 indica modul de realizare a acesteia. Prezența unei diagrame bloc logice a modelului vă permite să construiți o diagramă de program care să reflecte: a) împărțirea modelului în blocuri, subblocuri etc.;

b) caracteristici de programare a modelului; c) efectuarea modificărilor necesare; d) capabilități de testare a programelor; e) evaluarea costurilor de timp de calculator; f) forma de prezentare a datelor de intrare și de ieșire.

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

scop sau limbaj de modelare (de exemplu, SIMULA, SIMSCRIPT, GPSS).

2.7. Verificarea și verificarea fiabilității schemei programului. Verificarea programului este dovada că comportamentul programului este conform cu specificațiile programului. 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ă încredere că schema de program, conform căreia se va efectua programarea ulterioară, conține erori care o fac inadecvată schemei logice a modelului și, prin urmare, inadecvat obiectului de modelare în sine. În acest caz, se verifică conformitatea fiecărei operații prezentate în diagrama programului cu o operație similară în diagrama logică a modelului.

2.8. Efectuarea programării modelelor. Cu o diagramă a programului suficient de detaliată care reflectă toate operațiunile circuitului logic al modelului, puteți începe programarea modelului. Dacă există un design adecvat de program, atunci programarea este o sarcină numai pentru programator, fără participarea sau asistența dezvoltatorului de modele. Când se utilizează pachete de aplicații de modelare, sunt generate direct programe de lucru pentru modelarea unui obiect specific, adică modelul este programat într-un mod automat.

2.9. Verificarea valabilității programului. Aceasta este ultima verificare în etapa de implementare automată a modelului, care trebuie efectuată: a) prin translatarea inversă a programului în circuitul original; b) testarea părților individuale ale programului la rezolvarea diferitelor probleme de testare; c) combinarea tuturor părților programului și testarea lui ca întreg pe un exemplu de testare de modelare a unei variante a sistemului S.

La acest subpas, este de asemenea necesar să se verifice estimările timpului de calculator necesar pentru simulare. De asemenea, este util să se obțină o aproximare analitică destul de simplă a dependenței costurilor de timp pe calculator de numărul de implementări, ceea ce va permite dezvoltatorului modelului (clientului) să formuleze corect cerințele pentru acuratețea și fiabilitatea rezultatelor modelării.

2.10. Întocmirea documentației tehnice pentru etapa a doua. Pentru finalizarea etapei de implementare pe mașină a modelului, este necesară întocmirea documentației tehnice care să cuprindă: a) o diagramă logică a modelului și descrierea acestuia; b) o diagramă de program adecvată și o notație acceptată; c) textul integral al programului; d) lista cantităților de intrare și de ieșire cu explicații; e) instrucțiuni de lucru cu programul; f) evaluarea costurilor de timp pe calculator pentru modelare, cu indicarea resurselor informatice necesare.

Astfel, în această etapă, se elaborează o diagramă a modelului de sistem S, se realizează algoritmizarea și programarea acestuia.

folosind instrumente software și hardware specifice, adică se construiește un model de mașină cu care să lucreze pentru a obține rezultatele de modelare necesare pentru a evalua caracteristicile procesului de funcționare a sistemului S (sarcina de analiză) sau pentru a găsi structuri, algoritmi și parametri optimi a sistemului S (sarcina de sinteză).


Întârzieri ale tranzacțiilor la o oră specificată. Modelarea statică este folosită pentru a descrie comportamentul unui obiect în orice moment în timp. Modelarea dinamică reflectă comportamentul unui obiect în timp. Modelarea discretă este utilizată pentru a afișa un obiect la un anumit moment în timp.


Distribuiți-vă munca pe rețelele sociale

Dacă această lucrare nu vă convine, în partea de jos a paginii există o listă cu lucrări similare. De asemenea, puteți utiliza butonul de căutare


Alte lucrări similare care vă pot interesa.vshm>

9929. Metode algoritmice de protecție a informațiilor 38,36 KB
Pentru ca aceste sisteme să funcționeze corect și în siguranță, securitatea și integritatea lor trebuie menținute. Ce este criptografia Criptografia este știința cifrurilor a fost clasificată de mult timp deoarece a fost folosită în principal pentru a proteja secretele de stat și militare. În prezent, metodele și mijloacele criptografice sunt folosite pentru a asigura securitatea informațiilor nu numai a statului, ci și a persoanelor private din organizații. În timp ce algoritmii criptografici pentru consumatorul mediu sunt un secret bine păzit, deși mulți deja...
1927. Modelarea sistemului 21,47 KB
În sala de calculatoare a studenților există două minicalculatoare și un dispozitiv de pregătire a datelor (DPD). Elevii vin la intervale de 8±2 minute și o treime dintre ei vor să folosească UPD și computere, iar restul doar computere. Coada admisă în sala de calculatoare este de patru persoane, inclusiv persoana care lucrează la UPD.
1974. MODELAREA SURFACEȚEI 233,46 KB
Modelul de suprafață și digital Baza pentru reprezentarea datelor de pe suprafața pământului este modelele digitale de elevație. Suprafețele sunt obiecte care sunt cel mai adesea reprezentate prin valori de înălțime Z distribuite pe o zonă definită de coordonatele X și Y, un mijloc de reprezentare digitală a reliefului suprafeței pământului. Colectarea de perechi stereo de imagini necesită multă muncă și necesită un software specific, dar în același timp vă permite să oferiți gradul dorit de detaliu în reprezentarea suprafeței pământului.
2156. Simularea luminii 125,57 KB
Pentru un observator situat în orice punct, luminozitatea punctului pe care îl vede va fi exprimată după cum urmează. unde V este luminozitatea pentru h b; E reflectanța suprafeței albedo. În comparație cu metoda lui Lambert, acest model reduce luminozitatea punctelor pe care le privim la un unghi de 90 și mărește luminozitatea acelor puncte pe care le privim casual Aplicarea legilor luminii în sinteza unui obiect imagine. 7 Luminozitatea este calculată într-un punct, de exemplu, la centrul de greutate pentru poligoane cu fețe convexe conform Lambert și...
8080. Modelare ternară 18,3 KB
Simulare ternară Simularea ternară este utilizată pe scară largă pentru a identifica cursele de semnal care pot apărea într-un circuit. Modelarea setului de intrare are loc în 2 etape. Exemplu: se realizează modelarea logică ternară folosind metoda E Modelarea ternară cu incertitudine crescândă În acest algoritm, pentru fiecare LT, este indicată valoarea maximă și minimă a întârzierii t.
6675. Modelare prin simulare 56,71 KB
Acest proces constă din două etape mari: dezvoltarea modelului și analiza modelului dezvoltat. Modelarea vă permite să explorați esența proceselor și fenomenelor complexe prin experimente nu cu un sistem real, ci cu modelul său. În domeniul creării de noi sisteme, modelarea este un mijloc de explorare a caracteristicilor importante ale unui viitor sistem în primele etape ale dezvoltării sale.
5651. Simularea sistemului de producție 391,61 KB
Calculatorul este implicat în controlul echipamentelor tehnologice. Pentru a monitoriza starea echipamentului, unul dintre cele trei tipuri de sarcini este lansat la fiecare 20 de minute. La fiecare 5 minute de funcționare a procesorului, fiecare sarcină trimite rezultatele muncii sale în baza de date
4640. MODELAREA NODURILOR DIGITALE 568,49 KB
Pe cipurile LSI-urilor moderne este posibil să plasați multe blocuri funcționale ale computerelor vechi împreună cu circuite de interconectare. Dezvoltarea și testarea unor astfel de cristale este posibilă numai folosind metode de modelare matematică folosind computere puternice.
6206. Modelarea în cercetarea științifică 15,78 KB
Metoda de modelare a secolului al XX-lea a adus un mare succes și recunoaștere în aproape toate ramurile științei moderne. Cu toate acestea, metodologia de modelare a fost dezvoltată de mult timp independent de științe individuale. Numai treptat a început să se realizeze rolul modelării ca metodă universală de cunoaștere științifică.
3708. Modelare folosind spline 465,08 KB
Ele determină, de asemenea, gradul de curbură al segmentelor spline adiacente acestor vârfuri. Segmentul este partea liniei spline dintre două vârfuri adiacente. 3ds Mx utilizează patru tipuri de vârfuri: Colț un vârf ale cărui segmente adiacente nu au curbură; Smooth Un vârf neted prin care curba spline este trasată cu o îndoire și are aceeași curbură a segmentelor de pe ambele părți ale acesteia; Bezier Un vârf Bezier este similar cu un vârf neted, dar vă permite să controlați curbura segmentelor spline de fiecare parte a vârfului....

Modelare, algoritmizare și programare

În prezent, ponderea muncii mentale în activitățile fiecărei persoane este în creștere, este necesar să se rezolve probleme practice legate de prelucrarea, stocarea și transmiterea informațiilor. În același timp, numărul persoanelor angajate profesional în activitatea de informare este în creștere. Pentru a-l automatiza, un computer este folosit ca instrument universal de lucru cu informații.

Rezolvarea problemei folosind un computer implică următoarele: etape:

Să aruncăm o privire mai atentă la fiecare dintre etapele enumerate.

1. Enunțarea problemei. Construirea unui model de informare

De regulă, problemele practice sunt formulate destul de clar din punctul de vedere al utilizatorului, dar o astfel de formulare nu are suficientă claritate și rigoare.

Pentru ca o astfel de problemă să fie rezolvată folosind un computer, este necesar să completați declarația problemei:

Pentru aceasta este important să se determine proprietăţile esenţiale ale obiectelor şi fenomenelor, care sunt discutate în problemă, și le neglijează pe cele neimportante.

Uneori acest lucru este uitat. De exemplu, dacă o problemă necesită determinarea zonei suprafeței superioare a unei mese (blat de masă), fără ezitare, ei spun că este necesar să se măsoare lungimea și lățimea. Cu toate acestea, o proprietate esențială a mesei poate fi aceea că este rotundă, atunci este dificil să vorbim despre lungime și lățime. În plus, chiar dacă se stabilește că blatul are o formă dreptunghiulară, trebuie convenit că micile nereguli nu au un efect semnificativ asupra dimensiunii zonei.

În exemplul tabelului dreptunghiular, lungimea și lățimea nu pot fi numere negative și nici nu pot fi nerealist de mari sau mici.

Toate aceste formulare de informații model de informare a sarcinii .

Principala proprietate a modelului este de a simplifica fenomenul studiat, păstrându-i în același timp proprietățile esențiale. Un model informațional al unei sarcini poate fi numit informații despre obiectele și fenomenele care apar în sarcină, semnificative din punct de vedere al sarcinii și înregistrate sub formă de text, numeric sau altă formă de semnal.

Pași pentru construirea unui model informațional:

Să definim conceptul de „model” și posibilele clasificări.

Un model este o descriere formalizată a unui obiect, a unui sistem de obiecte, a unui proces sau a unui fenomen, exprimată prin relații matematice, un set de numere și (sau) texte, grafice, tabele, formule verbale etc.

Procesul de creare (și uneori de cercetare) a unui model se numește modelare.

Metoda cunoașterii, care constă în studierea unui obiect după proprietățile sale, se numește modelare.

Clasificarea modelului

După domeniul de utilizare

Clasificare luând în considerare factorul timp

Prin metoda de prezentare

Conform formularului de prezentare se pot distinge următoarele tipuri modele informative:

2. Formalizarea sarcinii

În această etapă se întâmplă fixarea modelului informaţional, este selectat formă reprezentare date care formează un model informaţional cel mai convenabil pentru prelucrarea computerizată. Adesea, primele două etape nu au o limită clară și pot fi considerate ca un întreg.

După finalizarea enunțului problemei, se creează un model formalizat, adică se scrie un model informațional descriptiv folosind un limbaj formal, de exemplu matematic.

3. Construirea algoritmului

Conceptul de algoritm este unul dintre conceptele fundamentale ale informaticii. Algoritmizarea, împreună cu modelarea, acționează ca o metodă generală a informaticii.

Algoritmii fac obiectul unui studiu sistematic al disciplinei științifice la granița dintre matematică și informatică, adiacentă logicii matematice - teoria algoritmilor.

Cuvântul „algoritm” în sine provine de la algorithmi, ortografia latină a numelui marelui matematician din secolul al IX-lea al-Khwarizmi, care a formulat regulile pentru efectuarea operațiilor aritmetice. Inițial, algoritmii însemnau doar regulile pentru efectuarea a patru operații aritmetice pe numere cu mai multe cifre.

Un algoritm este o instrucțiune clară și precisă pentru executant pentru a efectua o secvență de acțiuni care vizează atingerea unui scop sau rezolvarea unei probleme.

Conform acestei definiții, rețetele pentru a face orice medicament sau cookie-uri sunt algoritmi. Iar regula ca un pieton să traverseze în siguranță drumul este, de asemenea, un algoritm. În funcție de scopul lor, algoritmii pot fi atât „casnici”, cât și computaționali.

Executor testamentar - acesta este cineva sau ceva care poate efectua un set foarte specific de acțiuni. Are următoarele proprietăți:

Întregul set de comenzi pe care le poate executa un anumit executant se numește sistemul de comandă al executorului (SCS).

Performanță formală algoritmii stau la baza controlului dispozitivelor automate. Într-adevăr, cele mai simple operații în care procesul de rezolvare a unei probleme este împărțit la crearea unui algoritm pot fi implementate de o mașină special creată pentru a executa comenzi individuale ale algoritmului și a le executa în secvența specificată în algoritm.

Cu toate acestea, o persoană poate fi și un interpret formal. Dacă nu știe scopul muncii pe care o face, va trebui să urmeze cu strictețe instrucțiunile.

Calculatorul este executantul formal al algoritmilor. Pentru ca el să rezolve problema în strictă conformitate cu instrucțiunile, trebuie să primească un algoritm de soluție. Astfel, algoritmul este informația de control.

Proprietățile algoritmilor

Discretitatea algoritmului

Execuția algoritmului este împărțită într-o secvență de indivizi trepte. Efectuați fiecare pas instrucționat echipă. Astfel, algoritmul este o secvență de comenzi care determină acțiunile executantului. Algoritmul are o structură intermitentă (discretă): numai după executarea unei comenzi, executantul poate începe să execute următoarea. Această proprietate se numește discreție.

Claritatea algoritmului

Un algoritm compus corect conține doar acele comenzi care sunt incluse în sistemul de comandă al interpretului pentru care a fost scris. Această proprietate se numește înțelegere .

Acele comenzi pe care executantul le poate executa sunt considerate de înțeles pentru executant.

De exemplu, o persoană care nu știe cum să adauge numere cu o singură cifră (care nu cunoaște tabelul de adunare) nu va putea folosi procedura de adăugare a numerelor cu mai multe cifre descrisă de al-Khwarizmi.

Precizia algoritmului

O proprietate importantă a algoritmului este acuratețe (certitudine, lipsă de ambiguitate).Fiecare comandă a algoritmului trebuie să fie percepută clar de către executant și să implice o anumită acțiune. După ce a finalizat un pas al algoritmului, executantul trebuie să știe exact ce pas să efectueze în continuare. Un exemplu de algoritm inexact este expresia dintr-o rețetă „adăugați 2-4 linguri de zahăr” sau dictonul clasic „executarea nu poate fi iertată”.

Eficiența și caracterul finit al algoritmului

Executarea algoritmului trebuie să conducă la obținerea unui rezultat (proprietate eficacitate) într-un număr finit de pași (proprietatea de finitudine).

Masivitatea algoritmului

Este de dorit ca algoritmul să satisfacă proprietatea masei , acestea. ar putea fi folosit pentru a rezolva nu numai o problemă specifică, ci și o anumită clasă de probleme similare.

De exemplu, regula pentru adăugarea numerelor cu mai multe cifre nu depinde de numărul de cifre din termeni sau de compoziția lor digitală. Funcționează chiar dacă numărul nu este reprezentat în sistemul numeric zecimal, ci în sistemul numeric pozițional cu orice bază întreagă.

Modalități de a scrie algoritmi

În practică, cele mai comune forme de algoritmi de fixare sunt:

Metoda verbală

Pentru o persoană, metoda principală este verbală.

De exemplu. Scrieți un algoritm pentru găsirea celui mai mare divizor comun (MCD) a două numere naturale.

Algoritmul ar putea fi după cum urmează:

setați două numere;

dacă numerele sunt egale, luați oricare dintre ele drept răspuns și opriți-vă, în caz contrar continuați executarea algoritmului;

determinați cel mai mare dintre numere;

înlocuiți numărul mai mare cu diferența dintre numerele mai mari și cele mai mici;

repetați algoritmul de la pasul 2.

Algoritmul descris este aplicabil oricăror numere naturale și ar trebui să conducă la o soluție a problemei. Convingeți-vă de acest lucru utilizând acest algoritm pentru a determina cel mai mare divizor comun al numerelor 125 și 75.

Metoda verbală nu este răspândită din următoarele motive:

Pseudo cod

Pseudocod este un sistem de notație și reguli pentru înregistrarea uniformă și precisă a algoritmilor.

Pseudocodul este orientat spre om, dar facilitează traducerea într-un limbaj de programare, deoarece necesită respectarea anumitor reguli de scriere. Un exemplu de pseudocod este un limbaj algoritmic școlar.

Rețineți că există o diferență între conceptele de „limbaj algoritmic” și „limbaje de programare”; În primul rând, în limbajul algoritmic, un interpret poate însemna nu numai un computer, ci și un dispozitiv pentru lucrul „în mediu”. Un program scris într-un limbaj algoritmic nu este neapărat destinat unui computer. Implementarea practică a unui limbaj algoritmic este o problemă separată în fiecare caz specific.

Ca orice limbă, un limbaj algoritmic are propriul său vocabular. Baza acestui dicționar este alcătuită din cuvintele folosite pentru a scrie comenzi incluse în sistemul de comandă al executorului unui anumit algoritm. Astfel de comenzi se numesc comenzi simple. Într-un limbaj algoritmic, sunt folosite cuvinte, al căror sens și metodă de utilizare sunt specificate o dată pentru totdeauna. Aceste cuvinte se numesc cuvinte de serviciu. Utilizarea cuvintelor funcționale face ca înregistrarea algoritmului să fie mai vizuală, iar forma de prezentare a diverșilor algoritmi o face mai uniformă.

Un algoritm scris într-un limbaj algoritmic trebuie să aibă un nume. Este recomandabil să alegeți numele, astfel încât să fie clar ce problemă descrie acest algoritm. Pentru a evidenția numele algoritmului, scrieți cuvântul de serviciu ALG (ALGORITHM) în fața acestuia. După numele algoritmului (de obicei pe o linie nouă) sunt comenzile acestuia. Pentru a indica începutul și sfârșitul algoritmului, comenzile acestuia sunt incluse într-o pereche de cuvinte de serviciu START (START) și CON (END). Comenzile sunt scrise secvenţial.

Secvența de înregistrare a algoritmului:

ALG numele algoritmului

serie de comenzi de algoritm

Reprezentarea grafică a algoritmilor

Un algoritm compilat pentru un anumit interpret poate fi reprezentat în diverse moduri: folosind o descriere grafică sau verbală, sub formă de tabel, sau o succesiune de formule scrise într-un limbaj algoritmic (limbaj de programare). Să ne uităm la descrierea grafică a algoritmului numită diagramă bloc . Această metodă are o serie de avantaje datorită clarității sale, care asigură, în special, o „lizibilitate” ridicată a algoritmului și afișarea explicită a controlului în acesta.

În primul rând, să definim conceptul de organigramă.

O diagramă de flux este un grafic direcționat care indică ordinea în care sunt executate comenzile unui algoritm.

O diagramă de flux este o reprezentare grafică a unui algoritm.

În organigramă, fiecare tip de acțiune (introducerea datelor inițiale, calcularea valorilor expresiilor, verificarea condițiilor, controlul repetiției acțiunilor, finalizarea procesării etc.) corespunde figură geometrică , reprezentat ca simbol bloc. Caracterele blocate se conectează linii de tranziție , stabilirea ordinii de executare a acţiunilor.

În diagrama bloc, acțiunile algoritmului (blocuri) sunt reprezentate de următoarele figuri geometrice:

Pentru a organiza acțiunile într-un algoritm se folosesc diverse forme, numite structuri algoritmice. Există trei structuri algoritmice principale: urmărire, ramificare și buclă. În matematică, s-a dovedit o teoremă că orice algoritm poate fi compilat folosind doar aceste trei construcții algoritmice, deși există și alte construcții care scurtează notația algoritmului, simplifică lucrul cu acesta și îl fac mai ușor de înțeles.

Urmărirea construcției (algoritm liniar)

Urmăriți designul – aceasta este o formă de organizare a acțiunilor când acțiunile sunt efectuate secvenţial, una după alta.

Aici seria de comenzi poate fi:

De fapt, fiecare algoritm poate fi împărțit în blocuri destul de mari, care vor include toate obiectele enumerate mai sus într-o ordine diferită, iar din astfel de blocuri poate fi compilat un algoritm liniar.

Exemplu

Sarcină: calculați aria unui cerc dacă raza este cunoscută.

Dat: R - raza cercului.

Găsi: S este aria cercului.

Soluţie: S=3,14 R2

Să alegem limba rusă pentru a scrie algoritmul în această formă și să scriem o secvență de comenzi, a căror execuție la o anumită valoare a razei ne va permite să găsim zona:

Citiți valoarea R.

Înmulțiți valoarea R cu 3,14.

Înmulțiți rezultatul celei de-a doua acțiuni cu valoarea lui R.

Înregistrați rezultatul ca valoare S.

În limbajul organigramelor

Această formă de notație se bazează pe înlocuirea comenzilor algoritmice tipice cu anumite figuri geometrice. Algoritmul pentru rezolvarea acestei probleme este următorul (vezi figura).

Design de ramificație

Design de ramificație este o formă de organizare a acțiunilor în care, în funcție de îndeplinirea (neîndeplinirea) unei anumite condiții, se execută una din două serii de comenzi.

Dacă< condiție >

Acea< echipa seria 1 >

in caz contrar< echipa seria 2 >

capăt de ramură

Exemplu

Sarcină: calculati

Dat: x – valoarea argumentului.

Găsi: y – valoarea funcţiei.

Soluţie:

X dacă x<0

Apariția diagramei grafice rezultate (vezi figura) explică de ce algoritmul corespunzător acesteia a fost numit ramificare.

Hai să o facem prezentare verbală a acestui algoritm.

start

Dacă x>0, atunci

y: = x

in caz contrar

start

Y: = -x

Capătul ramurii

Notează valoarea

Sfârşit

A evidentia construcție condiționată completă și incompletă.

Să introducem notația:

Q – stare;

P 1 , P 2 , … P N – acțiuni care sunt efectuate dacă condiția este adevărată;

T 1 , T 2 , … T N - acțiuni care se efectuează dacă condiția este falsă.

Diagrama bloc și algoritmul arată astfel (vezi tabelul):

Condiționale

Deplin

Incomplet

P 1

R 2

P N

in caz contrar

T 1

T 2

T N

Capătul ramurii

P 1

R 2

P N

Sfârșitul ramificării.

Proiectare buclă

Proiectare buclă este o formă de organizare a acțiunilor în care aceeași succesiune de acțiuni se repetă de mai multe ori.

Sunt numite acțiuni care trebuie repetate de mai multe ori corpul buclei . Corpul buclei este o serie de comenzi. Algoritmul trebuie să conțină întotdeauna un pointer care separă corpul buclei de partea principală a algoritmului.

Există două tipuri principale de bucle: o buclă cu un parametru și o buclă cu o condiție.

Buclă cu parametru

Se folosește atunci când numărul de repetări este cunoscut dinainte.

în care parametru (variabila buclă) se modifică de la valoarea sa inițială la valoarea finală cu un pas dat și determină numărul de repetări.

Scrierea unei bucle cu un parametru în limbaj algoritmic arată astfel:

etapa finală inițială

Pentru <имя параметра> din < значение > inainte de < значение > Etapa <изменения>

parametru parametru parametru

<тело цикла>

Bucla cu condiție

Se folosește atunci când numărul de repetări este necunoscut în prealabil și depinde de îndeplinirea unei anumite condiții.

Există cicluri cu precondiție si cu postcondiție .

Buclă cu precondiție ciclu ("pa")

Condiția este verificată înainte de următoarea execuție a corpului buclei.

Înregistrat în limbaj algoritmic și sub forma unei diagrame bloc:


Pa<условие>

< тело цикла >

Atâta timp cât condiția este îndeplinită (expresia logică corespunzătoare are valoarea „adevărat”), se repetă execuția corpului buclei . Imediat ce condiția nu mai este îndeplinită, execuția buclei se oprește (falsă ieșire).

Dacă condiția nu este îndeplinită inițial, corpul buclei nu poate fi executat nici măcar o dată.

Bucla cu postcondiție(ciclu „înainte”)

Condiția este verificată după următoarea execuție a corpului buclei, adică. Corpul buclei va fi cu siguranță executat cel puțin o dată.


repeta

< тело цикла >

inainte de< условие >



Corpul buclei este executat dacă condiția nu este îndeplinită(expresia logică corespunzătoare este evaluată drept „fals”). De îndată ce condiția este îndeplinită, execuția corpului buclei se oprește (exit true).



4. Programare

Pentru ca un algoritm să fie executat de un computer, trebuie să fie scris într-o limbă pe care o înțelege. Totuși, computerul percepe și poate procesa doar coduri binare (secvențe de zerouri și unu). Prin urmare, datele și comenzile inițiale ale algoritmului trebuie reprezentate în coduri binare. Cu toate acestea, acest lucru este foarte incomod pentru oameni, astfel încât limbaje au fost dezvoltate concepute pentru a scrie algoritmi care, pe de o parte, sunt aproape de limbajele naturale și, pe de altă parte, sunt construite după reguli destul de stricte, astfel încât algoritmii scrise în ele pot fi traduse automat conform regulilor formale în coduri binare. Se numesc astfel de limbi limbaje de programare, iar un algoritm scris într-un astfel de limbaj (la fel ca un algoritm scris în coduri binare) se numește program.

Odată cu apariția computerelor personale, etapa de compilare a unui algoritm este în multe feluri conectată cu etapa de programare, precum și cu etapa următoare.

Tehnologii de programare

Programare algoritmică (modulară).

Ideea principală a programării algoritmice este împărțirea programului în succesiune de module, fiecare dintre acestea efectuând unul sau mai multe actiuni. Singura cerință pentru un modul este ca execuția sa să înceapă întotdeauna cu prima comandă și să se termine întotdeauna cu ultima (adică, astfel încât să fie imposibil să accesați comenzile modulului din exterior și să transferați controlul de la modul la alte comenzi, ocolindu-l pe cel final).

Algoritmul în limbajul de programare selectat este scris cu folosind comenzi de descriere a datelor, calcule de valoriȘi controlul secvenței programului.

Textul programului este o secvență liniară de atribuire, buclă și instrucțiuni condiționale. În acest fel, puteți rezolva probleme nu foarte complexe și puteți crea programe care conțin câteva sute de linii de cod.

Acest tip de programare folosește următoarele: elemente:

Programare structurată

Când creăm aplicații de dimensiuni medii (câteva mii de linii de cod sursă), folosim programare structurată, ideea despre care este aceea structura programului ar trebui să reflecte structura problemei care se rezolvă astfel încât algoritmul de soluție să fie clar vizibil din textul sursă. Pentru a face acest lucru, trebuie să aveți mijloacele pentru a crea un program nu numai folosind trei instrucțiuni simple, ci și folosind instrumente care reflectă mai precis structura specifică a algoritmului. În acest scop, conceptul a fost introdus în programare subrutine - un set de operatori care efectuează acțiunea dorită și sunt independenți de alte părți ale codului sursă. Programul este împărțit în multe subrutine mici (luând până la 50 de instrucțiuni - un prag critic pentru înțelegerea rapidă a scopului subrutinei), fiecare dintre ele efectuând una dintre acțiunile specificate în sarcina originală. Prin combinarea acestor subrutine, este posibil să se formeze algoritmul final nu din operatori simpli, ci din blocuri complete de cod care au o anumită semnificație semantică, iar astfel de blocuri pot fi denumite prin nume. Se pare că subrutinele sunt noi operatori sau operații de limbaj definite de programator.

Abilitatea de a utiliza subrutine clasifică un limbaj de programare ca o clasă limbaje procedurale.

Prezența subrutinelor vă permite să proiectați și să dezvoltați aplicația de sus în jos - această abordare se numește design de sus în jos . În primul rând, sunt identificate mai multe subrutine care rezolvă cele mai globale sarcini (de exemplu, inițializarea datelor, partea principală și finalizarea), apoi fiecare dintre aceste module este detaliat la un nivel inferior, defalcându-se la rândul său într-un număr mic de alte subrutine, și asta se întâmplă până când întreaga sarcină nu va fi realizată.

Această abordare este convenabilă deoarece permite unei persoane să gândească în mod constant la nivel de subiect, fără a coborî la operatori și variabile specifice. În plus, devine posibil să nu se implementeze imediat unele subrutine, ci să le amâne temporar până la finalizarea altor părți. De exemplu, dacă este necesar să se calculeze o funcție matematică complexă, atunci o subrutină separată pentru un astfel de calcul, dar este implementată temporar de un operator, care atribuie pur și simplu o valoare preselectată. Odată ce întreaga aplicație este scrisă și depanată, atunci puteți începe să implementați această funcție.

De asemenea, este important ca subrutinele mici să fie mult mai ușor de depanat, ceea ce crește semnificativ fiabilitatea generală a întregului program.

O caracteristică foarte importantă a subrutinelor este capacitatea de a reutilizare . Sistemele de programare integrate vin cu biblioteci mari de rutine standard care pot crește semnificativ productivitatea prin valorificarea muncii altcuiva pentru a crea rutine utilizate în mod obișnuit.

Programare bazată pe evenimente

Cu distribuție activă a sistemului Windows și apariția vizualului RAD - medii, abordarea bazată pe evenimente pentru crearea de programe a câștigat o mare popularitate - programare orientată pe evenimente.

Ideologia sistemului Windows pe baza evenimentelor. O persoană a făcut clic pe un buton, a selectat un element de meniu, a apăsat o tastă sau un buton al mouse-ului Windows este generat un mesaj adecvat , care este trimis în fereastra programului corespunzător. Structura unui program creat folosind programarea evenimentelor este următoarea. Partea principală este o buclă fără sfârșit, care sondajează Windows , urmăriți pentru a vedea dacă a apărut un mesaj nou. Când este detectată, este apelată subrutina responsabilă de procesare evenimentul corespunzător (nu toate evenimentele sunt procesate, sunt sute, ci doar cele necesare), iar un ciclu de sondare similar continuă până când este primit mesajul „Oprire”.

Evenimentele pot fi personalizat , apărute ca urmare a acțiunilor utilizatorului, sistemic , care apar în sistemul de operare (de exemplu, mesaje de la un cronometru) și software , generate de programul însuși (de exemplu, o eroare a fost detectată și trebuie procesată).

Programarea bazată pe evenimente este o dezvoltare a ideilor de design de sus în jos, atunci când reacțiile programului la diferite evenimente sunt determinate și detaliate treptat.

Dezvoltarea ideilor de programare structurată și de evenimente a crescut semnificativ productivitatea programatorilor și a făcut posibilă crearea de aplicații care conțin sute de mii de linii într-un timp rezonabil (câteva luni). Cu toate acestea, acest volum s-a apropiat deja de limita capacităților umane și au fost necesare noi tehnologii de dezvoltare software.

Programare orientată pe obiecte bazate pe concepte obiect , clasă și pe trei concepte cheie - încapsulare , moştenire Și polimorfism .

Conceptul este implementat în limbaje de programare obiect ca un set de proprietăți (structuri de date specifice acestui obiect) și metode prelucrarea lor (rutine pentru schimbarea proprietăţilor) şi evenimente, la care poate reacționa un anumit obiect și care, de regulă, duc la o modificare a proprietăților obiectului.

Obiectele pot avea o structură identică și pot diferi doar prin valorile proprietăților. În astfel de cazuri, programul creează un tip nou bazat pe o singură structură de obiect (similar cu modul în care sunt create tipuri noi pentru structurile de date). Se numeste clasă, iar fiecare obiect specific având structura acestei clase se numește o instanță a clasei .

Fuziunea datelor c metode dintr-un singur tip (clasă). încapsulare. Pe lângă concatenare, încapsularea vă permite să restricționați accesul la datele obiect și implementarea metodelor de clasă. Ca rezultat, programatorii au posibilitatea de a folosi clase gata făcute în aplicațiile lor pe baza doar descrierea acestor clase.

Cea mai importantă caracteristică a unei clase este capacitatea de a crea noi clase pe baza ei moştenire toate proprietățile și metodele sale și adăugându-le pe ale tale. O clasă care nu are predecesor se numește clasă de bază .

De exemplu , clasa „elev” are proprietățile „nume complet”, „an admitere”, metode „participă la ore” și „procesează examene”. Clasa „student part-time” creată pe baza ei moștenește toate aceste proprietăți și metode, la care se adaugă în plus proprietatea „locul de muncă” și metoda „veniți la sesiune”. Moștenirea vă permite să creați noi clase prin reutilizarea codului sursă existent fără a pierde timpul cu rescrierea acestuia.

În cele mai multe cazuri, metodele clasei de bază a claselor descendente trebuie redefinite - un obiect al clasei „student cu normă parțială” efectuează metoda „participă la cursuri” într-un mod complet diferit de un obiect al „studentului cu normă întreagă”. ” clasa. Toate metodele suprascrise vor avea aceeași ortografie (nume) ca și metodele obiectului de bază, dar compilatorul va recunoaște după tipul obiectului (clasa sa) ce metodă specifică ar trebui utilizată și nu va apela metoda „asistență la clase” a clasei „pentru un obiect al clasei „student cu frecvenţă redusă”. Această proprietate a obiectelor de a suprascrie metodele unei clase moștenite și de a le folosi corect este numită polimorfism.

  1. Încapsulare– o combinație a proprietăților unui obiect și a posibilelor operațiuni (metode) asupra acestuia. Combinația de date cu acțiuni permise asupra acestor date duce la „nașterea” unui nou element în proiectarea programelor - un obiect, iar obiectul acționează așa cum este inerent în el și numai pe ceea ce este descris în el. Accesarea datelor unui obiect altfel decât prin acțiunile sale este inacceptabilă. Obiectele care încapsulează aceeași listă de proprietăți și operațiuni sunt combinate în clase . Fiecare obiect individual este instanță a clasei . Instanțele unei clase pot avea valori diferite de proprietate.

De exemplu, sistemul de fișiere al unui computer poate conține sute sau mii de fișiere. Toate fișierele au același set de proprietăți (nume, poziție în sistemul de fișiere) și operațiuni (renumire, mutare sau copiere) și formează clasa de obiecte FILES. Fiecare fișier individual este o instanță a acestei clase și are valori specifice proprietăților (nume, locație etc.).

  1. Moştenire– defineşte relaţia dintre clase: obiecte clasa de copii au toate proprietățile obiectelor clasă-părinte . Adică, fiecare obiect derivat ulterior moștenește proprietățile și acțiunile predecesorilor săi. Mecanismul de moștenire vă permite să redefiniți sau să adăugați date și metode noi pentru procesarea acestora și să creați o ierarhie de clasă.

De exemplu. În editorii de grafică vectorială, o imagine este construită din primitive grafice - un punct, o linie, un cerc etc.

Una dintre primitivele grafice este clasa de obiecte POINT. În această clasă, fiecare obiect are anumite proprietăți (Coordonate, Culoare), asupra cărora sunt posibile operațiuni corespunzătoare (Mutare, Schimbare culoare). Clasa de obiecte POINT poate fi specificată printr-un tabel

Proprietăți

Coordonate (x,y)

In miscare

Schimbarea culorii

Din clasa de obiecte POINT, puteți obține o nouă clasă CIRCLE adăugând o nouă proprietate Radius și operația Change Radius. Clasa de obiecte CIRCLE poate fi specificată ca tabel.

Proprietăți

Coordonate (x,y)

In miscare

Schimbarea culorii

Raza (R)

Schimbarea razei

Toate obiectele clasei CIRCLE moștenesc proprietățile și operațiile clasei POINT. Clasa POINT se numește clasa părinte, clasa CIRCLE este clasa copil. Grafic arata asa:


moştenire

  1. Polimorfismul– capacitatea de a efectua aceleași operații pe obiecte aparținând unor clase diferite, menținând în același timp metode individuale de implementare a acestora pentru fiecare clasă. Adică, aceeași operație pe obiecte din clase diferite poate fi efectuată prin metode diferite.

De exemplu. Majoritatea claselor de obiecte din mediul WINDOWS/OFFICE se caracterizează printr-un set de aceleași operațiuni - redenumire, mutare, copiere, ștergere etc. Mecanismele de implementare a acestor acțiuni sunt diferite pentru diferite clase. Deci, pentru a copia un folder, trebuie să efectuați o secvență de acțiuni pentru a schimba sistemul de fișiere și pentru a copia un simbol, faceți modificări documentului. Aceste operațiuni vor fi efectuate de diverse programe.

Programare vizuală

Tehnologiile de programare a obiectelor, evenimentelor și structurate sunt acum combinate însisteme RAD, care conțin multe clase gata făcute prezentate în formular vizual componente , care sunt adăugate la program cu un singur clic. Programatorul trebuie doar să proiecteze aspectul ferestrelor aplicației sale și să determine procesarea evenimentelor de bază - care operatori vor fi executați atunci când sunt apăsate butoanele, sunt selectate elemente de meniu sau se fac clicuri de mouse. Mediul va genera în sine tot codul sursă auxiliar, permițând programatorului să se concentreze pe deplin doar pe implementarea algoritmului.

Dezvoltarea acestei tehnologii este asociată cu apariția unei interfețe grafice. Aceasta este o tehnologie de dezvoltare a aplicațiilor sub formă de obiecte grafice, cu traducerea lor ulterioară în cod de program. În anii 90 a apărut tehnologia RAD - Rapid Application Development - dezvoltare rapidă a aplicațiilor. Toate elementele de proiectare și control necesare sunt create și menținute nu prin programare manuală, ci folosind componente vizuale gata făcute, care sunt trase în fereastra proiectată cu ajutorul mouse-ului. Proprietățile și comportamentul componentelor sunt configurate folosind editori simpli care arată vizual caracteristicile elementelor corespunzătoare. În acest caz, textul sursă al programului este generat automat de mediul RAD.

Mediile RAD sunt concepute pentru dezvoltarea, cu participarea activă a utilizatorilor, a sistemelor informatice pentru aplicații de afaceri. RAD este conceput pentru a asigura o viteză mare de dezvoltare a sistemului, crescând simultan calitatea produsului software și reducând costul acestuia.

Dintre limbajele de programare universale de astăzi, cele mai populare sunt următoarele:

De bază - necesită pregătire inițială pentru a stăpâni (liceu);

Pascal - necesită pregătire specială (școli cu nivel avansat
studierea disciplinei și universităților tehnice generale);

C++ (C++), Java, C Sharp (C#) - necesită pregătire profesională (instituții de învățământ secundar și superior de specialitate).

Pentru fiecare dintre aceste limbaje de programare, astăzi există multe sisteme de programare produse de diverse companii și care vizează diverse modele de PC și sisteme de operare. Cele mai populare medii vizuale pentru proiectarea rapidă a programelor pentru Windows sunt:

De bază: Microsoft Visual Basic;

Pascal: Borland Delphi;

C++: Microsoft Visual C++;

Java: BorlandJBuilder,

C#: Microsoft Visual Studio .NET, Borland C#Builder.

Pentru a dezvolta aplicații server și distribuite, puteți utiliza sistemul de programare Microsoft Visual C++, produsele Borland și aproape orice instrument de programare în Java.

5. Introducerea programului în memoria computerului. Proba

La marile centre de calcul, atunci când se rezolvă probleme destul de mari și complexe, programele sunt introduse de oameni cu o profesie specială - operatori de calculatoare. Pe lângă introducerea în programe, operatorii pregătesc date - introducând date în memorie, înregistrându-le pe medii externe. Un programator care lucrează pe un PC introduce el însuși programul și datele.

După ce programul a fost introdus, urmează un test de rulare. În cazurile care ar trebui considerate excepționale, programul este executat imediat și produce un anumit rezultat. Mult mai des trebuie să găsiți motivele pentru care programul nu funcționează sau nu funcționează corect și să le corectați - depanați programul.

6. Depanarea și testarea programului

Procesul de găsire și corectare a erorilor într-un program este numit depanare. Pot apărea erori la tastare ca urmare a încălcării regulilor de scriere a programelor într-un limbaj de programare - așa-numitul sintactic erori. Programele instrumentale speciale (programe de control sintaxei) incluse în sistemul de programare ajută la detectarea și corectarea acestora. Sistemul analizează programul și emite un mesaj despre locația și natura erorii. Adesea erorile sunt cauzate de faptul că nu se poate realiza o construcție corectă din punct de vedere sintactic (de exemplu, împărțirea la zero sau încercarea de a atribui o valoare reală unei valori întregi). În acest caz, apare și un mesaj despre motivul eșecului și indică ce comandă specifică nu poate fi executată.

Mult mai greu de găsit erori făcute la compilarea algoritmului, care în cele din urmă duc la funcționarea incorectă a programului: lipsă de rezultat, buclă, rezultat incorect. În acest caz, controlul pas cu pas al execuției programului este util.

Un pas important în procesul de depanare este testarea programe, adică testarea acestuia prin introducerea unui test - un anumit set de date inițiale pentru care rezultatul funcționării blocurilor individuale sau a programului în ansamblu este cunoscut în prealabil.

Adesea, ca parte a dezvoltării unui model de informare, sunt impuse restricții asupra datelor sursă. În acest caz, programul trebuie să reacționeze la introducerea unor valori incorecte: opriți lucrul sau solicitați reintroducerea. De regulă, programul oferă protecție împotriva introducerii de date incorecte sau a altor acțiuni neintenționate ale utilizatorului. Apoi, în timpul procesului de testare, se verifică calitatea unei astfel de protecție.

Capacitatea de a selecta cu succes un test în care este cea mai probabilă o eroare (dacă există) și de a oferi diferite opțiuni pentru cursul procesului de calcul, precum și acțiunile utilizatorului (uneori foarte imprevizibile) și, prin urmare, de a proteja funcționarea programului de orice surprize este o mare abilitate a unui programator.

Cel mai simplu exemplu de testare: dacă programul conține o ramură, i.e. este necesar să se selecteze o metodă de acțiune în funcție de îndeplinirea condiției este necesar să se verifice funcționarea acesteia cu acele date inițiale în care condiția este îndeplinită, și cu cele sub care nu este îndeplinită;

Până de curând, etapele 4, 5 și 6 erau etapele necesare rezolvării unei probleme cu ajutorul computerului. În același timp, limbajele și sistemele de programare au fost instrumentele software cu ajutorul cărora au fost create noi programe pentru a rezolva problemele utilizatorilor. Cu toate acestea, odată cu extinderea gamei de sarcini pentru care se folosește un computer, crește numărul persoanelor care, nefiind programatori profesioniști, folosesc un computer în munca lor.

În acest sens, au fost create diverse instrumente software care stau la baza tehnologia Informatiei, folosit pentru a rezolva o varietate de probleme practice, cum ar fi procesarea de text și foi de calcul, crearea de imagini grafice, accesarea informațiilor stocate într-o bază de date, rezolvarea unei probleme de matematică, calcularea unui proiect tehnic și multe altele. Pentru a le rezolva, utilizatorul de calculator are la dispoziție un software extins.

În procesul de construire a unui model de informare al unei sarcini, utilizatorul stabilește ce acțiuni va trebui să efectueze pentru a obține rezultatul și, în conformitate cu acesta, decide ce instrument software să folosească. Dacă are la dispoziție un program potrivit pentru rezolvarea unei probleme date, atunci utilizatorul îl selectează ca instrument (DBMS, procesor de foi de calcul, pachet matematic etc.). Dacă nu puteți utiliza un software de aplicație gata făcut, va trebui să utilizați tehnologia de programare.

7. Obținerea și analiza rezultatelor

Indiferent de tehnologia utilizată pentru rezolvarea problemelor pe calculator, etapa necesară va fi obținerea și analiza rezultatului: se verifică conformitatea rezultatelor obținute cu ceea ce se așteaptă în cadrul modelului informatic construit al problemei și, de asemenea, se evaluează măsura în care rezultatul obținut se raportează la practica reală.

În această etapă, se dezvăluie în ce măsură modelul informațional construit corespunde realității. Faptul este că, cu cât mai multe proprietăți ale obiectelor și fenomenelor sunt recunoscute ca semnificative și luate în considerare, cu atât modelul reflectă mai mult realitatea. Totuși, luarea în considerare a unui număr mare de caracteristici duce la un model mai complex și la dificultăți în exprimarea matematică a relațiilor dintre caracteristici. De obicei ei încearcă să găsească un echilibru între completitudinea conformării modelului informațional cu starea reală a lucrurilor și complexitatea acestuia în procesul de rafinare a modelului (creșterea treptat a numărului de proprietăți esențiale luate în considerare).

Întrebări de pregătit pentru test pe tema „Modelare, algoritmizare, programare”

    formalizarea și algoritmizarea proceselor de funcționare a sistemelor.

Metodologie de dezvoltare și implementare pe mașină a modelelor de sistem. Construirea modelelor conceptuale de sisteme și formalizarea acestora. Algoritmizarea modelelor de sistem și implementarea lor în mașină. Obținerea și interpretarea rezultatelor modelării sistemului.

Metodologie pentru dezvoltarea și implementarea mașinii a modelelor de sistem.

Modelarea folosind tehnologia computerizată (calculatoare, AVM, GVK) vă permite să studiați mecanismul fenomenelor care apar într-un obiect real la viteze mari sau mici, atunci când este dificil să efectuați experimente la scară completă cu un obiect

(sau imposibil) să urmăriți modificările care au loc

pentru o perioadă scurtă de timp sau atunci când obținerea unor rezultate fiabile necesită un experiment lung.

Esența modelării unei mașini a unui sistem este de a efectua un experiment pe un computer cu un model, care este un anumit complex software care descrie formal și (sau) algoritmic comportamentul elementelor sistemului. Sîn procesul de funcționare a acestuia, adică în interacțiunea lor între ele și mediul extern E.

Cerințele utilizatorului pentru model. Să formulăm cerințele de bază pentru model M S.

1. Completitudinea modelului ar trebui să ofere utilizatorului oportunitatea

obţinerea setului necesar de estimări de caracteristici

sisteme cu precizia și fiabilitatea cerute.

2. Flexibilitatea modelului ar trebui să permită reproducerea

diverse situații la variarea structurii, algoritmilor

și parametrii sistemului.

3. Durata dezvoltării și implementării unui model de sistem mare

ar trebui să fie cât mai minim posibil, ținând cont de restricții

cu resursele disponibile.

4. Structura modelului ar trebui să fie bazată pe blocuri, adică să permită

posibilitatea de a inlocui, adauga si exclude unele piese

fără a relua întregul model.

5. Suportul de informare ar trebui să ofere o oportunitate

operarea eficientă a modelului cu o bază de date de sisteme de un anumit

6. Software-ul și hardware-ul trebuie să asigure o implementare eficientă (din punct de vedere al vitezei și al memoriei) a mașinii

modele și comunicare convenabilă cu acesta de către utilizator.

7. Activitățile vizate trebuie implementate

(planificate) experimente de mașină cu un model de sistem folosind

abordare analitic-simulare în prezența unor resurse de calcul limitate.

La simularea unui sistem

S se determină caracteristicile procesului său de funcţionare

bazat pe model M, construit pe baza initiala existenta

informații despre obiectul de modelare. La primirea de informații noi

despre obiect, modelul acestuia este revizuit și clarificat

luând în considerare informații noi.

Se poate folosi modelarea computerizată a sistemelor

în următoarele cazuri: a) să studieze sistemul Sînainte de proiectare, pentru a determina sensibilitatea caracteristicii la modificări ale structurii, algoritmilor și parametrilor obiectului de modelare și a mediului extern; b) la etapa de proiectare a sistemului S pentru analiza și sinteza diferitelor opțiuni de sistem și selecția dintre opțiunile concurente care ar satisface un anumit criteriu de evaluare a eficacității sistemului în condițiile restricțiilor acceptate; c) după finalizarea proiectării și implementării sistemului, adică în timpul funcționării acestuia, să obțină informații care să completeze rezultatele testelor (exploatării) la scară completă ale sistemului real și să obțină prognoze privind evoluția (dezvoltarea) sistem de-a lungul timpului.

Etapele modelării sistemului:

    construirea unui model conceptual al sistemului și formalizarea acestuia;

    algoritmizarea modelului de sistem și implementarea mașinii acestuia;

    obţinerea şi interpretarea rezultatelor simulării sistemului.

Să enumerăm acești subpași:

1.1-enunțarea problemei modelării mașinii a sistemului (scopuri, sarcini pentru sistemul care se creează, a) recunoașterea existenței problemei și a necesității modelării mașinii;

b) alegerea unei metode de rezolvare a unei probleme, luând în considerare resursele disponibile; c) determinarea dimensiunii sarcinii și a posibilității de împărțire a acesteia în subsarcini.);

1.2 - analiza problemei modelării sistemului (selectarea criteriilor de evaluare, selectarea variabilelor endogene și exogene, selectarea metodelor, efectuarea analizelor preliminare ale etapei a 2-a și a 3-a);

1.3 - determinarea cerințelor pentru informații inițiale despre obiectul de modelare

si organizarea colectarii acesteia (realizat: a) selectia informatiilor necesare despre sistem Sși mediul extern E; b) pregătirea datelor a priori; c) analiza datelor experimentale disponibile; d) selectarea metodelor și mijloacelor de prelucrare preliminară a informațiilor despre sistem);

1.4 - formularea de ipoteze și formularea de ipoteze (despre funcționarea sistemului, despre procesele studiate);

1.5 - determinarea parametrilor și variabilelor modelului (variabile de intrare, variabile de ieșire, parametri de model etc.);

1.6 - stabilirea continutului principal al modelului (structura, algoritmii de comportare a acestuia);

1.7 - justificarea criteriilor de evaluare a eficacității sistemului;

1.8 - definirea procedurilor de aproximare;

1.9 - descrierea modelului conceptual al sistemului (a) modelul conceptual este descris în termeni și concepte abstracte; b) se face o descriere a modelului folosind scheme matematice standard; c) ipotezele și ipotezele sunt în cele din urmă acceptate; d) alegerea procedurii de aproximare a proceselor reale la construirea este justificată

1.10 - verificarea fiabilității modelului conceptual;

1.11 - pregătirea documentației tehnice pentru prima etapă (a) prezentarea detaliată a problemei modelării sistemului S; b) analiza problemei modelării sistemului; c) criterii de evaluare a eficacității sistemului; d) parametrii și variabilele modelului de sistem; e) ipotezele și ipotezele adoptate la construirea modelului; f) descrierea modelului în termeni și concepte abstracte; g) descrierea rezultatelor așteptate ale modelării sistemului S.);

2.1 - construirea unei diagrame logice a modelului (construcția unei diagrame de sistem, de exemplu, conform principiului blocului cu toate blocurile funcționale);

2.2 - obţinerea de relaţii matematice (setarea tuturor funcţiilor care descriu sistemul);

2.3 - verificarea fiabilității modelului sistemului; (bifat: a) posibilitate

rezolvarea problemei; b) acurateţea reflectării planului în logic

sistem; c) completitudinea diagramei logice a modelului; d) corectitudinea

relații matematice utilizate)

2.4 - selectarea instrumentelor pentru modelare (alegerea finală a unui calculator, AVM sau GVM pentru procesul de modelare, ținând cont că acestea vor fi accesibile și vor produce rapid rezultate);

2.5 - întocmirea unui plan de realizare a lucrărilor de programare (definirea sarcinilor și a termenelor de realizare a acestora, a) se are în vedere și alegerea unui limbaj (sistem) de programare pentru model; b) indicarea tipului de calculator și a dispozitivelor necesare modelării; c) evaluarea cantității aproximative de memorie RAM și memorie externă necesară; d) costurile estimate de timp de calculator pentru modelare; e) timpul estimat petrecut pentru programarea și depanarea programului pe un computer.);

2.6 - specificarea și construcția unei diagrame de program (întocmirea unei diagrame bloc logice),

2.7 - verificarea și verificarea fiabilității schemei programului (Verificarea programului - dovada că comportamentul programului este conform cu specificația pentru program);

2.8 - programarea modelului;

2.9 - verificarea fiabilității programului (trebuie efectuată: a) prin transferarea programului înapoi la circuitul original; b) testarea părților individuale ale programului la rezolvarea diferitelor probleme de testare; c) combinarea tuturor părților programului și testarea acestuia ca întreg pe un exemplu de testare de modelare a unei variante a sistemului S) ;

2.10 - intocmirea documentatiei tehnice pentru etapa a doua (a) schema logica a modelului si descrierea acestuia; b) o diagramă de program adecvată și o notație acceptată; c) textul integral al programului; d) lista cantităților de intrare și de ieșire cu explicații; e) instrucțiuni de lucru cu programul; f) evaluarea costurilor de timp pe calculator pentru modelare, cu indicarea resurselor informatice necesare);

3.1 - placarea unui experiment de mașină cu un model de sistem (se întocmește un plan de experiment cu parametrii inițiali și toate condițiile, se determină timpul de simulare);

3.2 - determinarea cerințelor pentru instalațiile de calcul (ce fel de calculatoare sunt necesare și cât timp vor funcționa);

3.3 - efectuarea calculelor de lucru (cuprind de obicei: a) pregătirea seturilor de date inițiale pentru introducerea într-un calculator; b) verificarea datelor sursă pregătite pentru intrare; c) efectuarea de calcule pe calculator; d) obținerea datelor de ieșire, adică rezultate de simulare.);

3.4 - analiza rezultatelor modelării sistemului (analiza datelor de ieșire a sistemului și prelucrarea ulterioară a acestora);

3.5 - prezentarea rezultatelor modelării (diverse reprezentări vizuale sub formă de grafice, tabele, diagrame);

3.6 - interpretarea rezultatelor modelării (tranziția de la informațiile obținute ca urmare a unui experiment de mașină cu un model la un sistem real);

3.7 - însumarea rezultatelor simulării și emiterea de recomandări (se determină principalele rezultate, se testează ipotezele);

3.8 - pregătirea documentației tehnice pentru etapa a treia (a) plan pentru efectuarea unui experiment cu mașina; b) seturi de date inițiale pentru modelare; c) rezultatele modelării sistemului; d) analiza și evaluarea rezultatelor modelării; e) concluzii bazate pe rezultatele modelării obţinute; indicând modalități de îmbunătățire în continuare a modelului de mașină și a posibilelor domenii de aplicare a acestuia).

Astfel, procesul de modelare a sistemului S se rezumă la implementarea subetapelor enumerate, grupate sub forma a trei etape.

În etapa de construire a unui model conceptual Mxși formalizarea acestuia, se efectuează un studiu al obiectului modelat din punctul de vedere al identificării principalelor componente ale procesului de funcționare a acestuia, se determină aproximările necesare și se obține o diagramă generalizată a modelului de sistem. S, care este transformat într-un model de mașină Mm la a doua etapă a modelării prin algoritmizare şi programare secvenţială a modelului.

Ultima a treia etapă a modelării sistemului se rezumă la efectuarea calculelor de lucru pe un computer conform planului primit folosind software și hardware selectat, obținerea și interpretarea rezultatelor modelării sistemului S, ținând cont de influența mediului extern E.

Construirea modelelor conceptuale de sisteme și formalizarea acestora.

La prima etapă a modelării mașinilor - construcție model conceptual Sistemul Mx S și formalizarea lui - formulat modelul și schema sa formală este construită, adică principala scopul acestei etape este trecerea de la o descriere semnificativă

obiect la modelul său matematic, cu alte cuvinte, procesul de formalizare.

Cel mai rațional este să construim un model de funcționare a sistemului conform principiului blocului.

În acest caz, pot fi distinse trei grupuri autonome de blocuri ale unui astfel de model. Blocurile din primul grup reprezintă un simulator de influențe ale mediului E la sistemul 5; blocurile din a doua grupă reprezintă modelul propriu-zis al procesului de funcționare a sistemului studiat S; blocuri din grupa a treia - auxiliare

și servesc pentru implementarea automată a blocurilor din primele două grupuri, precum și pentru înregistrarea și procesarea rezultatelor simulării.

Model conceptual - sunt afișate subprocesele sistemului, procesele care nu pot fi luate în considerare sunt eliminate din sistemul bloc (acestea nu afectează funcționarea modelului).

Citiți mai multe despre desen. Trecerea de la o descriere a unui sistem la modelul său în această interpretare se rezumă la excluderea din considerare a unor elemente minore ale descrierii (elemente

j_ 8,39 - 41,43 - 47). Se presupune că acestea nu au un impact semnificativ asupra cursului proceselor studiate folosind

modele. O parte a elementelor (14,15, 28, 29, 42) înlocuite cu conexiuni pasive h, reflectând proprietățile interne ale sistemului (Fig. 3.2, b). Unele dintre elemente (1 - 4. 10. 11, 24L 25)-înlocuite cu factori de intrare Xşi influenţe ale mediului v – Sunt posibile şi înlocuiri combinate: elemente 9, 18, 19, 32, 33 înlocuit de conexiunea pasivă A2 și influențele mediului E.

Elemente 22,23.36.37 reflectă impactul sistemului asupra mediului extern y.

Modele matematice ale proceselor. După trecerea de la descriere

sistem modelat S la modelul ei Mv construit conform blocului

principiu, este necesar să se construiască modele matematice ale proceselor,

care apar în diferite blocuri. Model matematic

reprezintă un set de relații (de exemplu, ecuații,

condiţii logice, operatori) caracteristici definitorii

procesul de funcționare a sistemului S depinzând de

structura sistemului, algoritmi de comportament, parametrii sistemului,

influente de mediu E, conditiile initiale si timpul.

Algoritmizarea modelelor de sistem și implementarea lor în mașină.

La a doua etapă de modelare - etapa de algoritmizare a modelului

și implementarea sa de mașină - un model matematic format

în prima etapă, întruchipată într-o mașină specifică

model. Implementarea practică a sistemului.

Construirea algoritmilor de modelare.

Procesul de funcționare a sistemului S poate fi considerată ca o schimbare secvenţială a stărilor sale z=z(z1(t), z2(t),..., zk(t))în spațiul k-dimensional. Este evident că sarcina de modelare a procesului de funcționare a sistemului studiat S este construcția de funcții z, pe baza cărora se pot efectua calcule ale dobânzii

caracteristicile procesului de funcționare a sistemului.

Pentru a face acest lucru, trebuie descrise relațiile care leagă funcțiile z (stări) cu variabile, parametri și timp, precum și condiții inițiale.

Principiul considerat al construirii algoritmilor de modelare se numeste principiu At. Acesta este cel mai universal principiu care ne permite să determinăm stările secvențiale ale procesului de funcționare a sistemului S la intervale specificate

La. Dar din punctul de vedere al costurilor cu timpul computerului, uneori se dovedește a fi neeconomic.

Când luăm în considerare procesele de funcționare ale unor sisteme, puteți constata că acestea sunt caracterizate de două tipuri de stări:

1) special, inerent numai procesului de funcționare a sistemului

în anumite momente în timp (momente de intrare de intrare

sau acțiuni de control, perturbări ale mediului etc.);

2) nesingular, în care procesul este situat în restul timpului.

Stările speciale se caracterizează și prin faptul că funcțiile stărilor zi(t) și momentele de timp se modifică brusc, iar între stările speciale schimbarea coordonatelor zi(t) are loc lin și continuu sau nu are loc deloc. Asa de

Astfel, urmând la modelarea sistemului S numai din stările sale speciale în acele momente de timp în care apar aceste stări se pot obține informațiile necesare pentru construirea funcțiilor z(t). Evident, pentru tipul de sisteme descris, algoritmii de modelare pot fi construiți folosind „principiul stărilor speciale”. Să notăm schimbarea de stare (releu) asemănătoare unui salt z Cum bz, iar „principiul stărilor speciale” – ca principiu bz.

De exemplu, pentru un sistem de așteptare (scheme Q) ca stari speciale, se pot selecta stari in momentele primirii cererilor de service in dispozitivul P si in momentele incetarii deservirii cererilor pe canale. LA, când starea sistemului,

estimat după numărul de aplicații conținute în acesta, se modifică brusc.

O formă convenabilă de reprezentare a structurii logice a modelelor de procese de funcționare a sistemelor și a programelor de calculator este o diagramă. În diferite etape de modelare, sunt compilate diagrame logice generalizate și detaliate ale algoritmilor de modelare, precum și diagrame de program.

Diagrama generalizată (mărită) a algoritmului de modelare specifică procedura generală de modelare a unui sistem fără alte detalii. Diagrama generalizată arată ce trebuie făcut la următorul pas de modelare, de exemplu, accesarea senzorului de numere aleatorii.

Diagrama detaliată a algoritmului de modelare conţine clarificări care lipsesc în schema generalizată. O diagramă detaliată arată nu numai ce ar trebui făcut la următorul pas al modelării sistemului, ci și cum se face.

Diagrama logică a algoritmului de modelare reprezintă structura logică a modelului procesului de funcționare a sistemului S. O diagramă logică specifică o secvență ordonată în timp de operații logice asociate cu rezolvarea unei probleme de modelare.

Schema programului afișează ordinea implementării software a algoritmului de modelare utilizând un software matematic specific. O diagramă de program este o interpretare a diagramei logice a unui algoritm de modelare de către un dezvoltator de program pe baza unui limbaj algoritmic specific.

Obținerea și interpretarea rezultatelor modelării sistemului.

La a treia etapă de modelare - etapa de obținere și interpretare a rezultatelor modelării - computerul este utilizat pentru a efectua calcule de lucru folosind un program compilat și depanat.

Rezultatele acestor calcule ne permit să analizăm și să formulăm concluzii despre caracteristicile procesului de funcționare a sistemului simulat. S.

În timpul unui experiment cu mașina, este studiat comportamentul modelului studiat. M procesul de funcționare a sistemului S la un interval de timp dat.

Adesea sunt utilizate criterii de evaluare mai simple, de exemplu probabilitatea unei anumite stări a sistemului la un moment dat în timp t*, absența defecțiunilor și defecțiunilor în sistem pe interval, etc. La interpretarea rezultatelor simulării se calculează diverse caracteristici statistice care trebuie calculate.

Sovetov B.Ya., Yakovlev S.A.

Modelarea sistemelor. a 4-a ed. – M.: Liceu, 2005. – P. 84-106.

Trimiteți-vă munca bună în baza de cunoștințe este simplu. Utilizați formularul de mai jos

Studenții, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și munca lor vă vor fi foarte recunoscători.

postat pe http://www.allbest.ru/

postat pe http://www.allbest.ru/

Introducere

1. Revizuirea analitică a metodelor și mijloacelor existente de rezolvare a problemei

1.1 Concept și tipuri de modelare

1.2 Metode de calcul numeric

1.3 Concept general al metodei elementelor finite

2. Analiza algoritmică a problemei

2.1 Declarația problemei

2.2 Descrierea modelului matematic

2.3 Diagrama grafică a algoritmului

3. Implementarea software a sarcinii

3.1 Abateri și toleranțe ale fileturilor țevilor cilindrice

3.2 Implementarea abaterilor și toleranțelor fileturilor țevilor cilindrice în software-ul Compass

3.3 Implementarea sarcinii în limbajul de programare C#

3.4 Implementarea unui model structural în pachetul ANSYS

3.5 Studiul rezultatelor obţinute

Concluzie

Lista literaturii folosite

Introducere

În lumea modernă, există din ce în ce mai mult nevoia de a prezice comportamentul sistemelor fizice, chimice, biologice și de altă natură. Una dintre modalitățile de rezolvare a problemei este utilizarea unei direcții științifice destul de noi și relevante - modelarea computerizată, o trăsătură caracteristică a căreia este vizualizarea înaltă a etapelor calculelor.

Această lucrare este dedicată studiului modelării computerizate în rezolvarea problemelor aplicate. Astfel de modele sunt folosite pentru a obține informații noi despre obiectul modelat pentru o evaluare aproximativă a comportamentului sistemelor. În practică, astfel de modele sunt utilizate activ în diverse domenii ale științei și producției: fizică, chimie, astrofizică, mecanică, biologie, economie, meteorologie, sociologie, alte științe, precum și în probleme aplicate și tehnice din diverse domenii ale electronicii radio, inginerie mecanică, industria auto și altele. Motivele pentru aceasta sunt evidente: aceasta este o oportunitate de a crea rapid un model și de a face rapid modificări la datele sursă, de a introduce și de a ajusta parametri suplimentari ai modelului. Exemplele includ studiul comportamentului clădirilor, pieselor și structurilor sub sarcină mecanică, prezicerea rezistenței structurilor și mecanismelor, modelarea sistemelor de transport, proiectarea materialelor și comportamentul acestora, proiectarea vehiculelor, prognoza meteo, emularea funcționării dispozitivelor electronice, simularea testelor de impact, testarea rezistenței și adecvarea conductelor, sistemelor termice și hidraulice.

Scopul lucrării de curs este de a studia algoritmi de modelare computerizată, cum ar fi metoda elementelor finite, metoda diferențelor de limită, metoda diferențelor finite cu aplicare ulterioară în practică pentru calcularea rezistenței conexiunilor filetate; Dezvoltarea unui algoritm pentru rezolvarea unei probleme date cu implementare ulterioară sub forma unui produs software; asigura acuratețea de calcul necesară și evaluează caracterul adecvat al modelului folosind diferite produse software.

1 . Revizuirea analitică a metodelor și mijloacelor existente pentru rezolvarea problemei

1.1 Concept și tipuri de modeleȘirătăcire

Problemele de cercetare rezolvate prin modelarea diferitelor sisteme fizice pot fi împărțite în patru grupe:

1) Probleme directe, în soluția cărora sistemul studiat este specificat de parametrii elementelor sale și de parametrii modului, structurii sau ecuațiilor inițiale. Este necesar să se determine răspunsul sistemului la forțele (perturbații) care acționează asupra acestuia.

2) Probleme inverse, în care, pe baza unei reacții cunoscute a unui sistem, se cere să se găsească forțele (perturbațiile) care au provocat această reacție și să forțeze sistemul luat în considerare să ajungă la o stare dată.

3) Probleme inverse care necesită determinarea parametrilor sistemului pe baza cursului cunoscut al procesului, descriși prin ecuații diferențiale și a valorilor forțelor și reacțiilor la aceste forțe (perturbații).

4) Probleme inductive, a căror rezolvare are ca scop întocmirea sau clarificarea ecuațiilor care descriu procese care au loc într-un sistem ale cărui proprietăți (perturbații și reacții la acestea) sunt cunoscute.

În funcție de natura proceselor studiate în sistem, toate tipurile de modelare pot fi împărțite în următoarele grupe:

Determinat;

Stochastic.

Modelarea deterministă reprezintă procese deterministe, i.e. procese în care se presupune absenţa oricăror influenţe aleatorii.

Modelarea stocastică descrie procese și evenimente probabilistice. În acest caz, sunt analizate un număr de realizări ale unui proces aleatoriu și sunt estimate caracteristicile medii, adică. un set de implementări omogene.

În funcție de comportamentul obiectului în timp, modelarea este clasificată în unul din două tipuri:

Static;

Dinamic.

Modelarea statică servește pentru a descrie comportamentul unui obiect în orice moment în timp, iar modelarea dinamică reflectă comportamentul unui obiect în timp.

În funcție de forma de reprezentare a obiectului (sistemului), putem distinge

Modelare fizică;

Modelare matematică.

Modelarea fizică diferă de observarea unui sistem real (experiment la scară completă) prin aceea că cercetarea este efectuată pe modele care păstrează natura fenomenelor și au o asemănare fizică. Un exemplu este un model al unei aeronave care este studiată într-un tunel de vânt. În procesul de modelare fizică se precizează unele caracteristici ale mediului extern și se studiază comportamentul modelului sub influențe externe date. Modelarea fizică poate avea loc la scară de timp real și ireal.

Modelarea matematică este înțeleasă ca procesul de stabilire a unei corespondențe între un obiect real dat și un anumit obiect matematic, numit model matematic, și studierea acestui model pe un calculator în vederea obținerii caracteristicilor obiectului real în cauză.

Modelele matematice se construiesc pe baza legilor identificate de stiintele fundamentale: fizica, chimie, economie, biologie etc. În cele din urmă, unul sau altul model matematic este ales pe baza unor criterii de practică, înțeles în sens larg. După ce modelul este format, este necesar să se studieze comportamentul acestuia.

Orice model matematic, ca oricare altul, descrie un obiect real doar cu un anumit grad de apropiere de realitate. Prin urmare, în procesul de modelare este necesar să se rezolve problema corespondenței (adecvarea) modelului matematic și a sistemului, i.e. efectuarea unor cercetări suplimentare privind coerența rezultatelor simulării cu situația reală.

Modelarea matematică poate fi împărțită în următoarele grupe:

Analitic;

Imitaţie;

Combinate.

Folosind modelarea analitică, studiul unui obiect (sistem) poate fi realizat dacă sunt cunoscute dependențe analitice explicite care conectează caracteristicile dorite cu condițiile inițiale, parametrii și variabilele sistemului.

Cu toate acestea, astfel de dependențe pot fi obținute numai pentru sisteme relativ simple. Pe măsură ce sistemele devin mai complexe, studierea lor folosind metode analitice întâmpină dificultăți semnificative care sunt adesea insurmontabile.

În modelarea prin simulare, algoritmul care implementează modelul reproduce procesul de funcționare a sistemului de-a lungul timpului, iar fenomenele elementare care alcătuiesc procesul sunt simulate păstrând în același timp structura logică, care permite, din datele sursă, obținerea de informații despre stări. a procesului în anumite momente în timp din fiecare legătură a sistemului.

Principalul avantaj al modelării prin simulare în comparație cu modelarea analitică este capacitatea de a rezolva probleme mai complexe. Modelele de simulare fac posibilă luarea în considerare pur și simplu a unor factori precum prezența elementelor discrete și continue, caracteristicile neliniare ale elementelor sistemului, numeroase influențe aleatorii etc.

În prezent, modelarea prin simulare este adesea singura metodă practic disponibilă pentru obținerea de informații despre comportamentul unui sistem, în special în faza de proiectare.

Modelarea combinată (analitic-simulare) vă permite să combinați avantajele modelării analitice și simulare.

Atunci când se construiesc modele combinate, se realizează o descompunere preliminară a procesului de funcționare al obiectului în subprocesele sale constitutive, iar pentru acelea dintre ele, acolo unde este posibil, se folosesc modele analitice și se construiesc modele de simulare pentru subprocesele rămase.

Din punctul de vedere al descrierii unui obiect și în funcție de natura acestuia, modelele matematice pot fi împărțite în modele:

analog (continuu);

digital (discret);

analog-digital.

Prin model analog înțelegem un model similar care este descris prin ecuații care relaționează cantități continue. Un model digital este înțeles ca un model care este descris prin ecuații care raportează cantități discrete prezentate în formă digitală. Prin analog-digital înțelegem un model care poate fi descris prin ecuații care conectează cantități continue și discrete.

1.2 Metode numericeCucuplu

Rezolvarea unei probleme pentru un model matematic înseamnă specificarea unui algoritm pentru a obține rezultatul necesar din datele originale.

Algoritmii de soluție sunt împărțiți în mod convențional în:

algoritmi preciși care vă permit să obțineți rezultatul final într-un număr finit de acțiuni;

metode aproximative - permit, datorită anumitor ipoteze, reducerea soluției unei probleme cu un rezultat exact;

metode numerice – presupun dezvoltarea unui algoritm care oferă o soluție cu o eroare controlată dată.

Rezolvarea problemelor de mecanică structurală este asociată cu mari dificultăți matematice, care sunt depășite cu ajutorul metodelor numerice, care fac posibilă obținerea de soluții aproximative, dar satisfăcând scopuri practice, cu ajutorul unui calculator.

Soluția numerică se obține prin discretizarea și algebrizarea problemei valorii la limită. Discretizarea este înlocuirea unui set continuu cu un set discret de puncte. Aceste puncte sunt numite noduri de grilă și numai la ele sunt căutate valorile funcției. În acest caz, funcția este înlocuită cu un set finit al valorilor sale la nodurile grilei. Folosind valorile de la nodurile grilei, derivatele parțiale pot fi aproximativ exprimate. Ca urmare, ecuația cu diferență parțială este transformată în ecuații algebrice (algebrizarea problemei valorii la limită).

În funcție de metodele de realizare a discretizării și algebrizării, se disting diferite metode.

Prima metodă de rezolvare a problemelor cu valori la limită care a devenit larg răspândită este metoda diferențelor finite (FDM). În această metodă, discretizarea constă în acoperirea zonei soluției cu o grilă și înlocuirea unui set continuu de puncte cu o mulțime discretă. Este adesea folosită o grilă cu dimensiuni constante ale pașilor (grilă obișnuită).

Algoritmul MKR constă din trei etape:

1. Construirea unei rețele într-o zonă dată. Valorile aproximative ale funcției (valorile nodale) sunt determinate la nodurile grilei. Un set de valori ale nodurilor este o funcție grilă.

2. Derivatele parțiale sunt înlocuite cu expresii de diferență. În acest caz, funcția continuă este aproximată printr-o funcție grilă. Rezultatul este un sistem de ecuații algebrice.

3. Rezolvarea sistemului de ecuații algebrice rezultat.

O altă metodă numerică este metoda elementului de limită (BEM). Se bazează pe luarea în considerare a unui sistem de ecuații care include doar valorile variabilelor la limitele regiunii. Schema de discretizare necesită doar împărțirea suprafeței. Limita regiunii este împărțită într-un număr de elemente și se crede că este necesar să se găsească o soluție aproximativă care să aproximeze problema valorii la limită inițială. Aceste elemente sunt numite elemente de limită. Discretizarea numai a graniței duce la un sistem mai mic de ecuații problematice decât discretizarea întregului corp. BEM reduce dimensiunea problemei originale cu unul.

La proiectarea diferitelor obiecte tehnice, metoda elementelor finite (FEM) este utilizată pe scară largă. Apariția metodei elementelor finite este asociată cu soluționarea problemelor de cercetare spațială în anii 1950. În prezent, domeniul de aplicare al metodei elementelor finite este foarte extins și acoperă toate problemele fizice care pot fi descrise prin ecuații diferențiale. Cele mai importante avantaje ale metodei elementelor finite sunt următoarele:

1. Proprietățile materiale ale elementelor adiacente nu trebuie să fie aceleași. Acest lucru permite aplicarea metodei la corpuri compuse din mai multe materiale.

2. O regiune curbă poate fi aproximată folosind elemente de linie dreaptă sau descrisă exact folosind elemente curbe.

3. Mărimile articolelor pot fi variabile. Acest lucru vă permite să măriți sau să rafinați rețeaua de împărțire a zonei în elemente, dacă este necesar.

4. Folosind metoda elementelor finite, este ușor să se ia în considerare condițiile la limită cu o sarcină de suprafață discontinuă, precum și condițiile la limită mixte.

Rezolvarea problemelor folosind FEM conține următorii pași:

1.Partiția unei zone date în elemente finite. Numerotarea nodurilor și elementelor.

2.Constructia matricelor de rigiditate cu elemente finite.

3. Reducerea sarcinilor și impacturilor aplicate elementelor finite la forțele nodale.

4.Formarea unui sistem general de ecuații; luând în considerare condițiile la limită. Rezolvarea sistemului de ecuații rezultat.

5. Determinarea tensiunilor și deformațiilor în elemente finite.

Principalul dezavantaj al FEM este necesitatea discretizării întregului corp, ceea ce duce la un număr mare de elemente finite și, prin urmare, la probleme necunoscute. În plus, FEM duce uneori la discontinuități în valorile cantităților studiate, deoarece procedura metodei impune condiții de continuitate numai la noduri.

Pentru rezolvarea problemei s-a ales metoda elementelor finite, deoarece este cea mai optimă pentru calcularea unei structuri cu o formă geometrică complexă.

1.3 Conceptul general al metodei elementelor finite

Metoda elementelor finite constă în descompunerea unui model matematic al unei structuri în unele elemente, numite elemente finite. Elementele sunt unidimensionale, bidimensionale și multidimensionale. Un exemplu de elemente finite este oferit în Figura 1. Tipul elementului depinde de condițiile inițiale. Setul de elemente în care este împărțită o structură se numește plasă cu elemente finite.

Metoda elementelor finite constă în general din următorii pași:

1. Împărțirea zonei în elemente finite. Împărțirea unei zone în elemente începe de obicei de la granița acesteia, pentru a aproxima cât mai exact forma limitei. Apoi zonele interne sunt împărțite. Adesea, împărțirea unei zone în elemente se realizează în mai multe etape. În primul rând, ele sunt împărțite în părți mari, granițele dintre care trec unde se schimbă proprietățile materialelor, geometria și sarcina aplicată. Fiecare subzonă este apoi împărțită în elemente. După împărțirea zonei în elemente finite, nodurile sunt numerotate. Numerotarea ar fi o sarcină banală dacă nu ar afecta eficiența calculelor ulterioare. Dacă luăm în considerare sistemul de ecuații liniare rezultat, putem observa că unele elemente nenule din matricea coeficienților se află între cele două linii, această distanță se numește lățimea de bandă a matricei. Numerotarea nodurilor este cea care afectează lățimea dungii, ceea ce înseamnă că cu cât banda este mai largă, cu atât sunt necesare mai multe iterații pentru a obține răspunsul dorit.

software algoritm de modelare ansys

Figura 1 - Câteva elemente finite

2. Determinarea funcției de aproximare pentru fiecare element. În această etapă, funcția continuă necesară este înlocuită cu o funcție continuă pe bucăți definită pe un set de elemente finite. Această procedură poate fi efectuată o dată pentru un element de zonă tipic și apoi funcția rezultată poate fi utilizată pentru alte elemente de zonă de același tip.

3. Combinarea elementelor finite. În această etapă, ecuațiile referitoare la elementele individuale sunt combinate, adică într-un sistem de ecuații algebrice. Sistemul rezultat este un model al funcției continue dorite. Obținem matricea de rigiditate.

4. Rezolvarea sistemului de ecuații algebrice rezultat. Structura reală este aproximată de multe sute de elemente finite și apar sisteme de ecuații cu multe sute și mii de necunoscute.

Rezolvarea unor astfel de sisteme de ecuații este principala problemă în implementarea metodei elementelor finite. Metodele de rezolvare depind de dimensiunea sistemului de ecuații de rezolvare. În acest sens, au fost dezvoltate metode speciale de stocare a matricei de rigiditate pentru a reduce cantitatea de RAM necesară pentru aceasta. Matricele de rigiditate sunt utilizate în fiecare metodă de analiză a rezistenței folosind o plasă cu elemente finite.

Pentru a rezolva sisteme de ecuații, se folosesc diverse metode numerice, care depind de matricea rezultată, acest lucru este clar vizibil în cazul în care matricea nu este simetrică, nu pot fi utilizate metode precum metoda gradientului conjugat;

În loc de ecuații constitutive, este adesea folosită o abordare variațională. Uneori este stabilită o condiție pentru a asigura o mică diferență între soluția aproximativă și cea adevărată. Deoarece numărul de necunoscute din sistemul final de ecuații este mare, se utilizează notația matriceală. În prezent, există un număr suficient de metode numerice pentru rezolvarea unui sistem de ecuații, ceea ce facilitează obținerea rezultatului.

2. Analiza algoritmică a problemei

2 .1 Declarația problemei

Este necesar să se dezvolte o aplicație care să simuleze starea de efort-deformare a unei structuri plane și să efectueze un calcul similar în sistemul Ansys.

Pentru a rezolva problema, este necesar să: împărțiți zona în elemente finite, numerotați nodurile și elementele, stabiliți caracteristicile materialului și condițiile la limită.

Datele inițiale pentru proiect sunt o diagramă a unei structuri plane cu o sarcină distribuită aplicată și prindere (Anexa A), valori ale caracteristicilor materialului (modul de elasticitate -2*10^5 Pa, raportul lui Poisson -0,3), sarcină 5000H .

Rezultatul lucrării de curs este obținerea mișcărilor piesei în fiecare nod.

2.2 Descrierea modelului matematic

Pentru a rezolva problema se folosește metoda elementelor finite descrisă mai sus. Piesa este împărțită în elemente finite triunghiulare cu nodurile i, j, k (Figura 2).

Figura 2 - Reprezentarea cu elemente finite a unui corp.

Deplasările fiecărui nod au două componente, formula (2.1):

șase componente ale deplasărilor nodurilor elementului formează un vector de deplasare (d):

Deplasarea oricărui punct în interiorul elementului finit este determinată de relațiile (2.3) și (2.4):

La combinarea (2.3) și (2.4) într-o singură ecuație, se obține următoarea relație:

Deformările și deplasările sunt legate între ele după cum urmează:

Când înlocuim (2.5) în (2.6), obținem relația (2.7):

Relația (2.7) poate fi reprezentată ca:

unde [B] este o matrice gradient de forma (2.9):

Funcțiile formei depind liniar de coordonatele x, y și, prin urmare, matricea gradientului nu depinde de coordonatele punctului din interiorul elementului finit, iar deformațiile și tensiunile din interiorul elementului finit sunt constante în acest caz.

Într-o stare deformată plană într-un material izotrop, matricea constantelor elastice [D] este determinată prin formula (2.10):

unde E este modulul elastic și este raportul lui Poisson.

Matricea de rigiditate a elementelor finite are forma:

unde h e este grosimea, A e este aria elementului.

Ecuația de echilibru a nodului i are forma:

Pentru a ține cont de condițiile de fixare, există următoarea metodă. Să existe un sistem N de ecuații (2.13):

În cazul în care unul dintre suporturi este nemișcat, i.e. U i =0, utilizați următoarea procedură. Fie U 2 =0, atunci:

adică rândul și coloana corespunzătoare sunt setate la zero, iar elementul diagonală este setat la unu. Prin urmare, F2 este egal cu zero.

Pentru a rezolva sistemul rezultat, alegem metoda Gaussiană. Algoritmul de soluție folosind metoda Gauss este împărțit în două etape:

1. deplasare directă: prin transformări elementare peste rânduri, sistemul este adus la o formă în trepte sau triunghiulară, sau se stabilește că sistemul este incompatibil. Este selectat al k-lea rând de rezolvare, unde k = 0…n - 1, iar pentru fiecare rând ulterior elementele sunt convertite

pentru i = k+1, k+2 ... n-1; j = k+1,k+2 … n.

2. invers: se determină valorile necunoscutelor. Din ultima ecuație a sistemului transformat se calculează valoarea variabilei x n, după care din penultima ecuație devine posibilă determinarea variabilei x n -1 și așa mai departe.

2. 3 Diagrama grafică a algoritmului

Diagrama grafică prezentată a algoritmului prezintă secvența principală a acțiunilor efectuate la modelarea unei piese structurale. În blocul 1 se introduc datele inițiale. Pe baza datelor introduse, următorul pas este construcția unei rețele cu elemente finite. În continuare, în blocurile 3 și 4, sunt construite matrice de rigiditate locală și, respectiv, globală. În blocul 5, sistemul rezultat este rezolvat prin metoda Gaussiană. Pe baza soluției din blocul 6, se determină mișcările necesare în noduri, iar rezultatele sunt afișate. O scurtă diagramă grafică a algoritmului este prezentată în Figura 7.

Figura 7 - Diagrama grafică a algoritmului

3 . Despregramaticalimplementarea cu succes a sarcinii

3.1 Abateri și toleranțe ale fileturilor țevilor cilindrice

Filetul cilindric al țevii (GOST 6357-73) are un profil triunghiular cu vârfuri și văi rotunjite. Acest filet este utilizat în principal pentru conectarea țevilor, fitingurilor și fitingurilor de conducte.

Pentru a obține o densitate adecvată a îmbinării, în golurile formate prin dispunerea câmpurilor de toleranță între cavitățile șuruburilor și proeminențele piuliței sunt plasate materiale speciale de etanșare (fire de in, fire de plumb roșu etc.).

Abaterile maxime ale elementelor filetate ale țevii cilindrice pentru diametrul „1” al filetelor externe și interne sunt date în tabelele 1 și, respectiv, 2.

Tabelul 1 - abateri ale fileturilor țevilor cilindrice externe (conform GOST 6357 - 73)

Tabelul 2 - abateri ale filetelor cilindrice interne ale conductei (conform GOST 6357 - 73)

Abateri limită ale filetului exterior cu diametrul exterior minim, formula (3.1):

dmin=dн + ei (3.1)

unde dн este dimensiunea nominală a diametrului exterior.

Abaterile maxime ale filetului exterior ale diametrului exterior maxim sunt calculate folosind formula (3.2):

dmax=dн + es (3.2)

Abateri limită ale filetului exterior cu diametrul mediu minim, formula (3.3):

d2min=d2 + ei (3,3)

unde d2 este dimensiunea nominală a diametrului mediu.

Abaterile limită ale filetului exterior cu diametrul mediu maxim sunt calculate folosind formula (3.4):

d2max=d2 + es (3,4)

Abateri limită ale filetului exterior cu diametrul interior minim, formula (3.5):

d1min=d1 + ei (3,5)

unde d1 este dimensiunea nominală a diametrului interior.

Abaterile maxime ale filetului exterior ale diametrului interior maxim sunt calculate folosind formula (3.6):

d1max=d1 + es (3,6)

Abateri limită ale filetului interior al diametrului exterior minim, formula (3.7):

Dmin=Dн + EI, (3,7)

unde Dн este dimensiunea nominală a diametrului exterior.

Abaterile maxime ale filetului interior al diametrului exterior maxim sunt calculate folosind formula (3.8):

Dmax=Dн + ES (3,8)

Abateri limită ale filetelor interne cu diametrul mediu minim, formula (3.9):

D2min=D2 + EI (3,9)

unde D2 este dimensiunea nominală a diametrului mediu.

Abaterile limită ale filetelor interne cu diametrul mediu maxim sunt calculate folosind formula (3.10):

D2max=D2 + ES (3,10)

Abateri limită ale filetului interior al diametrului interior minim, formula (3.11):

D1min=D1 + EI (3,11)

unde D1 este dimensiunea nominală a diametrului interior.

Abaterile maxime ale filetului interior ale diametrului interior maxim sunt calculate folosind formula (3.12):

D1max=D1 + ES (3,12)

Un fragment din schița firului poate fi văzut în Figura 6 din Capitolul 3.2.

3.2 Implementarea abaterilor și toleranțelor fileturilor țevilor cilindrice înSoftware „Busola”

Figura 6 - Filet cilindric al conductei cu tolerante.

Coordonatele punctelor sunt afișate în Tabelul 1 din Anexa D

Copierea unui fir construit:

Selectați firul > Editor > copiere;

Inserarea firului:

Plasam cursorul in locul de care avem nevoie>editor>paste.

Rezultatul firului construit poate fi văzut în Anexa D

3.3 Implementarea sarciniichi în limbajul de programare C#

Pentru a implementa algoritmul de calcul al puterii, a fost selectat mediul de dezvoltare MS Visual Studio 2010 folosind limbajul C# din pachet . NETCadru 4.0. Folosind abordarea de programare orientată pe obiecte, vom crea clase care să conțină datele necesare:

Tabelul 3 - Structura clasei de elemente

Nume variabilă

Cele mai bune articole pe această temă