Questo articolo vedrà esempi di diagrammi di flusso che potresti incontrare nei libri di testo sull'informatica e altre pubblicazioni. Un diagramma di flusso è un algoritmo che risolve qualsiasi compito assegnato allo sviluppatore. Per prima cosa è necessario rispondere alla domanda su cosa sia un algoritmo, come viene rappresentato graficamente e, soprattutto, come risolverlo, conoscendo determinati parametri. Va notato immediatamente che esistono diversi tipi di algoritmi.
Questa parola è stata messa in pratica dal matematico Mohammed al-Khorezmi, che visse nel periodo tra il 763 e gli 800 anni. È lui che è la persona che ha creato le regole per eseguire operazioni aritmetiche (ce ne sono solo quattro). Ma il GOST del 1974, che afferma che:
Un algoritmo è una prescrizione esatta che definisce un processo computazionale. Inoltre, ci sono diverse variabili con valori dati che portano a calcoli sul risultato desiderato.
L'algoritmo consente di specificare chiaramente l'esecutore per eseguire rigoroso sequenza di azioni per risolvere il problema e ottenere il risultato. Lo sviluppo di un algoritmo è la rottura di un grosso compito in una certa sequenza di passaggi. Inoltre, lo sviluppatore dell'algoritmo deve conoscere tutte le caratteristiche e le regole per la sua creazione.
In totale, ci sono otto caratteristiche dell'algoritmo (indipendentemente dal suo tipo):
E ora, sapendo quali sono i diagrammi di flusso dell'algoritmo, puoi iniziare a considerare come scriverli. E non sono molti.
Questo modulo viene solitamente utilizzato quando si descrive la procedura per una persona: "Vai lì, non so dove. Porta qualcosa, non so cosa. "
Certo, questa è una forma comica, ma l'essenza è chiara. Ad esempio, per esempio, la solita annotazione sui finestrini degli autobus: "In caso di incidente, estrai il cavo, spreme il vetro".
Qui la condizione è chiaramente impostata in base alla quale devono essere eseguite due azioni in una sequenza rigorosa. Ma questi sono gli algoritmi più semplici, ce ne sono di più complessi. A volte si usano formule, designazioni speciali, ma con la condizione obbligatoria - l'esecutore deve capire tutto.
È consentito modificare l'ordine delle azioni se è necessario tornare, ad esempio, all'operazione precedente o ignorare un comando in una determinata condizione. Allo stesso tempo, è opportuno numerare le squadre e indicare il comando a cui si verifica la transizione: "Dopo aver completato tutte le manipolazioni, ripetere i punti da 3 a 5".
Questa voce include elementi di diagrammi di flusso. Tutti gli elementi sono standardizzati, ogni squadra ha un certo record grafico. Un comando specifico deve essere registrato all'interno di ciascuno dei blocchi nella lingua ordinaria o nelle formule matematiche. Tutti i blocchi devono essere collegati da linee - mostrano esattamente quale ordine nei comandi eseguiti. In realtà, questo tipo di algoritmo è più adatto per l'uso nel codice del programma, piuttosto che verbale.
In tal caso, se l'algoritmo è necessario affinché l'attività venga risolta da un programma installato su un PC, è necessario scriverlo con un codice speciale. Per questo ci sono molti linguaggi di programmazione. E l'algoritmo in questo caso è chiamato un programma.
Un diagramma a blocchi è una rappresentazione dell'algoritmo in forma grafica. Tutte le squadre e le azioni sono rappresentate da forme geometriche (blocchi). All'interno di ogni figura si adattano tutte le informazioni sulle azioni che devono essere eseguite. Le connessioni sono rappresentate come linee normali con frecce (se necessario).
Per la progettazione di diagrammi di flusso di algoritmi esiste un GOST 19.701-90. Descrive la procedura e le regole per crearli in forma grafica, nonché i metodi di base per la risoluzione. Questo articolo presenta gli elementi principali dei diagrammi di flusso utilizzati per risolvere i problemi, ad esempio, in informatica. E ora consideriamo le regole di costruzione.
Ci sono tali caratteristiche che ogni diagramma di flusso dovrebbe avere:
Gli elementi grafici dei diagrammi di flusso per la risoluzione degli algoritmi sono presentati nella tabella:
Questa è la forma più semplice, che consiste in una specifica sequenza di azioni, non dipendono da quali dati sono inizialmente inseriti. Vi sono diversi comandi che vengono eseguiti una sola volta e solo dopo aver completato quello precedente. Lo schema a blocchi lineare si presenta così:
Inoltre, i collegamenti possono andare sia dall'alto verso il basso che da sinistra verso destra. Tale diagramma di flusso viene utilizzato per scrivere gli algoritmi di calcolo utilizzando semplici formule che non hanno restrizioni sui valori delle variabili incluse nelle formule per il calcolo. Un algoritmo lineare è parte integrante di processi di calcolo complessi.
I diagrammi di flusso basati su tali algoritmi sono più complessi di quelli lineari. Ma l'essenza non cambia. Un algoritmo di ramificazione è un processo in cui l'ulteriore azione dipende da come viene soddisfatta la condizione e da quale soluzione si ottiene. Ogni linea di azione è un ramo.
I diagrammi rappresentano blocchi chiamati "Soluzione". Ha due uscite e una condizione logica è scritta all'interno. È su come verrà eseguito che l'ulteriore movimento nello schema dell'algoritmo dipende. È possibile dividere gli algoritmi di ramificazione in tre gruppi:
Questi sono semplici algoritmi risolti in modo molto semplice. Passiamo ora a quelli più complessi.
Qui tutto è molto chiaro: il diagramma a blocchi ciclico rappresenta un algoritmo in cui i calcoli omogenei vengono ripetuti molte volte. Per definizione, un ciclo è una sequenza specifica di tutte le azioni eseguite più volte (più di una volta). E ci sono diversi tipi di cicli:
Indipendentemente dal tipo di ciclo utilizzato per risolvere l'algoritmo, deve avere una variabile con cui si verifica l'output. Determina il numero di ripetizioni del ciclo. La parte operativa (corpo) di un ciclo è una sequenza specifica di azioni che viene eseguita in ogni fase. E ora daremo un'occhiata più da vicino a tutti i tipi di cicli che possono verificarsi quando si elaborano algoritmi e si risolvono problemi di informatica.
La figura mostra un semplice schema a blocchi in cui è presente un ciclo con un contatore. Questo tipo di algoritmo mostra che il numero di ripetizioni di un determinato ciclo è noto in anticipo. E questo numero è fisso. In questo caso, la variabile che conta il numero di passi (ripetizioni) è chiamata contatore. A volte nei libri di testo si possono trovare altre definizioni: un parametro di ciclo, una variabile di controllo.
Lo schema a blocchi illustra in modo molto vivido come funziona il ciclo con il contatore. Prima di procedere con il primo passo, è necessario assegnare un valore iniziale al contatore - può essere un qualsiasi numero, dipende dall'algoritmo specifico. Nel caso in cui il valore finale sia inferiore al valore del contatore, verrà eseguito un certo gruppo di comandi che costituiscono il corpo del loop.
Dopo che il corpo è stato eseguito, il contatore viene modificato dal valore di incremento del contatore, indicato dalla lettera h. Nel caso in cui il valore ottenuto sia inferiore a quello finale, il ciclo continuerà. E finirà solo quando il valore finale è inferiore al contatore del ciclo. Solo in questo caso verrà eseguita l'azione che segue il ciclo.
In genere, un blocco chiamato "Preparazione" viene utilizzato nella notazione dello schema a blocchi. È scritto nel contatore e quindi indica i seguenti dati: i valori iniziale e finale, il cambio di passo. Nello schema a blocchi, questi sono i parametri I n, Ik e h, rispettivamente. Nel caso in cui h = 1, la dimensione del passo non viene registrata. In altri casi, questo deve essere fatto. È necessario rispettare una semplice regola: la linea di flusso deve entrare dall'alto. E lo streamline che va sotto (o sulla destra, a seconda dell'algoritmo specifico) dovrebbe mostrare la transizione all'operatore successivo.
Ora hai studiato a fondo la descrizione del diagramma di flusso mostrato nella figura. Puoi continuare a studiare ulteriormente. Quando viene utilizzato un ciclo con un contatore, devono essere soddisfatte determinate condizioni:
Questo tipo di cicli viene utilizzato nei casi in cui il numero di ripetizioni non è noto in anticipo. Un ciclo con una precondizione è un tipo di algoritmo in cui, immediatamente prima che il corpo inizi a eseguire, controlla la condizione in base alla quale è consentita la transizione all'azione successiva. Si noti come vengono raffigurati gli elementi del diagramma a blocchi.
Nel caso in cui la condizione sia soddisfatta (l'affermazione è vera), si verifica una transizione all'inizio del corpo del ciclo. Cambia direttamente il valore di almeno una variabile che influenza il valore della serie di condizioni. Se non rispetti questa regola, otteniamo un "loop". Nel caso in cui dopo la verifica successiva della condizione di esecuzione del corpo del loop, si scopre che è falso, quindi si verifica un'uscita.
Nei diagrammi di flusso degli algoritmi è consentito verificare non la verità, ma la falsità della condizione iniziale. In questo caso, il ciclo uscirà solo se il valore della condizione è vero. Entrambe le opzioni sono corrette, il loro utilizzo dipende da ciò che specificamente è più comodo da usare per risolvere un particolare problema. Questo tipo di ciclo ha una caratteristica: il corpo può non essere eseguito quando la condizione è falsa o vera (a seconda della variante usata per risolvere l'algoritmo).
Di seguito è riportato un diagramma di flusso che descrive tutte queste azioni:
Se guardi da vicino, allora questo tipo di cicli è in qualche modo simile al precedente. Cercheremo di costruire un diagramma di flusso che descriva questo ciclo da soli. La particolarità è che il numero di ripetizioni non è noto in anticipo. E la condizione è impostata dopo il ritiro dal corpo. Questo dimostra che il corpo, indipendentemente dalla decisione, verrà eseguito almeno una volta. Per maggiore chiarezza, dai un'occhiata al diagramma di flusso che descrive la condizione e le affermazioni:
Non c'è nulla di difficile nella costruzione di algoritmi con cicli, è sufficiente capirli solo una volta. E ora passiamo a strutture più complesse.
Complesso sono quelle costruzioni all'interno delle quali esistono uno o più cicli semplici. A volte sono chiamati nidificati. Allo stesso tempo, quelle strutture che coprono altri cicli sono chiamate "esterne". E quelli che sono inclusi nella progettazione di esterni - interni. Quando viene eseguita ogni fase del ciclo esterno, il ciclo interno viene completamente scostato, come mostrato nella figura:
Questo è tutto, hai rivisto le caratteristiche principali della costruzione di diagrammi di flusso per la risoluzione di algoritmi, conosci i principi e le regole. Ora puoi considerare esempi specifici di diagrammi di flusso dalla vita. Ad esempio, in psicologia, tali costruzioni vengono utilizzate affinché una persona possa decidere una domanda:
O un esempio di biologia per risolvere il problema:
E ora vedremo esempi di problemi con i diagrammi di flusso che possono essere trovati nei libri di testo di informatica. Ad esempio, viene fornito un diagramma a blocchi, in base al quale viene risolto un algoritmo:
In questo caso, l'utente inserisce autonomamente i valori delle variabili. Supponiamo che x = 16 e y = 2. Il processo di fare questo:
In questo esempio, i diagrammi di flusso per l'informatica mostrano chiaramente come l'algoritmo è risolto. È necessario prestare attenzione al fatto che i valori di x e y sono impostati nella fase iniziale e possono essere qualsiasi cosa.