Come configurare smartphone e PC. Portale informativo
  • casa
  • In contatto con
  • 2 modellizzazione del processo di ricerca e sua algoritmizzazione. Formalizzazione e algoritmizzazione dei processi di funzionamento dei sistemi

2 modellizzazione del processo di ricerca e sua algoritmizzazione. Formalizzazione e algoritmizzazione dei processi di funzionamento dei sistemi

Nella seconda fase della modellazione - la fase di algoritmizzazione del modello e della sua implementazione nella macchina - il modello matematico formato nella prima fase viene incorporato in uno specifico modello di macchina. Questa fase è una fase di attività pratica volta a implementare idee e schemi matematici sotto forma di un modello macchina del processo di funzionamento del sistema S. Prima di considerare le sottofasi di algoritmizzazione e implementazione macchina del modello, soffermiamoci sul principi di base della costruzione di algoritmi di modellazione e forme della loro presentazione.

Principi di costruzione di algoritmi di modellazione.

Il processo di funzionamento del sistema S può essere considerato come un cambiamento sequenziale dei suoi stati nello spazio bidimensionale. Ovviamente, il compito di modellare il processo di funzionamento del sistema oggetto di studio S è quello di costruire funzioni sulla base delle quali sia possibile calcolare le caratteristiche di interesse nel processo di funzionamento del sistema. Per fare ciò, devono esserci relazioni che collegano le funzioni con variabili, parametri e tempo, nonché le condizioni iniziali al momento

Consideriamo il processo di funzionamento di un sistema deterministico in cui non ci sono fattori casuali, cioè il vettore di stato di un tale sistema può essere determinato da (2.3) come . Quindi lo stato del processo al momento

può essere determinato in modo univoco dalle relazioni del modello matematico basato su condizioni iniziali note. Ciò consente di costruire un algoritmo di modellazione per il processo di funzionamento del sistema. Per fare ciò, trasformiamo le relazioni del modello in questa forma per rendere conveniente il calcolo in base ai valori, dove organizziamo un contatore del tempo di sistema, che nel momento iniziale mostra l'ora. Per questo momento, aggiungi un intervallo di tempo, quindi il contatore mostrerà Calcola i valori Quindi passa al momento nel tempo. Se il passo è abbastanza piccolo, in questo modo puoi ottenere valori approssimativi

Consideriamo il processo di funzionamento di un sistema stocastico, cioè un sistema che è influenzato da fattori casuali, cioè il vettore degli stati è determinato dalla relazione (2.3). Per un tale sistema, la funzione del processo afferma in quel momento, le relazioni del modello determinano solo la distribuzione di probabilità per quel momento. Nel caso generale, le condizioni iniziali possono essere casuali, specificate dalla corrispondente distribuzione di probabilità. Allo stesso tempo, la struttura dell’algoritmo di modellazione per i sistemi stocastici rimane sostanzialmente la stessa. Solo che invece dello stato è ora necessario calcolare la distribuzione di probabilità per i possibili stati. Lascia che il contatore del sistema mostri l'ora. In base a una determinata distribuzione di probabilità, viene selezionato uno stato. Successivamente, in base alla distribuzione, si ottiene uno stato fino a quando non viene costruita una delle possibili implementazioni di un processo multidimensionale casuale in un dato intervallo di tempo.

Il principio considerato della costruzione di algoritmi di modellazione è chiamato principio. Questo è il principio più universale che ci consente di determinare gli stati sequenziali del processo di funzionamento del sistema S a determinati intervalli di tempo, ma dal punto di vista dei costi del tempo del computer , a volte risulta antieconomico.

Quando si considerano i processi di funzionamento di alcuni sistemi, si può scoprire che essi sono caratterizzati da due tipi di stati: 1) speciali, inerenti al processo di funzionamento del sistema solo in determinati momenti nel tempo (momenti di input o influenze di controllo, disturbi dell'ambiente esterno, ecc. non speciali, in cui si trova il processo per il resto del tempo, gli stati speciali sono anche caratterizzati dal fatto che le funzioni degli stati in questi momenti del tempo cambiano bruscamente e tra stati speciali il cambiamento delle coordinate avviene in modo fluido e continuo o non si verifica affatto. Pertanto, durante la modellazione del sistema S, vengono osservate solo quelle speciali.

negli istanti temporali in cui tali stati si verificano, è possibile ottenere le informazioni necessarie per costruire le funzioni. Ovviamente, per il tipo di sistemi descritti, gli algoritmi di modellazione possono essere costruiti secondo il “principio degli stati speciali”. Indichiamo un brusco cambiamento (relè) di stato come e il “principio degli stati speciali” come principio

Ad esempio, per un sistema di code (schema), gli stati possono essere selezionati come stati speciali al momento della ricezione delle richieste di servizio nel dispositivo P e al momento del completamento della gestione delle richieste da parte dei canali K, quando lo stato di il sistema, stimato dal numero di richieste in esso contenute, cambia bruscamente.

Si noti che le caratteristiche del processo di funzionamento di tali sistemi con stati speciali sono stimate utilizzando le informazioni sugli stati speciali e gli stati non speciali non vengono considerati durante la modellazione. “Il principio consente a numerosi sistemi di ridurre significativamente il costo del tempo del computer per l’implementazione degli algoritmi di modellazione rispetto al “principio”. La logica della costruzione di un algoritmo di modellazione che implementa il “principio” è diversa da quella considerata il "principio" solo in quanto include una procedura per determinare il momento temporale corrispondente ai successivi sistemi statali speciali S. Per studiare il processo di funzionamento di grandi sistemi, è razionale utilizzare il principio combinato di costruzione di algoritmi di modellazione, combinando i vantaggi di ciascuno dei principi considerati.

Forme di rappresentazione degli algoritmi di modellazione.

Una forma conveniente per rappresentare la struttura logica dei modelli dei processi di funzionamento dei sistemi e dei programmi informatici è un diagramma. In varie fasi della modellazione, vengono compilati diagrammi logici generalizzati e dettagliati degli algoritmi di modellazione, nonché diagrammi di programma.

Il diagramma generalizzato (ingrandito) dell'algoritmo di modellazione specifica la procedura generale per modellare il sistema senza dettagli chiarificatori. Il diagramma generalizzato mostra cosa è necessario fare nella fase successiva di modellazione, ad esempio, accedere al sensore di numeri casuali.

Il diagramma dettagliato dell'algoritmo di modellazione contiene chiarimenti che mancano nello schema generalizzato. Un diagramma dettagliato mostra non solo cosa dovrebbe essere fatto nella fase successiva della modellazione del sistema, ma anche come farlo.

Il diagramma logico dell'algoritmo di modellazione rappresenta la struttura logica del modello del processo di funzionamento del sistema S. Il diagramma logico indica una sequenza ordinata nel tempo di operazioni logiche associate alla risoluzione del problema di modellazione.

Il diagramma del programma mostra l'ordine di implementazione software dell'algoritmo di modellazione utilizzando uno specifico software matematico. Un diagramma di programma è un'interpretazione del diagramma logico di un algoritmo di modellazione da parte di uno sviluppatore di programma basato su uno specifico linguaggio algoritmico. La differenza tra questi schemi è che il diagramma logico riflette la struttura logica del modello del processo operativo del sistema e il diagramma del programma riflette la logica dell'implementazione della macchina del modello utilizzando specifici strumenti di modellazione software e hardware.

Lo schema logico dell'algoritmo e lo schema del programma possono essere implementati sia in forma ingrandita che dettagliata. Per disegnare questi diagrammi, viene utilizzato un insieme di simboli, definito da GOST 19.701 - 90 (ISO 5807 - 85) “Sistema unificato di documentazione del programma.

Schemi di algoritmi, programmi, dati e sistemi.

Convenzioni e regole di esecuzione." Alcuni dei simboli più comunemente usati nella pratica della modellazione computerizzata sono mostrati in Fig. 3.3, che riporta i simboli fondamentali, specifici e speciali del processo. Questi includono: il simbolo principale: a - processo - il simbolo mostra la funzione di elaborazione dei dati di qualsiasi tipo (eseguire una determinata operazione o gruppo di operazioni, portando a un cambiamento nel valore, nella forma o nel posizionamento delle informazioni o per determinare quale di si dovrebbero spostare più direzioni di flusso); simboli specifici del processo: b - decisione - il simbolo rappresenta una decisione o una funzione di tipo interruttore avente un ingresso e più uscite alternative, una ed una sola delle quali può essere attivata dopo aver valutato le condizioni definite all'interno di questo simbolo (il calcolo corrispondente risulta possono essere registrati adiacenti con linee che rappresentano questi percorsi); c - preparazione - il simbolo indica la modifica di un comando o di un gruppo di comandi per influenzare qualche funzione successiva (impostazione di un interruttore, modifica di un registro indice o inizializzazione di un programma); d - processo predefinito - il simbolo visualizza un processo predefinito costituito da una o più operazioni o passaggi di programma definiti altrove (in una subroutine, modulo); d - operazione manuale - il simbolo visualizza qualsiasi processo eseguito da una persona; simboli speciali: e - connettore - il simbolo indica l'uscita da una parte del circuito e l'ingresso da un'altra parte di questo circuito e viene utilizzato per interrompere la linea e continuarla in un altro punto (i simboli del connettore corrispondenti devono contenere la stessa designazione univoca ); g - terminatore - il simbolo visualizza l'uscita verso l'ambiente esterno e l'input dall'ambiente esterno (l'inizio o la fine del diagramma dell'algoritmo, l'uso esterno o la destinazione dei dati).

Riso. 3.3. Simboli e diagrammi degli algoritmi di modellazione

Un'immagine di esempio del diagramma dell'algoritmo di modellazione è mostrata in Fig. 3.3, h.

In genere, un diagramma è la forma più conveniente per rappresentare la struttura degli algoritmi di modellazione. In alcuni casi, vengono utilizzate altre forme di rappresentazione degli algoritmi di modellazione, ad esempio la forma dei diagrammi grafici (Fig. 3.3, i). Ecco l'inizio, - la fine, - calcolo, - formazione, - controllo della condizione, - contatore, - output del risultato, dove è il numero totale di operatori dell'algoritmo di modellazione. Come spiegazione del diagramma grafico dell'algoritmo, il testo fornisce una divulgazione del contenuto degli operatori, che semplifica la presentazione dell'algoritmo, ma complica il lavoro con esso.

Gli algoritmi di modellazione possono anche essere rappresentati come diagrammi operatore. La notazione degli operatori in tale diagramma corrisponde alla notazione dei diagrammi grafici. Per l'esempio considerato, il diagramma operatore dell'algoritmo ha la forma

Conosceremo più in dettaglio la forma di rappresentazione della struttura logica degli algoritmi di modellazione e dei programmi macchina quando considereremo modelli di simulazione dei processi di funzionamento di vari sistemi e metodi della loro implementazione su un computer.

Sottofasi della seconda fase di modellazione.

Consideriamo le sottofasi eseguite durante l'algoritmo del modello di sistema e la sua implementazione della macchina, prestando primaria attenzione ai compiti di ciascuna sottofase e ai metodi per risolverli.

2.1. Costruzione di uno schema logico del modello. Si consiglia di costruire il modello secondo il principio del blocco, ovvero sotto forma di un determinato insieme di blocchi standard. Costruzione di un modello di sistemi S a partire da tali

block fornisce la flessibilità necessaria durante il suo funzionamento, soprattutto nella fase di debug della macchina. Quando si costruisce un modello a blocchi, il processo di funzionamento del sistema è suddiviso in sottoprocessi separati e abbastanza autonomi. Il modello viene quindi funzionalmente suddiviso in sottomodelli, ciascuno dei quali a sua volta può essere suddiviso in elementi ancora più piccoli. Esistono due tipi di blocchi di questo modello: principale e ausiliario. Ogni blocco principale corrisponde ad un sottoprocesso reale che si svolge nel sistema simulato S, e i blocchi ausiliari rappresentano solo parte integrante del modello della macchina, non riflettono le funzioni del sistema simulato e sono necessari solo per l'implementazione, la registrazione e l'elaborazione della macchina dei risultati della simulazione.

2.2. Ottenere relazioni matematiche. Contemporaneamente all'esecuzione della sottofase di costruzione di un diagramma logico del modello, è necessario ottenere, se possibile, relazioni matematiche sotto forma di funzioni esplicite, cioè costruire modelli analitici. Questa sottofase corrisponde alla specificazione implicita delle possibili relazioni matematiche nella fase di costruzione di un modello concettuale. Quando si esegue la prima fase, potrebbero non esserci ancora informazioni sul tipo specifico di tali relazioni matematiche e nella seconda fase è già necessario ottenere queste relazioni. Lo schema del modello della macchina deve riflettere completamente il concetto inerente al modello e contenere: a) una descrizione di tutti i blocchi del modello con i loro nomi; b) un sistema di notazione e numerazione dei blocchi unificato; c) riflessione sulla logica del modello di processo di funzionamento del sistema; d) specificare le relazioni matematiche in forma esplicita.

Pertanto, nel caso generale, il modello macchina costruito del sistema sarà di natura combinata, cioè rifletterà l'approccio analitico-simulazione, quando parte del processo nel sistema è descritto analiticamente, e l'altra parte è simulata mediante appropriate algoritmi.

2.3. Verifica dell'affidabilità del modello di sistema. Questo controllo è il primo dei controlli effettuati durante la fase di implementazione del modello. Poiché il modello è una descrizione approssimativa del processo di funzionamento di un sistema reale S, fino a quando non sarà dimostrata l'affidabilità del modello, non si può affermare che con il suo aiuto si otterranno risultati che coincidono con quelli che potrebbero essere ottenuti durante un esperimento su vasta scala con un sistema reale S. Pertanto, determinare la validità di un modello può essere considerato il problema più importante nella modellizzazione del sistema. Il grado di fiducia nei risultati ottenuti con il metodo di modellazione dipende dalla soluzione a questo problema. Testare il modello nella sottofase in esame dovrebbe rispondere alla domanda in che misura il diagramma logico del modello di sistema e le relazioni matematiche utilizzate riflettono la progettazione del modello formato nella prima fase. In questo caso viene verificata: a) la possibilità

risolvere il problema; b) l'accuratezza della riflessione del progetto nel diagramma logico; c) completezza dello schema logico del modello; d) la correttezza delle relazioni matematiche utilizzate.

Solo dopo che lo sviluppatore si sarà convinto, mediante un'adeguata verifica, della correttezza di tutte queste disposizioni possiamo considerare che esiste uno schema logico del modello di sistema 5, adatto per ulteriori lavori sull'implementazione del modello su un computer.

2.4. Selezione degli strumenti di modellazione. In questa fase è necessario risolvere definitivamente la questione di quale computer (computer, AVM, GVK) e quale software è consigliabile utilizzare per implementare il modello di sistema S. In generale, la scelta degli strumenti informatici può essere effettuata in precedenza sottofasi, ma la sottofase in esame è l'ultima, quando questa scelta deve essere fatta definitivamente, poiché altrimenti sorgeranno difficoltà nel portare avanti il ​​lavoro ulteriore sull'implementazione del modello. La questione della scelta di un computer dipende dal rispetto dei seguenti requisiti:

a) disponibilità del software e dell'hardware necessari; b) disponibilità del computer selezionato per lo sviluppatore del modello; c) assicurare tutte le fasi di attuazione del modello; d) la capacità di ottenere risultati in modo tempestivo.

2.5. Elaborazione di un piano per l'esecuzione del lavoro di programmazione. Tale piano dovrebbe aiutare nella programmazione del modello, tenendo conto delle stime del volume del programma e del costo della manodopera per la sua preparazione. Il piano quando si utilizza un computer universale dovrebbe includere: a) la selezione di un linguaggio di programmazione (sistema) per il modello; b) indicazione del tipo di computer e dispositivi necessari per la modellazione; c) valutazione della quantità approssimativa di RAM e memoria esterna richieste; d) stima dei costi in termini di tempo del computer per la modellazione; e) il tempo stimato impiegato per la programmazione e il debug del programma su un computer.

2.6. Specificazione e costruzione del diagramma di programma. Una specifica di programma è una rappresentazione formalizzata dei requisiti di un programma che devono essere soddisfatti durante il suo sviluppo, nonché una descrizione del compito, delle condizioni e dell'effetto di un'azione senza indicare come realizzarla. La presenza di uno schema a blocchi logico del modello permette di costruire uno schema di programma che dovrebbe riflettere: a) la suddivisione del modello in blocchi, sottoblocchi, ecc.;

b) caratteristiche di programmazione del modello; c) apportare le modifiche necessarie; d) capacità di test del programma; e) valutazione dei costi del tempo informatico; f) forma di presentazione dei dati di input e output.

La costruzione di un diagramma di programma è uno dei compiti principali nella fase di implementazione della macchina del modello. In questo caso, particolare attenzione dovrebbe essere prestata alle caratteristiche del linguaggio scelto per implementare il modello: il linguaggio algoritmico del generale

scopo o linguaggio di modellazione (ad esempio SIMULA, SIMSCRIPT, GPSS).

2.7. Verifica e verifica dell'affidabilità dello schema di programma. La verifica del programma è la prova che il comportamento del programma è conforme alle specifiche del programma. Questo controllo è il secondo nella fase di implementazione della macchina del modello di sistema. Ovviamente non ha senso continuare a lavorare sulla realizzazione del modello se non si ha la certezza che lo schema programmatico, secondo il quale verrà effettuata la successiva programmazione, contenga errori che lo rendano inadeguato allo schema logico del modello, e quindi inadeguato all'oggetto di modellazione stesso. In questo caso viene verificata la conformità di ciascuna operazione presentata nel diagramma del programma con un'operazione simile nel diagramma logico del modello.

2.8. Effettuare la programmazione del modello. Con un diagramma di programma sufficientemente dettagliato che riflette tutte le operazioni del circuito logico del modello, puoi iniziare a programmare il modello. Se esiste una progettazione del programma adeguata, la programmazione è un lavoro riservato al solo programmatore, senza la partecipazione o l'assistenza dello sviluppatore del modello. Quando si utilizzano pacchetti applicativi di modellazione, i programmi di lavoro per la modellazione di un oggetto specifico vengono generati direttamente, ovvero il modello viene programmato in modalità automatizzata.

2.9. Verifica della validità del programma. Si tratta dell'ultimo controllo nella fase di realizzazione macchina del modello, che deve essere effettuato: a) mediante traduzione inversa del programma nel circuito originale; b) testare singole parti del programma durante la risoluzione di vari problemi di test; c) combinare tutte le parti del programma e testarlo nel suo insieme su un esempio di prova di modellazione di una variante del sistema S.

In questa sottofase è necessario verificare anche le stime del tempo del computer necessario per la simulazione. È anche utile ottenere un'approssimazione analitica abbastanza semplice della dipendenza dei costi del tempo del computer dal numero di implementazioni, che consentirà allo sviluppatore del modello (cliente) di formulare correttamente i requisiti per l'accuratezza e l'affidabilità dei risultati della modellazione.

2.10. Redazione della documentazione tecnica per la seconda fase. Per completare la fase di realizzazione macchina del modello è necessario redigere una documentazione tecnica contenente: a) uno schema logico del modello e la sua descrizione; b) un diagramma di programma adeguato e una notazione accettata; c) testo integrale del programma; d) elenco delle quantità in ingresso e in uscita con relative spiegazioni; e) istruzioni per lavorare con il programma; f) valutazione del costo del tempo informatico per la modellazione, indicando le risorse informatiche necessarie.

Pertanto, in questa fase, viene sviluppato un diagramma del modello di sistema S, viene eseguita la sua algoritmizzazione e programmazione

utilizzando strumenti software e hardware specifici, ovvero viene costruito un modello di macchina con cui lavorare per ottenere i risultati di modellazione necessari per valutare le caratteristiche del processo di funzionamento del sistema S (compito di analisi) o per trovare strutture, algoritmi e parametri ottimali del sistema S (compito di sintesi).


Ritardi delle transazioni in un momento specifico. La modellazione statica viene utilizzata per descrivere il comportamento di un oggetto in qualsiasi momento. La modellazione dinamica riflette il comportamento di un oggetto nel tempo. La modellazione discreta viene utilizzata per visualizzare un oggetto in un momento specifico.


Condividi il tuo lavoro sui social network

Se questo lavoro non ti soddisfa, in fondo alla pagina c'è un elenco di lavori simili. Puoi anche utilizzare il pulsante di ricerca


Altri lavori simili che potrebbero interessarti.vshm>

9929. Metodi algoritmici di protezione delle informazioni 38,36KB
Affinché questi sistemi funzionino correttamente e in sicurezza, la loro sicurezza e integrità devono essere mantenute. Cos'è la crittografia La crittografia è la scienza dei cifrari, per lungo tempo classificata in quanto veniva utilizzata principalmente per proteggere segreti di stato e militari. Attualmente i metodi e i mezzi di crittografia vengono utilizzati per garantire la sicurezza delle informazioni non solo dello Stato ma anche dei privati ​​nelle organizzazioni. Mentre gli algoritmi crittografici per il consumatore medio sono un segreto gelosamente custodito, anche se molti già...
1927. Modellazione del sistema 21,47KB
Nell'aula informatica degli studenti ci sono due mini computer e un dispositivo per la preparazione dei dati (DPD). Gli studenti vengono a intervalli di 8±2 minuti e un terzo di loro vuole usare UPD e computer, il resto solo computer. La coda consentita nella sala computer è di quattro persone, inclusa la persona che lavora presso l'UPD.
1974. MODELLAZIONE DELLA SUPERFICIE 233,46KB
Modello digitale e di superficie La base per la rappresentazione dei dati sulla superficie terrestre sono i modelli digitali di elevazione. Le superfici sono oggetti che sono spesso rappresentati da valori di altezza Z distribuiti su un'area definita dalle coordinate X e Y DEM un mezzo per rappresentare digitalmente il rilievo della superficie terrestre. La raccolta di coppie stereo di immagini è laboriosa e richiede software specifici, ma allo stesso tempo consente di fornire il grado di dettaglio desiderato nella rappresentazione della superficie terrestre.
2156. Simulazione dell'illuminazione 125,57KB
Per un osservatore situato in un punto qualsiasi, la luminosità del punto che vede sarà espressa come segue. dove V è la luminosità per h b; Riflettanza superficiale E albedo. Rispetto al metodo di Lambert, questo modello riduce la luminosità dei punti che guardiamo con un angolo di 90° e aumenta la luminosità dei punti che guardiamo casualmente. Applicazione delle leggi dell'illuminazione nella sintesi di un oggetto immagine. 7 La luminosità viene calcolata in un punto, ad esempio, nel baricentro di poligoni con facce convesse secondo Lambert e...
8080. Modellazione ternaria 18,3KB
Simulazione ternaria La simulazione ternaria è ampiamente utilizzata per identificare le corse dei segnali che possono verificarsi in un circuito. La modellazione dell'insieme di input avviene in 2 fasi. Esempio: eseguire una modellazione logica ternaria utilizzando il metodo E Modellazione ternaria con incertezza crescente In questo algoritmo, per ogni LT, è indicato il valore di ritardo massimo e minimo t.
6675. Modellazione di simulazione 56,71KB
Questo processo consiste in due grandi fasi: sviluppo del modello e analisi del modello sviluppato. La modellazione consente di esplorare l'essenza di processi e fenomeni complessi attraverso esperimenti non con un sistema reale, ma con il suo modello. Nel campo della creazione di nuovi sistemi, la modellazione è un mezzo per esplorare le caratteristiche importanti di un sistema futuro nelle prime fasi del suo sviluppo.
5651. Simulazione del sistema di produzione 391,61KB
Il computer è coinvolto nel controllo delle apparecchiature tecnologiche. Per monitorare lo stato dell'apparecchiatura, ogni 20 minuti viene avviato uno dei tre tipi di attività. Ogni 5 minuti di funzionamento del processore, ciascuna attività invia i risultati del proprio lavoro al database
4640. MODELLAZIONE NODI DIGITALI 568,49KB
Sui chip dei moderni LSI è possibile posizionare molti blocchi funzionali di vecchi computer insieme a circuiti di interconnessione. Lo sviluppo e il test di tali cristalli sono possibili solo utilizzando metodi di modellazione matematica che utilizzano computer potenti.
6206. La modellazione nella ricerca scientifica 15,78KB
Il metodo di modellazione del XX secolo ha portato grande successo e riconoscimento in quasi tutti i rami della scienza moderna. Tuttavia, la metodologia di modellazione è stata a lungo sviluppata in modo indipendente dalle singole scienze. Solo gradualmente si cominciò a realizzare il ruolo della modellazione come metodo universale di conoscenza scientifica.
3708. Modellazione mediante spline 465,08KB
Determinano inoltre il grado di curvatura dei segmenti spline adiacenti a questi vertici. Il segmento è la parte della linea spline tra due vertici adiacenti. 3ds Mx utilizza quattro tipi di vertici: Angolo un vertice i cui segmenti adiacenti non hanno curvatura; Liscio Un vertice liscio attraverso il quale la curva spline viene disegnata con una piega e presenta la stessa curvatura dei segmenti su entrambi i lati; Bezier Un vertice Bezier è simile a un vertice liscio ma consente di controllare la curvatura dei segmenti della spline su entrambi i lati del vertice....

Modellazione, algoritmizzazione e programmazione

Attualmente, la quota di lavoro mentale nelle attività di ogni persona è in aumento; è necessario risolvere problemi pratici legati all'elaborazione, all'archiviazione e alla trasmissione delle informazioni; Allo stesso tempo, cresce il numero di persone professionalmente impegnate nel lavoro di informazione. Per automatizzarlo, un computer viene utilizzato come strumento universale per lavorare con le informazioni.

La risoluzione del problema utilizzando un computer implica quanto segue: fasi:

Diamo uno sguardo più da vicino a ciascuna delle fasi elencate.

1. Dichiarazione del problema. Costruire un modello informativo

Di norma, i problemi pratici sono formulati in modo abbastanza chiaro dal punto di vista dell’utente, ma tale formulazione non ha sufficiente chiarezza e rigore.

Affinché un problema del genere possa essere risolto utilizzando un computer, è necessario completare la dichiarazione del problema:

Per questo è importante determinare proprietà essenziali degli oggetti e dei fenomeni, che sono discussi nel problema, e trascurano quelli non importanti.

A volte questo viene dimenticato. Ad esempio, se un problema richiede di determinare l'area della superficie superiore di un tavolo (ripiano del tavolo), senza esitazione dicono che è necessario misurare la lunghezza e la larghezza. Tuttavia, una proprietà essenziale del tavolo può essere che sia rotondo, quindi è difficile parlare di lunghezza e larghezza. Inoltre, anche se si accerta che il piano di lavoro ha una forma rettangolare, bisogna convenire che piccole irregolarità non influiscono in modo significativo sulla dimensione dell'area.

Nell'esempio della tabella rettangolare, la lunghezza e la larghezza non possono essere numeri negativi, né possono essere irrealisticamente grandi o piccoli.

Tutte queste informazioni si formano modello di informazione sulle attività .

La proprietà principale del modello è quella di semplificare il fenomeno studiato preservandone le proprietà essenziali. Un modello informativo di un compito può essere chiamato informazione su oggetti e fenomeni che compaiono nel compito, significativi dal punto di vista del compito e registrati sotto forma di testo, numerico o altro segnale.

Passaggi per costruire un modello informativo:

Definiamo il concetto di “modello” e le possibili classificazioni.

Un modello è una descrizione formalizzata di un oggetto, un sistema di oggetti, un processo o un fenomeno, espresso da relazioni matematiche, un insieme di numeri e (o) testi, grafici, tabelle, formule verbali, ecc.

Il processo di creazione (e talvolta di ricerca) di un modello è chiamato modellazione.

Il metodo di cognizione, che consiste nello studiare un oggetto in base alle sue proprietà, si chiama modellazione.

Classificazione dei modelli

Per area di utilizzo

Classificazione tenendo conto del fattore tempo

Per metodo di presentazione

Secondo il modulo di presentazione si possono distinguere le seguenti tipologie modelli informativi:

2. Formalizzazione del compito

In questa fase succede fissare il modello informativo, è selezionato modulo rappresentazione dati che costituiscono un modello informativo più conveniente per l'elaborazione informatica. Spesso le prime due fasi non hanno un confine chiaro e possono essere considerate come un tutt'uno.

Dopo aver completato la formulazione del problema, viene creato un modello formalizzato, ovvero un modello informativo descrittivo viene scritto utilizzando un linguaggio formale, ad esempio matematico.

3. Costruzione dell'algoritmo

Il concetto di algoritmo è uno dei concetti fondamentali dell’informatica. L'algoritmo, insieme alla modellazione, funge da metodo generale dell'informatica.

Gli algoritmi sono oggetto di studio sistematico della disciplina scientifica al confine tra matematica e informatica, contigua alla logica matematica - teoria degli algoritmi.

La stessa parola “algoritmo” deriva da “algoritmi”, l’ortografia latina del nome del grande matematico del IX secolo al-Khwarizmi, che formulò le regole per eseguire operazioni aritmetiche. Inizialmente, gli algoritmi significavano solo le regole per eseguire quattro operazioni aritmetiche su numeri a più cifre.

Un algoritmo è un'istruzione chiara e precisa data all'esecutore per eseguire una sequenza di azioni volte al raggiungimento di un obiettivo o alla risoluzione di un problema.

Secondo questa definizione, le ricette per preparare medicinali o biscotti sono algoritmi. E anche la regola per un pedone di attraversare la carreggiata in sicurezza è un algoritmo. A seconda del loro scopo, gli algoritmi possono essere sia “domestici” che computazionali.

Esecutore - si tratta di qualcuno o qualcosa che può eseguire una serie di azioni molto specifiche. Ha le seguenti proprietà:

L'intero insieme di comandi che un dato esecutore può eseguire è chiamato sistema di comando dell'esecutore (SCS).

Esecuzione formale gli algoritmi sono alla base del controllo dei dispositivi automatici. In effetti, le operazioni più semplici in cui è suddiviso il processo di risoluzione di un problema durante la creazione di un algoritmo possono essere implementate da una macchina creata appositamente per eseguire i singoli comandi dell'algoritmo ed eseguirli nella sequenza specificata nell'algoritmo.

Tuttavia, una persona può anche essere un artista formale. Se non conosce lo scopo del lavoro che sta svolgendo, dovrà seguire scrupolosamente le istruzioni.

Il computer è l’esecutore formale degli algoritmi. Affinché possa risolvere il problema in stretta conformità con le istruzioni, deve ricevere un algoritmo di soluzione. Pertanto, l'algoritmo è un'informazione di controllo.

Proprietà degli algoritmi

Discretezza dell'algoritmo

L'esecuzione dell'algoritmo è suddivisa in una sequenza di singoli passi. Eseguire ogni passaggio istruito squadra. Pertanto, l'algoritmo è una sequenza di comandi che determinano le azioni dell'esecutore. L'algoritmo ha una struttura intermittente (discreta): solo dopo aver eseguito un comando, l'esecutore può iniziare ad eseguire quello successivo. Questa proprietà è chiamata discrezione.

Chiarezza dell'algoritmo

Un algoritmo composto correttamente contiene solo quei comandi inclusi nel sistema di comando dell'esecutore per il quale è stato scritto. Questa proprietà è chiamata comprensibilità .

Quei comandi che l'esecutore può eseguire sono considerati comprensibili all'esecutore.

Per esempio, una persona che non sa come sommare numeri a una cifra (che non conosce la tabella delle addizioni) non sarà in grado di utilizzare la procedura per sommare numeri a più cifre descritta da al-Khwarizmi.

Precisione dell'algoritmo

Una proprietà importante dell'algoritmo è accuratezza (certezza, univocità).Ogni comando dell'algoritmo deve essere chiaramente percepito dall'esecutore e implicare una determinata azione. Dopo aver completato un passaggio dell'algoritmo, l'esecutore deve sapere esattamente quale passaggio eseguire successivamente. Un esempio di algoritmo impreciso è la frase di una ricetta “aggiungi 2-4 cucchiai di zucchero” o il classico detto “eseguire non può essere perdonato”.

Efficienza e finitezza dell'algoritmo

L’esecuzione dell’algoritmo deve portare all’ottenimento di un risultato (proprietà efficacia) in un numero finito di passi (proprietà della finitezza).

Massiccità dell'algoritmo

È auspicabile che l'algoritmo soddisfi la proprietà di massa , quelli. potrebbe essere utilizzato per risolvere non solo un problema specifico, ma anche una certa classe di problemi simili.

Per esempio, la regola per la somma dei numeri a più cifre non dipende dal numero di cifre nei termini o dalla loro composizione digitale. Funziona anche se il numero non è rappresentato nel sistema numerico decimale, ma nel sistema numerico posizionale con qualsiasi base intera.

Modi di scrivere algoritmi

In pratica, le forme più comuni di algoritmi di fissaggio sono:

Metodo verbale

Per una persona, il metodo principale è verbale.

Per esempio. Scrivi un algoritmo per trovare il massimo comun divisore (MCD) di due numeri naturali.

L'algoritmo potrebbe essere il seguente:

impostare due numeri;

se i numeri sono uguali, prendine uno qualsiasi come risposta e fermati, altrimenti continua a eseguire l'algoritmo;

determinare il più grande dei numeri;

sostituire il numero più grande con la differenza tra il numero più grande e quello più piccolo;

ripetere l'algoritmo dal passaggio 2.

L'algoritmo descritto è applicabile a qualsiasi numero naturale e dovrebbe portare alla soluzione del problema. Convinciti di ciò utilizzando questo algoritmo per determinare il massimo comun divisore dei numeri 125 e 75.

Il metodo verbale non è diffuso per i seguenti motivi:

Pseudocodice

Lo pseudocodice è un sistema di notazione e regole per la registrazione uniforme e accurata degli algoritmi.

Lo pseudocodice è orientato all'uomo, ma rende più facile la traduzione in un linguaggio di programmazione perché richiede il rispetto di determinate regole di scrittura. Un esempio di pseudocodice è un linguaggio algoritmico scolastico.

Si noti che esiste una differenza tra i concetti di “linguaggio algoritmico” e “linguaggi di programmazione”; Innanzitutto, nel linguaggio algoritmico un performer può significare non solo un computer, ma anche un dispositivo per lavorare “nell’ambiente”. Un programma scritto in un linguaggio algoritmico non è necessariamente destinato a un computer. L'implementazione pratica di un linguaggio algoritmico è una questione separata in ogni caso specifico.

Come ogni linguaggio, un linguaggio algoritmico ha il proprio vocabolario. La base di questo dizionario è costituita dalle parole utilizzate per scrivere i comandi inclusi nel sistema di comandi dell'esecutore di un particolare algoritmo. Tali comandi sono chiamati comandi semplici. In un linguaggio algoritmico vengono utilizzate parole il cui significato e modalità di utilizzo sono specificati una volta per tutte. Queste parole sono chiamate parole di servizio. L'uso di parole funzionali rende la registrazione dell'algoritmo più visiva e la forma di presentazione dei vari algoritmi la rende più uniforme.

Un algoritmo scritto in un linguaggio algoritmico deve avere un nome. Si consiglia di scegliere il nome in modo che sia chiaro quale problema descrive questo algoritmo. Per evidenziare il nome dell'algoritmo, scrivere davanti ad esso la parola di servizio ALG (ALGORITMO). Dopo il nome dell'algoritmo (di solito su una nuova riga) ci sono i suoi comandi. Per indicare l'inizio e la fine dell'algoritmo, i suoi comandi sono racchiusi in una coppia di parole di servizio START (START) e CON (END). I comandi vengono scritti in sequenza.

Sequenza di registrazione dell'algoritmo:

ALG nome dell'algoritmo

serie di comandi dell'algoritmo

Rappresentazione grafica degli algoritmi

Un algoritmo compilato per un determinato esecutore può essere rappresentato in vari modi: utilizzando una descrizione grafica o verbale, sotto forma di tabella, o una sequenza di formule scritte in un linguaggio algoritmico (linguaggio di programmazione). Diamo un'occhiata alla descrizione grafica dell'algoritmo chiamato diagramma a blocchi . Questo metodo presenta una serie di vantaggi dovuti alla sua chiarezza, che garantisce, in particolare, un'elevata "leggibilità" dell'algoritmo e una visualizzazione esplicita del controllo in esso contenuto.

Innanzitutto definiamo il concetto di diagramma di flusso.

Un diagramma di flusso è un grafico diretto che indica l'ordine in cui vengono eseguiti i comandi di un algoritmo.

Un diagramma di flusso è una rappresentazione grafica di un algoritmo.

Nel diagramma di flusso, ogni tipo di azione (immissione dei dati iniziali, calcolo dei valori delle espressioni, verifica delle condizioni, controllo della ripetizione delle azioni, completamento dell'elaborazione, ecc.) corrisponde figura geometrica , rappresentato come un simbolo di blocco. I personaggi bloccati si connettono linee di transizione , determinando l'ordine di esecuzione delle azioni.

Nello schema a blocchi, le azioni dell'algoritmo (blocchi) sono rappresentate dalle seguenti figure geometriche:

Per organizzare le azioni in un algoritmo vengono utilizzate varie forme, chiamate strutture algoritmiche. Esistono tre strutture algoritmiche principali: following, branching e looping. In matematica, è stato dimostrato un teorema secondo cui qualsiasi algoritmo può essere compilato utilizzando solo queste tre costruzioni algoritmiche, sebbene esistano altre costruzioni che accorciano la notazione dell'algoritmo, semplificano il lavoro con esso e ne rendono più facile la comprensione.

Costruzione successiva (algoritmo lineare)

Segui il disegno – questa è una forma di organizzazione delle azioni quando le azioni vengono eseguite in sequenza, una dopo l'altra.

Qui la serie di comandi può essere:

Infatti, ogni algoritmo può essere suddiviso in blocchi abbastanza grandi, che comprenderanno tutti gli oggetti sopra elencati in un ordine diverso, e da tali blocchi si può compilare un algoritmo lineare.

Esempio

Compito: calcola l'area di un cerchio se il raggio è noto.

Dato: R - raggio del cerchio.

Trovare: S è l'area del cerchio.

Soluzione: S=3,14 R2

Scegliamo la lingua russa per scrivere l'algoritmo in questa forma e annotiamo una sequenza di comandi, la cui esecuzione a un determinato valore del raggio ci consentirà di trovare l'area:

Leggi il valore R.

Moltiplicare il valore R per 3,14.

Moltiplicare il risultato della seconda azione per il valore di R.

Registrare il risultato come valore S.

Nel linguaggio dei diagrammi di flusso

Questa forma di notazione si basa sulla sostituzione dei tipici comandi algoritmici con determinate figure geometriche. L'algoritmo per risolvere questo problema è il seguente (vedi figura).

Progettazione di ramificazioni

Progettazione di ramificazioni è una forma di organizzazione di azioni in cui, a seconda dell'adempimento (non adempimento) di una determinata condizione, viene eseguita una delle due serie di comandi.

Se< condizione >

Quello< serie a squadre 1 >

Altrimenti< serie a squadre 2 >

fine del ramo

Esempio

Compito: calcola

Dato: x – valore dell'argomento.

Trovare: y – valore della funzione.

Soluzione:

X se x<0

L'aspetto del diagramma grafico risultante (vedi figura) spiega perché l'algoritmo ad esso corrispondente è stato chiamato branching.

Facciamolo presentazione verbale di questo algoritmo.

Inizio

Se x>0, allora

y: = x

Altrimenti

Inizio

Y: = -x

Fine del ramo

Annotare il valore

FINE

Evidenziare costruzione condizionale completa e incompleta.

Introduciamo la notazione:

Q – condizione;

P1, P2,... PN – azioni che vengono eseguite se la condizione è vera;

T1, T2, … TN - azioni eseguite se la condizione è falsa.

Lo schema a blocchi e l'algoritmo si presentano così (vedi tabella):

Condizionali

Pieno

Incompleto

P1

R2

PN

Altrimenti

T1

T2

T N

Fine del ramo

P1

R2

PN

Fine della ramificazione.

Progettazione del ciclo

Progettazione del ciclo è una forma di organizzazione delle azioni in cui la stessa sequenza di azioni viene ripetuta più volte.

Vengono richiamate le azioni che devono essere ripetute più volte corpo del ciclo . Il corpo del ciclo è una serie di comandi. L'algoritmo deve sempre contenere un puntatore che separi il corpo del ciclo dalla parte principale dell'algoritmo.

Esistono due tipi principali di cicli: un ciclo con un parametro e un ciclo con una condizione.

Ciclo con parametro

Viene utilizzato quando il numero di ripetizioni è noto in anticipo.

In cui parametro (variabile del ciclo) cambia dal suo valore iniziale al valore finale con un dato passo e determina il numero di ripetizioni.

Scrivere un ciclo con un parametro in linguaggio algoritmico assomiglia a questo:

passo finale iniziale

Per <имя параметра> da < значение > Prima < значение > fare un passo <изменения>

parametro parametro parametro

<тело цикла>

Ciclo con condizione

Viene utilizzato quando il numero di ripetizioni non è noto in anticipo e dipende dal soddisfacimento di alcune condizioni.

Ci sono cicli con precondizione e con postcondizione .

Ciclo con precondizione(ciclo "arrivederci")

La condizione viene verificata prima della successiva esecuzione del corpo del ciclo.

Registrati in linguaggio algoritmico e sotto forma di diagramma a blocchi:


Ciao<условие>

< тело цикла >

Purché la condizione sia soddisfatta (l'espressione logica corrispondente ha il valore “vero”), viene ripetuta l'esecuzione del corpo del loop . Non appena la condizione non è più soddisfatta, l'esecuzione del ciclo si interrompe (falsa uscita).

Se la condizione inizialmente non è soddisfatta, il corpo del ciclo potrebbe non essere eseguito nemmeno una volta.

Ciclo con postcondizione(ciclo "prima")

La condizione viene verificata dopo la successiva esecuzione del corpo del ciclo, ad es. Il corpo del ciclo verrà sicuramente eseguito almeno una volta.


ripetere

< тело цикла >

Prima< условие >



Il corpo del ciclo viene eseguito se la condizione non è soddisfatta(l'espressione logica corrispondente restituisce “falso”). Non appena la condizione viene soddisfatta, l'esecuzione del corpo del ciclo si interrompe (exit true).



4. Programmazione

Affinché un algoritmo possa essere eseguito da un computer, deve essere scritto in un linguaggio che comprende. Tuttavia, il computer percepisce e può elaborare solo codici binari (sequenze di zeri e uno). Pertanto, i dati iniziali e i comandi dell'algoritmo devono essere rappresentati in codici binari. Tuttavia, questo è molto scomodo per gli esseri umani, quindi sono stati sviluppati linguaggi progettati per scrivere algoritmi che, da un lato, sono vicini ai linguaggi naturali e, dall'altro, sono costruiti secondo regole abbastanza rigide in modo che gli algoritmi scritti in essi possono essere automaticamente tradotti secondo regole formali in codici binari. Tali lingue sono chiamate linguaggi di programmazione e viene chiamato un algoritmo scritto in tale linguaggio (lo stesso di un algoritmo scritto in codici binari). programma.

Con l'avvento dei personal computer, la fase di compilazione di un algoritmo è in molti modi connessa con la fase di programmazione così come con quella successiva.

Tecnologie di programmazione

Programmazione algoritmica (modulare).

L'idea principale della programmazione algoritmica è dividere il programma in sequenza di moduli, ognuno dei quali esegue uno o più Azioni. L'unico requisito per un modulo è che la sua esecuzione inizi sempre con il primo comando e termini sempre con l'ultimo (cioè in modo che sia impossibile accedere ai comandi del modulo dall'esterno e trasferire il controllo dal modulo ad altri comandi, bypassando quello finale).

Viene scritto l'algoritmo nel linguaggio di programmazione selezionato utilizzando i comandi di descrizione dei dati, calcoli di valori E controllo della sequenza del programma.

Il testo del programma è una sequenza lineare di istruzioni di assegnazione, loop e condizionali. In questo modo è possibile risolvere problemi non molto complessi e creare programmi contenenti diverse centinaia di righe di codice.

Questo tipo di programmazione utilizza quanto segue: elementi:

Programmazione strutturata

Quando creiamo applicazioni di medie dimensioni (diverse migliaia di righe di codice sorgente), utilizziamo programmazione strutturata, l'idea è quella la struttura del programma dovrebbe riflettere la struttura del problema da risolvere in modo che l'algoritmo della soluzione sia chiaramente visibile dal testo di partenza. Per fare ciò, è necessario avere i mezzi per creare un programma non solo utilizzando tre semplici istruzioni, ma anche utilizzando strumenti che riflettano in modo più accurato la struttura specifica dell'algoritmo. A questo scopo il concetto è stato introdotto nella programmazione subroutine - un insieme di operatori che eseguono l'azione desiderata e sono indipendenti da altre parti del codice sorgente. Il programma è suddiviso in tante piccole subroutine (che richiedono fino a 50 istruzioni - una soglia critica per comprendere rapidamente lo scopo della subroutine), ciascuna delle quali esegue una delle azioni specificate nel compito originale. Combinando queste subroutine, è possibile formare l'algoritmo finale non da semplici operatori, ma da blocchi di codice completi che hanno un certo significato semantico, e a tali blocchi si può fare riferimento per nome. Si scopre che le subroutine sono nuovi operatori o operazioni linguistiche definite dal programmatore.

La capacità di utilizzare subroutine classifica un linguaggio di programmazione come una classe linguaggi procedurali.

La presenza di subroutine consente di progettare e sviluppare l'applicazione dall'alto al basso - questo approccio si chiama progettazione dall'alto verso il basso . Innanzitutto vengono identificate diverse subroutine che risolvono i compiti più globali (ad esempio, l'inizializzazione dei dati, la parte principale e il completamento), quindi ciascuno di questi moduli viene dettagliato ad un livello inferiore, scomponendosi a sua volta in un piccolo numero di altre subroutine, e questo accade fino a quando l'intero compito non sarà realizzato.

Questo approccio è conveniente perché consente a una persona di pensare costantemente a livello di soggetto, senza scendere a operatori e variabili specifici. Inoltre diventa possibile non implementare immediatamente alcune subroutine, ma posticiparle temporaneamente fino al completamento delle altre parti. Ad esempio, se è necessario calcolare una funzione matematica complessa, allora una subroutine separata per tale calcolo, ma viene implementata temporaneamente da un operatore, che assegna semplicemente un valore preselezionato. Una volta scritta e sottoposta a debug l'intera applicazione, è possibile iniziare a implementare questa funzione.

È anche importante che le piccole subroutine siano molto più facili da eseguire il debug, il che aumenta significativamente l'affidabilità complessiva dell'intero programma.

Una caratteristica molto importante delle subroutine è la capacità di farlo riutilizzo . I sistemi di programmazione integrati sono dotati di ampie librerie di routine standard che possono aumentare significativamente la produttività sfruttando il lavoro di qualcun altro per creare routine di uso comune.

Programmazione guidata dagli eventi

Con distribuzione attiva del sistema finestre e l'emergere del visivo RAD - ambienti, l'approccio basato sugli eventi per la creazione di programmi ha guadagnato ampia popolarità - programmazione orientata agli eventi.

Ideologia del sistema finestre in base agli eventi. Una persona ha fatto clic su un pulsante, selezionato una voce di menu, premuto un tasto o un pulsante del mouse finestre viene generato un messaggio adatto , che viene inviato alla finestra del programma corrispondente. La struttura di un programma creato utilizzando la programmazione degli eventi è la seguente. La parte principale è un ciclo infinito, che sondaggi finestre , guardare per vedere se è apparso un nuovo messaggio. Quando viene rilevato, viene richiamata la subroutine responsabile dell'elaborazione l'evento corrispondente (non tutti gli eventi vengono elaborati, ce ne sono centinaia, ma solo quelli necessari), e un ciclo di polling simile continua fino alla ricezione del messaggio “Shut down”.

Gli eventi possono essere costume , derivanti dalle azioni dell'utente, sistemico , che si verificano nel sistema operativo (ad esempio, messaggi da un timer) e Software , generato dal programma stesso (ad esempio, è stato rilevato un errore e deve essere elaborato).

La programmazione basata sugli eventi è uno sviluppo delle idee della progettazione top-down, quando le reazioni del programma ai vari eventi vengono gradualmente determinate e dettagliate.

Lo sviluppo delle idee di programmazione strutturata ed per eventi ha aumentato significativamente la produttività dei programmatori e ha permesso di creare applicazioni contenenti centinaia di migliaia di righe in un tempo ragionevole (diversi mesi). Tuttavia, questo volume si è già avvicinato al limite delle capacità umane e erano necessarie nuove tecnologie di sviluppo software.

Programmazione orientata agli oggetti basato su concetti oggetto , classe e su tre concetti chiave - incapsulamento , eredità E polimorfismo .

Il concetto è implementato nei linguaggi di programmazione oggetto come insieme di proprietà (strutture dati specifiche per questo oggetto) e metodi la loro elaborazione (routine per la modifica delle proprietà) e eventi, a cui un dato oggetto può reagire e che, di regola, portano a un cambiamento nelle proprietà dell'oggetto.

Gli oggetti possono avere una struttura identica e differire solo nei valori delle proprietà. In questi casi, il programma crea un nuovo tipo basato su una singola struttura di oggetto (in modo simile a come vengono creati nuovi tipi per le strutture dati). È chiamato classe, e ogni oggetto specifico avente la struttura di questa classe è chiamato istanza della classe .

Unione dei dati C vengono chiamati i metodi di un tipo (classe). incapsulamento. Oltre alla concatenazione, l'incapsulamento consente di limitare l'accesso ai dati degli oggetti e l'implementazione dei metodi della classe. Di conseguenza, i programmatori hanno l'opportunità di utilizzare classi già pronte nelle loro applicazioni basandosi solo sulla descrizione di queste classi.

La caratteristica più importante di una classe è la capacità di creare nuove classi basate su di essa eredità tutte le sue proprietà e metodi e aggiungendone di tuoi. Una classe che non ha predecessori è chiamata classe base .

Per esempio , la classe “studente” ha le proprietà “nome completo”, “anno di ammissione”, modalità “frequentare le lezioni” e “superare gli esami”. La classe "studente part-time" creata sulla sua base eredita tutte queste proprietà e metodi, a cui vengono inoltre aggiunte la proprietà "luogo di lavoro" e il metodo "vieni alla sessione". L'ereditarietà ti consente di creare nuove classi riutilizzando il codice sorgente esistente senza perdere tempo a riscriverlo.

Nella maggior parte dei casi, i metodi della classe base delle classi discendenti devono essere ridefiniti: un oggetto della classe "studente part-time" esegue il metodo "frequenta le lezioni" in un modo completamente diverso rispetto a un oggetto della classe "studente a tempo pieno" " classe. Tutti i metodi sovrascritti avranno la stessa ortografia (nome) dei metodi dell'oggetto base, ma il compilatore riconoscerà dal tipo dell'oggetto (la sua classe) quale metodo specifico dovrebbe essere utilizzato e non chiamerà il metodo "frequenta le classi" della classe “per un oggetto della classe “studente part-time”. Viene chiamata questa proprietà degli oggetti per sovrascrivere i metodi di una classe ereditata e utilizzarli correttamente polimorfismo.

  1. Incapsulamento– una combinazione delle proprietà di un oggetto e delle possibili operazioni (metodi) su di esso. La combinazione di dati con azioni consentite su questi dati porta alla "nascita" di un nuovo elemento nella progettazione dei programmi: un oggetto, e l'oggetto agisce come è inerente ad esso, e solo su ciò che è descritto in esso. L'accesso ai dati di un oggetto se non attraverso le sue azioni è inaccettabile. Vengono combinati oggetti che incapsulano lo stesso elenco di proprietà e operazioni classi . Ogni singolo oggetto lo è istanza della classe . Le istanze di una classe possono avere valori di proprietà diversi.

Ad esempio, il file system di un computer può contenere centinaia o migliaia di file. Tutti i file hanno lo stesso insieme di proprietà (nome, posizione nel file system) e operazioni (rinomina, spostamento o copia) e formano la classe di oggetti FILES. Ogni singolo file è un'istanza di questa classe e ha valori di proprietà specifici (nome, posizione, ecc.).

  1. Eredità– definisce la relazione tra classi: oggetti classe infantile hanno tutte le proprietà degli oggetti genitore di classe . Cioè, ogni oggetto derivato successivo eredita le proprietà e le azioni dei suoi predecessori. Il meccanismo di ereditarietà consente di ridefinire o aggiungere nuovi dati e metodi per elaborarli e creare una gerarchia di classi.

Per esempio. Negli editor di grafica vettoriale, un'immagine è costruita da primitive grafiche: un punto, una linea, un cerchio, ecc.

Una delle primitive grafiche è la classe di oggetti POINT. In questa classe, ogni oggetto ha determinate proprietà (Coordinate, Colore), sulle quali sono possibili operazioni corrispondenti (Sposta, Cambia colore). La classe dell'oggetto POINT può essere specificata da una tabella

Proprietà

Coordinate (x,y)

In movimento

Cambio di colore

Dalla classe dell'oggetto POINT è possibile ottenere una nuova classe CIRCLE aggiungendo una nuova proprietà Radius e l'operazione Cambia raggio. La classe dell'oggetto CIRCLE può essere specificata come tabella.

Proprietà

Coordinate (x,y)

In movimento

Cambio di colore

Raggio (R)

Modifica del raggio

Tutti gli oggetti della classe CIRCLE ereditano le proprietà e le operazioni della classe POINT. La classe POINT è chiamata classe genitore, la classe CIRCLE è la classe figlia. Graficamente appare così:


eredità

  1. Polimorfismo– la capacità di effettuare le stesse operazioni su oggetti appartenenti a classi diverse, pur mantenendo metodi individuali per la loro implementazione per ciascuna classe. Cioè, la stessa operazione su oggetti di classi diverse può essere eseguita con metodi diversi.

Per esempio. La maggior parte delle classi di oggetti nell'ambiente WINDOWS/OFFICE sono caratterizzate da un insieme delle stesse operazioni: rinominare, spostare, copiare, eliminare, ecc. I meccanismi per l'attuazione di queste azioni sono diversi per le diverse classi. Pertanto, per copiare una cartella, è necessario eseguire una sequenza di azioni per modificare il file system e, per copiare un simbolo, apportare modifiche al documento. Queste operazioni verranno eseguite da vari programmi.

Programmazione visiva

Le tecnologie di oggetti, eventi e programmazione strutturata sono ora combinateSistemi RAD, che contengono molte classi già pronte presentate nel modulo visivo componenti , che vengono aggiunti al programma con un clic. Il programmatore deve solo progettare l'aspetto delle finestre dell'applicazione e determinare l'elaborazione degli eventi di base: quali operatori verranno eseguiti quando si premono i pulsanti, si selezionano le voci di menu o si fa clic con il mouse. L'ambiente genererà da solo tutto il codice sorgente ausiliario, consentendo al programmatore di concentrarsi completamente solo sull'implementazione dell'algoritmo.

Lo sviluppo di questa tecnologia è associato all'emergere di un'interfaccia grafica. Si tratta di una tecnologia per lo sviluppo di applicazioni sotto forma di oggetti grafici, con la loro successiva traduzione in codice di programma. Negli anni '90 è apparsa la tecnologia RAD: Rapid Application Development: sviluppo rapido di applicazioni. Tutti gli elementi di progettazione e controllo necessari vengono creati e mantenuti non tramite programmazione manuale, ma utilizzando componenti visivi già pronti che vengono trascinati nella finestra progettata utilizzando il mouse. Le proprietà e il comportamento dei componenti vengono configurati utilizzando semplici editor che mostrano visivamente le caratteristiche degli elementi corrispondenti. In questo caso, il testo sorgente del programma viene generato automaticamente dall'ambiente RAD.

Gli ambienti RAD sono progettati per lo sviluppo, con la partecipazione attiva degli utenti, di sistemi informativi per applicazioni aziendali. RAD è progettato per garantire un'elevata velocità di sviluppo del sistema e allo stesso tempo aumentare la qualità del prodotto software e ridurne i costi.

I linguaggi di programmazione universali più popolari oggi sono:

Base - richiede una formazione iniziale da padroneggiare (scuola secondaria);

Pascal - richiede una formazione speciale (scuole con livello avanzato
studio della materia e università tecniche generali);

C++ (C++), Java, C Sharp (C#) - richiedono una formazione professionale (istituti di istruzione secondaria e superiore specializzati).

Per ognuno di questi linguaggi di programmazione oggi esistono numerosi sistemi di programmazione prodotti da varie aziende e destinati a vari modelli di PC e sistemi operativi. I seguenti ambienti visivi per la progettazione rapida di programmi per Windows sono i più popolari:

Di base: Microsoft Visual Basic;

Pascal: Borland Delfi;

C++: Microsoft Visual C++;

Java: BorlandJBuilder,

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

Per sviluppare applicazioni server e distribuite, è possibile utilizzare il sistema di programmazione Microsoft Visual C++, i prodotti Borland e quasi tutti gli strumenti di programmazione in Java.

5. Immissione del programma nella memoria del computer. Giro di prova

Nei grandi centri informatici, quando si risolvono problemi abbastanza grandi e complessi, i programmi vengono inseriti da persone con una professione speciale: operatori di computer. Oltre a inserire i programmi, gli operatori preparano i dati, inserendoli nella memoria e registrandoli su un supporto esterno. Un programmatore che lavora su un PC inserisce lui stesso il programma e i dati.

Dopo l'inserimento del programma segue un ciclo di prova. Nei casi da considerare eccezionali, il programma viene eseguito immediatamente e produce qualche risultato. Molto più spesso devi trovare i motivi per cui il programma non funziona o non funziona correttamente e correggerli: eseguire il debug del programma.

6. Debug e test del programma

Viene chiamato il processo di ricerca e correzione degli errori in un programma debug. Possono verificarsi errori durante la digitazione a causa della violazione delle regole per la scrittura di programmi in un linguaggio di programmazione, il cosiddetto sintattico errori. Speciali programmi strumentali (programmi di controllo della sintassi) inclusi nel sistema di programmazione aiutano a rilevarli e correggerli. Il sistema analizza il programma ed emette un messaggio sulla posizione e la natura dell'errore. Spesso gli errori sono causati dal fatto che non è possibile eseguire alcune costruzioni sintatticamente corrette (ad esempio, una divisione per zero o un tentativo di assegnare un valore reale a un valore intero). In questo caso appare anche un messaggio sul motivo dell'errore e indica quale comando specifico non può essere eseguito.

Molto più difficile da trovare errori commessi durante la compilazione dell'algoritmo, che alla fine portano a un funzionamento errato del programma: mancanza di risultato, looping, risultato errato. In questo caso è utile il controllo passo passo dell'esecuzione del programma.

Un passaggio importante nel processo di debug è test programmi, cioè testarlo introducendo un test: un determinato insieme di dati iniziali, per i quali è noto in anticipo il risultato del funzionamento dei singoli blocchi o del programma nel suo insieme.

Spesso, come parte dello sviluppo di un modello informativo, vengono poste delle restrizioni sui dati di origine. In questo caso, il programma deve reagire all'immissione di valori errati: interrompere il lavoro o richiedere la reimmissione. Di norma, il programma fornisce protezione contro l'immissione di dati errati o altre azioni involontarie dell'utente. Quindi, durante il processo di test, viene verificata la qualità di tale protezione.

La capacità di selezionare con successo un test in cui è più probabile un errore (se presente) e di fornire varie opzioni per il corso del processo computazionale, nonché le azioni dell'utente (a volte molto imprevedibili) e, quindi, di proteggere il funzionamento del programma da eventuali sorprese è una grande abilità di un programmatore.

L'esempio di test più semplice: se il programma contiene un ramo, ad es. è necessario selezionare un metodo di azione in base all'adempimento della condizione è necessario verificarne il funzionamento con quei dati iniziali in cui la condizione è soddisfatta e con quelli in cui non è soddisfatta;

Fino a poco tempo fa, le fasi 4, 5 e 6 erano le fasi necessarie per risolvere un problema utilizzando un computer. Allo stesso tempo, i linguaggi e i sistemi di programmazione erano gli strumenti software con l'aiuto dei quali venivano creati nuovi programmi per risolvere i problemi degli utenti. Tuttavia, con l'ampliamento della gamma di compiti per i quali viene utilizzato un computer, cresce il numero di persone che, non essendo programmatori professionisti, utilizzano un computer nel proprio lavoro.

A questo proposito sono stati creati diversi strumenti software che ne costituiscono la base Tecnologie informatiche, utilizzato per risolvere una serie di problemi pratici, come l'elaborazione di testi e fogli di calcolo, la creazione di immagini grafiche, l'accesso alle informazioni archiviate in un database, la risoluzione di un problema matematico, il calcolo di un progetto tecnico e molto altro. Per risolverli, l'utente del computer ha a sua disposizione un ampio software.

Nel processo di creazione di un modello informativo di un'attività, l'utente determina quali azioni dovrà eseguire per ottenere il risultato e, in base a ciò, decide quale strumento software utilizzare. Se ha a disposizione un programma adatto a risolvere un determinato problema, l'utente lo seleziona come strumento (DBMS, elaboratore di fogli di calcolo, pacchetto matematico, ecc.). Se non puoi utilizzare un software applicativo già pronto, dovrai utilizzare la tecnologia di programmazione.

7. Ottenere e analizzare i risultati

Qualunque sia la tecnologia utilizzata per risolvere i problemi su un computer, la fase necessaria sarà quella di ottenere e analizzare il risultato: viene verificata la conformità dei risultati ottenuti con quanto previsto nell'ambito del modello informativo costruito del problema, nonché la viene valutata la misura in cui il risultato ottenuto si riferisce alla pratica reale.

In questa fase si scopre in che misura il modello informativo costruito corrisponde alla realtà. Il fatto è che più le proprietà degli oggetti e dei fenomeni vengono riconosciute come significative e prese in considerazione, più il modello riflette la realtà. Tuttavia, prendere in considerazione un gran numero di caratteristiche porta a un modello più complesso e a difficoltà nell’esprimere matematicamente le relazioni tra le caratteristiche. Di solito cercano di trovare un equilibrio tra la completezza della conformità del modello informativo con lo stato reale delle cose e la sua complessità nel processo di perfezionamento del modello (aumentando gradualmente il numero di proprietà essenziali prese in considerazione).

Domande per prepararsi al test sull'argomento “Modellazione, algoritmizzazione, programmazione”

    formalizzazione e algoritmizzazione dei processi di funzionamento dei sistemi.

Metodologia per lo sviluppo e l'implementazione su macchina di modelli di sistema. Costruzione di modelli concettuali di sistemi e loro formalizzazione. Algoritmizzazione di modelli di sistema e loro implementazione in macchina. Ottenere e interpretare i risultati della modellazione del sistema.

Metodologia per lo sviluppo e l'implementazione su macchina di modelli di sistema.

La modellazione utilizzando la tecnologia informatica (computer, AVM, GVK) consente di studiare il meccanismo dei fenomeni che si verificano in un oggetto reale ad alta o bassa velocità, quando è difficile eseguire esperimenti su vasta scala con un oggetto

(o impossibile) tenere traccia dei cambiamenti che si verificano

per un breve periodo o quando per ottenere risultati affidabili è necessario un lungo esperimento.

L'essenza della modellazione automatica di un sistema è condurre un esperimento su un computer con un modello, che è un certo complesso software che descrive formalmente e (o) algoritmicamente il comportamento degli elementi del sistema S nel processo del suo funzionamento, cioè nella loro interazione tra loro e con l'ambiente esterno E.

Requisiti utente per il modello. Formuliamo i requisiti di base del modello M S.

1. La completezza del modello dovrebbe offrire all'utente l'opportunità

ottenere la serie richiesta di stime delle caratteristiche

sistemi con la precisione e l’affidabilità richieste.

2. La flessibilità del modello dovrebbe consentirne la riproduzione

varie situazioni quando si varia la struttura, algoritmi

e parametri di sistema.

3. Durata dello sviluppo e dell'implementazione di un modello di sistema di grandi dimensioni

dovrebbe essere il più minimo possibile, tenendo conto delle restrizioni

con le risorse disponibili.

4. La struttura del modello dovrebbe essere basata su blocchi, ovvero consentire

possibilità di sostituire, aggiungere ed escludere alcune parti

senza rielaborare l'intero modello.

5. Il supporto informativo dovrebbe offrire un'opportunità

funzionamento efficace del modello con un database di sistemi di un certo

6. Il software e l'hardware devono garantire un'implementazione efficiente (in termini di velocità e memoria) della macchina

modelli e comunicazione conveniente con esso da parte dell'utente.

7. È necessario attuare attività mirate

esperimenti di macchina (pianificati) con un modello di sistema utilizzando

approccio analitico-simulativo in presenza di risorse computazionali limitate.

Quando si simula un sistema

S vengono determinate le caratteristiche del suo processo di funzionamento

basato sul modello M, costruito sulla base dell'esistente iniziale

informazioni sull'oggetto di modellazione. Quando si ricevono nuove informazioni

riguardo all'oggetto, il suo modello viene rivisto e chiarito

tenendo conto delle nuove informazioni.

È possibile utilizzare la modellazione computerizzata dei sistemi

nei seguenti casi: a) studiare il sistema S prima che sia progettato, al fine di determinare la sensibilità della caratteristica ai cambiamenti nella struttura, negli algoritmi e nei parametri dell'oggetto di modellazione e dell'ambiente esterno; b) in fase di progettazione del sistema S per l'analisi e la sintesi di varie opzioni del sistema e la selezione tra opzioni concorrenti che soddisferebbero un dato criterio per valutare l'efficacia del sistema sotto le restrizioni accettate; c) dopo il completamento della progettazione e dell'implementazione del sistema, vale a dire durante il suo funzionamento, per ottenere informazioni che integrino i risultati dei test su scala reale (funzionamento) del sistema reale e per ottenere previsioni dell'evoluzione (sviluppo) del sistema nel tempo.

Fasi di modellazione del sistema:

    costruzione di un modello concettuale del sistema e sua formalizzazione;

    algoritmizzazione del modello del sistema e della sua implementazione in macchina;

    ottenere e interpretare i risultati della simulazione del sistema.

Elenchiamo questi sotto-passaggi:

1.1-affermazione del problema della modellazione della macchina del sistema (obiettivi, compiti per il sistema in fase di creazione, a) riconoscimento dell'esistenza del problema e della necessità della modellazione della macchina;

b) scegliere un metodo per risolvere un problema, tenendo conto delle risorse disponibili; c) determinare la portata del compito e la possibilità di dividerlo in sottocompiti.);

1.2 - analisi del problema di modellazione del sistema (selezione dei criteri di valutazione, selezione delle variabili endogene ed esogene, selezione dei metodi, esecuzione di analisi preliminari della 2a e 3a fase);

1.3 - determinazione dei requisiti per le informazioni iniziali sull'oggetto di modellazione

e organizzazione della sua raccolta (effettuata: a) selezione delle informazioni necessarie sul sistema S e ambiente esterno E; b) preparazione dei dati a priori; c) analisi dei dati sperimentali disponibili; d) selezione dei metodi e dei mezzi per l'elaborazione preliminare delle informazioni sul sistema);

1.4 - avanzare ipotesi e formulare ipotesi (sul funzionamento del sistema, sui processi oggetto di studio);

1.5 - determinazione dei parametri e delle variabili del modello (variabili di input, variabili di output, parametri del modello, ecc.);

1.6 - stabilire il contenuto principale del modello (struttura, algoritmi del suo comportamento);

1.7 - giustificazione dei criteri per valutare l'efficacia del sistema;

1.8 - definizione delle procedure di approssimazione;

1.9 - descrizione del modello concettuale del sistema (a) il modello concettuale è descritto in termini e concetti astratti; b) viene fornita una descrizione del modello utilizzando schemi matematici standard; c) ipotesi e presupposti siano infine accettati; d) la scelta della procedura per approssimare i processi reali durante la costruzione è giustificata

1.10 - verifica dell'attendibilità del modello concettuale;

1.11 - preparazione della documentazione tecnica per la prima fase (a) dichiarazione dettagliata del problema della modellazione del sistema S; b) analisi del problema di modellizzazione del sistema; c) criteri per valutare l'efficacia del sistema; d) parametri e variabili del modello del sistema; e) ipotesi e assunzioni adottate nella costruzione del modello; f) descrizione del modello in termini e concetti astratti; g) descrizione dei risultati attesi dalla modellizzazione del sistema S.);

2.1 - costruzione di uno schema logico del modello (costruzione di uno schema di sistema, ad esempio, secondo il principio del blocco con tutti i blocchi funzionali);

2.2 - ottenere relazioni matematiche (impostando tutte le funzioni che descrivono il sistema);

2.3 - verifica dell'affidabilità del modello di sistema; (selezionato: a) possibilità

risolvere il problema; b) accuratezza della riflessione del piano in logica

schema; c) completezza dello schema logico del modello; d) correttezza

relazioni matematiche utilizzate)

2.4 - selezione degli strumenti per la modellazione (la scelta finale di un computer, AVM o GVM per il processo di modellazione, tenendo conto che saranno accessibili e produrranno rapidamente risultati);

2.5 - elaborazione di un piano per l'esecuzione del lavoro di programmazione (definendo compiti e scadenze per la loro attuazione, a) viene presa in considerazione anche la scelta di un linguaggio di programmazione (sistema) per il modello; b) indicazione del tipo di computer e dispositivi necessari per la modellazione; c) valutazione della quantità approssimativa di RAM e memoria esterna richieste; d) stima dei costi in termini di tempo del computer per la modellazione; e) il tempo stimato impiegato per la programmazione e il debug del programma su un computer.);

2.6 - specificazione e costruzione di un diagramma di programma (elaborazione di uno schema a blocchi logico),

2.7 - verifica e verifica dell'affidabilità dello schema del programma (Verifica del programma - prova che il comportamento del programma è conforme alle specifiche del programma);

2.8 - programmazione del modello;

2.9 - verifica dell'affidabilità del programma (deve essere effettuata: a) ritrasferendo il programma sul circuito originale; b) testare singole parti del programma durante la risoluzione di vari problemi di test; c) combinare tutte le parti del programma e testarlo nel suo insieme su un esempio di prova di modellazione di una variante del sistema S) ;

2.10 - predisposizione della documentazione tecnica per la seconda fase (a) schema logico del modello e sua descrizione; b) un diagramma di programma adeguato e una notazione accettata; c) testo integrale del programma; d) elenco delle quantità in ingresso e in uscita con relative spiegazioni; e) istruzioni per lavorare con il programma; f) valutazione del costo del tempo informatico per la modellazione, indicando le risorse informatiche necessarie);

3.1 - rivestimento di una macchina sperimentale con un modello di sistema (viene redatto un piano sperimentale con i parametri iniziali e tutte le condizioni, viene determinato il tempo di simulazione);

3.2 - determinazione dei requisiti per le strutture informatiche (che tipo di computer sono necessari e per quanto tempo funzioneranno);

3.3 - esecuzione di calcoli operativi (di solito includono: a) preparazione di serie di dati iniziali da inserire in un computer; b) verificare i dati sorgente predisposti per l'input; c) eseguire calcoli su un computer; d) ottenere i dati di output, ovvero i risultati della simulazione.);

3.4 - analisi dei risultati della modellazione del sistema (analisi dei dati di output del sistema e loro ulteriore elaborazione);

3.5 - presentazione dei risultati della modellazione (varie rappresentazioni visive sotto forma di grafici, tabelle, diagrammi);

3.6 - interpretazione dei risultati della modellazione (transizione dalle informazioni ottenute come risultato di un esperimento automatico con un modello a un sistema reale);

3.7 - sintesi dei risultati della modellazione e formulazione di raccomandazioni (vengono determinati i risultati principali, vengono testate le ipotesi);

3.8 - preparazione della documentazione tecnica per la terza fase (a) piano per condurre un esperimento sulla macchina; b) set di dati iniziali per la modellazione; c) risultati della modellizzazione del sistema; d) analisi e valutazione dei risultati della modellizzazione; e) conclusioni basate sui risultati di modellazione ottenuti; indicando modi per migliorare ulteriormente il modello di macchina e possibili ambiti di applicazione).

Pertanto, il processo di modellazione del sistema S si riduce all'attuazione delle sottofasi elencate, raggruppate sotto forma di tre fasi.

Nella fase di costruzione di un modello concettuale Mx e la sua formalizzazione, viene effettuato uno studio dell'oggetto modellato dal punto di vista dell'identificazione delle componenti principali del processo del suo funzionamento, vengono determinate le approssimazioni necessarie e si ottiene un diagramma generalizzato del modello di sistema S, che viene convertito in un modello di macchina Mm nella seconda fase di modellazione mediante algoritmizzazione sequenziale e programmazione del modello.

L'ultimo terzo stadio della modellazione del sistema si riduce all'esecuzione di calcoli operativi su un computer secondo il piano ricevuto utilizzando software e hardware selezionati, ottenendo e interpretando i risultati della modellazione del sistema S, tenendo conto dell'influenza dell'ambiente esterno E.

Costruzione di modelli concettuali di sistemi e loro formalizzazione.

Nella prima fase della modellazione della macchina: costruzione modello concettuale Sistema Mx S e sua formalizzazione - formulato viene costruito il modello e il suo schema formale, ovvero il principale lo scopo di questa fase è il passaggio da una descrizione significativa

opporsi al suo modello matematico, in altre parole, al processo di formalizzazione.

La soluzione più razionale è costruire un modello del funzionamento del sistema secondo il principio dei blocchi.

In questo caso si possono distinguere tre gruppi autonomi di blocchi di tale modello. I blocchi del primo gruppo rappresentano un simulatore di influenze ambientali E al sistema 5; i blocchi del secondo gruppo sono il modello reale del processo di funzionamento del sistema in esame S; blocchi del terzo gruppo - ausiliari

e servono per l'implementazione meccanica dei blocchi dei primi due gruppi, nonché per la registrazione e l'elaborazione dei risultati della simulazione.

Modello concettuale: vengono visualizzati i sottoprocessi del sistema, i processi che non possono essere considerati vengono rimossi dal sistema a blocchi (non influiscono sul funzionamento del modello).

Maggiori informazioni sul disegno. Il passaggio dalla descrizione di un sistema al suo modello in questa interpretazione si riduce ad escludere dalla considerazione alcuni elementi minori della descrizione (elementi

J_ 8,39 - 41,43 - 47). Si presume che non abbiano un impatto significativo sul corso dei processi studiati utilizzando

Modelli. Parte degli elementi (14,15, 28, 29, 42) sostituiti da connessioni passive H, riflettendo le proprietà interne del sistema (Fig. 3.2, B). Alcuni degli elementi (1 - 4. 10. 11, 24L 25)- sostituito da fattori di input X e influssi ambientali v – Sono possibili anche sostituzioni combinate: elementi 9, 18, 19, 32, 33 sostituito dal collegamento passivo A2 e dagli influssi ambientali E.

Elementi 22,23.36.37 riflettere l'impatto del sistema sull'ambiente esterno y.

Modelli matematici dei processi. Dopo essere passati dalla descrizione

sistema modellato S al suo modello Mv costruito secondo il blocco

principio, è necessario costruire modelli matematici dei processi,

che si verificano in blocchi diversi. Modello matematico

rappresenta un insieme di relazioni (ad esempio, equazioni,

condizioni logiche, operatori) che definiscono le caratteristiche

processo di funzionamento del sistema S dipende da

struttura del sistema, algoritmi di comportamento, parametri di sistema,

influenze ambientali E, condizioni iniziali e tempi.

Algoritmizzazione di modelli di sistema e loro implementazione in macchina.

Nella seconda fase della modellazione: la fase di algoritmizzazione del modello

e la sua implementazione nella macchina: si è formato un modello matematico

nella prima fase, incorporato in una macchina specifica

modello. Implementazione pratica del sistema.

Costruzione di algoritmi di modellazione.

Processo operativo del sistema S può essere considerato come un cambiamento sequenziale nei suoi stati z=z(z1(t), z2(t),..., zk(t)) nello spazio k-dimensionale. Ovviamente il compito di modellare il processo di funzionamento del sistema oggetto di studio Sè la costruzione di funzioni z, sulla base dei quali è possibile effettuare i calcoli degli interessi

caratteristiche del processo di funzionamento del sistema.

Per fare ciò è necessario descrivere le relazioni che collegano le funzioni z (stati) con variabili, parametri e tempo, nonché condizioni iniziali.

Viene chiamato il principio considerato della costruzione di algoritmi di modellazione principio A. Questo è il principio più universale che ci consente di determinare gli stati sequenziali del processo di funzionamento del sistema S a intervalli specificati

A. Ma dal punto di vista del costo del tempo impiegato dal computer, a volte risulta antieconomico.

Considerando i processi di funzionamento di alcuni sistemi, puoi scoprire che sono caratterizzati da due tipi di stati:

1) speciale, inerente solo al processo di funzionamento del sistema

in alcuni punti nel tempo (momenti di input input

o azioni di controllo, disturbi ambientali, ecc.);

2) non singolare, in cui il processo si trova per il resto del tempo.

Gli stati speciali sono anche caratterizzati dal fatto che le funzioni degli stati zi(t) e i momenti del tempo cambiano bruscamente, e tra stati speciali il cambiamento delle coordinate zi(t) avviene in modo fluido e continuo o non avviene affatto. COSÌ

Quindi, seguendo la modellazione del sistema S solo dai suoi stati particolari, nei momenti in cui questi stati si verificano, si possono ottenere le informazioni necessarie per costruire le funzioni z(t). Ovviamente, per il tipo di sistemi descritti, gli algoritmi di modellazione possono essere costruiti utilizzando il “principio degli stati speciali”. Indichiamo il cambiamento di stato simile a un salto (relè). z Come bz, e il “principio degli stati speciali” - come principio bz.

Ad esempio, per un sistema di code (Schemi Q) come stati speciali, gli stati possono essere selezionati al momento della ricezione delle richieste di servizio nel dispositivo P e al momento della cessazione del servizio delle richieste da parte dei canali A, quando lo stato del sistema,

stimato dal numero di applicazioni in esso contenute, cambia bruscamente.

Una forma conveniente per rappresentare la struttura logica dei modelli dei processi di funzionamento dei sistemi e dei programmi informatici è un diagramma. In varie fasi della modellazione, vengono compilati diagrammi logici generalizzati e dettagliati degli algoritmi di modellazione, nonché diagrammi di programma.

Diagramma generalizzato (ingrandito) dell'algoritmo di modellazione specifica la procedura generale per modellare un sistema senza ulteriori dettagli. Il diagramma generalizzato mostra cosa è necessario fare nella fase successiva di modellazione, ad esempio, accedere al sensore di numeri casuali.

Diagramma dettagliato dell'algoritmo di modellazione contiene chiarimenti che mancano nello schema generalizzato. Un diagramma dettagliato mostra non solo cosa dovrebbe essere fatto nella fase successiva della modellazione del sistema, ma anche come farlo.

Schema logico dell'algoritmo di modellazione rappresenta la struttura logica del modello di processo di funzionamento del sistema S. Un diagramma logico specifica una sequenza ordinata nel tempo di operazioni logiche associate alla risoluzione di un problema di modellazione.

Schema del programma visualizza l'ordine di implementazione software dell'algoritmo di modellazione utilizzando software matematico specifico. Un diagramma di programma è un'interpretazione del diagramma logico di un algoritmo di modellazione da parte di uno sviluppatore di programma basato su uno specifico linguaggio algoritmico.

Ottenere e interpretare i risultati della modellazione del sistema.

Nella terza fase della modellazione - la fase di ottenimento e interpretazione dei risultati della modellazione - il computer viene utilizzato per eseguire calcoli di lavoro utilizzando un programma compilato e sottoposto a debug.

I risultati di questi calcoli ci consentono di analizzare e formulare conclusioni sulle caratteristiche del processo di funzionamento del sistema simulato S.

Durante un esperimento con la macchina, viene studiato il comportamento del modello in studio. M processo di funzionamento del sistema S ad un dato intervallo di tempo.

Spesso vengono utilizzati criteri di valutazione più semplici, ad esempio la probabilità che si verifichi un determinato stato del sistema in un dato momento t*, assenza di guasti e guasti nel sistema nell'intervallo, ecc. Quando si interpretano i risultati della simulazione, vengono calcolate varie caratteristiche statistiche che devono essere calcolate.

Sovetov B.Ya., Yakovlev S.A.

Modellazione dei sistemi. 4a ed. – M.: Scuola superiore, 2005. – P. 84-106.

Inviare il tuo buon lavoro nella knowledge base è semplice. Utilizza il modulo sottostante

Studenti, dottorandi, giovani scienziati che utilizzano la base di conoscenze nei loro studi e nel loro lavoro ti saranno molto grati.

postato su http://www.allbest.ru/

postato su http://www.allbest.ru/

introduzione

1. Revisione analitica dei metodi e dei mezzi esistenti per risolvere il problema

1.1 Concetto e tipologie di modellizzazione

1.2 Metodi di calcolo numerico

1.3 Concetti generali del metodo degli elementi finiti

2. Analisi algoritmica del problema

2.1 Dichiarazione del problema

2.2 Descrizione del modello matematico

2.3 Schema grafico dell'algoritmo

3. Implementazione software dell'attività

3.1 Deviazioni e tolleranze delle filettature dei tubi cilindrici

3.2 Implementazione delle deviazioni e delle tolleranze delle filettature dei tubi cilindrici nel software Compass

3.3 Implementazione del compito nel linguaggio di programmazione C#

3.4 Implementazione di un modello strutturale nel pacchetto ANSYS

3.5 Studio dei risultati ottenuti

Conclusione

Elenco della letteratura usata

introduzione

Nel mondo moderno, c'è sempre più bisogno di prevedere il comportamento dei sistemi fisici, chimici, biologici e di altro tipo. Uno dei modi per risolvere il problema è utilizzare una direzione scientifica abbastanza nuova e pertinente: la modellazione computerizzata, una caratteristica della quale è l'alta visualizzazione delle fasi dei calcoli.

Questo lavoro è dedicato allo studio della modellazione computerizzata nella risoluzione di problemi applicati. Tali modelli vengono utilizzati per ottenere nuove informazioni sull'oggetto modellato per una valutazione approssimativa del comportamento dei sistemi. In pratica, tali modelli vengono utilizzati attivamente in vari campi della scienza e della produzione: fisica, chimica, astrofisica, meccanica, biologia, economia, meteorologia, sociologia e altre scienze, nonché in problemi applicati e tecnici in vari campi della radioelettronica , ingegneria meccanica, industria automobilistica e altri. Le ragioni di ciò sono ovvie: questa è un'opportunità per creare rapidamente un modello e apportare rapidamente modifiche ai dati di origine, inserire e regolare parametri aggiuntivi del modello. Gli esempi includono lo studio del comportamento di edifici, parti e strutture sotto carico meccanico, la previsione della resistenza di strutture e meccanismi, la modellazione di sistemi di trasporto, la progettazione di materiali e il loro comportamento, la progettazione di veicoli, previsioni meteorologiche, emulazione del funzionamento di dispositivi elettronici, simulazione di crash test, prove di resistenza e adeguatezza di tubazioni, impianti termici e idraulici.

Lo scopo del corso è studiare algoritmi di modellazione computerizzata, come il metodo degli elementi finiti, il metodo delle differenze al contorno, il metodo delle differenze finite con ulteriore applicazione pratica per il calcolo della resistenza delle connessioni filettate; Sviluppo di un algoritmo per risolvere un determinato problema con successiva implementazione sotto forma di prodotto software; garantire la precisione di calcolo richiesta e valutare l'adeguatezza del modello utilizzando diversi prodotti software.

1 . Revisione analitica dei metodi e dei mezzi esistenti per risolvere il problema

1.1 Concetto e tipologie di modelliEvagante

I problemi di ricerca risolti modellando vari sistemi fisici possono essere suddivisi in quattro gruppi:

1) Problemi diretti, nella soluzione dei quali il sistema in studio è specificato dai parametri dei suoi elementi e dai parametri della modalità, struttura o equazioni iniziali. È necessario determinare la risposta del sistema alle forze (disturbi) che agiscono su di esso.

2) Problemi inversi, in cui, sulla base di una reazione nota di un sistema, è necessario trovare le forze (perturbazioni) che hanno causato questa reazione e forzare il sistema in esame a raggiungere un dato stato.

3) Problemi inversi che richiedono la determinazione dei parametri del sistema in base al corso noto del processo, descritto da equazioni differenziali e dai valori delle forze e reazioni a queste forze (disturbi).

4) Problemi induttivi, la cui soluzione è finalizzata a elaborare o chiarire equazioni che descrivono processi che si verificano in un sistema le cui proprietà (disturbi e reazioni ad essi) sono note.

A seconda della natura dei processi studiati nel sistema, tutti i tipi di modellazione possono essere suddivisi nei seguenti gruppi:

Deterministico;

Stocastico.

La modellazione deterministica rappresenta processi deterministici, vale a dire processi in cui si presuppone l’assenza di influenze casuali.

La modellazione stocastica descrive processi ed eventi probabilistici. In questo caso vengono analizzate alcune realizzazioni di un processo casuale e se ne stimano le caratteristiche medie, ovvero un insieme di implementazioni omogenee.

A seconda del comportamento dell'oggetto nel tempo, la modellazione è classificata in due tipi:

Statico;

Dinamico.

La modellazione statica serve a descrivere il comportamento di un oggetto in qualsiasi momento, mentre la modellazione dinamica riflette il comportamento di un oggetto nel tempo.

A seconda della forma di rappresentazione dell'oggetto (sistema), possiamo distinguere

Modellazione fisica;

Modellazione matematica.

La modellazione fisica differisce dall'osservazione di un sistema reale (esperimento su scala reale) in quanto la ricerca viene condotta su modelli che preservano la natura dei fenomeni e hanno una somiglianza fisica. Un esempio è il modello di un aereo studiato in una galleria del vento. Nel processo di modellazione fisica vengono specificate alcune caratteristiche dell'ambiente esterno e viene studiato il comportamento del modello sotto determinate influenze esterne. La modellazione fisica può avvenire su scale temporali reali e irreali.

Per modellazione matematica si intende il processo di creazione di una corrispondenza tra un dato oggetto reale e un determinato oggetto matematico, chiamato modello matematico, e lo studio di questo modello su un computer al fine di ottenere le caratteristiche dell'oggetto reale in questione.

I modelli matematici sono costruiti sulla base di leggi individuate dalle scienze fondamentali: fisica, chimica, economia, biologia, ecc. In definitiva, l'uno o l'altro modello matematico viene scelto sulla base di criteri pratici, intesi in senso lato. Dopo aver formato il modello, è necessario studiarne il comportamento.

Qualsiasi modello matematico, come qualsiasi altro, descrive un oggetto reale solo con un certo grado di approssimazione alla realtà. Pertanto, nel processo di modellazione è necessario risolvere il problema della corrispondenza (adeguatezza) del modello matematico e del sistema, vale a dire condurre ulteriori ricerche sulla coerenza dei risultati della simulazione con la situazione reale.

La modellazione matematica può essere suddivisa nei seguenti gruppi:

analitico;

Imitazione;

Combinato.

Utilizzando la modellazione analitica, lo studio di un oggetto (sistema) può essere effettuato se sono note dipendenze analitiche esplicite che collegano le caratteristiche desiderate con le condizioni iniziali, i parametri e le variabili del sistema.

Tuttavia, tali dipendenze possono essere ottenute solo per sistemi relativamente semplici. Man mano che i sistemi diventano più complessi, studiarli utilizzando metodi analitici incontra difficoltà significative, spesso insormontabili.

Nella modellazione simulativa, l'algoritmo che implementa il modello riproduce il processo di funzionamento del sistema nel tempo, e i fenomeni elementari che compongono il processo vengono simulati preservandone la struttura logica, che consente, dai dati sorgente, di ottenere informazioni sugli stati del processo in determinati momenti in ciascun anello del sistema.

Il vantaggio principale della modellazione simulativa rispetto alla modellazione analitica è la capacità di risolvere problemi più complessi. I modelli di simulazione consentono di prendere in considerazione in modo molto semplice fattori quali la presenza di elementi discreti e continui, caratteristiche non lineari degli elementi del sistema, numerose influenze casuali, ecc.

Attualmente, la modellizzazione di simulazione è spesso l’unico metodo praticamente disponibile per ottenere informazioni sul comportamento di un sistema, soprattutto in fase di progettazione.

La modellazione combinata (analitica-simulazione) consente di combinare i vantaggi della modellazione analitica e di simulazione.

Quando si costruiscono modelli combinati, viene effettuata una scomposizione preliminare del processo di funzionamento dell'oggetto nei suoi sottoprocessi costituenti e per questi, ove possibile, vengono utilizzati modelli analitici e per i restanti sottoprocessi vengono costruiti modelli di simulazione.

Dal punto di vista della descrizione di un oggetto e a seconda della sua natura, i modelli matematici possono essere suddivisi in modelli:

analogico (continuo);

digitale (discreto);

analogico-digitale.

Per modello analogico si intende un modello simile descritto da equazioni relative a quantità continue. Per modello digitale si intende un modello descritto da equazioni relative a quantità discrete presentate in forma digitale. Per analogico-digitale intendiamo un modello che può essere descritto da equazioni che collegano quantità continue e discrete.

1.2 Metodi numericiConcoppia

Risolvere un problema per un modello matematico significa specificare un algoritmo per ottenere il risultato richiesto dai dati originali.

Gli algoritmi risolutivi sono convenzionalmente suddivisi in:

algoritmi precisi che permettono di ottenere il risultato finale in un numero finito di azioni;

metodi approssimativi: consentono, a causa di determinati presupposti, di ridurre la soluzione a un problema con un risultato esatto;

metodi numerici: comportano lo sviluppo di un algoritmo che fornisce una soluzione con un dato errore controllato.

La risoluzione dei problemi di meccanica strutturale è associata a grandi difficoltà matematiche, che vengono superate con l'ausilio di metodi numerici, che consentono di ottenere soluzioni approssimative, ma soddisfacenti scopi pratici, utilizzando un computer.

La soluzione numerica si ottiene mediante discretizzazione e algebrizzazione del problema dei valori al contorno. La discretizzazione è la sostituzione di un insieme continuo con un insieme discreto di punti. Questi punti sono chiamati nodi della griglia e solo in essi vengono cercati i valori della funzione. In questo caso la funzione viene sostituita da un insieme finito dei suoi valori nei nodi della griglia. Utilizzando i valori nei nodi della griglia, le derivate parziali possono essere espresse approssimativamente. Di conseguenza, l'equazione alle derivate parziali viene trasformata in equazioni algebriche (algebrizzazione del problema dei valori al contorno).

A seconda del modo in cui vengono eseguite la discretizzazione e l'algebrizzazione, si distinguono vari metodi.

Il primo metodo per risolvere problemi ai limiti che si è diffuso è il metodo delle differenze finite (FDM). In questo metodo, la discretizzazione consiste nel coprire l'area della soluzione con una griglia e sostituire un insieme continuo di punti con un insieme discreto. Viene spesso utilizzata una griglia con dimensioni di passo costanti (griglia regolare).

L’algoritmo MKR è composto da tre fasi:

1. Costruzione di una griglia in una determinata area. I valori approssimativi della funzione (valori nodali) sono determinati nei nodi della griglia. Un insieme di valori dei nodi è una funzione griglia.

2. Le derivate parziali sono sostituite da espressioni di differenza. In questo caso, la funzione continua è approssimata da una funzione griglia. Il risultato è un sistema di equazioni algebriche.

3. Soluzione del sistema di equazioni algebriche risultante.

Un altro metodo numerico è il metodo degli elementi di contorno (BEM). Si basa sulla considerazione di un sistema di equazioni che include solo i valori delle variabili ai confini della regione. Lo schema di discretizzazione prevede che venga partizionata solo la superficie. Il confine della regione è diviso in un numero di elementi e si ritiene che sia necessario trovare una soluzione approssimata che si avvicini al problema del valore del confine originale. Questi elementi sono chiamati elementi di contorno. Discretizzare solo il confine porta a un sistema di equazioni del problema più piccolo rispetto alla discretizzazione dell'intero corpo. Il BEM riduce di uno la dimensione del problema originale.

Quando si progettano vari oggetti tecnici, il metodo degli elementi finiti (FEM) è ampiamente utilizzato. L'emergere del metodo degli elementi finiti è associato alla soluzione dei problemi della ricerca spaziale negli anni '50. Attualmente il campo di applicazione del metodo degli elementi finiti è molto ampio e copre tutti i problemi fisici che possono essere descritti mediante equazioni differenziali. I vantaggi più importanti del metodo degli elementi finiti sono i seguenti:

1. Le proprietà dei materiali degli elementi adiacenti non devono essere le stesse. Ciò consente di applicare il metodo a corpi composti da più materiali.

2. Una regione curva può essere approssimata utilizzando elementi rettilinei o descritta esattamente utilizzando elementi curvi.

3. Le dimensioni degli articoli possono essere variabili. Ciò consente di ampliare o affinare la rete di suddivisione dell'area in elementi, se necessario.

4. Utilizzando il metodo degli elementi finiti, è facile considerare condizioni al contorno con un carico superficiale discontinuo, nonché condizioni al contorno miste.

La risoluzione dei problemi utilizzando FEM prevede i seguenti passaggi:

1.Ripartizione di una data area in elementi finiti. Numerazione dei nodi e degli elementi.

2.Costruzione di matrici di rigidezza agli elementi finiti.

3. Riduzione dei carichi e degli impatti applicati agli elementi finiti alle forze nodali.

4.Formazione di un sistema generale di equazioni; tenendo conto delle condizioni al contorno. Soluzione del sistema di equazioni risultante.

5. Determinazione delle tensioni e delle deformazioni negli elementi finiti.

Lo svantaggio principale del FEM è la necessità di discretizzare l’intero corpo, il che porta ad un gran numero di elementi finiti e, quindi, a problemi sconosciuti. Inoltre, la FEM porta talvolta a discontinuità nei valori delle grandezze oggetto di studio, poiché la procedura del metodo impone condizioni di continuità solo in corrispondenza dei nodi.

Per risolvere il problema è stato scelto il metodo degli elementi finiti, poiché è il più ottimale per il calcolo di una struttura di forma geometrica complessa.

1.3 Concetti generali del metodo degli elementi finiti

Il metodo degli elementi finiti consiste nello scomporre un modello matematico di una struttura in alcuni elementi, detti elementi finiti. Gli elementi sono unidimensionali, bidimensionali e multidimensionali. Un esempio di elementi finiti è fornito nella Figura 1. Il tipo di elemento dipende dalle condizioni iniziali. L'insieme degli elementi in cui è suddivisa una struttura è detto maglia di elementi finiti.

Il metodo degli elementi finiti si compone generalmente dei seguenti passaggi:

1. Suddivisione dell'area in elementi finiti. La divisione di un'area in elementi inizia solitamente dal suo confine, in modo da approssimare con maggiore precisione la forma del confine. Successivamente si dividono le aree interne. Spesso la suddivisione di un'area in elementi viene effettuata in più fasi. Innanzitutto, sono divisi in grandi parti, i confini tra i quali passano dove cambiano le proprietà dei materiali, la geometria e il carico applicato. Ogni sottoarea viene poi scomposta in elementi. Dopo aver diviso l'area in elementi finiti, i nodi vengono numerati. La numerazione sarebbe un compito banale se non influisse sull’efficienza dei calcoli successivi. Se consideriamo il sistema di equazioni lineari risultante, possiamo vedere che alcuni elementi diversi da zero nella matrice dei coefficienti si trovano tra le due linee; questa distanza è chiamata larghezza di banda della matrice; È la numerazione dei nodi che influenza la larghezza della striscia, il che significa che più ampia è la striscia, più iterazioni sono necessarie per ottenere la risposta desiderata.

software di algoritmo di modellazione ansys

Figura 1 - Alcuni elementi finiti

2. Determinazione della funzione approssimante per ciascun elemento. In questa fase, la funzione continua richiesta viene sostituita da una funzione continua a tratti definita su un insieme di elementi finiti. Questa procedura può essere eseguita una volta per un tipico elemento superficiale e quindi la funzione risultante può essere utilizzata per altri elementi superficiali dello stesso tipo.

3. Combinazione di elementi finiti. In questa fase le equazioni relative ai singoli elementi vengono combinate, cioè in un sistema di equazioni algebriche. Il sistema risultante è un modello della funzione continua desiderata. Otteniamo la matrice di rigidezza.

4. Soluzione del sistema di equazioni algebriche risultante. La struttura reale è approssimata da molte centinaia di elementi finiti e nascono sistemi di equazioni con molte centinaia e migliaia di incognite.

La risoluzione di tali sistemi di equazioni è il problema principale nell'implementazione del metodo degli elementi finiti. I metodi di soluzione dipendono dalla dimensione del sistema risolutivo di equazioni. A questo proposito, sono stati sviluppati metodi speciali per memorizzare la matrice di rigidezza per ridurre la quantità di RAM richiesta per questo. Le matrici di rigidezza vengono utilizzate in ciascun metodo di analisi della resistenza utilizzando una mesh di elementi finiti.

Per risolvere sistemi di equazioni si utilizzano vari metodi numerici, che dipendono dalla matrice risultante; questo è chiaramente visibile nel caso in cui la matrice non sia simmetrica, in questo caso non è possibile utilizzare metodi come il metodo del gradiente coniugato;

Invece delle equazioni costitutive, viene spesso utilizzato un approccio variazionale. A volte viene impostata una condizione per garantire una piccola differenza tra la soluzione approssimativa e quella reale. Poiché il numero di incognite nel sistema finale di equazioni è elevato, viene utilizzata la notazione matriciale. Attualmente esiste un numero sufficiente di metodi numerici per risolvere un sistema di equazioni, il che rende più semplice ottenere il risultato.

2. Analisi algoritmica del problema

2 .1 Dichiarazione del problema

È necessario sviluppare un'applicazione che simuli lo stato di sforzo-deformazione di una struttura piana ed eseguire un calcolo simile nel sistema Ansys.

Per risolvere il problema è necessario: dividere l'area in elementi finiti, numerare i nodi e gli elementi, impostare le caratteristiche del materiale e le condizioni al contorno.

I dati iniziali per il progetto sono un diagramma di una struttura piana con carico distribuito applicato e fissaggio (Appendice A), valori delle caratteristiche del materiale (modulo elastico -2*10^5 Pa, coefficiente di Poisson -0,3), carico 5000H .

Il risultato del lavoro del corso è ottenere i movimenti della parte in ciascun nodo.

2.2 Descrizione del modello matematico

Per risolvere il problema viene utilizzato il metodo degli elementi finiti sopra descritto. La parte è divisa in elementi finiti triangolari con nodi i, j, k (Figura 2).

Figura 2 - Rappresentazione agli elementi finiti di un corpo.

Gli spostamenti di ciascun nodo hanno due componenti, formula (2.1):

sei componenti degli spostamenti dei nodi degli elementi formano un vettore di spostamento (d):

Lo spostamento di qualsiasi punto all'interno dell'elemento finito è determinato dalle relazioni (2.3) e (2.4):

Combinando (2.3) e (2.4) in un'unica equazione, si ottiene la seguente relazione:

Deformazioni e spostamenti sono correlati tra loro come segue:

Sostituendo la (2.5) nella (2.6), otteniamo la relazione (2.7):

La relazione (2.7) può essere rappresentata come:

dove [B] è una matrice gradiente della forma (2.9):

Le funzioni di forma dipendono linearmente dalle coordinate x, y, e quindi la matrice del gradiente non dipende dalle coordinate del punto all'interno dell'elemento finito, e le deformazioni e le tensioni all'interno dell'elemento finito sono costanti in questo caso.

In uno stato deformato piano in un materiale isotropo, la matrice delle costanti elastiche [D] è determinata dalla formula (2.10):

dove E è il modulo elastico ed è il rapporto di Poisson.

La matrice di rigidezza degli elementi finiti ha la forma:

dove h e è lo spessore, A e è l'area dell'elemento.

L’equazione di equilibrio dell’i-esimo nodo ha la forma:

Per tenere conto delle condizioni di fissaggio, esiste il seguente metodo. Sia presente un sistema N di equazioni (2.13):

Nel caso in cui uno dei supporti sia immobile, ad es. U i =0, utilizzare la seguente procedura. Sia U2 =0, allora:

ovvero, la riga e la colonna corrispondenti sono impostate su zero e l'elemento diagonale è impostato su uno. Di conseguenza anche F 2 è uguale a zero.

Per risolvere il sistema risultante scegliamo il metodo gaussiano. L’algoritmo di soluzione utilizzando il metodo di Gauss è diviso in due fasi:

1. spostamento diretto: mediante trasformazioni elementari sui filari, si porta il sistema ad una forma a gradini o triangolare, oppure si accerta che il sistema è incompatibile. Viene selezionata la kesima riga risolutiva, dove k = 0…n - 1, e per ogni riga successiva vengono convertiti gli elementi

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

2. rovescio: vengono determinati i valori delle incognite. Dall'ultima equazione del sistema trasformato si calcola il valore della variabile x n, dopodiché dalla penultima equazione diventa possibile determinare la variabile x n -1 e così via.

2. 3 Diagramma grafico dell'algoritmo

Il diagramma grafico presentato dell'algoritmo mostra la sequenza principale di azioni eseguite durante la modellazione di una parte strutturale. Nel blocco 1 vengono inseriti i dati iniziali. Sulla base dei dati inseriti, il passo successivo è la costruzione di una mesh ad elementi finiti. Successivamente, nei blocchi 3 e 4, vengono costruite rispettivamente le matrici di rigidezza locale e globale. Nel blocco 5 il sistema risultante viene risolto con il metodo gaussiano. Sulla base della soluzione del blocco 6 vengono determinati i movimenti richiesti nei nodi e vengono visualizzati i risultati. Un breve diagramma grafico dell'algoritmo è presentato nella Figura 7.

Figura 7 – Schema grafico dell'algoritmo

3 . Digrammaticalmenteriuscita attuazione del compito

3.1 Deviazioni e tolleranze delle filettature dei tubi cilindrici

La filettatura cilindrica del tubo (GOST 6357-73) ha un profilo triangolare con sommità e valli arrotondate. Questa filettatura viene utilizzata principalmente per il collegamento di tubi, raccordi e raccordi.

Per ottenere la giusta densità del giunto, negli spazi formati dalla disposizione dei campi di tolleranza tra le cavità dei bulloni e le sporgenze dei dadi vengono posizionati speciali materiali sigillanti (fili di lino, fili di piombo, ecc.).

Le deviazioni massime degli elementi filettati per tubi cilindrici per il diametro “1” delle filettature esterne ed interne sono riportate rispettivamente nelle tabelle 1 e 2.

Tabella 1 - deviazioni delle filettature cilindriche esterne (secondo GOST 6357 - 73)

Tabella 2 - deviazioni delle filettature cilindriche interne del tubo (secondo GOST 6357 - 73)

Deviazioni limite della filettatura esterna del diametro esterno minimo, formula (3.1):

dmin=dí + ei (3.1)

dove dн è la dimensione nominale del diametro esterno.

Le deviazioni massime della filettatura esterna del diametro esterno massimo vengono calcolate utilizzando la formula (3.2):

dmax=dí + es (3.2)

Deviazioni limite delle filettature esterne del diametro medio minimo, formula (3.3):

d2min=d2 + ei (3.3)

dove d2 è la dimensione nominale del diametro medio.

Le deviazioni limite delle filettature esterne del diametro medio massimo sono calcolate utilizzando la formula (3.4):

d2max=d2 + es (3.4)

Deviazioni limite della filettatura esterna del diametro interno minimo, formula (3.5):

d1min=d1 + ei (3,5)

dove d1 è la dimensione nominale del diametro interno.

Le deviazioni massime della filettatura esterna del diametro interno massimo sono calcolate utilizzando la formula (3.6):

d1max=d1 + es (3.6)

Deviazioni limite della filettatura interna del diametro esterno minimo, formula (3.7):

Dmin=Dí + EI, (3.7)

dove Dн è la dimensione nominale del diametro esterno.

Le deviazioni massime della filettatura interna del diametro esterno massimo vengono calcolate utilizzando la formula (3.8):

Dmax=Dí + ES (3.8)

Deviazioni limite delle filettature interne del diametro medio minimo, formula (3.9):

D2min=D2 + EI (3,9)

dove D2 è la dimensione nominale del diametro medio.

Le deviazioni limite delle filettature interne del diametro medio massimo sono calcolate utilizzando la formula (3.10):

D2max=D2 + ES (3.10)

Deviazioni limite della filettatura interna del diametro interno minimo, formula (3.11):

D1min=D1 + EI (3.11)

dove D1 è la dimensione nominale del diametro interno.

Le deviazioni massime della filettatura interna del diametro interno massimo vengono calcolate utilizzando la formula (3.12):

D1max=D1 + ES (3.12)

Un frammento dello schizzo del filo può essere visto nella Figura 6 del Capitolo 3.2.

3.2 Attuazione di deviazioni e tolleranze delle filettature dei tubi cilindrici inSoftware "Bussola"

Figura 6 - Filettatura cilindrica del tubo con tolleranze.

Le coordinate dei punti sono visualizzate nella Tabella 1 dell'Appendice D

Copia di un thread costruito:

Seleziona il thread > Editor > copia;

Inserimento filo:

Posizioniamo il cursore nel punto che ci serve>editor>incolla.

Il risultato della filettatura costruita può essere visto nell'Appendice D

3.3 Attuazione del compitochi nel linguaggio di programmazione C#

Per implementare l'algoritmo di calcolo della resistenza, è stato selezionato l'ambiente di sviluppo MS Visual Studio 2010 utilizzando il linguaggio C# dal pacchetto . NETTOStruttura 4.0. Utilizzando l'approccio di programmazione orientato agli oggetti, creeremo classi contenenti i dati necessari:

Tabella 3 - Struttura delle classi degli elementi

Nome della variabile

I migliori articoli sull'argomento