[Generale]Diagrammi strutturati.
Salve ragazzi, confido che al corso, abbiamo trattato di sfuggita questo argomento, e sul libro in mio possesso non trovo referenze su questo argomento.
Allora è noto che per costruire un algoritmo, posso avvalermi almeno di $4$ strutture di controllo, giusto?
sequenziale, selettiva e iterativa, ricorsiva.
E in particolare per il Th- Boehm - Jacopini posso limitarmi ad usare le prime 3. (perché se non sbaglio una "istruzione" ricorsiva può essere riscritta in termini di una istruzione iterativa).
Ora studiando un po i flow chart , sono incappato nel termine "diagramma strutturato.".
E dalla definizione che c'ho, è un diagramma che viene costruito a partire da diagrammi noti elementari per le varie strutture di controllo.
è giusto?
però vorrei capire una cosa,
ci sta questo esempio tratto dalle dispense, il primo esempio
http://www.di.uniba.it/~bianchi/didatti ... Strutt.pdf
Vorrei capire che differenza sostanziale c'è tra i due flow chart, perché il primo non è strutturato e il secondo sì?
grazie mille
Allora è noto che per costruire un algoritmo, posso avvalermi almeno di $4$ strutture di controllo, giusto?
sequenziale, selettiva e iterativa, ricorsiva.
E in particolare per il Th- Boehm - Jacopini posso limitarmi ad usare le prime 3. (perché se non sbaglio una "istruzione" ricorsiva può essere riscritta in termini di una istruzione iterativa).
Ora studiando un po i flow chart , sono incappato nel termine "diagramma strutturato.".
E dalla definizione che c'ho, è un diagramma che viene costruito a partire da diagrammi noti elementari per le varie strutture di controllo.
è giusto?
però vorrei capire una cosa,
ci sta questo esempio tratto dalle dispense, il primo esempio
http://www.di.uniba.it/~bianchi/didatti ... Strutt.pdf
Vorrei capire che differenza sostanziale c'è tra i due flow chart, perché il primo non è strutturato e il secondo sì?
grazie mille
Risposte
Ma scusa, la differenza fra i due flowchart qual è? Se guardi bene...
mmh..
il primo esegue il controllo dopo di aver incrementato la variabile num e restituisce l'output, l'altro prima il controllo, poi incrementa, e poi l'output..
il secondo è senz'altro più ordinato. effettua il controllo ogni volta. Si vede ad occhio che parlando sotto il punto di vista del C è un ramo If ... else. (ed è ben strutturato!)
Il primo non è ben strutturato. Il controllo lo fa dopo. Quindi il ciclo primo non è riconducibile agli schemi fondamentali, pertanto non è ben strutturato , giusto?
PS : potreste segnalarmi delle dispense in rete che mi permettano di approfondire questo argomento? grazie.
il primo esegue il controllo dopo di aver incrementato la variabile num e restituisce l'output, l'altro prima il controllo, poi incrementa, e poi l'output..
il secondo è senz'altro più ordinato. effettua il controllo ogni volta. Si vede ad occhio che parlando sotto il punto di vista del C è un ramo If ... else. (ed è ben strutturato!)
Il primo non è ben strutturato. Il controllo lo fa dopo. Quindi il ciclo primo non è riconducibile agli schemi fondamentali, pertanto non è ben strutturato , giusto?
PS : potreste segnalarmi delle dispense in rete che mi permettano di approfondire questo argomento? grazie.
Tutto giusto.
Dispense in rete? http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF
(preso dall'archivio del grande Dijkstra http://www.cs.utexas.edu/users/EWD/)
Magari saranno un po' impegnative per i tuoi scopi...
Dispense in rete? http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF
(preso dall'archivio del grande Dijkstra http://www.cs.utexas.edu/users/EWD/)
Magari saranno un po' impegnative per i tuoi scopi...

grazie. In effetti si, sono un po oltre. Ma era mia curiosità.