Diagramma di flusso: ottieni valori dalle funzioni. Rettangolo o parallelogramma

0

Ho bisogno di creare un diagramma di flusso per uno dei miei algoritmi e un passo è chiamare una funzione (che non desidero spiegare nel diagramma di flusso) e assegnare il valore restituito a una variabile.

float x = get_random(0,1);

Mi chiedo se in questo caso dovrei usare il rettangolo o il paralellogramma (non di 90 gradi).

Su wikipedia trovo:

rectangles: Process. This shape is used to show that something is performed. Examples: "Add 1 to X", "replace identified part", "save changes", etc....

paralellogram: Input/Output. Involves receiving data and displaying processed data. Can only move from input to output and not vice versa. Examples: Get X from the user; display X.

Anche se sospetto che non sia il file system IO o std IO, è adatto a "coinvolge la ricezione dei dati". Quale simbolo dovrei usare?

    
posta Vince Varga 23.11.2016 - 09:35
fonte

1 risposta

0

Fondamentalmente, l'I / O serve per comunicare esternamente, cioè con altri processi (o con gli umani), sia che ciò avvenga tramite canali / pipe / socket o tramite file disco.

(In questo contesto io uso il processo verbale nel senso di processi come programmi in esecuzione su un sistema operativo. Mi rendo conto che il processo verbale, nel flowcharting, è usato per la nozione di qualsiasi computazione come usare una procedura o eseguire un incarico dichiarazione, quindi c'è possibilità di confusione, quindi userò il termine computation per questa nozione.)

Leggere / scrivere su un file è un metodo indiretto di comunicazione con un altro processo, spesso un processo / esecuzione futuri dello stesso programma, eppure ancora, potenzialmente su più altri programmi (alcuni non ancora in esecuzione).

Il calcolo, interno al processo, viene elaborato e non si qualifica come I / O. Le chiamate di funzione rappresentano l'elaborazione anziché l'I / O, anche se sono presenti valori restituiti.

Tuttavia, dobbiamo tracciare una linea da qualche parte come in molte lingue moderne, l'I / O è fatto tramite chiamate di funzione. Quindi, direi che se la chiamata è una scatola nera (perché è in una libreria che non possiedi / controlla), e conosciuta dalla lingua o dalle sue librerie standard per eseguire I / O, la descriverei come I / O. Se la chiamata è una casella bianca che può essere descritta dal proprio diagramma di flusso, contrassegnerei qui il suo utilizzo come elaborazione e descriverò l'I / O nel proprio diagramma di flusso. In caso contrario, descriverei le chiamate come elaborate.

Su questa base, la chiamata a get_random viene visualizzata come elaborazione anziché su I / O che comunica con un processo esterno (passato, presente o futuro).

    
risposta data 23.11.2016 - 17:30
fonte

Leggi altre domande sui tag